comparison src/mail/ngx_mail_core_module.c @ 684:660139fd80ca NGINX_1_3_5

nginx 1.3.5 *) Change: the ngx_http_mp4_module module no longer skips tracks in formats other than H.264 and AAC. *) Bugfix: a segmentation fault might occur in a worker process if the "map" directive was used with variables as values. *) Bugfix: a segmentation fault might occur in a worker process if the "geo" directive was used with the "ranges" parameter but without the "default" parameter; the bug had appeared in 0.8.43. Thanks to Zhen Chen and Weibin Yao. *) Bugfix: in the -p command-line parameter handling. *) Bugfix: in the mail proxy server. *) Bugfix: of minor potential bugs. Thanks to Coverity. *) Bugfix: nginx/Windows could not be built with Visual Studio 2005 Express. Thanks to HAYASHI Kentaro.
author Igor Sysoev <http://sysoev.ru>
date Tue, 21 Aug 2012 00:00:00 +0400
parents 5cb5db9975ba
children
comparison
equal deleted inserted replaced
683:28cc2a208803 684:660139fd80ca
338 sin6 = (struct sockaddr_in6 *) sa; 338 sin6 = (struct sockaddr_in6 *) sa;
339 port = sin6->sin6_port; 339 port = sin6->sin6_port;
340 break; 340 break;
341 #endif 341 #endif
342 342
343 #if (NGX_HAVE_UNIX_DOMAIN)
344 case AF_UNIX:
345 off = offsetof(struct sockaddr_un, sun_path);
346 len = sizeof(((struct sockaddr_un *) sa)->sun_path);
347 port = 0;
348 break;
349 #endif
350
343 default: /* AF_INET */ 351 default: /* AF_INET */
344 off = offsetof(struct sockaddr_in, sin_addr); 352 off = offsetof(struct sockaddr_in, sin_addr);
345 len = 4; 353 len = 4;
346 sin = (struct sockaddr_in *) sa; 354 sin = (struct sockaddr_in *) sa;
347 port = sin->sin_port; 355 port = sin->sin_port;
376 384
377 #if (NGX_HAVE_INET6 && defined IPV6_V6ONLY) 385 #if (NGX_HAVE_INET6 && defined IPV6_V6ONLY)
378 ls->ipv6only = 1; 386 ls->ipv6only = 1;
379 #endif 387 #endif
380 388
381 for (m = 0; ngx_modules[m]; m++) { 389 if (cscf->protocol == NULL) {
382 if (ngx_modules[m]->type != NGX_MAIL_MODULE) { 390 for (m = 0; ngx_modules[m]; m++) {
383 continue; 391 if (ngx_modules[m]->type != NGX_MAIL_MODULE) {
384 } 392 continue;
385 393 }
386 module = ngx_modules[m]->ctx; 394
387 395 module = ngx_modules[m]->ctx;
388 if (module->protocol == NULL) { 396
389 continue; 397 if (module->protocol == NULL) {
390 } 398 continue;
391 399 }
392 for (i = 0; module->protocol->port[i]; i++) { 400
393 if (module->protocol->port[i] == u.port) { 401 for (i = 0; module->protocol->port[i]; i++) {
394 cscf->protocol = module->protocol; 402 if (module->protocol->port[i] == u.port) {
395 break; 403 cscf->protocol = module->protocol;
404 break;
405 }
396 } 406 }
397 } 407 }
398 } 408 }
399 409
400 for (i = 2; i < cf->args->nelts; i++) { 410 for (i = 2; i < cf->args->nelts; i++) {