Mercurial > hg > nginx-vendor-1-0
comparison src/http/modules/ngx_http_gzip_static_module.c @ 362:54fad6c4b555 NGINX_0_6_25
nginx 0.6.25
*) Change: now the "server_name_in_redirect" directive is used instead
of the "server_name" directive's special "*" parameter.
*) Change: now wildcard and regex names can be used as main name in a
"server_name" directive.
*) Change: the "satisfy_any" directive was replaced by the "satisfy"
directive.
*) Workaround: old worker processes might hog CPU after reconfiguration
if they was run under Linux OpenVZ.
*) Feature: the "min_delete_depth" directive.
*) Bugfix: the COPY and MOVE methods did not work with single files.
*) Bugfix: the ngx_http_gzip_static_module did not allow the
ngx_http_dav_module to work; bug appeared in 0.6.23.
*) Bugfix: socket leak in HTTPS mode if deferred accept was used.
Thanks to Ben Maurer.
*) Bugfix: nginx could not be built without PCRE library; bug appeared
in 0.6.23.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Tue, 08 Jan 2008 00:00:00 +0300 |
parents | 9121a0a91f47 |
children | 984bb0b1399b |
comparison
equal
deleted
inserted
replaced
361:160660bad929 | 362:54fad6c4b555 |
---|---|
80 ngx_open_file_info_t of; | 80 ngx_open_file_info_t of; |
81 ngx_http_core_loc_conf_t *clcf; | 81 ngx_http_core_loc_conf_t *clcf; |
82 ngx_http_gzip_static_conf_t *gzcf; | 82 ngx_http_gzip_static_conf_t *gzcf; |
83 | 83 |
84 if (!(r->method & (NGX_HTTP_GET|NGX_HTTP_HEAD))) { | 84 if (!(r->method & (NGX_HTTP_GET|NGX_HTTP_HEAD))) { |
85 return NGX_HTTP_NOT_ALLOWED; | 85 return NGX_DECLINED; |
86 } | 86 } |
87 | 87 |
88 if (r->uri.data[r->uri.len - 1] == '/') { | 88 if (r->uri.data[r->uri.len - 1] == '/') { |
89 return NGX_DECLINED; | 89 return NGX_DECLINED; |
90 } | 90 } |
123 of.valid = clcf->open_file_cache_valid; | 123 of.valid = clcf->open_file_cache_valid; |
124 of.min_uses = clcf->open_file_cache_min_uses; | 124 of.min_uses = clcf->open_file_cache_min_uses; |
125 of.errors = clcf->open_file_cache_errors; | 125 of.errors = clcf->open_file_cache_errors; |
126 of.events = clcf->open_file_cache_events; | 126 of.events = clcf->open_file_cache_events; |
127 | 127 |
128 rc = ngx_open_cached_file(clcf->open_file_cache, &path, &of, r->pool); | 128 if (ngx_open_cached_file(clcf->open_file_cache, &path, &of, r->pool) |
129 | 129 != NGX_OK) |
130 if (rc == NGX_ERROR) { | 130 { |
131 | |
132 switch (of.err) { | 131 switch (of.err) { |
133 | 132 |
134 case 0: | 133 case 0: |
135 return NGX_HTTP_INTERNAL_SERVER_ERROR; | 134 return NGX_HTTP_INTERNAL_SERVER_ERROR; |
136 | 135 |
141 return NGX_DECLINED; | 140 return NGX_DECLINED; |
142 | 141 |
143 case NGX_EACCES: | 142 case NGX_EACCES: |
144 | 143 |
145 level = NGX_LOG_ERR; | 144 level = NGX_LOG_ERR; |
146 rc = NGX_DECLINED; | |
147 break; | 145 break; |
148 | 146 |
149 default: | 147 default: |
150 | 148 |
151 level = NGX_LOG_CRIT; | 149 level = NGX_LOG_CRIT; |
152 rc = NGX_DECLINED; | |
153 break; | 150 break; |
154 } | 151 } |
155 | 152 |
156 ngx_log_error(level, log, of.err, | 153 ngx_log_error(level, log, of.err, |
157 ngx_open_file_n " \"%s\" failed", path.data); | 154 ngx_open_file_n " \"%s\" failed", path.data); |
158 | 155 |
159 return rc; | 156 return NGX_DECLINED; |
160 } | 157 } |
161 | 158 |
162 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, log, 0, "http static fd: %d", of.fd); | 159 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, log, 0, "http static fd: %d", of.fd); |
163 | 160 |
164 if (of.is_dir) { | 161 if (of.is_dir) { |