projects
/
privoxy.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
sed(): Don't call enforce_header_order() if a filter removed the request line
[privoxy.git]
/
parsers.c
diff --git
a/parsers.c
b/parsers.c
index
69a8fb4
..
ba151d1
100644
(file)
--- a/
parsers.c
+++ b/
parsers.c
@@
-4,7
+4,7
@@
*
* Purpose : Declares functions to parse/crunch headers and pages.
*
*
* Purpose : Declares functions to parse/crunch headers and pages.
*
- * Copyright : Written by and Copyright (C) 2001-202
0
the
+ * Copyright : Written by and Copyright (C) 2001-202
1
the
* Privoxy team. https://www.privoxy.org/
*
* Based on the Internet Junkbuster originally written
* Privoxy team. https://www.privoxy.org/
*
* Based on the Internet Junkbuster originally written
@@
-1291,7
+1291,9
@@
jb_err sed(struct client_state *csp, int filter_server_headers)
f++;
}
f++;
}
- if (!filter_server_headers && !list_is_empty(csp->config->ordered_client_headers))
+ if (!filter_server_headers &&
+ !list_is_empty(csp->config->ordered_client_headers) &&
+ csp->headers->first->str != NULL)
{
enforce_header_order(csp->headers, csp->config->ordered_client_headers);
}
{
enforce_header_order(csp->headers, csp->config->ordered_client_headers);
}
@@
-1346,9
+1348,11
@@
jb_err sed_https(struct client_state *csp)
csp->flags |= CSP_FLAG_CLIENT_HEADER_PARSING_DONE;
/*
csp->flags |= CSP_FLAG_CLIENT_HEADER_PARSING_DONE;
/*
- * Update the last header which may have changed
- * due to header additions,
+ * Update the https headers list which may have
+ * been modified due to header additions or header
+ * reordering.
*/
*/
+ csp->https_headers->first = csp->headers->first;
csp->https_headers->last = csp->headers->last;
csp->headers->first = headers.first;
csp->https_headers->last = csp->headers->last;
csp->headers->first = headers.first;