summaryrefslogtreecommitdiff
path: root/www/apache20/files/patch-secfix-CAN-2004-0942
diff options
context:
space:
mode:
Diffstat (limited to 'www/apache20/files/patch-secfix-CAN-2004-0942')
-rw-r--r--www/apache20/files/patch-secfix-CAN-2004-0942104
1 files changed, 0 insertions, 104 deletions
diff --git a/www/apache20/files/patch-secfix-CAN-2004-0942 b/www/apache20/files/patch-secfix-CAN-2004-0942
deleted file mode 100644
index 2f67f7c4013d..000000000000
--- a/www/apache20/files/patch-secfix-CAN-2004-0942
+++ /dev/null
@@ -1,104 +0,0 @@
-===================================================================
-RCS file: /home/cvspublic/httpd-2.0/server/protocol.c,v
-retrieving revision 1.121.2.21
-retrieving revision 1.121.2.22
-diff -u -r1.121.2.21 -r1.121.2.22
---- server/protocol.c 2004/09/23 18:18:36 1.121.2.21
-+++ server/protocol.c 2004/11/10 11:32:40 1.121.2.22
-@@ -305,35 +305,13 @@
- }
- }
-
-- /* We now go backwards over any CR (if present) or white spaces.
-- *
-- * Trim any extra trailing spaces or tabs except for the first
-- * space or tab at the beginning of a blank string. This makes
-- * it much easier to check field values for exact matches, and
-- * saves memory as well. Terminate string at end of line.
-- */
-- pos = last_char;
-- if (pos > *s && *(pos - 1) == APR_ASCII_CR) {
-- --pos;
-- }
--
-- /* Trim any extra trailing spaces or tabs except for the first
-- * space or tab at the beginning of a blank string. This makes
-- * it much easier to check field values for exact matches, and
-- * saves memory as well.
-- */
-- while (pos > ((*s) + 1)
-- && (*(pos - 1) == APR_ASCII_BLANK || *(pos - 1) == APR_ASCII_TAB)) {
-- --pos;
-+ /* Now NUL-terminate the string at the end of the line;
-+ * if the last-but-one character is a CR, terminate there */
-+ if (last_char > *s && last_char[-1] == APR_ASCII_CR) {
-+ last_char--;
- }
--
-- /* Since we want to remove the LF from the line, we'll go ahead
-- * and set this last character to be the term NULL and reset
-- * bytes_handled accordingly.
-- */
-- *pos = '\0';
-- last_char = pos;
-- bytes_handled = pos - *s;
-+ *last_char = '\0';
-+ bytes_handled = last_char - *s;
-
- /* If we're folding, we have more work to do.
- *
-@@ -750,7 +728,7 @@
- last_len += len;
- folded = 1;
- }
-- else {
-+ else /* not a continuation line */ {
-
- if (r->server->limit_req_fields
- && (++fields_read > r->server->limit_req_fields)) {
-@@ -773,29 +751,26 @@
- "</pre>\n", NULL));
- return;
- }
-+
-+ tmp_field = value - 1; /* last character of field-name */
-+
-+ *value++ = '\0'; /* NUL-terminate at colon */
-
-- *value = '\0';
-- tmp_field = value; /* used to trim the whitespace between key
-- * token and separator
-- */
-- ++value;
- while (*value == ' ' || *value == '\t') {
- ++value; /* Skip to start of value */
- }
-
-- /* This check is to avoid any invalid memory reference while
-- * traversing backwards in the key. To avoid a case where
-- * the header starts with ':' (or with just some white
-- * space and the ':') followed by the value
-- */
-- if (tmp_field > last_field) {
-- --tmp_field;
-- while ((tmp_field > last_field) &&
-- (*tmp_field == ' ' || *tmp_field == '\t')) {
-- --tmp_field; /* Removing LWS between key and ':' */
-- }
-- ++tmp_field;
-- *tmp_field = '\0';
-+ /* Strip LWS after field-name: */
-+ while (tmp_field > last_field
-+ && (*tmp_field == ' ' || *tmp_field == '\t')) {
-+ *tmp_field-- = '\0';
-+ }
-+
-+ /* Strip LWS after field-value: */
-+ tmp_field = last_field + last_len - 1;
-+ while (tmp_field > value
-+ && (*tmp_field == ' ' || *tmp_field == '\t')) {
-+ *tmp_field-- = '\0';
- }
-
- apr_table_addn(r->headers_in, last_field, value);
-