changeset 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 3d5202c71f94
children 3d8be8fb0149
files src/event/ngx_event_connect.c
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
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)