hi,

First of all, this is my first patch submission ever, so, apologies for any mistakes I could have done...

It's been discussed before (#10722 and http://hypermail.linklord.com/new-httpd/2004/Jun/5405.html ), but, AFAICS the pre-existing headers_out are overwritten by mod_proxy_http in 2.0.55 (See #25543).

I wrote a patch to fix this in 2.0.55 (see follow).

I was trying to adapt it to 2.2, when I realised that 2.2 already keeps the "Set-Cookies" in headers-out using a "save_table".
My question is :
Why do we only preserve "Set-Cookies" in headers_out...? If, for any particular needs, a pre-acting module needs to send a particular header to a client, despite the proxy, shouldn't we take care of that ? Of course, if not handled correctly, this could lead to boggus duplicate headers...

Therefore, do I need to change my patch so that it only keeps 'Set-cookie' header ?

Romain Bourgue

--Patch for #10722 :--

--- proxy_http.c.old    2006-01-07 19:37:12.000000000 +0100
+++ proxy_http.c        2006-01-07 19:43:08.000000000 +0100
@@ -1304,8 +1304,9 @@
/* N.B. for HTTP/1.0 clients, we have to fold line-wrapped headers*/
             /* Also, take care with headers with multiple occurences. */

-            r->headers_out = ap_proxy_read_headers(r, rp, buffer,
-                                                   sizeof(buffer), origin);
+           /* Keep the possibly pre-existing headers (pre-mod_proxy) */
+ apr_table_overlap(r->headers_out,ap_proxy_read_headers(r, rp, buffer, + sizeof(buffer), origin),APR_OVERLAP_TABLES_MERGE);
             if (r->headers_out == NULL) {
                 ap_log_error(APLOG_MARK, APLOG_WARNING, 0,
                              r->server, "proxy: bad HTTP/%d.%d header "

Reply via email to