Mercurial > hg > nginx
comparison src/mail/ngx_mail_core_module.c @ 5979:b2920b517490
Mail: fixed the duplicate listen address detection.
author | Ruslan Ermilov <ru@nginx.com> |
---|---|
date | Fri, 23 Jan 2015 15:23:29 +0300 |
parents | bb26f7ceaaf1 |
children | fc99323a3d79 |
comparison
equal
deleted
inserted
replaced
5978:eb4ba3800c31 | 5979:b2920b517490 |
---|---|
334 #if (NGX_HAVE_INET6) | 334 #if (NGX_HAVE_INET6) |
335 case AF_INET6: | 335 case AF_INET6: |
336 off = offsetof(struct sockaddr_in6, sin6_addr); | 336 off = offsetof(struct sockaddr_in6, sin6_addr); |
337 len = 16; | 337 len = 16; |
338 sin6 = (struct sockaddr_in6 *) sa; | 338 sin6 = (struct sockaddr_in6 *) sa; |
339 port = sin6->sin6_port; | 339 port = ntohs(sin6->sin6_port); |
340 break; | 340 break; |
341 #endif | 341 #endif |
342 | 342 |
343 #if (NGX_HAVE_UNIX_DOMAIN) | 343 #if (NGX_HAVE_UNIX_DOMAIN) |
344 case AF_UNIX: | 344 case AF_UNIX: |
350 | 350 |
351 default: /* AF_INET */ | 351 default: /* AF_INET */ |
352 off = offsetof(struct sockaddr_in, sin_addr); | 352 off = offsetof(struct sockaddr_in, sin_addr); |
353 len = 4; | 353 len = 4; |
354 sin = (struct sockaddr_in *) sa; | 354 sin = (struct sockaddr_in *) sa; |
355 port = sin->sin_port; | 355 port = ntohs(sin->sin_port); |
356 break; | 356 break; |
357 } | 357 } |
358 | 358 |
359 if (ngx_memcmp(ls[i].sockaddr + off, u.sockaddr + off, len) != 0) { | 359 if (ngx_memcmp(ls[i].sockaddr + off, u.sockaddr + off, len) != 0) { |
360 continue; | 360 continue; |