diff src/event/ngx_event_connect.c @ 6658:7fd6b93face8

Events: fixed setting of IP_BIND_ADDRESS_NO_PORT/SO_REUSEADDR. The IP_BIND_ADDRESS_NO_PORT option is set on upstream sockets if proxy_bind does not specify a port. The SO_REUSEADDR option is set on UDP upstream sockets if proxy_bind specifies a port. Due to checking of the wrong port, IP_BIND_ADDRESS_NO_PORT was never set, and SO_REUSEPORT was always set.
author Ruslan Ermilov <ru@nginx.com>
date Mon, 22 Aug 2016 11:40:10 +0300
parents e778fe9a4463
children 56fc55e32f23
line wrap: on
line diff
--- a/src/event/ngx_event_connect.c
+++ b/src/event/ngx_event_connect.c
@@ -91,7 +91,7 @@ ngx_event_connect_peer(ngx_peer_connecti
 #endif
 
 #if (NGX_HAVE_IP_BIND_ADDRESS_NO_PORT || NGX_LINUX)
-        port = ngx_inet_get_port(pc->sockaddr);
+        port = ngx_inet_get_port(pc->local->sockaddr);
 #endif
 
 #if (NGX_HAVE_IP_BIND_ADDRESS_NO_PORT)