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