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;