From 3c4acb409aa4765a282af630932c8dc9e995bace Mon Sep 17 00:00:00 2001 From: willy tarreau Date: Sat, 15 Apr 2006 21:10:21 +0200 Subject: [PATCH] Revert "ignore leading empty lines in HTTP requests (RFC2616)" This reverts d13a3c8d2ae5b9742c42db067705a6464f740af6 commit. --- TODO | 1 - haproxy.c | 26 -------------------------- 2 files changed, 27 deletions(-) diff --git a/TODO b/TODO index 1471c4b1b1..ddc9166341 100644 --- a/TODO +++ b/TODO @@ -149,5 +149,4 @@ Todo for 1.2 activity on the buffer's pointers from touching the buffer page itself. - make buffer size configurable in global options * monitor number of simultaneous sessions in logs (per srv/inst/global) -* ignore leading empty lines in HTTP requests diff --git a/haproxy.c b/haproxy.c index aebf63e1e8..b8cc48d0e4 100644 --- a/haproxy.c +++ b/haproxy.c @@ -3308,32 +3308,6 @@ int process_cli(struct session *t) { if (ptr == req->h) { /* empty line, end of headers */ int line, len; - - /* - * first, let's check that it's not a leading empty line, in - * which case we'll ignore and remove it (according to RFC2616). - */ - if (req->h == req->data) { - /* to get a complete header line, we need the ending \r\n, \n\r, \r or \n too */ - if (ptr > req->r - 2) { - /* this is a partial header, let's wait for more to come */ - req->lr = ptr; - break; - } - - /* now we know that *ptr is either \r or \n, - * and that there are at least 1 char after it. - */ - if ((ptr[0] == ptr[1]) || (ptr[1] != '\r' && ptr[1] != '\n')) - req->lr = ptr + 1; /* \r\r, \n\n, \r[^\n], \n[^\r] */ - else - req->lr = ptr + 2; /* \r\n or \n\r */ - /* ignore empty leading lines */ - buffer_replace2(req, req->h, req->lr, NULL, 0); - req->h = req->lr; - continue; - } - /* we can only get here after an end of headers */ /* we'll have something else to do here : add new headers ... */