Fixed problem with record splitting introduced in FF 10

SVN revision: 2433
This commit is contained in:
Stefan Ritt 2012-02-10 16:21:11 +00:00
parent 8230421618
commit 8d6e8eda31

View File

@ -28798,6 +28798,7 @@ void server_loop(void)
do { do {
if (!more_requests) { if (!more_requests) {
do {
FD_ZERO(&readfds); FD_ZERO(&readfds);
FD_SET(_sock, &readfds); FD_SET(_sock, &readfds);
timeout.tv_sec = 6; timeout.tv_sec = 6;
@ -28844,14 +28845,16 @@ void server_loop(void)
broken = TRUE; broken = TRUE;
break; break;
} }
continue;
} }
/* repeat until empty line received (fragmented TCP packets!) */
} while (strstr(net_buffer, "\r\n\r\n") == 0);
} }
/* if we are in pipelining mode, clear this flag now to force a new /* if we are in pipelining mode, clear this flag now to force a new
recv if the request is not complete */ recv if the request is not complete */
more_requests = 0; more_requests = 0;
/* finish when empty line received */
pend = NULL; pend = NULL;
if (strncmp(net_buffer, "GET", 3) == 0 && strncmp(net_buffer, "POST", 4) != 0) { if (strncmp(net_buffer, "GET", 3) == 0 && strncmp(net_buffer, "POST", 4) != 0) {
if (len > 4 && strstr(net_buffer, "\r\n\r\n") != NULL) { if (len > 4 && strstr(net_buffer, "\r\n\r\n") != NULL) {