diff options
author | Igor Sysoev <igor@sysoev.ru> | 2005-10-24 15:09:41 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2005-10-24 15:09:41 +0000 |
commit | 9ac946bcc9f8f3735af8eb253c1e89f177db5827 (patch) | |
tree | 0d42898bfbe5931131d4544699b18c9d697d2cef /src/core/ngx_inet.c | |
parent | 51d8bcc28b729a8a3056a0c98e2c44e466351141 (diff) | |
download | nginx-9ac946bcc9f8f3735af8eb253c1e89f177db5827.tar.gz nginx-9ac946bcc9f8f3735af8eb253c1e89f177db5827.zip |
nginx-0.3.6-RELEASE importrelease-0.3.6
*) 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.
Diffstat (limited to 'src/core/ngx_inet.c')
-rw-r--r-- | src/core/ngx_inet.c | 30 |
1 files changed, 17 insertions, 13 deletions
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; |