summaryrefslogtreecommitdiff
path: root/src/http/ngx_http_request.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2009-03-16 07:24:30 +0000
committerJonathan Kolb <jon@b0g.us>2009-03-16 07:24:30 +0000
commitf7282cf06b6d8c64ca160877c5f46a6043e0f78a (patch)
tree3a9492920f77d4bddd1bd9c2359c954f3ffb8ee3 /src/http/ngx_http_request.c
parentd3c9e5f56459032d10c0c86e04472fc97621999f (diff)
downloadnginx-0.7.42.tar.gz
Changes with nginx 0.7.42 16 Mar 2009v0.7.42
*) Change: now the "Invalid argument" error returned by setsockopt(TCP_NODELAY) on Solaris, is ignored. *) Change: now if a file specified in a "auth_basic_user_file" directive is absent, then the 405 error is returned instead of the 500 one. *) Feature: the "auth_basic_user_file" directive supports variables. Thanks to Kirill A. Korinskiy. *) Feature: the "listen" directive supports the "ipv6only" parameter. Thanks to Zhang Hua. *) Bugfix: in an "alias" directive with references to captures of regular expressions; the bug had appeared in 0.7.40. *) Bugfix: compatibility with Tru64 UNIX. Thanks to Dustin Marquess. *) Bugfix: nginx could not be built without PCRE library; the bug had appeared in 0.7.41.
Diffstat (limited to 'src/http/ngx_http_request.c')
-rw-r--r--src/http/ngx_http_request.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c
index c018d6868..0280c6380 100644
--- a/src/http/ngx_http_request.c
+++ b/src/http/ngx_http_request.c
@@ -1611,7 +1611,6 @@ static ngx_int_t
ngx_http_find_virtual_server(ngx_http_request_t *r, u_char *host, size_t len)
{
u_char *server;
- size_t ncaptures;
ngx_uint_t hash;
ngx_http_virtual_names_t *vn;
ngx_http_core_loc_conf_t *clcf;
@@ -1646,6 +1645,7 @@ ngx_http_find_virtual_server(ngx_http_request_t *r, u_char *host, size_t len)
#if (NGX_PCRE)
if (vn->nregex) {
+ size_t ncaptures;
ngx_int_t n;
ngx_uint_t i;
ngx_str_t name;
@@ -2421,8 +2421,15 @@ ngx_http_set_keepalive(ngx_http_request_t *r)
(const void *) &tcp_nodelay, sizeof(int))
== -1)
{
+#if (NGX_SOLARIS)
+ /* Solaris returns EINVAL if a socket has been shut down */
+ c->log_error = NGX_ERROR_IGNORE_EINVAL;
+#endif
+
ngx_connection_error(c, ngx_socket_errno,
"setsockopt(TCP_NODELAY) failed");
+
+ c->log_error = NGX_ERROR_INFO;
ngx_http_close_connection(c);
return;
}