352 Commits
Author SHA1 Message Date
Evgeny Grin (Karlson2k) 87ab1ec7f7 test and examples: check socket control functions results 2021-11-21 15:43:19 +03:00
Evgeny Grin (Karlson2k) f44e4bf896 websockets: fixed code style 2021-10-31 16:34:49 +03:00
David Gausmann ddad59c1e3 websocket update
- added API documentation to libmicrohttpd.texi
- added websocket tutorial chapter to libmicrohttpd-tutorial and an much easier example for the tutorial
- added additional helper functions to ease the HTTP websocket handshake
- the code can now be compiled on Linux without errors
- changed sha1.c and sha1.h to the files provided by Evgeny (I replaced those files in src/microhttpd_ws/ with the files from src/microhttpd/ - maybe there is a smarter way...?)
- removed dependency for "htons" and "htonl" (these functions are now implemented in MHD_websocket.c; no need for OS-dependent files anymore)
- added an additional test script for testing of the library with any webbrowser (for manual practice test)
- several bugfixes
- parameters renamed
- special things clarified (fragmentation, RNG for client mode)

The new version of the API is at some points incompatible with the old version, but since it was in an experimental phase and it didn't compile on Linux, I guess this shouldn't bother anyone.
From my point of view, I am now finished with the library and it could go out of experimental.
2021-10-31 16:02:31 +03:00
Evgeny Grin (Karlson2k) 0497e9c801 tlsauthentication.c: better fix for compiler warning 2021-08-25 20:22:57 +03:00
Evgeny Grin (Karlson2k) 40501c2f5d tlsauthentication.c: inelegant mute of compiler warning 2021-08-25 19:55:06 +03:00
Christian Grothoff d929a44741 -typo 2021-08-04 19:07:27 +02:00
Christian Grothoff f1f8851cd2 introduce new MHD_CONNECTION_INFO_HTTP_STATUS 2021-08-04 18:58:55 +02:00
Christian Grothoff 55e6a9e275 fix typo 2021-03-09 23:36:39 +01:00
Christian Grothoff f9aa18c17e fix example 2021-03-04 13:32:39 +01:00
Christian Grothoff b5c7519d9a improve example on client cert validation, as suggested by Folkert van Heusden 2021-03-02 15:40:49 +01:00
Christian Grothoff b55c4031d4 -misc style fixes, no semantic changes 2021-02-26 21:23:11 +01:00
Evgeny Grin (Karlson2k) d50159bf99 Implemented new function MHD_create_response_from_iovec()
Implemented the new function, related framework, and tests for iovec-based
responses.
The implementation is based on the patch provided by Lawrence Sebald and
Damon N. Earp from NASA.
2021-02-24 19:46:31 +03:00
Christian Grothoff e066938628 expand tutorial on connection phases, thanks to Igor for pointing out that the text was incomplete 2021-02-02 18:40:10 +01:00
Christian Grothoff 0394bc7213 document cross-compile to Android, fixes #4913 2021-01-30 12:59:04 +01:00
Evgeny Grin (Karlson2k) 72e1143ce7 Fixed build with --disable-bauth 2020-12-27 18:09:43 +03:00
Evgeny Grin (Karlson2k) f53db2892e Muted compiler warnings 2020-12-27 17:35:49 +03:00
Christian Grothoff c575f67285 Merge branch 'master' of git+ssh://gnunet.org/libmicrohttpd 2020-07-26 14:15:55 +02:00
Christian Grothoff 1c4f23db74 add ability to serve files from pipe 2020-07-26 14:15:50 +02:00
silvioprog 6c53cad4ec Fixed examples using 'enum MHD_Result'. 2020-07-25 00:07:43 -03:00
Christian Grothoff babda9e9c7 fix misc typos 2020-07-23 00:05:52 +02:00
Christian Grothoff 0c85bd35d4 fix typos 2020-07-23 00:02:57 +02:00
Christian Grothoff 2abe788d8a fix manual entry for MHD_lookup_connection_value 2020-06-10 21:58:53 +02:00
silvioprog f84bdf0a8c Sanitized all log and error messages. 2020-05-09 14:11:14 -03: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 bcffdf809f Applied several spelling fixes. (#6142) 2020-03-31 15:08:34 -03:00
ng0 e0a0762845 .3: Files markup. 2019-10-28 00:13:53 +00:00
ng0 05e64565fb libmicrohttpd.3: Use mdocml, adjust to some standards, fix some markup. 2019-10-28 00:06:09 +00:00
Christian Grothoff 185f740e06 allow clients to override sanity check for content-length header 2019-10-25 14:43:36 +02:00
Christian Grothoff d44a18700c fix #5868 2019-09-04 13:31:45 +02:00
ng0 0359c0bbdd Document MHD_UPGRADE_ACTION_CORK_ON and HD_UPGRADE_ACTION_CORK_OFF. 2019-08-02 09:37:51 +00:00
Christian Grothoff 1aaff72582 is this year 2019-07-29 18:13:18 +02:00
Christian Grothoff 092b370587 undo, duplicated functionality 2019-07-22 16:11:10 +02:00
Christian Grothoff 9c7dc624ac unify 2019-07-22 12:37:45 +02:00
Christian Grothoff 3d1b941137 introducte MHD_RO_FREE_FUNCTION as proposed by Nicolas Mora on the list 2019-07-22 11:49:42 +02:00
Tim Rühsen 3751044dc8 Add callback to allow OCSP stapling 2019-07-17 12:50:15 +02:00
Christian Grothoff 31db4990fc fix #5773 2019-06-30 16:50:17 +02:00
Evgeny Grin (Karlson2k) 8aa7d23219 Partial revert of 1b610e5b13.
Implemented new functions for key and value with binary zero.
Significantly speedup search for key by using key size.
2019-05-01 22:12:24 +03:00
Christian Grothoff 1917b86699 add flags for TLS option control 2019-04-15 17:38:16 +02:00
Christian Grothoff 1b610e5b13 allow binary zero in unescaped GET arguments (see mailinglist) 2019-03-20 10:46:21 +01:00
Christian Grothoff 2897bd23e5 add test for RFC 7616 and document new API 2018-12-08 22:54:33 +01:00
Christian Grothoff 6bb3796f50 fix FTBFS 2018-12-07 19:11:59 +01:00
Christian Grothoff 0eefd20ba3 add build option to compile MHD without threads 2018-12-07 12:40:40 +01:00
silvioprog 22c08b5fd7 Renamed all occurrences from _model(s)_ to _mode(s)_. 2018-12-06 13:26:39 -03:00
Christian Grothoff 10bdf39505 add MHD_create_response_from_buffer_with_free_callback 2018-11-08 14:53:19 +01:00
Christian Grothoff 9199e5aa3a From: Gauthier Haderer <ghaderer@wyplay.com>
Date: Mon, 15 Oct 2018 14:11:39 +0200
Subject: [PATCH] Add response flag to force version to 1.0 and maintain
 connection management.

The existing MHD_RF_HTTP_VERSION_1_0_ONLY flag already changes MHD's
behavior to apply HTTP 1.0 rules for connection management. When
enabled, MHD sends a response using the same version as used in the
request (is this normal?).

What I want is MHD responding as a HTTP 1.0 server with support for
connection management headers would do. This is what the
MHD_RF_HTTP_VERSION_1_0_RESPONSE response flag is for.

You can even combine it with MHD_RF_HTTP_VERSION_1_0_ONLY to change the
response's HTTP version while maintaining strict compliance with HTTP
1.0 regarding connection management.

This solution is not perfect as this flag is set on the response which
is created after header processing. So MHD will behave as a HTTP 1.1
server until the response is queued. It means that an invalid HTTP 1.1
request will fail even if the response is sent with HTTP 1.0 and the
request would be valid if interpreted with this version. For example,
this request will fail in strict mode:

GET /dummy HTTP/1.1

as the Host header is missing and is mandatory in HTTP 1.1, but it
should succeed when interpreted with HTTP 1.0.

I don't think this is a big issue in practice. Besides, being able to
change the HTTP version on a response basis is really convenient when
using MHD in a test framework where we need to validate a client against
HTTP 1.1 AND HTTP 1.0.
2018-10-16 20:44:39 +02:00
Christian Grothoff 0db81a9248 fix #5411 2018-10-05 19:23:26 +02:00
Christian Grothoff 2c47a23dec integrate TLS PSK patch from Tal Moaz (plus documentation, plus style and bugfixes 2018-07-14 13:27:45 +02:00
Christian Grothoff 2ed04522e2 add support for digest auth with hashed password 2018-07-14 13:27:45 +02:00