comparison src/mail/ngx_mail.c @ 302:9b7db0df50f0 NGINX_0_5_21

nginx 0.5.21 *) Bugfix: if server has more than about ten locations, then regex locations might be choosen not in that order as they were specified. *) Bugfix: a worker process may got caught in an endless loop on 64-bit platform, if the 33-rd or next in succession backend has failed. Thanks to Anton Povarov. *) Bugfix: a bus error might occur on Solaris/sparc64 if the PCRE library was used. Thanks to Andrei Nigmatulin. *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive.
author Igor Sysoev <http://sysoev.ru>
date Mon, 28 May 2007 00:00:00 +0400
parents f745bf973510
children 7cf404023f50
comparison
equal deleted inserted replaced
301:a025840de07d 302:9b7db0df50f0
9 #include <ngx_event.h> 9 #include <ngx_event.h>
10 #include <ngx_mail.h> 10 #include <ngx_mail.h>
11 11
12 12
13 static char *ngx_mail_block(ngx_conf_t *cf, ngx_command_t *cmd, void *conf); 13 static char *ngx_mail_block(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
14 static int ngx_libc_cdecl ngx_mail_cmp_conf_in_addrs(const void *one, 14 static int ngx_mail_cmp_conf_in_addrs(const void *one, const void *two);
15 const void *two);
16 15
17 16
18 ngx_uint_t ngx_mail_max_module; 17 ngx_uint_t ngx_mail_max_module;
19 18
20 19
267 /* AF_INET only */ 266 /* AF_INET only */
268 267
269 in_port = in_ports.elts; 268 in_port = in_ports.elts;
270 for (p = 0; p < in_ports.nelts; p++) { 269 for (p = 0; p < in_ports.nelts; p++) {
271 270
272 ngx_qsort(in_port[p].addrs.elts, (size_t) in_port[p].addrs.nelts, 271 ngx_sort(in_port[p].addrs.elts, (size_t) in_port[p].addrs.nelts,
273 sizeof(ngx_mail_conf_in_addr_t), ngx_mail_cmp_conf_in_addrs); 272 sizeof(ngx_mail_conf_in_addr_t), ngx_mail_cmp_conf_in_addrs);
274 273
275 in_addr = in_port[p].addrs.elts; 274 in_addr = in_port[p].addrs.elts;
276 last = in_port[p].addrs.nelts; 275 last = in_port[p].addrs.nelts;
277 276
278 /* 277 /*
385 384
386 return NGX_CONF_OK; 385 return NGX_CONF_OK;
387 } 386 }
388 387
389 388
390 static int ngx_libc_cdecl 389 static int
391 ngx_mail_cmp_conf_in_addrs(const void *one, const void *two) 390 ngx_mail_cmp_conf_in_addrs(const void *one, const void *two)
392 { 391 {
393 ngx_mail_conf_in_addr_t *first, *second; 392 ngx_mail_conf_in_addr_t *first, *second;
394 393
395 first = (ngx_mail_conf_in_addr_t *) one; 394 first = (ngx_mail_conf_in_addr_t *) one;