httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From s.@apache.org
Subject svn commit: r1403483 - in /httpd/httpd/trunk: CHANGES docs/manual/expr.xml server/util_expr_eval.c
Date Mon, 29 Oct 2012 20:34:19 GMT
Author: sf
Date: Mon Oct 29 20:34:18 2012
New Revision: 1403483

URL: http://svn.apache.org/viewvc?rev=1403483&view=rev
Log:
ap_expr: Add req_novary function that allows HTTP header lookups
without adding the name to the Vary header 

Modified:
    httpd/httpd/trunk/CHANGES
    httpd/httpd/trunk/docs/manual/expr.xml
    httpd/httpd/trunk/server/util_expr_eval.c

Modified: httpd/httpd/trunk/CHANGES
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/CHANGES?rev=1403483&r1=1403482&r2=1403483&view=diff
==============================================================================
--- httpd/httpd/trunk/CHANGES [utf-8] (original)
+++ httpd/httpd/trunk/CHANGES [utf-8] Mon Oct 29 20:34:18 2012
@@ -1,6 +1,9 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache 2.5.0
 
+  *) ap_expr: Add req_novary function that allows HTTP header lookups
+     without adding the name to the Vary header. [Stefan Fritsch]
+
   *) mod_ssl: Change default for SSLCompression to off, as compression
      causes security issues in most setups. (The so called "CRIME" attack).
      [Stefan Fritsch]

Modified: httpd/httpd/trunk/docs/manual/expr.xml
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/manual/expr.xml?rev=1403483&r1=1403482&r2=1403483&view=diff
==============================================================================
--- httpd/httpd/trunk/docs/manual/expr.xml (original)
+++ httpd/httpd/trunk/docs/manual/expr.xml Mon Oct 29 20:34:18 2012
@@ -142,7 +142,9 @@ listfunction ::= listfuncname "<strong>(
     <code>req</code> <a href="#functions">function</a>. Using these
     variables may cause the header name to be added to the Vary
     header of the HTTP response, except where otherwise noted for the
-    directive accepting the expression.</p>
+    directive accepting the expression. The <code>req_novary</code>
+    <a href="#functions">function</a> may be used to circumvent this
+    behavior.</p>
 
     <table border="1" style="zebra">
     <columnspec><column width="1"/></columnspec>
@@ -434,6 +436,9 @@ listfunction ::= listfuncname "<strong>(
     <tr><td><code>req</code>, <code>http</code></td>
         <td>Get HTTP request header; header names may be added to the Vary
             header, see below</td><td></td></tr>
+    <tr><td><code>req_novary</code></td>
+        <td>Same as <code>req</code>, but header names will not be added
to the
+            Vary header</td><td></td></tr>
     <tr><td><code>resp</code></td>
         <td>Get HTTP response header</td><td></td></tr>
     <tr><td><code>reqenv</code></td>
@@ -468,7 +473,8 @@ listfunction ::= listfuncname "<strong>(
     <p>When the functions <code>req</code> or <code>http</code>
are used,
     the header name will automatically be added to the Vary header of the
     HTTP response, except where otherwise noted for the directive accepting
-    the expression.</p>
+    the expression. The <code>req_novary</code> function can be used to
+    prevent names from being added to the Vary header.</p>
 
     <p>In addition to string-valued functions, there are also list-valued functions
which
     take one string as argument and return a wordlist, i.e. a list of strings. The wordlist

Modified: httpd/httpd/trunk/server/util_expr_eval.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/server/util_expr_eval.c?rev=1403483&r1=1403482&r2=1403483&view=diff
==============================================================================
--- httpd/httpd/trunk/server/util_expr_eval.c (original)
+++ httpd/httpd/trunk/server/util_expr_eval.c Mon Oct 29 20:34:18 2012
@@ -968,6 +968,8 @@ static const char *req_table_func(ap_exp
         t = ctx->r->notes;
     else if (name[3] == 'e')        /* reqenv */
         t = ctx->r->subprocess_env;
+    else if (name[3] == '_')        /* req_novary */
+        t = ctx->r->headers_in;
     else {                          /* req, http */
         t = ctx->r->headers_in;
         add_vary(ctx, arg);
@@ -1566,6 +1568,7 @@ static const struct expr_provider_single
     { req_table_func,       "http",           NULL, 0 },
     { req_table_func,       "note",           NULL, 0 },
     { req_table_func,       "reqenv",         NULL, 0 },
+    { req_table_func,       "req_novary",     NULL, 0 },
     { tolower_func,         "tolower",        NULL, 0 },
     { toupper_func,         "toupper",        NULL, 0 },
     { escape_func,          "escape",         NULL, 0 },



Mime
View raw message