]> git.sesse.net Git - vlc/commitdiff
httpd: Fix keepalive/close of non-matching HTTP versions.
authorDerk-Jan Hartman <hartman@videolan.org>
Wed, 24 Sep 2008 01:05:07 +0000 (03:05 +0200)
committerDerk-Jan Hartman <hartman@videolan.org>
Wed, 24 Sep 2008 01:08:38 +0000 (03:08 +0200)
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

src/network/httpd.c

index 5f5f37770d6aa2726e40f9fbe30e65e600c69a7f..2587d2deef503cb8d80511b8ec46335bedfe5be2 100644 (file)
@@ -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 ) )
                     {