[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r33266 - in libmicrohttpd: . src/include src/microhttpd
From: |
gnunet |
Subject: |
[GNUnet-SVN] r33266 - in libmicrohttpd: . src/include src/microhttpd |
Date: |
Tue, 13 May 2014 18:26:49 +0200 |
Author: grothoff
Date: 2014-05-13 18:26:49 +0200 (Tue, 13 May 2014)
New Revision: 33266
Modified:
libmicrohttpd/ChangeLog
libmicrohttpd/src/include/microhttpd.h
libmicrohttpd/src/microhttpd/connection.c
libmicrohttpd/src/microhttpd/internal.h
Log:
-fix #3397
Modified: libmicrohttpd/ChangeLog
===================================================================
--- libmicrohttpd/ChangeLog 2014-05-13 15:41:59 UTC (rev 33265)
+++ libmicrohttpd/ChangeLog 2014-05-13 16:26:49 UTC (rev 33266)
@@ -1,3 +1,8 @@
+Tue May 13 18:24:37 CEST 2014
+ Fix accidental transmission of footer termination '\r\n'
+ for responses with zero byte payload and non-chunked
+ encoding (#3397). Thanks to amatus for reporting. -CG
+
Sun May 4 11:05:26 CEST 2014
Fix gnutls header check to make it cross-compile aware. -BK
Modified: libmicrohttpd/src/include/microhttpd.h
===================================================================
--- libmicrohttpd/src/include/microhttpd.h 2014-05-13 15:41:59 UTC (rev
33265)
+++ libmicrohttpd/src/include/microhttpd.h 2014-05-13 16:26:49 UTC (rev
33266)
@@ -130,7 +130,7 @@
* Current version of the library.
* 0x01093001 = 1.9.30-1.
*/
-#define MHD_VERSION 0x00093500
+#define MHD_VERSION 0x00093501
/**
* MHD-internal return code for "YES".
Modified: libmicrohttpd/src/microhttpd/connection.c
===================================================================
--- libmicrohttpd/src/microhttpd/connection.c 2014-05-13 15:41:59 UTC (rev
33265)
+++ libmicrohttpd/src/microhttpd/connection.c 2014-05-13 16:26:49 UTC (rev
33266)
@@ -585,15 +585,23 @@
(0 == strcasecmp (connection->version,
MHD_HTTP_VERSION_1_1)) )
{
- connection->have_chunked_upload = MHD_YES;
have_encoding = MHD_get_response_header (connection->response,
MHD_HTTP_HEADER_TRANSFER_ENCODING);
if (NULL == have_encoding)
+ {
MHD_add_response_header (connection->response,
MHD_HTTP_HEADER_TRANSFER_ENCODING,
"chunked");
+ connection->have_chunked_upload = MHD_YES;
+ }
else if (0 != strcasecmp (have_encoding, "chunked"))
+ {
add_close = MHD_YES; /* application already set some strange
encoding, can't do 'chunked' */
+ }
+ else
+ {
+ connection->have_chunked_upload = MHD_YES;
+ }
}
else
{
@@ -615,7 +623,7 @@
( (NULL == connection->method) ||
(0 != strcasecmp (connection->method,
MHD_HTTP_METHOD_CONNECT)) ||
- (0 != connection->response->total_size) ) )
+ (MHD_SIZE_UNKNOWN != connection->response->total_size) ) )
{
/*
Here we add a content-length if one is missing; however,
@@ -2133,7 +2141,7 @@
break;
case MHD_CONNECTION_CHUNKED_BODY_READY:
do_write (connection);
- if (connection->state != MHD_CONNECTION_CHUNKED_BODY_READY)
+ if (MHD_CONNECTION_CHUNKED_BODY_READY != connection->state)
break;
check_write_done (connection,
(connection->response->total_size ==
@@ -2503,8 +2511,9 @@
break;
case MHD_CONNECTION_BODY_SENT:
build_header_response (connection);
- if (connection->write_buffer_send_offset ==
- connection->write_buffer_append_offset)
+ if ( (MHD_NO == connection->have_chunked_upload) ||
+ (connection->write_buffer_send_offset ==
+ connection->write_buffer_append_offset) )
connection->state = MHD_CONNECTION_FOOTERS_SENT;
else
connection->state = MHD_CONNECTION_FOOTERS_SENDING;
Modified: libmicrohttpd/src/microhttpd/internal.h
===================================================================
--- libmicrohttpd/src/microhttpd/internal.h 2014-05-13 15:41:59 UTC (rev
33265)
+++ libmicrohttpd/src/microhttpd/internal.h 2014-05-13 16:26:49 UTC (rev
33266)
@@ -290,7 +290,7 @@
MHD_mutex_ mutex;
/**
- * Set to MHD_SIZE_UNKNOWN if size is not known.
+ * Set to #MHD_SIZE_UNKNOWN if size is not known.
*/
uint64_t total_size;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r33266 - in libmicrohttpd: . src/include src/microhttpd,
gnunet <=