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) {