4817 Commits
Author SHA1 Message Date
Evgeny Grin (Karlson2k) 455c083b56 Implemented OpenSSL TLS backend support
Multi-TLS is not implemented yet, so MHD works only when configured
--without-gnutls or --without-openssl.
Only single TLS backend is supported for now.
2024-11-28 15:26:24 +03:00
Evgeny Grin (Karlson2k) a13c8742f4 TLS backends: minor corrections 2024-11-28 14:36:45 +03:00
Evgeny Grin (Karlson2k) 1e2f00d3ee Corrected description for the daemon option 2024-11-28 14:20:12 +03:00
Evgeny Grin (Karlson2k) a3457d9a6d Replace predefined DH params "high" with "medium" 2024-11-28 14:20:11 +03:00
Evgeny Grin (Karlson2k) 20a6e142b8 test_tls: fixed wrong preprocessor macro 2024-11-27 21:44:43 +03:00
Evgeny Grin (Karlson2k) a44819dbdf Fixed compiler warning about re-definitions of system macros
The header "mhd_sys_options.h" controls behaviour of other included
headers and must be always included first (if included).
2024-11-27 21:42:38 +03:00
Christian Grothoff 062efed8b7 expand test to force GnuTLS 2024-11-27 18:43:47 +01:00
Evgeny Grin (Karlson2k) 2775435621 test_tls: enabled sendfile() part 2024-11-25 20:58:27 +03:00
Evgeny Grin (Karlson2k) 7aa923019d Implemented fallback file reader for the responses 2024-11-25 20:58:26 +03:00
Evgeny Grin (Karlson2k) 21d78eec58 Reply body generation: fixed dynamic content creator called with buffer larger then response size 2024-11-25 20:57:51 +03:00
Evgeny Grin (Karlson2k) 3fafb44046 conn_data_send: fixed asserts 2024-11-25 20:56:15 +03:00
Evgeny Grin (Karlson2k) f238dd5c01 tls_gnu_funcs: mute compiler waring 2024-11-25 11:33:57 +03:00
Evgeny Grin (Karlson2k) 29adf8a3e9 tls_gnu_funcs: minor adjustments 2024-11-25 08:58:17 +03:00
Evgeny Grin (Karlson2k) 7297c93067 daemon_logger: extended doxy comments 2024-11-25 08:00:32 +03:00
Evgeny Grin (Karlson2k) 5ef5d62983 Revert "option must be const, otherwise breaks client APIs that legitimately expect const"
The API is temporal as it forces the same data format for the public API
and for internal data structures.
Internal data must NOT be const as it is allocated and then freed.
Leave MHD internals correct (as it does not need to be fixed) and
the temporal API incorrect as it will be fixed anyway.
The similar issues must be fixed with other daemon configuration
options.
2024-11-25 07:40:52 +03:00
Evgeny Grin (Karlson2k) a18de61997 GnuTLS error reporting: fixed use of MHD logging 2024-11-25 07:32:49 +03:00
Christian Grothoff 2d040b28fa mark broken test 2024-11-24 22:50:19 +01:00
Christian Grothoff 45f12e652d fix TLS test issues 2024-11-24 22:49:43 +01:00
Christian Grothoff 3ad30a2b73 do better error reporting on gnutls API errors 2024-11-24 22:28:12 +01:00
Christian Grothoff 467ca6b4b4 option must be const, otherwise breaks client APIs that legitimately expect const 2024-11-24 22:27:39 +01:00
Christian Grothoff e86a133fa6 option must be const, otherwise breaks client APIs that legitimately expect const 2024-11-24 22:27:12 +01:00
Evgeny Grin (Karlson2k) cee65d14e2 GnuTLS communication: the last part 2024-11-24 20:54:11 +03:00
Evgeny Grin (Karlson2k) 8162b4098f TLS daemon initialisation: fixed inverted assert 2024-11-24 20:54:11 +03:00
Evgeny Grin (Karlson2k) 530942bfe4 mhd_tls_funcs: fixed wrong return value type 2024-11-24 20:54:11 +03:00
Evgeny Grin (Karlson2k) 85ba7af004 Added TLS lib debug messages printing 2024-11-24 20:54:11 +03:00
Evgeny Grin (Karlson2k) 085f18f4be Renamed CONNECTION_STATE to HTTP_STAGE
This is stages of HTTP communication, not states of the connection.
2024-11-24 20:54:10 +03:00
Evgeny Grin (Karlson2k) 540078c600 stream_process_states: extracted one function for internal access 2024-11-24 20:54:10 +03:00
Evgeny Grin (Karlson2k) 835c9fac96 conn_mark_ready: unified duplicated code 2024-11-24 20:54:10 +03:00
Evgeny Grin (Karlson2k) 9276899b29 mhd_socket_error: split into enum and functions 2024-11-24 20:54:10 +03:00
Evgeny Grin (Karlson2k) 333c5647f3 tls_gnu_funcs: corrected sections comments 2024-11-24 20:54:09 +03:00
Evgeny Grin (Karlson2k) 425d3003c3 daemon_add_conn: added TODO comment 2024-11-24 20:54:09 +03:00
Evgeny Grin (Karlson2k) ca88e99ffd Implemented initialisation of connection's GnuTLS data 2024-11-24 20:54:09 +03:00
Evgeny Grin (Karlson2k) 9cccdd11eb TLS backends: improved readability, renames, corrected comments 2024-11-21 22:44:19 +03:00
Evgeny Grin (Karlson2k) 638ef69dc6 mhd_recv.h: fixed code style 2024-11-21 22:44:19 +03:00
Evgeny Grin (Karlson2k) f996b18c04 Refactoring: moved socket-specific connection data to special structure 2024-11-21 22:44:19 +03:00
Christian Grothoff 80d55d8274 add minimal TLS test 2024-11-20 11:52:15 +01:00
Evgeny Grin (Karlson2k) cd6fda427c Implemented initialisation of daemon's GnuTLS data 2024-11-19 10:52:16 +03:00
Evgeny Grin (Karlson2k) 86170adff2 mhd_status_code_int: new internal header 2024-11-19 10:52:16 +03:00
Evgeny Grin (Karlson2k) cb09c6e71d mhd_arr_num_elems: added new helper macro 2024-11-19 10:52:16 +03:00
Evgeny Grin (Karlson2k) d0f8bce9d0 Makefile.am: fixed formatting 2024-11-19 10:52:16 +03:00
Evgeny Grin (Karlson2k) feb30189e7 mhd_sys_options: Fixed typo in comment 2024-11-19 10:52:15 +03:00
Evgeny Grin (Karlson2k) 3a65ef3fca mhd_sys_options: alternative compiler trick 2024-11-19 10:52:15 +03:00
Evgeny Grin (Karlson2k) 77e6c70f3e Added basis for TLS infrastructure, implemented GnuTLS global initialisation 2024-11-19 10:52:15 +03:00
Evgeny Grin (Karlson2k) 43b21403d8 Makefile: do not distribute mhd_config.h 2024-11-18 17:17:54 +03:00
Evgeny Grin (Karlson2k) 4b50c448a9 sys_w32_ver.h: new helper macro for W32 2024-11-18 17:17:54 +03:00
Evgeny Grin (Karlson2k) c900c14fde configure: updated GnuTLS detection, rejected too old GnuTLS versions
Can be backported
2024-11-18 17:17:54 +03:00
Evgeny Grin (Karlson2k) 375f6ba965 W32: disabled unwanted callbacks for thread attach/detach
Used if MHD is compiled as DLL with DLL runtime C library
2024-11-18 17:17:53 +03:00
Evgeny Grin (Karlson2k) 5bdda4bcc3 Completely re-written start-up library initialisation
Global library initialisation/deinitialisation is know source for
various hard-to-debug problems.
In complex environments any function called during startup may lead to
failure or even deadlock if called function depends on other resources
that are not yet initialised or cannot be initialised yet.
Accordingly, any function called during shutdown may lead to other
problems as well if it depends on resources that has been initialised
earlier.

To avoid problems with initialisation/de-initialisation, MHD now uses
only minimal initialisation during startup (mainly a single mutex) and
full initialisation of the library when the first daemon is created.
When the last daemon is shutting down, global library de-initialization
is performed.

This approach gives a very clear way for correct start-up and shut down
procedures.
2024-11-18 17:17:52 +03:00
Evgeny Grin (Karlson2k) 7c5132a528 mhd_mono_clock: added re-init function 2024-10-30 11:44:00 +01:00
Evgeny Grin (Karlson2k) c4877a91f7 Implemented support for mach_*_time() functions (Darwin)
Can be backported
2024-10-30 11:44:00 +01:00