From f6453621b786a13e8be17fb1a6ee04601383f9d4 Mon Sep 17 00:00:00 2001 From: Stefan Esser Date: Sat, 14 Jan 2012 09:37:09 +0100 Subject: Fixed that disabling HTTP response splitting protection also disabled NUL byte protection in HTTP headers --- header.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'header.c') diff --git a/header.c b/header.c index d2ec518..368e085 100644 --- a/header.c +++ b/header.c @@ -240,7 +240,7 @@ int suhosin_header_handler(sapi_header_struct *sapi_header, sapi_headers_struct } #endif - if (!SUHOSIN_G(allow_multiheader) && sapi_header && sapi_header->header) { + if (sapi_header && sapi_header->header) { tmp = sapi_header->header; @@ -256,6 +256,9 @@ int suhosin_header_handler(sapi_header_struct *sapi_header, sapi_headers_struct if (!SUHOSIN_G(simulation)) { sapi_header->header_len = i; } + } + if (SUHOSIN_G(allow_multiheader)) { + continue; } else if ((tmp[0] == '\r' && (tmp[1] != '\n' || i == 0)) || (tmp[0] == '\n' && (i == sapi_header->header_len-1 || i == 0 || (tmp[1] != ' ' && tmp[1] != '\t')))) { char *fname = get_active_function_name(TSRMLS_C); -- cgit v1.3