From 9ac946bcc9f8f3735af8eb253c1e89f177db5827 Mon Sep 17 00:00:00 2001 From: Igor Sysoev Date: Mon, 24 Oct 2005 15:09:41 +0000 Subject: nginx-0.3.6-RELEASE import *) Change: now the IMAP/POP3 proxy do not send the empty login to authorization server. *) Feature: the "log_format" supports the variables in the $name form. *) Bugfix: if at least in one server was no the "listen" directive, then nginx did not listen on the 80 port; the bug had appeared in 0.3.3. *) Bugfix: if the URI part is omitted in "proxy_pass" directive, the the 80 port was always used. --- src/core/ngx_inet.c | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) (limited to 'src/core/ngx_inet.c') diff --git a/src/core/ngx_inet.c b/src/core/ngx_inet.c index 60a40eca4..4be55fdb5 100644 --- a/src/core/ngx_inet.c +++ b/src/core/ngx_inet.c @@ -452,7 +452,23 @@ ngx_inet_parse_host_port(ngx_inet_upstream_t *u) } } - if (u->port_text.data == NULL) { + if (u->port_text.data) { + + if (u->port_text.len == 0) { + u->port_text.len = &url->data[i] - u->port_text.data; + + if (u->port_text.len == 0) { + return "invalid port"; + } + } + + port = ngx_atoi(u->port_text.data, u->port_text.len); + + if (port == NGX_ERROR || port < 1 || port > 65536) { + return "invalid port"; + } + + } else { port = ngx_atoi(url->data, url->len); if (port == NGX_ERROR) { @@ -464,18 +480,6 @@ ngx_inet_parse_host_port(ngx_inet_upstream_t *u) u->port_text = *url; u->wildcard = 1; - - } else { - if (u->port_text.len == 0) { - u->default_port = 1; - return NULL; - } - - port = ngx_atoi(u->port_text.data, u->port_text.len); - - if (port == NGX_ERROR || port < 1 || port > 65536) { - return "invalid port"; - } } u->port = (in_port_t) port; -- cgit v1.2.3