Commit Graph
688 Commits
Author SHA1 Message Date
Christian Grothoff f1f8851cd2 introduce new MHD_CONNECTION_INFO_HTTP_STATUS 2021-08-04 18:58:55 +02:00
Christian Grothoff c488cadbc1 verbatim import of David Gausmann's websocket extension; tests do not yet pass, only enabled with --enable-experimental 2021-04-26 14:12:23 +02:00
Evgeny Grin (Karlson2k) 7b93a775cd Released GNU libmicrohttpd 0.9.73 2021-04-25 13:53:59 +03:00
Evgeny Grin (Karlson2k) b7b0ed28db Updated ChangeLog 2021-04-25 13:11:23 +03:00
Evgeny Grin (Karlson2k) e66aac06c0 Updated ChangeLog 2021-04-24 16:06:55 +03:00
Christian Grothoff 7241cb611a -fix typos 2021-04-24 00:05:37 +02:00
Evgeny Grin (Karlson2k) a55b52f027 test_upgrade{,_large}: removed use on unportable function
Usage of CORK is not required for upgraded connection,
CORK is not portable. To make test behavior unified for
all supported platforms, CORK usage is removed from tests.
2021-04-22 13:17:29 +03:00
Evgeny Grin (Karlson2k) 85b9c083b7 Corrected typos in ChangeLog 2021-04-22 12:06:58 +03:00
Evgeny Grin (Karlson2k) 78a167d80a ChangeLog updated 2021-04-21 11:58:48 +03:00
Christian Grothoff 6c751386a2 fix #6768: do not use TCP-specific syscalls on UNIX domain sockets (merge) 2021-04-16 10:26:20 +02:00
Evgeny Grin (Karlson2k) fadba1133c fix #6768: do not use TCP-specific syscalls on UNIX domain sockets 2021-04-16 10:25:37 +02:00
Evgeny Grin (Karlson2k) c556a538a9 configure: fixed '--enable-sanitizer'
Due to typo, using '--enable-sanitizer' resulted in lost of LDFLAGS
2021-04-15 18:58:58 +03:00
Evgeny Grin (Karlson2k) 7762278bd1 mhd_send: use sendmsg() in POSIX-compatible way
Some OSes may have limit on number of maximum elements per single
call of sendmsg()/writev(). Do not try to send more elements than
allowed by OS.
2021-04-14 22:21:32 +03:00
Evgeny Grin (Karlson2k) 2704ce9895 connection_https: disabled back TCP_NODELAY optimisation 2021-04-11 15:51:28 +03:00
Evgeny Grin (Karlson2k) 8a7c20f792 Added missing '_MHD_EXTERN' to MHD_run_wait() 2021-04-11 12:38:47 +03:00
Evgeny Grin (Karlson2k) 255e71aa81 ChangeLog updated 2021-04-11 12:38:47 +03:00
Evgeny Grin (Karlson2k) bf25ee3a32 Implemented new API function MHD_run_wait(). 2021-04-01 17:52:08 +03:00
Evgeny Grin (Karlson2k) fcca12c270 ChangeLog updated. 2021-03-27 15:47:15 +03:00
Evgeny Grin (Karlson2k) 2275296815 ChangeLog updated 2021-02-24 19:46:32 +03:00
Christian Grothoff 5782daed8f ensure ikvi callback returning MHD_NO terminates iteration 2021-02-04 18:42:22 +01:00
Christian Grothoff b169124017 return timeout of 0 if cleanup is pending 2021-01-06 20:42:59 +01:00
Evgeny Grin (Karlson2k) f7c5c302a3 Released GNU libmicrohttpd 0.9.72 2020-12-28 21:38:03 +03:00
Evgeny Grin (Karlson2k) 5909c4fd77 ChangeLog updated 2020-12-28 13:25:59 +03:00
Evgeny Grin (Karlson2k) 0a88f8e439 ChangeLog updated 2020-12-28 10:18:03 +03:00
Evgeny Grin (Karlson2k) 2dc75b83bd ChangeLog updated. 2020-11-01 20:12:03 +03:00
Evgeny Grin (Karlson2k) 9d7b74e325 ChangeLog update 2020-10-25 19:48:20 +03:00
Christian Grothoff 567aa11a97 Fix #6610 as suggested by AP 2020-10-21 10:01:52 +02:00
Evgeny Grin (Karlson2k) d4b9fc7ee1 configure: check whether IPv6 could be used for testing 2020-10-07 11:23:48 +03:00
Evgeny Grin (Karlson2k) be89295a4c Updated ChangeLog 2020-09-30 19:31:10 +03:00
Christian Grothoff beb7fa828c fix transmission stall issue with upgraded TLS connections reported by Nguyen Xuan Viet on the mailinglist 2020-09-27 22:12:13 +02:00
Christian Grothoff 1d9f940dca fix thread-start issue discovered by Damon Earp 2020-09-26 20:23:21 +02:00
Christian Grothoff 495bf107ca -update ChangeLog 2020-09-11 22:25:30 +02:00
Christian Grothoff 16c133294a fix crash problem found by MD 2020-09-11 22:09:08 +02:00
Christian Grothoff 773d6cce73 add logic to check return value of MHD_pool_reallocate() 2020-08-19 09:41:31 +02:00
Christian Grothoff 1c4f23db74 add ability to serve files from pipe 2020-07-26 14:15:50 +02:00
Christian Grothoff babda9e9c7 fix misc typos 2020-07-23 00:05:52 +02:00
Christian Grothoff 9b39de8d9e fix postprocessor parser issue discovered by MD 2020-07-10 15:06:46 +02:00
Christian Grothoff 860b42e918 fix return value of MHD_queue_basic_auth_fail_response 2020-07-02 21:56:55 +02:00
Christian Grothoff a110ae6276 fix buffer overflow and add test 2020-06-28 21:55:56 +02:00
Christian Grothoff 0d771f770e handle gnutls_record_uncork() failure, might help issue PC reported on the list 2020-06-16 20:46:32 +02:00
Christian Grothoff a019057377 fix PP bug discovered by MD 2020-06-10 21:45:23 +02:00
Christian Grothoff 89d2ef9732 define and use 'enum MHD_Result' (merge) 2020-04-08 23:38:07 +02:00
Christian Grothoff de872dea2d define and use 'enum MHD_Result' 2020-04-08 23:36:41 +02:00
Christian Grothoff 6347f514aa introduce 'enum MHD_Result' 2020-04-08 22:59:05 +02:00
silvioprog 68200a8426 Added example for how to provide a tiny threaded websocket server. (#5501) 2020-04-07 15:00:56 -03:00
silvioprog bcffdf809f Applied several spelling fixes. (#6142) 2020-03-31 15:08:34 -03:00
Christian Grothoff eeb9c46884 declare victory on #6090, bump header version 2020-03-07 17:21:17 +01:00
Christian Grothoff fe6716d103 releasing 0.9.70 2020-02-08 21:58:26 +01:00
Christian Grothoff f34781c87e add post processor logic fix 2019-12-26 14:44:18 +01:00
Christian Grothoff f5d59eb3a7 Given post body "a&b=1", how should MHD interpret the data?
I'm at the end of a long investigation and it's come down to that question
for post_process_urlencoded() in MHD.

MHD currently calls back with ("a&b", "1").  The app I'm working breaks
when it doesn't receive a callback for "b".  The http client in this case
(that did the urlencoding) is google-http-java-client 1.23.0.

The client behavior may be questionable, but MHD's behavior doesn't seem
right either.  Isn't there some principle, "clients should strive for
conformance, servers should strive for forgiveness".

I've attached a patch to MHD to add a failing test, but without a fix.

As for relevant standards, the W3C[1] is not detailed enough to cover it.
The WhatWG[2] is more specific and allows for empty values and even empty
keys.  I'd like to callout uriparser[3], another C library I've patched in
as a work-around.  Uriparser documents their handling of these cases well:

* NULL in the value member means there was no '=' in the item text as with
"?abc&def".
* An empty string in the value member means there was '=' in the item as
with "?abc=&def".

[1] https://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1
[2] https://url.spec.whatwg.org/#urlencoded-parsing
[3] https://uriparser.github.io/doc/api/latest/#querystrings

commit aa0534af56d135e1b261d127af09c22015c1ff87
Author: Ethan Tuttle <ethan@ethantuttle.com>
Date:   Tue Dec 24 03:50:59 2019 -0800

    urlencoding post-processor: add failing tests for keys without values
2019-12-24 15:33:05 +01:00