Mercurial > hg > nginx
comparison src/mail/ngx_mail.c @ 1487:f69493e8faab
ngx_mail_pop3_module, ngx_mail_imap_module, and ngx_mail_smtp_module
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Sat, 15 Sep 2007 16:51:16 +0000 |
parents | 0d57c150115b |
children | cb8c0c8e0c27 |
comparison
equal
deleted
inserted
replaced
1486:0e7074ef7303 | 1487:f69493e8faab |
---|---|
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)) |