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