summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRobert James Kaes <rjkaes@users.sourceforge.net>2002-05-29 18:11:57 +0000
committerRobert James Kaes <rjkaes@users.sourceforge.net>2002-05-29 18:11:57 +0000
commit9b13e9bda870add52ebc730d9d86d2e961a3be7c (patch)
tree4727ee5e05f93c93b9718a28c3cadfee5d93177f /src
parent5fcb8553da8b2e10209dfe020d47ef81da7ed92e (diff)
downloadtinyproxy-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 'src')
-rw-r--r--src/reqs.c17
1 files changed, 5 insertions, 12 deletions
diff --git a/src/reqs.c b/src/reqs.c
index efa1da0..6fe58fa 100644
--- a/src/reqs.c
+++ b/src/reqs.c
@@ -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;
}