comparison src/mail/ngx_mail.c @ 336:1c519aff5c0c NGINX_0_6_12

nginx 0.6.12 *) Change: mail proxy was split on three modules: pop3, imap and smtp. *) Feature: the --without-mail_pop3_module, --without-mail_imap_module, and --without-mail_smtp_module configuration parameters. *) Feature: the "smtp_greeting_delay" and "smtp_client_buffer" directives of the ngx_mail_smtp_module. *) Bugfix: the trailing wildcards did not work; bug appeared in 0.6.9. *) Bugfix: nginx could not start on Solaris if the shared PCRE library located in non-standard place was used. *) Bugfix: the "proxy_hide_header" and "fastcgi_hide_header" directives did not hide response header lines whose name was longer than 32 characters. Thanks to Manlio Perillo.
author Igor Sysoev <http://sysoev.ru>
date Fri, 21 Sep 2007 00:00:00 +0400
parents 9fc4ab6673f9
children 6639b93e81b2
comparison
equal deleted inserted replaced
335:9a32ae248b7a 336:1c519aff5c0c
183 module = ngx_modules[m]->ctx; 183 module = ngx_modules[m]->ctx;
184 mi = ngx_modules[m]->ctx_index; 184 mi = ngx_modules[m]->ctx_index;
185 185
186 /* init mail{} main_conf's */ 186 /* init mail{} main_conf's */
187 187
188 cf->ctx = ctx;
189
188 if (module->init_main_conf) { 190 if (module->init_main_conf) {
189 rv = module->init_main_conf(cf, ctx->main_conf[mi]); 191 rv = module->init_main_conf(cf, ctx->main_conf[mi]);
190 if (rv != NGX_CONF_OK) { 192 if (rv != NGX_CONF_OK) {
191 *cf = pcf; 193 *cf = pcf;
192 return rv; 194 return rv;
194 } 196 }
195 197
196 for (s = 0; s < cmcf->servers.nelts; s++) { 198 for (s = 0; s < cmcf->servers.nelts; s++) {
197 199
198 /* merge the server{}s' srv_conf's */ 200 /* merge the server{}s' srv_conf's */
201
202 cf->ctx = cscfp[s]->ctx;
199 203
200 if (module->merge_srv_conf) { 204 if (module->merge_srv_conf) {
201 rv = module->merge_srv_conf(cf, 205 rv = module->merge_srv_conf(cf,
202 ctx->srv_conf[mi], 206 ctx->srv_conf[mi],
203 cscfp[s]->ctx->srv_conf[mi]); 207 cscfp[s]->ctx->srv_conf[mi]);
207 } 211 }
208 } 212 }
209 } 213 }
210 } 214 }
211 215
212 /* mail{}'s cf->ctx was needed while the configuration merging */
213
214 *cf = pcf; 216 *cf = pcf;
215 217
216 218
217 if (ngx_array_init(&in_ports, cf->temp_pool, 4, 219 if (ngx_array_init(&in_ports, cf->temp_pool, 4,
218 sizeof(ngx_mail_conf_in_port_t)) 220 sizeof(ngx_mail_conf_in_port_t))