Commit da8e5a66 authored by Luca Toscano's avatar Luca Toscano
Browse files

mod_session_cookie: avoid adding the Set-Cookie header

                    in both r->headers_out and r->err_headers_out
                    to avoid duplication.

In session_cookie_save it seems that ap_cookie_write is called
with r->headers_out and r->err_headers_out, ending up in the same
Set-Cookie header on both tables and eventually duplicated in the
HTTP response. I took Emmanuel's patch and trimmed out the bits
that remove the header only from r->err_headers_out (leaving it
to do the work on both tables) as attempt to change this bit of code
in the most conservative way as possible. Sending a commit for
a broader review.

PR: 60910,56098,55278



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1843244 13f79535-47bb-0310-9956-ffa450edef68
parent 83f3cd02
Loading
Loading
Loading
Loading
+3 −0
Changes for CHANGES: 3 added lines, 0 removed lines.
Original line number Diff line number Diff line
                                                         -*- coding: utf-8 -*-
Changes with Apache 2.5.1

  *) mod_session_cookie: avoid duplicate Set-Cookie header in the response.
     [Emmanuel Dreyfus <manu@netbsd.org>, Luca Toscano]

  *) mod_dav_fs: Set a default DAVLockDB within the state directory.
     [Joe Orton]

+2 −2
Changes for modules/session/mod_session_cookie.c: 2 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -64,7 +64,7 @@ static apr_status_t session_cookie_save(request_rec * r, session_rec * z)
    if (conf->name_set) {
        if (z->encoded && z->encoded[0]) {
            ap_cookie_write(r, conf->name, z->encoded, conf->name_attrs,
                            z->maxage, r->headers_out, r->err_headers_out,
                            z->maxage, r->err_headers_out,
                            NULL);
        }
        else {
@@ -77,7 +77,7 @@ static apr_status_t session_cookie_save(request_rec * r, session_rec * z)
    if (conf->name2_set) {
        if (z->encoded && z->encoded[0]) {
            ap_cookie_write2(r, conf->name2, z->encoded, conf->name2_attrs,
                             z->maxage, r->headers_out, r->err_headers_out,
                             z->maxage, r->err_headers_out,
                             NULL);
        }
        else {