Commit Graph
4306 Commits
Author SHA1 Message Date
Evgeny Grin (Karlson2k) ce1ea19549 Added daemon options for default nonce timeout and max nc values 2023-12-28 13:30:47 +03:00
Evgeny Grin (Karlson2k) ff63d75797 digest auth: added default timeout and max nc values 2023-12-28 12:51:07 +03:00
Evgeny Grin (Karlson2k) 6f9ff50bed internal.h: reordered members in struct MHD_Daemon 2023-12-28 11:29:38 +03:00
Evgeny Grin (Karlson2k) 448901b4d5 microhttpd.h: minor doxy improvement 2023-12-28 10:30:17 +03:00
Evgeny Grin (Karlson2k) 8bb481f66e "Upgraded" TLS connections: removed minor duplicated code 2023-12-02 22:49:25 +03:00
Evgeny Grin (Karlson2k) da9505598c Fixed epoll processing of "Upgraded" connections broken by 38599d9fab 2023-12-02 22:48:17 +03:00
Evgeny Grin (Karlson2k) f6e4e13e92 "Upgraded" TLS connections: fixed sending of large messages
In epoll mode with internal threads if large enough (>16KB) sending
buffer is used, "write ready" status could be cleared when it should
not.
Note: to have >16KB buffer for sending, connection pool memory should
be >32KB + request header size (+ various pointers size).
2023-12-02 20:14:31 +03:00
Evgeny Grin (Karlson2k) 6fb386ec44 "Upgraded" TLS connections: force processing again if 'was_close' missed 2023-12-02 20:14:31 +03:00
Evgeny Grin (Karlson2k) 38599d9fab "Upgraded" TLS connections: fixed reading last chunks when closing 2023-12-02 20:14:31 +03:00
Evgeny Grin (Karlson2k) f09bf9eafd test_upgrade: added checking of socket shutdown status
Currently enabled only for non-TLS connections
2023-12-02 20:14:23 +03:00
Christian Grothoff 4e5b65706e fix #7967 2023-12-02 20:32:42 +09:00
Evgeny Grin (Karlson2k) 38c06b6aeb test_upgrade: implemented timeouts for all socket operations 2023-11-24 17:49:41 +03:00
Evgeny Grin (Karlson2k) b3c1e629e6 test_upgrade: merged similar code paths 2023-11-24 16:08:31 +03:00
Evgeny Grin (Karlson2k) 1070d24aa6 test_upgrade: fixed timeout value for external select
Now test properly uses MHD-provided timeout value. This should detect
problems if wrong timeout is reported for external polling modes.
2023-11-24 16:08:31 +03:00
Evgeny Grin (Karlson2k) 7d7d9bc6b1 test_upgrade: added timeout detection on send/recv operations 2023-11-24 16:08:31 +03:00
Evgeny Grin (Karlson2k) 53e1e48648 test_upgrade: set TCP_NODELAY unconditionally on used sockets 2023-11-24 16:08:30 +03:00
Evgeny Grin (Karlson2k) 80ecc6d37c test_upgrade: added initial support for timeout detection 2023-11-24 16:08:30 +03:00
Evgeny Grin (Karlson2k) 90b2bab0d5 test_upgrade: used sized send and receive, removed VLA, other improvements 2023-11-24 16:08:30 +03:00
Evgeny Grin (Karlson2k) 1cf76efe80 test_upgrade{,_large}: minor improvements 2023-11-24 16:08:30 +03:00
Evgeny Grin (Karlson2k) 0ddd04b4fc mhd_sockets: fixed error code for W32
The code was used only in tests and was not relevant for W32.
2023-11-24 16:08:25 +03:00
Evgeny Grin (Karlson2k) a19df909da Officially support zero for MHD_OPTION_THREAD_POOL_SIZE 2023-11-23 13:47:00 +03:00
Evgeny Grin (Karlson2k) 67b1cdc29d Tests: added use of MHD_USE_NO_THREAD_SAFETY flag 2023-11-23 13:47:00 +03:00
Evgeny Grin (Karlson2k) b05555f837 Added new daemon flag MHD_USE_NO_THREAD_SAFETY
Do not assume anymore single-threaded environment if external polling
is used.
The application is free to use multiple threads if MHD in the external
polling mode.
The new flag could be used to disable some thread-safety in MHD to
improve single-thread processing speed and resources usage. Basically
the new flag restores the old behaviour for external polling mode.
2023-11-21 17:37:15 +03:00
Evgeny Grin (Karlson2k) 38e2c1faac Unified and simplified fd_set filling 2023-11-21 17:37:14 +03:00
Evgeny Grin (Karlson2k) af6dd184d6 Micro-optimisations for non-overridable FD_SETSIZE 2023-11-21 17:37:14 +03:00
Evgeny Grin (Karlson2k) f6b5ec5869 Improved daemon shutdown handling in external polling mode 2023-11-21 17:37:14 +03:00
Evgeny Grin (Karlson2k) 6fde86c265 test_digestauth2: fixed order of the initial checks
This should improve reported warnings when test is skipped.
2023-11-21 17:37:14 +03:00
Evgeny Grin (Karlson2k) 9dcf06f9eb test_daemon: fixed to not skip if failed 2023-11-21 17:37:13 +03:00
Evgeny Grin (Karlson2k) 53a691039c Moved user options counter to shorter its lifetime 2023-11-21 17:37:13 +03:00
Evgeny Grin (Karlson2k) a54fe75ecd MHD_start_daemon(): reject INTERNAL_POLLING_THREAD if threads are disabled 2023-11-21 17:37:13 +03:00
Evgeny Grin (Karlson2k) 5cbdf77176 MHD_start_daemon(): moved daemon flags internal initialisation 2023-11-21 17:37:13 +03:00
Evgeny Grin (Karlson2k) 149db58a06 MHD_quiesce_daemon(): fixed return value if already quiesced
Fixed to return proper documented value when MHD_quiesce_daemon() was
already called for the daemon.
2023-11-21 17:37:12 +03:00
Evgeny Grin (Karlson2k) e35469ec9b Added detection of more conditions to process the data without waiting
If no new or current connections are pending to be processed, it is
a good moment to perform some internal maintenance, like cleanup
2023-11-21 17:37:12 +03:00
Evgeny Grin (Karlson2k) cd4d2f65fc MHD_add_connection(): minor readability improvement 2023-11-16 17:14:14 +03:00
Evgeny Grin (Karlson2k) 050c641bde MHD_add_connection(): added more checks for correct members of sockaddr 2023-11-16 17:05:32 +03:00
Evgeny Grin (Karlson2k) bfa7c5a10c MHD_start_daemon(): fixed leaked listen socket when daemon start failed 2023-11-16 10:04:29 +03:00
Evgeny Grin (Karlson2k) 89021a86ee MHD_start_daemon(): added check for app-provided socket to fit fd_set 2023-11-16 10:03:33 +03:00
Evgeny Grin (Karlson2k) 6cb3cc344e Fixed (again) and improved detection of application-provided socket type
Moved detection part into socket processing from parameters processing
part.
2023-11-16 09:08:41 +03:00
Evgeny Grin (Karlson2k) f5a72d27f3 Implemented new option MHD_OPTION_SOCK_ADDR_LEN
Improved detection of TCP/IP port in application-provided sockaddr.
Added automatic detection of used address facility (sockets type).
Improved support of platforms with sa_len, ss_len, sin_len and sin6_len.
2023-11-16 09:08:40 +03:00
Evgeny Grin (Karlson2k) f73ab43831 microhttpd.h: minor clarification for doxy 2023-11-15 15:28:38 +03:00
Evgeny Grin (Karlson2k) 6ee00803ef Moved check for listen socket to fit fd_set 2023-11-15 15:26:39 +03:00
Evgeny Grin (Karlson2k) dc4bbb0c82 Additional corrections for MHD_OPTION_APP_FD_SETSIZE 2023-11-15 15:22:43 +03:00
Evgeny Grin (Karlson2k) b6737ab39b Added check for signed socket type 2023-11-12 19:26:45 +03:00
Evgeny Grin (Karlson2k) bcdb52984c MHD_start_daemon(): further improved UNIX / IP socket detection 2023-11-12 18:56:20 +03:00
Evgeny Grin (Karlson2k) c7998d3af3 Fixed ignored daemon port when MHD_OPTION_LISTEN_SOCKET or MHD_OPTION_SOCK_ADDR are used as documented 2023-11-12 18:50:22 +03:00
Evgeny Grin (Karlson2k) 75dbfbc716 Implemented and documented MHD_OPTION_LISTEN_SOCKET followed by MHD_INVALID_SOCKET 2023-11-12 11:50:30 +03:00
Evgeny Grin (Karlson2k) a564993122 MHD_start_daemon(): added check for epoll FD to fit fd_set for external polling mode 2023-11-10 17:38:26 +03:00
Evgeny Grin (Karlson2k) c211e198c6 MHD_start_daemon(): added stricter checks for bind() and listen() return values 2023-11-10 17:38:26 +03:00
Evgeny Grin (Karlson2k) 696e040146 MHD_D_DOES_SCKT_FIT_FDSET_(): simplified macro 2023-11-10 17:38:25 +03:00
Evgeny Grin (Karlson2k) 068f4b6b86 MHD_start_daemon(): added some asserts 2023-11-10 17:38:24 +03:00