Mercurial > hg > nginx
comparison src/mail/ngx_mail_core_module.c @ 1896:4c060e30476b
do not resolve SMTP clients by default
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Sat, 16 Feb 2008 13:46:33 +0000 |
parents | 057d362ee50e |
children | 4a8c9139e579 |
comparison
equal
deleted
inserted
replaced
1895:2e3353955c32 | 1896:4c060e30476b |
---|---|
152 | 152 |
153 /* | 153 /* |
154 * set by ngx_pcalloc(): | 154 * set by ngx_pcalloc(): |
155 * | 155 * |
156 * cscf->protocol = NULL; | 156 * cscf->protocol = NULL; |
157 * cscf->resolver = NULL; | |
158 */ | 157 */ |
159 | 158 |
160 cscf->timeout = NGX_CONF_UNSET_MSEC; | 159 cscf->timeout = NGX_CONF_UNSET_MSEC; |
161 cscf->resolver_timeout = NGX_CONF_UNSET_MSEC; | 160 cscf->resolver_timeout = NGX_CONF_UNSET_MSEC; |
162 cscf->so_keepalive = NGX_CONF_UNSET; | 161 cscf->so_keepalive = NGX_CONF_UNSET; |
162 | |
163 cscf->resolver = NGX_CONF_UNSET_PTR; | |
163 | 164 |
164 cscf->file_name = cf->conf_file->file.name.data; | 165 cscf->file_name = cf->conf_file->file.name.data; |
165 cscf->line = cf->conf_file->line; | 166 cscf->line = cf->conf_file->line; |
166 | 167 |
167 return cscf; | 168 return cscf; |
205 "unknown mail protocol for server in %s:%ui", | 206 "unknown mail protocol for server in %s:%ui", |
206 conf->file_name, conf->line); | 207 conf->file_name, conf->line); |
207 return NGX_CONF_ERROR; | 208 return NGX_CONF_ERROR; |
208 } | 209 } |
209 | 210 |
210 if (conf->resolver == NULL) { | 211 ngx_conf_merge_ptr_value(conf->resolver, prev->resolver, NULL); |
211 conf->resolver = prev->resolver; | |
212 } | |
213 | 212 |
214 return NGX_CONF_OK; | 213 return NGX_CONF_OK; |
215 } | 214 } |
216 | 215 |
217 | 216 |
421 ngx_url_t u; | 420 ngx_url_t u; |
422 ngx_str_t *value; | 421 ngx_str_t *value; |
423 | 422 |
424 value = cf->args->elts; | 423 value = cf->args->elts; |
425 | 424 |
425 if (ngx_strcmp(value[1].data, "off") == 0) { | |
426 cscf->resolver = NULL; | |
427 return NGX_CONF_OK; | |
428 } | |
429 | |
426 ngx_memzero(&u, sizeof(ngx_url_t)); | 430 ngx_memzero(&u, sizeof(ngx_url_t)); |
427 | 431 |
428 u.host = value[1]; | 432 u.host = value[1]; |
429 u.port = 53; | 433 u.port = 53; |
430 | 434 |
433 return NGX_CONF_ERROR; | 437 return NGX_CONF_ERROR; |
434 } | 438 } |
435 | 439 |
436 cscf->resolver = ngx_resolver_create(&u.addrs[0], cf->cycle->new_log); | 440 cscf->resolver = ngx_resolver_create(&u.addrs[0], cf->cycle->new_log); |
437 if (cscf->resolver == NULL) { | 441 if (cscf->resolver == NULL) { |
438 return NGX_OK; | 442 return NGX_CONF_OK; |
439 } | 443 } |
440 | 444 |
441 return NGX_CONF_OK; | 445 return NGX_CONF_OK; |
442 } | 446 } |
443 | 447 |