From: Derk-Jan Hartman Date: Wed, 24 Sep 2008 01:05:07 +0000 (+0200) Subject: httpd: Fix keepalive/close of non-matching HTTP versions. X-Git-Tag: 1.0.0-pre1~2932 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=304a487848610a5bb10e0e0fdc14694729a85463;p=vlc httpd: Fix keepalive/close of non-matching HTTP versions. This is a suggestion by Forum user boing (http://forum.videolan.org/viewtopic.php?f=18&t=47295&p=162690#p162690) Freebox implements a HTTP/1.0 client, we a HTTP/1.1 server. As such we should base our determination of the keepalive vs. close behaviour on the query (client request) instead of the answer (server response). See also: http://www.ietf.org/rfc/rfc2145.txt --- diff --git a/src/network/httpd.c b/src/network/httpd.c index 5f5f37770d..2587d2deef 100644 --- a/src/network/httpd.c +++ b/src/network/httpd.c @@ -2352,8 +2352,8 @@ retry: } if( ( ( cl->query.i_proto == HTTPD_PROTO_HTTP ) && - ( ( cl->answer.i_version == 0 && b_keepalive ) || - ( cl->answer.i_version == 1 && !b_connection ) ) ) || + ( ( cl->query.i_version == 0 && b_keepalive ) || + ( cl->query.i_version == 1 && !b_connection ) ) ) || ( ( cl->query.i_proto == HTTPD_PROTO_RTSP ) && !b_query && !b_connection ) ) {