diff options
| author | Maxim Dounin <mdounin@mdounin.ru> | 2012-09-24 18:58:13 +0000 |
|---|---|---|
| committer | Maxim Dounin <mdounin@mdounin.ru> | 2012-09-24 18:58:13 +0000 |
| commit | 9288e6587b2b7e50d81425a0c101adf4182c70fb (patch) | |
| tree | 9101b53f29f483b7aa3dd93c82c66e2458b5168b /src/mail/ngx_mail.c | |
| parent | 191e31938e81f2a59a4ba4dc6b3f4f28bc232187 (diff) | |
| download | nginx-9288e6587b2b7e50d81425a0c101adf4182c70fb.tar.gz nginx-9288e6587b2b7e50d81425a0c101adf4182c70fb.tar.bz2 | |
Merge of r4813, r4814, r4818, r4819, r4820, r4823: mail fixes.
*) Corrected the directive name in the ngx_mail_auth_http_module
error message.
*) Don't let the well-known port in the "listen" directive to
override the already set "protocol".
*) Fixed sorting of listen addresses (ticket #187). For http module
this problem was already fixed in r4756.
*) Removed a stale "AF_INET only" comment. IPv6 client connections
in mail modules have been supported since r2856.
*) Fixed handling of AF_UNIX addresses in "listen". This makes AF_UNIX
addresses in mail officially supported.
*) Whitespace fix.
Diffstat (limited to '')
| -rw-r--r-- | src/mail/ngx_mail.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/mail/ngx_mail.c b/src/mail/ngx_mail.c index 49ec2e05b..3812e1517 100644 --- a/src/mail/ngx_mail.c +++ b/src/mail/ngx_mail.c @@ -263,6 +263,12 @@ ngx_mail_add_ports(ngx_conf_t *cf, ngx_array_t *ports, break; #endif +#if (NGX_HAVE_UNIX_DOMAIN) + case AF_UNIX: + p = 0; + break; +#endif + default: /* AF_INET */ sin = (struct sockaddr_in *) sa; p = sin->sin_port; @@ -539,6 +545,11 @@ ngx_mail_cmp_conf_addrs(const void *one, const void *two) return 1; } + if (second->wildcard) { + /* a wildcard must be the last resort, shift it to the end */ + return -1; + } + if (first->bind && !second->bind) { /* shift explicit bind()ed addresses to the start */ return -1; |
