merge r3055, r3136:

gzip related fixes:

*) do not disable gzip for MSIE 6.0 SV1 in "gzip_disable msie6"
*) nginx always sent "Vary: Accept-Encoding",
   if both gzip_static and gzip_vary were on
This commit is contained in:
Igor Sysoev 2009-10-26 17:34:43 +00:00
parent 50e7dc1524
commit 74007f8ed3
2 changed files with 14 additions and 4 deletions

View File

@ -95,7 +95,13 @@ ngx_http_gzip_static_handler(ngx_http_request_t *r)
gzcf = ngx_http_get_module_loc_conf(r, ngx_http_gzip_static_module);
if (!gzcf->enable || ngx_http_gzip_ok(r) != NGX_OK) {
if (!gzcf->enable) {
return NGX_DECLINED;
}
clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module);
if (clcf->gzip_vary && ngx_http_gzip_ok(r) != NGX_OK) {
return NGX_DECLINED;
}
@ -116,8 +122,6 @@ ngx_http_gzip_static_handler(ngx_http_request_t *r)
ngx_log_debug1(NGX_LOG_DEBUG_HTTP, log, 0,
"http filename: \"%s\"", path.data);
clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module);
ngx_memzero(&of, sizeof(ngx_open_file_info_t));
of.directio = clcf->directio;
@ -138,6 +142,7 @@ ngx_http_gzip_static_handler(ngx_http_request_t *r)
case NGX_ENOTDIR:
case NGX_ENAMETOOLONG:
r->gzip = 0;
return NGX_DECLINED;
case NGX_EACCES:

View File

@ -1378,8 +1378,13 @@ ngx_http_process_user_agent(ngx_http_request_t *r, ngx_table_elt_t *h,
r->headers_in.msie4 = 1;
/* fall through */
case '5':
case '6':
r->headers_in.msie6 = 1;
break;
case '6':
if (ngx_strstrn(msie + 8, "SV1", 3 - 1) == NULL) {
r->headers_in.msie6 = 1;
}
break;
}
}