diff src/http/modules/ngx_http_ssi_filter_module.c @ 126:df17fbafec8f NGINX_0_3_10

nginx 0.3.10 *) Change: the "valid_referers" directive and the "$invalid_referer" variable were moved to the new ngx_http_referer_module from the ngx_http_rewrite_module. *) Change: the "$apache_bytes_sent" variable name was changed to "$body_bytes_sent". *) Feature: the "$sent_http_..." variables. *) Feature: the "if" directive supports the "=" and "!=" operations. *) Feature: the "proxy_pass" directive supports the HTTPS protocol. *) Feature: the "proxy_set_body" directive. *) Feature: the "post_action" directive. *) Feature: the ngx_http_empty_gif_module. *) Feature: the "worker_cpu_affinity" directive for Linux. *) Bugfix: the "rewrite" directive did not unescape URI part in redirect, now it is unescaped except the %00-%25 and %7F-%FF characters. *) Bugfix: nginx could not be built by the icc 9.0 compiler. *) Bugfix: if the SSI was enabled for zero size static file, then the chunked response was encoded incorrectly.
author Igor Sysoev <http://sysoev.ru>
date Tue, 15 Nov 2005 00:00:00 +0300
parents d25a1d6034f1
children 91372f004adf
line wrap: on
line diff
--- a/src/http/modules/ngx_http_ssi_filter_module.c
+++ b/src/http/modules/ngx_http_ssi_filter_module.c
@@ -197,7 +197,7 @@ static ngx_command_t  ngx_http_ssi_filte
 };
 
 
-    
+
 static ngx_http_module_t  ngx_http_ssi_filter_module_ctx = {
     ngx_http_ssi_add_variables,            /* preconfiguration */
     NULL,                                  /* postconfiguration */
@@ -210,7 +210,7 @@ static ngx_http_module_t  ngx_http_ssi_f
 
     ngx_http_ssi_create_conf,              /* create location configuration */
     ngx_http_ssi_merge_conf                /* merge location configuration */
-};  
+};
 
 
 ngx_module_t  ngx_http_ssi_filter_module = {
@@ -331,7 +331,8 @@ ngx_http_ssi_header_filter(ngx_http_requ
     conf = ngx_http_get_module_loc_conf(r, ngx_http_ssi_filter_module);
 
     if (!conf->enable
-        || r->headers_out.content_type.len == 0)
+        || r->headers_out.content_type.len == 0
+        || r->headers_out.content_length_n == 0)
     {
         return ngx_http_next_header_filter(r);
     }
@@ -381,17 +382,8 @@ found:
     r->filter_need_in_memory = 1;
 
     if (r->main == r) {
-        r->headers_out.content_length_n = -1;
-        if (r->headers_out.content_length) {
-            r->headers_out.content_length->hash = 0;
-            r->headers_out.content_length = NULL;
-        }
-
-        r->headers_out.last_modified_time = -1;
-        if (r->headers_out.last_modified) {
-            r->headers_out.last_modified->hash = 0;
-            r->headers_out.last_modified = NULL;
-        }
+        ngx_http_clear_content_length(r);
+        ngx_http_clear_last_modified(r);
     }
 
     return ngx_http_next_header_filter(r);
@@ -1485,7 +1477,7 @@ ngx_http_ssi_evaluate_string(ngx_http_re
                 return NGX_ERROR;
             }
 
-            if (var.len == 0) { 
+            if (var.len == 0) {
                 goto invalid_variable;
             }
 
@@ -1983,7 +1975,7 @@ ngx_http_ssi_date_gmt_local_variable(ngx
     struct tm            tm;
     char                 buf[NGX_HTTP_SSI_DATE_LEN];
 
-    v->valid = 1; 
+    v->valid = 1;
     v->no_cachable = 0;
     v->not_found = 0;
 
@@ -2092,7 +2084,7 @@ ngx_http_ssi_add_variables(ngx_conf_t *c
         var->data = v->data;
     }
 
-    return NGX_OK; 
+    return NGX_OK;
 }