Revert "ignore leading empty lines in HTTP requests (RFC2616)"

This reverts d13a3c8d2a commit.
This commit is contained in:
willy tarreau 2006-04-15 21:10:21 +02:00
parent d13a3c8d2a
commit 3c4acb409a
2 changed files with 0 additions and 27 deletions

1
TODO
View File

@ -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

View File

@ -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 ... */