Mailing List Archive

[6867] cherokee/trunk/cherokee/handler_proxy.c: The "Server:" header could be added twice by the Reverse Proxy
Revision: 6867
http://svn.cherokee-project.com/changeset/6867
Author: alo
Date: 2011-09-22 13:30:41 +0200 (Thu, 22 Sep 2011)
Log Message:
-----------
The "Server:" header could be added twice by the Reverse Proxy
handled. It fixes bug #1262: http://bugs.cherokee-project.com/1262
Thanks to Sylvain Munaut for this patch!

Modified Paths:
--------------
cherokee/trunk/cherokee/handler_proxy.c

Modified: cherokee/trunk/cherokee/handler_proxy.c
===================================================================
--- cherokee/trunk/cherokee/handler_proxy.c 2011-09-20 11:35:21 UTC (rev 6866)
+++ cherokee/trunk/cherokee/handler_proxy.c 2011-09-22 11:30:41 UTC (rev 6867)
@@ -1359,16 +1359,16 @@

HANDLER(hdl)->support |= hsupport_length;

- } else if ((! props->out_preserve_server) &&
- (strncasecmp (begin, "Server:", 7) == 0)) {
+ } else if (strncasecmp (begin, "Server:", 7) == 0) {
+ added_server = true;

- cherokee_buffer_add_str (buf_out, "Server: ");
- cherokee_buffer_add_buffer (buf_out, &CONN_BIND(conn)->server_string);
- cherokee_buffer_add_str (buf_out, CRLF);
+ if (! props->out_preserve_server) {
+ cherokee_buffer_add_str (buf_out, "Server: ");
+ cherokee_buffer_add_buffer (buf_out, &CONN_BIND(conn)->server_string);
+ cherokee_buffer_add_str (buf_out, CRLF);
+ goto next;
+ }

- added_server = true;
- goto next;
-
} else if (strncasecmp (begin, "Location:", 9) == 0) {
cherokee_buffer_t *tmp1 = &HANDLER_THREAD(hdl)->tmp_buf1;
cherokee_buffer_t *tmp2 = &HANDLER_THREAD(hdl)->tmp_buf2;