294 | 294 |
{
|
295 | 295 |
ngx_mail_core_srv_conf_t *cscf = conf;
|
296 | 296 |
|
297 | |
ngx_str_t *value;
|
|
297 |
ngx_str_t *value, size;
|
298 | 298 |
ngx_url_t u;
|
299 | 299 |
ngx_uint_t i, m;
|
300 | 300 |
ngx_mail_listen_t *ls;
|
|
349 | 349 |
|
350 | 350 |
ls->socklen = u.socklen;
|
351 | 351 |
ls->backlog = NGX_LISTEN_BACKLOG;
|
|
352 |
ls->rcvbuf = -1;
|
|
353 |
ls->sndbuf = -1;
|
352 | 354 |
ls->wildcard = u.wildcard;
|
353 | 355 |
ls->ctx = cf->ctx;
|
354 | 356 |
|
|
391 | 393 |
if (ls->backlog == NGX_ERROR || ls->backlog == 0) {
|
392 | 394 |
ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
|
393 | 395 |
"invalid backlog \"%V\"", &value[i]);
|
|
396 |
return NGX_CONF_ERROR;
|
|
397 |
}
|
|
398 |
|
|
399 |
continue;
|
|
400 |
}
|
|
401 |
|
|
402 |
if (ngx_strncmp(value[i].data, "rcvbuf=", 7) == 0) {
|
|
403 |
size.len = value[i].len - 7;
|
|
404 |
size.data = value[i].data + 7;
|
|
405 |
|
|
406 |
ls->rcvbuf = ngx_parse_size(&size);
|
|
407 |
ls->bind = 1;
|
|
408 |
|
|
409 |
if (ls->rcvbuf == NGX_ERROR) {
|
|
410 |
ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
|
|
411 |
"invalid rcvbuf \"%V\"", &value[i]);
|
|
412 |
return NGX_CONF_ERROR;
|
|
413 |
}
|
|
414 |
|
|
415 |
continue;
|
|
416 |
}
|
|
417 |
|
|
418 |
if (ngx_strncmp(value[i].data, "sndbuf=", 7) == 0) {
|
|
419 |
size.len = value[i].len - 7;
|
|
420 |
size.data = value[i].data + 7;
|
|
421 |
|
|
422 |
ls->sndbuf = ngx_parse_size(&size);
|
|
423 |
ls->bind = 1;
|
|
424 |
|
|
425 |
if (ls->sndbuf == NGX_ERROR) {
|
|
426 |
ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
|
|
427 |
"invalid sndbuf \"%V\"", &value[i]);
|
394 | 428 |
return NGX_CONF_ERROR;
|
395 | 429 |
}
|
396 | 430 |
|