This commit is contained in:
Christian Grothoff
2008-04-12 21:16:28 +00:00
parent a3a09cb33a
commit ec8aedc77b
3 changed files with 36 additions and 2 deletions
+12
View File
@@ -1,3 +1,15 @@
Sat Apr 12 15:14:05 MDT 2008
Restructured the code (curl-testcases and zzuf testcases
are now in different directories; code examples are in
src/examples/).
Fixed a problem (introduced in 0.2.3) with handling very
large requests (the code did not return proper error code).
If "--enable-messages" is specified, the code now includes
reasonable default HTML webpages for various build-in
errors (such as request too large and malformed requests).
Without that flag, the webpages returned will still be
empty.
Fri Apr 11 20:20:34 MDT 2008
I hereby dub libmicrohttpd a GNU package. -Richard Stallman
+22
View File
@@ -50,7 +50,11 @@
* Intentionally empty here to keep our memory footprint
* minimal.
*/
#if HAVE_MESSAGES
#define REQUEST_TOO_BIG "<html><head><title>Request too big</title></head><body>Your HTTP header was too big for the memory constraints of this webserver.</body></html>"
#else
#define REQUEST_TOO_BIG ""
#endif
/**
* Response text used when the request (http header) does not
@@ -59,7 +63,11 @@
* Intentionally empty here to keep our memory footprint
* minimal.
*/
#if HAVE_MESSAGES
#define REQUEST_LACKS_HOST "<html><head><title>&quot;Host:&quot; header required</title></head><body>In HTTP 1.1, requests must include a &quot;Host:&quot; header, and your HTTP 1.1 request lacked such a header.</body></html>"
#else
#define REQUEST_LACKS_HOST ""
#endif
/**
* Response text used when the request (http header) is
@@ -68,7 +76,11 @@
* Intentionally empty here to keep our memory footprint
* minimal.
*/
#if HAVE_MESSAGES
#define REQUEST_MALFORMED "<html><head><title>Request malformed</title></head><body>Your HTTP request was syntactically incorrect.</body></html>"
#else
#define REQUEST_MALFORMED ""
#endif
#define EXTRA_CHECKS MHD_YES
@@ -1627,6 +1639,8 @@ MHD_connection_handle_idle (struct MHD_Connection *connection)
line = get_next_header_line (connection);
if (line == NULL)
{
if (connection->state != MHD_CONNECTION_INIT)
continue;
if (connection->read_closed)
{
connection->state = MHD_CONNECTION_CLOSED;
@@ -1643,6 +1657,8 @@ MHD_connection_handle_idle (struct MHD_Connection *connection)
line = get_next_header_line (connection);
if (line == NULL)
{
if (connection->state != MHD_CONNECTION_URL_RECEIVED)
continue;
if (connection->read_closed)
{
connection->state = MHD_CONNECTION_CLOSED;
@@ -1668,6 +1684,8 @@ MHD_connection_handle_idle (struct MHD_Connection *connection)
line = get_next_header_line (connection);
if (line == NULL)
{
if (connection->state != MHD_CONNECTION_HEADER_PART_RECEIVED)
continue;
if (connection->read_closed)
{
connection->state = MHD_CONNECTION_CLOSED;
@@ -1734,6 +1752,8 @@ MHD_connection_handle_idle (struct MHD_Connection *connection)
line = get_next_header_line (connection);
if (line == NULL)
{
if (connection->state != MHD_CONNECTION_BODY_RECEIVED)
continue;
if (connection->read_closed)
{
connection->state = MHD_CONNECTION_CLOSED;
@@ -1759,6 +1779,8 @@ MHD_connection_handle_idle (struct MHD_Connection *connection)
line = get_next_header_line (connection);
if (line == NULL)
{
if (connection->state != MHD_CONNECTION_FOOTER_PART_RECEIVED)
continue;
if (connection->read_closed)
{
connection->state = MHD_CONNECTION_CLOSED;
+2 -2
View File
@@ -99,7 +99,7 @@ testLongUrlGet ()
cbc.buf = buf;
cbc.size = 2048;
cbc.pos = 0;
d = MHD_start_daemon (MHD_USE_SELECT_INTERNALLY /* | MHD_USE_DEBUG */ ,
d = MHD_start_daemon (MHD_USE_SELECT_INTERNALLY /* | MHD_USE_DEBUG */,
1080,
&apc_all,
NULL,
@@ -219,7 +219,7 @@ testLongHeaderGet ()
MHD_stop_daemon (d);
free (url);
if (code != MHD_HTTP_REQUEST_ENTITY_TOO_LARGE)
return 128;
return 128;
return 0;
}