Mercurial > hg > nginx-vendor-current
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++) { |