GNU bug report logs - #8931
24.0.50; url-http.el terminating HTTP packets with extra carriage return and newline

Previous Next

Package: emacs;

Reported by: Nicolas Avrutin <nicolasavru <at> gmail.com>

Date: Fri, 24 Jun 2011 20:51:01 UTC

Severity: normal

Tags: fixed

Found in version 24.0.50

Fixed in version 24.1

Done: Lars Magne Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


Message #19 received at 8931 <at> debbugs.gnu.org (full text, mbox):

From: "Christopher J. White" <chris <at> grierwhite.com>
To: 8931 <at> debbugs.gnu.org
Subject: url-http-create-request needs extra CRLF for https
Date: Sat, 24 Sep 2011 00:04:43 -0400
There is a tug of war going on here.  

Prior to 100681, the code had no CRLF after url-http-data.  Mark
Hershberger submitted a patch to add the CRLF because without it, POSTs
with content to https urls just hang:

  http://bzr.savannah.gnu.org/lh/emacs/trunk/revision/100681

This change was undone by Nicola Avrutin in 104908:

  http://bzr.savannah.gnu.org/lh/emacs/trunk/revision/104908

The problem was that with no url-http-data, the request ends with a
double CRLF, which apparently confuses some servers.

I recently came across the exact same problem (with url-http.el
without the extra CRL), and Mark's patch above works just fine for me
(also POSTs to https).

I'm thinking the correct solution is to only add the CRLF if there is
http-data:

-    url-http-data))
+    url-http-data (if url-http-data "\r\n")))

...cj

 




This bug report was last modified 13 years and 324 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.