about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--CHANGES7
-rw-r--r--WWW/Library/Implementation/HTTP.c5
-rw-r--r--lynx.cfg4
-rw-r--r--userdefs.h4
4 files changed, 13 insertions, 7 deletions
diff --git a/CHANGES b/CHANGES
index 1a81291d..ed90bf74 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,9 +1,14 @@
--- $LynxId: CHANGES,v 1.831 2015/12/17 01:38:55 tom Exp $
+-- $LynxId: CHANGES,v 1.832 2015/12/17 02:00:24 tom Exp $
 ===============================================================================
 Changes since Lynx 2.8 release
 ===============================================================================
 
 2015-12-16 (2.8.9dev.7)
+* switch HTTP version to 1.1, adding an explicit "close" to work around
+  the pitfall of persistent connections.  This is to work around a selective
+  reading of RFC 2068 by duckduckgo.com - see
+    http://lists.nongnu.org/archive/html/lynx-dev/2015-12/index.html
+  -Axel Beckert
 * fix a potential null dereference in tidy_tls.c reported by Coverity -TD
 * extend advanced mode by showing field names in forms in the status line
   (suggested by TG) -TD
diff --git a/WWW/Library/Implementation/HTTP.c b/WWW/Library/Implementation/HTTP.c
index 30edc891..6a6eb2fc 100644
--- a/WWW/Library/Implementation/HTTP.c
+++ b/WWW/Library/Implementation/HTTP.c
@@ -1,5 +1,5 @@
 /*
- * $LynxId: HTTP.c,v 1.148 2015/12/16 01:54:03 tom Exp $
+ * $LynxId: HTTP.c,v 1.149 2015/12/17 02:00:47 tom Exp $
  *
  * HyperText Tranfer Protocol	- Client implementation		HTTP.c
  * ==========================
@@ -17,7 +17,7 @@
 #include <HTNews.h>
 #endif
 
-#define HTTP_VERSION	"HTTP/1.0"
+#define HTTP_VERSION	"HTTP/1.1"
 
 #define HTTP_PORT   80
 #define HTTPS_PORT  443
@@ -1186,6 +1186,7 @@ static int HTLoadHTTP(const char *arg,
 	    HTBprintf(&command, "Host: %s%c%c", host, CR, LF);
 	    FREE(host);
 	}
+	HTBprintf(&command, "Connection: close%c%c", CR, LF);
 
 	if (!HTPresentations)
 	    HTFormatInit();
diff --git a/lynx.cfg b/lynx.cfg
index 1f91f503..11559fc9 100644
--- a/lynx.cfg
+++ b/lynx.cfg
@@ -1,4 +1,4 @@
-# $LynxId: lynx.cfg,v 1.265 2015/12/17 01:38:55 tom Exp $
+# $LynxId: lynx.cfg,v 1.266 2015/12/17 02:00:47 tom Exp $
 # lynx.cfg file.
 # The default placement for this file is /usr/local/lib/lynx.cfg (Unix)
 #                                     or Lynx_Dir:lynx.cfg (VMS)
@@ -7,7 +7,7 @@
 #PRCS LYNX_VERSION "2.8.9dev.7"
 #
 # $Format: "#PRCS LYNX_DATE \"$ProjectDate$\""$
-#PRCS LYNX_DATE "Wed, 16 Dec 2015 20:38:55 -0500"
+#PRCS LYNX_DATE "Wed, 16 Dec 2015 21:00:47 -0500"
 #
 # Definition pairs are of the form  VARIABLE:DEFINITION
 # NO spaces are allowed between the pair items.
diff --git a/userdefs.h b/userdefs.h
index 5332217d..56383475 100644
--- a/userdefs.h
+++ b/userdefs.h
@@ -1,5 +1,5 @@
 /*
- * $LynxId: userdefs.h,v 1.312 2015/12/17 01:38:55 tom Exp $
+ * $LynxId: userdefs.h,v 1.313 2015/12/17 02:00:47 tom Exp $
  *
  * Lynx - Hypertext navigation system
  *
@@ -1446,7 +1446,7 @@
 #define LYNX_WWW_HOME "http://lynx.invisible-island.net/"
 #define LYNX_WWW_DIST "http://lynx.invisible-island.net/current/"
 /* $Format: "#define LYNX_DATE \"$ProjectDate$\""$ */
-#define LYNX_DATE "Wed, 16 Dec 2015 20:38:55 -0500"
+#define LYNX_DATE "Wed, 16 Dec 2015 21:00:47 -0500"
 #define LYNX_DATE_OFF 5		/* truncate the automatically-generated date */
 #define LYNX_DATE_LEN 11	/* truncate the automatically-generated date */