diff options
author | Robert James Kaes <rjkaes@users.sourceforge.net> | 2002-05-29 18:11:57 +0000 |
---|---|---|
committer | Robert James Kaes <rjkaes@users.sourceforge.net> | 2002-05-29 18:11:57 +0000 |
commit | 9b13e9bda870add52ebc730d9d86d2e961a3be7c (patch) | |
tree | 4727ee5e05f93c93b9718a28c3cadfee5d93177f /src/reqs.c | |
parent | 5fcb8553da8b2e10209dfe020d47ef81da7ed92e (diff) | |
download | tinyproxy-9b13e9bda870add52ebc730d9d86d2e961a3be7c.tar.gz tinyproxy-9b13e9bda870add52ebc730d9d86d2e961a3be7c.zip |
(add_header_to_connection): Removed the "double_cgi" boolean, since tinyproxy now ignores all the headers after a "double CGI" situation has occurred.
(get_all_headers): Instead of dropping duplicate headers when the "double CGI" situation occurs, tinyproxy will now drop _all_ the headers from the "inner" HTTP response.
Diffstat (limited to '')
-rw-r--r-- | src/reqs.c | 17 |
1 files changed, 5 insertions, 12 deletions
@@ -1,4 +1,4 @@ -/* $Id: reqs.c,v 1.79 2002-05-28 20:40:01 rjkaes Exp $ +/* $Id: reqs.c,v 1.80 2002-05-29 18:11:57 rjkaes Exp $ * * This is where all the work in tinyproxy is actually done. Incoming * connections have a new child created for them. The child then @@ -530,11 +530,9 @@ add_xtinyproxy_header(struct conn_s *connptr) * can be retrieved and manipulated later. */ static inline int -add_header_to_connection(hashmap_t hashofheaders, char *header, size_t len, - bool_t double_cgi) +add_header_to_connection(hashmap_t hashofheaders, char *header, size_t len) { char *sep; - ssize_t ret; /* Get rid of the new line and return at the end */ len -= chomp(header, len); @@ -550,12 +548,6 @@ add_header_to_connection(hashmap_t hashofheaders, char *header, size_t len, /* Calculate the new length of just the data */ len -= sep - header - 1; - if (double_cgi == TRUE) { - /* Don't allow duplicate headers */ - if ((ret = hashmap_search(hashofheaders, header)) <= 0) - return ret; - } - return hashmap_insert(hashofheaders, header, sep, len); } @@ -604,8 +596,9 @@ get_all_headers(int fd, hashmap_t hashofheaders) safefree(header); continue; } - - if (add_header_to_connection(hashofheaders, header, len, double_cgi) < 0) { + + if (!double_cgi + && add_header_to_connection(hashofheaders, header, len) < 0) { safefree(header); return -1; } |