Mercurial > hg > nginx-vendor-current
diff src/http/modules/ngx_http_auth_basic_module.c @ 262:e0b1d0a6c629 NGINX_0_5_1
nginx 0.5.1
*) Bugfix: the "post_action" directive might not run after a
unsuccessful completion of a request.
*) Workaround: for Eudora for Mac; bug appeared in 0.4.11.
Thanks to Bron Gondwana.
*) Bugfix: if the "upstream" name was used in the "fastcgi_pass", then
the message "no port in upstream" was issued; bug appeared in 0.5.0.
*) Bugfix: if the "proxy_pass" and "fastcgi_pass" directives used the
same servers but different ports, then these directives uses the
first described port; bug appeared in 0.5.0.
*) Bugfix: if the "proxy_pass" and "fastcgi_pass" directives used the
unix domain sockets, then these directives used first described
socket; bug appeared in 0.5.0.
*) Bugfix: ngx_http_auth_basic_module ignored the user if it was in the
last line in the password file and there was no the carriage return,
the line feed, or the ":" symbol after the password.
*) Bugfix: the $upstream_response_time variable might be equal to
"0.000", although response time was more than 1 millisecond.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Mon, 11 Dec 2006 00:00:00 +0300 |
parents | 38e7b94d63ac |
children | c5c2b2883984 |
line wrap: on
line diff
--- a/src/http/modules/ngx_http_auth_basic_module.c +++ b/src/http/modules/ngx_http_auth_basic_module.c @@ -154,6 +154,8 @@ ngx_http_auth_basic_handler(ngx_http_req offset = 0; for ( ;; ) { + i = left; + n = ngx_read_file(&file, buf + left, NGX_HTTP_AUTH_BUF_SIZE - left, offset); @@ -228,6 +230,18 @@ ngx_http_auth_basic_handler(ngx_http_req ngx_http_auth_basic_close(&file); + if (state == sw_passwd) { + pwd.len = i - passwd; + pwd.data = ngx_palloc(r->pool, pwd.len + 1); + if (pwd.data == NULL) { + return NGX_HTTP_INTERNAL_SERVER_ERROR; + } + + ngx_cpystrn(pwd.data, &buf[passwd], pwd.len + 1); + + return ngx_http_auth_basic_crypt_handler(r, NULL, &pwd, &alcf->realm); + } + return ngx_http_auth_basic_set_realm(r, &alcf->realm); }