r14205@tombo: nickm | 2008-02-16 11:55:57 -0500

Fix bug 1894184: add a CRLF after each chunk when sending chunked HTTP data.  Original patch from propanbutan.


svn:r637
This commit is contained in:
Nick Mathewson 2008-02-16 16:56:34 +00:00
parent 8ab618916f
commit 677a95864b
2 changed files with 6 additions and 2 deletions

View File

@ -38,6 +38,7 @@ Changes in current version:
o also check EAGAIN for Solaris' event ports; from W.C.A. Wijngaards o also check EAGAIN for Solaris' event ports; from W.C.A. Wijngaards
o devpoll and evport need reinit; tested by W.C.A Wijngaards o devpoll and evport need reinit; tested by W.C.A Wijngaards
o event_base_get_method; from Springande Ulv o event_base_get_method; from Springande Ulv
o Send CRLF after each chunk in HTTP output, for compliance with RFC2626. Patch from "propanbutan". Fixes bug 1894184.
Changes in 1.4.0: Changes in 1.4.0:
o allow \r or \n individually to separate HTTP headers instead of the standard "\r\n"; from Charles Kerr. o allow \r or \n individually to separate HTTP headers instead of the standard "\r\n"; from Charles Kerr.

3
http.c
View File

@ -1728,6 +1728,9 @@ evhttp_send_reply_chunk(struct evhttp_request *req, struct evbuffer *databuf)
(unsigned)EVBUFFER_LENGTH(databuf)); (unsigned)EVBUFFER_LENGTH(databuf));
} }
evbuffer_add_buffer(req->evcon->output_buffer, databuf); evbuffer_add_buffer(req->evcon->output_buffer, databuf);
if (req->chunked) {
evbuffer_add(req->evcon->output_buffer, "\r\n", 2);
}
evhttp_write_buffer(req->evcon, NULL, NULL); evhttp_write_buffer(req->evcon, NULL, NULL);
} }