Mercurial > hg > nginx-quic
comparison src/http/modules/ngx_http_auth_basic_module.c @ 890:6356b34cf027
fix when last htpasswd line has no CR or LF
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Wed, 06 Dec 2006 14:17:42 +0000 |
parents | 7e24168b0853 |
children | c4f666fc3a7e |
comparison
equal
deleted
inserted
replaced
889:a9a7e4b1a72b | 890:6356b34cf027 |
---|---|
152 login = 0; | 152 login = 0; |
153 left = 0; | 153 left = 0; |
154 offset = 0; | 154 offset = 0; |
155 | 155 |
156 for ( ;; ) { | 156 for ( ;; ) { |
157 i = left; | |
158 | |
157 n = ngx_read_file(&file, buf + left, NGX_HTTP_AUTH_BUF_SIZE - left, | 159 n = ngx_read_file(&file, buf + left, NGX_HTTP_AUTH_BUF_SIZE - left, |
158 offset); | 160 offset); |
159 | 161 |
160 if (n == NGX_ERROR) { | 162 if (n == NGX_ERROR) { |
161 ngx_http_auth_basic_close(&file); | 163 ngx_http_auth_basic_close(&file); |
226 offset += n; | 228 offset += n; |
227 } | 229 } |
228 | 230 |
229 ngx_http_auth_basic_close(&file); | 231 ngx_http_auth_basic_close(&file); |
230 | 232 |
233 if (state == sw_passwd) { | |
234 pwd.len = i - passwd; | |
235 pwd.data = ngx_palloc(r->pool, pwd.len + 1); | |
236 if (pwd.data == NULL) { | |
237 return NGX_HTTP_INTERNAL_SERVER_ERROR; | |
238 } | |
239 | |
240 ngx_cpystrn(pwd.data, &buf[passwd], pwd.len + 1); | |
241 | |
242 return ngx_http_auth_basic_crypt_handler(r, NULL, &pwd, &alcf->realm); | |
243 } | |
244 | |
231 return ngx_http_auth_basic_set_realm(r, &alcf->realm); | 245 return ngx_http_auth_basic_set_realm(r, &alcf->realm); |
232 } | 246 } |
233 | 247 |
234 | 248 |
235 static ngx_int_t | 249 static ngx_int_t |