Commit Graph
628 Commits
Author SHA1 Message Date
Christian Grothoff 316f6ab358 add compiler/linker hardnening 2019-08-09 10:08:20 +02:00
Christian Grothoff 91826f5001 releasing v0.9.66 2019-08-01 13:38:40 +02:00
Christian Grothoff de315d36e0 attempt to fix issue with upload data discovered by FD 2019-08-01 00:54:42 +02:00
Christian Grothoff bafd078984 fix hang reported by Viet on 24.6.2019 on the mailinglist: do not just consider nested epoll, but also already ready connections 2019-07-29 20:03:41 +02:00
Christian Grothoff f73873bc19 fix regression introduced in cc5032b85 2019-07-25 14:42:56 +02:00
Christian Grothoff 092b370587 undo, duplicated functionality 2019-07-22 16:11:10 +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
Evgeny Grin (Karlson2k) 8688527894 Releasing GNU libmicrohttpd 0.9.65 2019-07-05 23:18:51 +03:00
Evgeny Grin (Karlson2k) cedf766b65 Updated ChangeLog 2019-06-23 21:54:07 +03:00
Evgeny Grin (Karlson2k) 9ddf07f81e Releasing 0.9.64 2019-06-09 20:29:37 +03:00
Evgeny Grin (Karlson2k) e9493e0d34 microhttpd.h: reordered includes for better compatibility,
Updated ChangeLog
2019-06-09 20:03:20 +03:00
Evgeny Grin (Karlson2k) 31b90a287f Updated ChangeLog 2019-06-08 12:52:22 +03:00
Christian Grothoff 603ecd85bc prefix even potentially exported hash symbols with MHD_ (as proposed by Dirk Brinkmeier) 2019-06-03 23:46:28 +02:00
Evgeny Grin (Karlson2k) 1d7cb0092d ChangeLog updated 2019-05-26 23:11:30 +03:00
Evgeny Grin (Karlson2k) 9da5831ce0 ChangeLog updated 2019-05-21 22:28:05 +03:00
Evgeny Grin (Karlson2k) d5d03f1161 ChangeLog update 2019-05-21 18:08:42 +03:00
Evgeny Grin (Karlson2k) 2a0871b731 Fixed build from source on GNU Hurd 2019-05-15 14:57:50 +03:00
Evgeny Grin (Karlson2k) bc36476b9e Updated ChangeLog 2019-05-13 18:51:29 +03:00
Christian Grothoff 58552e93ac applying patch from Tim 2019-04-30 15:39:10 +02:00
Christian Grothoff 1917b86699 add flags for TLS option control 2019-04-15 17:38:16 +02:00
Christian Grothoff 312713c363 merge 2019-04-08 15:12:45 +02:00
Christian Grothoff 83a86be948 fix close() checks 2019-04-08 15:12:20 +02:00
Christian Grothoff 1b610e5b13 allow binary zero in unescaped GET arguments (see mailinglist) 2019-03-20 10:46:21 +01:00
silvioprog e2c268e379 Added example for how to compress chunked HTTP response. 2019-02-10 21:13:57 -03:00
Christian Grothoff 154d0fd6a1 adjusting digest auth to previous regression fix, releasing 0.9.63 2019-02-10 17:13:03 +01:00
Christian Grothoff f6ee589dc9 add test for &-URI parsing and URI logging 2019-02-09 13:51:53 +01:00
Christian Grothoff d640ad8212 preliminary patch for query string issue reported on the ML 2019-02-07 16:16:56 +01:00
silvioprog dad0746a10 Added minimal example for how to compress HTTP response. (#4914) 2019-01-08 03:00:17 -03:00
Christian Grothoff b7052c0415 Check should (indeed) be for GNUTLS_E_AGAIN.
Lasa Martxel wrote:
Hello,

I have found the following code in daemon.c file, lines 1449 to 1467:

      if (0 >= res)
        {
          if (GNUTLS_E_INTERRUPTED != res)
            {
              urh->app.celi &= ~MHD_EPOLL_STATE_WRITE_READY;

              if (GNUTLS_E_INTERRUPTED != res)

(GNUTLS_E_INTERRUPTED != res) is checked twice.

In the read part (a few lines above), GNUTLS_E_INTERRUPTED != res is checked first and then GNUTLS_E_AGAIN != res. It looks like something similar should be done here, but I’m not sure.

Thanks,

Martxel
2018-12-19 00:06:48 +01:00
Christian Grothoff 1619b9f051 reset timeout on response being queued, needed in thread-per-connection mode if the working thread takes very long 2018-12-13 22:51:05 +01:00
Christian Grothoff 273a6df932 remove requirement for VLA in digestauth.c logic 2018-12-11 10:06:42 +01:00
Christian Grothoff 18a607a518 use WSA_FLAG_OVERLAPPED in W32 sockets as per suggestion from Johnathan McDougall on the mailinglist 2018-12-08 23:18:08 +01:00
Christian Grothoff 517c4a81c7 releasing libmicrohttpd 0.9.62 2018-12-08 23:11:13 +01:00
Christian Grothoff 2897bd23e5 add test for RFC 7616 and document new API 2018-12-08 22:54:33 +01:00
Christian Grothoff bcba3f58c5 preliminary implementation for RFC 7616 support 2018-12-08 17:35:37 +01:00
Christian Grothoff be32c05e0e add build option to compile MHD without threads 2018-12-07 12:42:49 +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
silvioprog b220303691 Optimized the function MHD_create_response_from_callback() for Windows by increasing its internal buffer size and allowed to customize it via macro MHD_FD_BLOCK_SIZE. 2018-12-06 12:54:00 -03:00
silvioprog 53674dcdfb Referenced the gnutls_load_file() function in the HTTPs examples. 2018-12-06 02:13:37 -03:00
Christian Grothoff 79a8955bb6 fix #5496:
'
2018-12-05 18:20:00 +01:00
Christian Grothoff 7b92bb1cde releasing 0.9.61 2018-11-20 22:23:03 +01:00
Christian Grothoff 64e1480540 fix build issue with GnuTLS < 3.0 2018-11-14 14:01:49 +01:00
Christian Grothoff ff551c4671 From: Christian Hesse <mail@eworm.de>
Date: Thu, 8 Nov 2018 00:15:29 +0100
Subject: [PATCH 1/1] fix tests with curl

Starting with curl 7.62.0 some tests fail. The commit in question is
46e16406 [0] ("url: use the URL API internally as well").

Analyzing the changed behavior reveals that the url given to
curl_easy_setopt() with CURLOPT_URL is no longer encoded. Looking at the
documentation [1] this behavior is correct, the "parameter should be a
char * to a zero terminated string which must be URL-encoded [...]".

So let's just give a valid url...

[0] https://github.com/curl/curl/commit/46e164069d1a5230e4e64cbd2ff46c46cce056bb
[1] https://curl.haxx.se/libcurl/c/CURLOPT_URL.html

Signed-off-by: Christian Hesse <mail@eworm.de>
Signed-off: CG
2018-11-12 19:52:49 +01:00
Christian Grothoff 2962b6e48d add MHD_create_response_from_buffer_with_free_callback 2018-11-08 14:53:46 +01:00
Christian Grothoff acd39ed23d releasing libmicrohttpd 0.9.60 2018-11-06 19:55:27 +01:00
Christian Grothoff 3fc686e335 initialize epoll_fd even if we have no listen fd, patch by Jose Bollo 2018-11-01 16:31:03 +01:00
Christian Grothoff 4728124102 notify main thread about thread termination for instant clean up 2018-10-20 12:45:21 +02: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