]> granicus.if.org Git - apache/commit
Ignore CRLF (or LF) when PEEK'ing at data on the socket. The general
authorRyan Bloom <rbb@apache.org>
Thu, 28 Dec 2000 01:14:22 +0000 (01:14 +0000)
committerRyan Bloom <rbb@apache.org>
Thu, 28 Dec 2000 01:14:22 +0000 (01:14 +0000)
commitd1df8342b5671e7f348a7cda6705df66aefd772b
tree6611dd44dce11266e570d4db96e55baa7e5d5487
parent4d657e4b249c2011a80f5597493ee4a93a5b893c
Ignore CRLF (or LF) when PEEK'ing at data on the socket.  The general
problem is that some browsers send an extra line at the end of a POST
request.  We use the PEEK method to determine if there is any data left
on the socket, if there is then we delay sending the response until we
have enough data to make it worthwhile.  If the browser sends an extra
blank line, we don't want to delay the response at all.  The only time
we use the PEEK method is to check for a second request, so this is safe
to do.

This also solves Joe Orton's problem of specifying a Content- Length
of 1 for a blank line, and having the server wait to send back a response.
The problem is that Linux (all Unix really) sends two characters \r\n for
a blank line, so specifying a C-L of 1 means that the server still sees
a \n when it PEEKs that the socket data.  That \n can be safely ignored
however.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87540 13f79535-47bb-0310-9956-ffa450edef68
CHANGES
modules/http/http_protocol.c