Mercurial > hg > nginx-ranges
comparison src/core/ngx_file.c @ 548:0dc162a5f3e8 NGINX_0_8_20
nginx 0.8.20
*) Change: now default SSL ciphers are "HIGH:!ADH:!MD5".
*) Bugfix: the ngx_http_autoindex_module did not show the trailing
slash in links to a directory; the bug had appeared in 0.7.15.
*) Bugfix: nginx did not close a log file set by the --error-log-path
configuration option; the bug had appeared in 0.7.53.
*) Bugfix: nginx did not treat a comma as separator in the
"Cache-Control" backend response header line.
*) Bugfix: nginx/Windows might not create temporary file, a cache file,
or "proxy/fastcgi_store"d file if a worker has no enough access
rights for top level directories.
*) Bugfix: the "Set-Cookie" and "P3P" FastCGI response header lines
were not hidden while caching if no "fastcgi_hide_header" directives
were used with any parameters.
*) Bugfix: nginx counted incorrectly disk cache size.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Wed, 14 Oct 2009 00:00:00 +0400 |
parents | 7efcdb937752 |
children | 25255878df91 |
comparison
equal
deleted
inserted
replaced
547:4584144e5de2 | 548:0dc162a5f3e8 |
---|---|
181 ngx_create_full_path(u_char *dir, ngx_uint_t access) | 181 ngx_create_full_path(u_char *dir, ngx_uint_t access) |
182 { | 182 { |
183 u_char *p, ch; | 183 u_char *p, ch; |
184 ngx_err_t err; | 184 ngx_err_t err; |
185 | 185 |
186 for (p = dir + 1; *p; p++) { | 186 err = 0; |
187 | |
188 #if (NGX_WIN32) | |
189 p = dir + 3; | |
190 #else | |
191 p = dir + 1; | |
192 #endif | |
193 | |
194 for ( /* void */ ; *p; p++) { | |
187 ch = *p; | 195 ch = *p; |
188 | 196 |
189 if (ch != '/') { | 197 if (ch != '/') { |
190 continue; | 198 continue; |
191 } | 199 } |
192 | 200 |
193 *p = '\0'; | 201 *p = '\0'; |
194 | 202 |
195 if (ngx_create_dir(dir, access) == NGX_FILE_ERROR) { | 203 if (ngx_create_dir(dir, access) == NGX_FILE_ERROR) { |
196 err = ngx_errno; | 204 err = ngx_errno; |
197 if (err != NGX_EEXIST) { | 205 |
206 switch (err) { | |
207 case NGX_EEXIST: | |
208 err = 0; | |
209 case NGX_EACCES: | |
210 break; | |
211 | |
212 default: | |
198 return err; | 213 return err; |
199 } | 214 } |
200 } | 215 } |
201 | 216 |
202 *p = '/'; | 217 *p = '/'; |
203 } | 218 } |
204 | 219 |
205 return 0; | 220 return err; |
206 } | 221 } |
207 | 222 |
208 | 223 |
209 ngx_atomic_uint_t | 224 ngx_atomic_uint_t |
210 ngx_next_temp_number(ngx_uint_t collision) | 225 ngx_next_temp_number(ngx_uint_t collision) |