You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by co...@apache.org on 2011/08/07 01:15:12 UTC

svn commit: r1154620 - in /httpd/httpd/trunk: CHANGES modules/metadata/mod_usertrack.c

Author: covener
Date: Sat Aug  6 23:15:11 2011
New Revision: 1154620

URL: http://svn.apache.org/viewvc?rev=1154620&view=rev
Log:
PR29755: mod_usertrack gets skipped when modules return a status code from
their fixup hook, and headers are also not sent on non-2xx responses.

Submitted by:  Sami J. Mäkinen
Reviewed by: Eric Covener (modified to just run REALLY_FIRST)


Modified:
    httpd/httpd/trunk/CHANGES
    httpd/httpd/trunk/modules/metadata/mod_usertrack.c

Modified: httpd/httpd/trunk/CHANGES
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/CHANGES?rev=1154620&r1=1154619&r2=1154620&view=diff
==============================================================================
--- httpd/httpd/trunk/CHANGES [utf-8] (original)
+++ httpd/httpd/trunk/CHANGES [utf-8] Sat Aug  6 23:15:11 2011
@@ -1,7 +1,11 @@
                                                          -*- coding: utf-8 -*-
-
 Changes with Apache 2.3.15
 
+  *) mod_usertrack: Run mod_usertrack earlier in the fixups hook to ensure the 
+     cookie is set when modules such as mod_rewrite trigger a redirect. Also
+     use r->err_headers_out for the cookie, for the same reason.  PR29755.
+     [Sami J. Mäkinen <sjm almamedia fi>, Eric Covener]
+
   *) mod_proxy_http, mod_proxy_connect: Add 'proxy-status' and
      'proxy-source-port' request notes for logging. PR 30195. [Stefan Fritsch]
 

Modified: httpd/httpd/trunk/modules/metadata/mod_usertrack.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/metadata/mod_usertrack.c?rev=1154620&r1=1154619&r2=1154620&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/metadata/mod_usertrack.c (original)
+++ httpd/httpd/trunk/modules/metadata/mod_usertrack.c Sat Aug  6 23:15:11 2011
@@ -146,7 +146,7 @@ static void make_cookie(request_rec *r)
                                  NULL);
     }
 
-    apr_table_addn(r->headers_out,
+    apr_table_addn(r->err_headers_out,
                    (dcfg->style == CT_COOKIE2 ? "Set-Cookie2" : "Set-Cookie"),
                    new_cookie);
     apr_table_setn(r->notes, "cookie", apr_pstrdup(r->pool, cookiebuf));   /* log first time */
@@ -439,7 +439,7 @@ static const command_rec cookie_log_cmds
 
 static void register_hooks(apr_pool_t *p)
 {
-    ap_hook_fixups(spot_cookie,NULL,NULL,APR_HOOK_FIRST);
+    ap_hook_fixups(spot_cookie,NULL,NULL,APR_HOOK_REALLY_FIRST);
 }
 
 AP_DECLARE_MODULE(usertrack) = {