comparison src/core/ngx_inet.c @ 5005:c9059bd5445b

Fixed "proxy_pass" with IP address and no port (ticket #276). Upstreams created by "proxy_pass" with IP address and no port were broken in 1.3.10, by not initializing port in u->sockaddr. API change: ngx_parse_url() was modified to always initialize port (in u->sockaddr and in u->port), even for the u->no_resolve case; ngx_http_upstream() and ngx_http_upstream_add() were adopted.
author Ruslan Ermilov <ru@nginx.com>
date Thu, 10 Jan 2013 12:58:55 +0000
parents 2677c561127b
children 05ba5bce31e0
comparison
equal deleted inserted replaced
5004:764833756dcd 5005:c9059bd5445b
705 } 705 }
706 } 706 }
707 } 707 }
708 708
709 u->no_port = 1; 709 u->no_port = 1;
710 710 u->port = u->default_port;
711 if (!u->no_resolve) { 711 sin->sin_port = htons(u->default_port);
712 u->port = u->default_port;
713 sin->sin_port = htons(u->default_port);
714 }
715 } 712 }
716 713
717 len = last - host; 714 len = last - host;
718 715
719 if (len == 0) { 716 if (len == 0) {
866 u->port_text.len = len; 863 u->port_text.len = len;
867 u->port_text.data = port; 864 u->port_text.data = port;
868 865
869 } else { 866 } else {
870 u->no_port = 1; 867 u->no_port = 1;
871 868 u->port = u->default_port;
872 if (!u->no_resolve) { 869 sin6->sin6_port = htons(u->default_port);
873 u->port = u->default_port;
874 sin6->sin6_port = htons(u->default_port);
875 }
876 } 870 }
877 } 871 }
878 872
879 len = p - host; 873 len = p - host;
880 874