Re: [libmicrohttpd] TCP connection callbacks - problem

2018-10-29 Thread Christian Grothoff
y other idea on how to fix it. > > Kind regards, > Daniel > > > On Sat, 20 Oct 2018 at 11:46, Christian Grothoff <mailto:groth...@gnunet.org>> wrote: > > Dear Daniel, > > You didn't mention which thread mode you were using, but manual >

Re: [libmicrohttpd] MHD_add_connection and EPOLL

2018-11-01 Thread Christian Grothoff
Thanks, patch looks good, pushed as 777d5e04..3fc686e3. On 10/30/2018 04:07 PM, José Bollo wrote: > On Tue, 30 Oct 2018 15:51:19 +0100 > José Bollo wrote: > >> Hi, >> >> I try to add the selection of the interfaces to serve on MHD. I was >> using MHD_USE_EPOLL and was managing to include the epo

Re: [libmicrohttpd] next release

2018-11-06 Thread Christian Grothoff
Dear all, I've now released libmicrohttpd 0.9.60 with the usual set of minor bugfixes and feature enhancements: * gettext updated to 0.19.8 * can use epoll() without listen socket now * in thread-per-connection mode, socket closure is now communicated in a timely fashion to the application * ad

Re: [libmicrohttpd] next release

2018-11-07 Thread Christian Grothoff
4:is older. Please upgrade to gettext-0.19.8 or newer. > Step #4: autopoint: *** Stop. > Step #4: autoreconf: autopoint failed with exit status: 1 > > > But maybe there a needed feature in gettext 0.19.8 that is required for > MHD 0.9.60 !? > > > Regards, T

Re: [libmicrohttpd] next release

2018-11-07 Thread Christian Grothoff
On 11/7/18 2:38 PM, Tim Rühsen wrote: > Hi Christian, > > thanks for the advice. For developing I have no issues since I use > latest software. But for automated scripts testing on stable releases, > everybody now has to change their scripts. That quiet some work alone > over here for all those CI

Re: [libmicrohttpd] Require info on setting TCP_NODELAY for MHD

2018-11-10 Thread Christian Grothoff
On 11/9/18 5:44 PM, Badari Prasad wrote: > Hi, >   I was going through old mailist archives, found one thread on > TCP_NODELAY > : https://lists.gnu.org/archive/html/libmicrohttpd/2015-11/msg00077.html > But couldn't know if the option provided is it at compile time flag or > runtime flag per conne

Re: [libmicrohttpd] Aync handling & message response

2018-11-12 Thread Christian Grothoff
rocess the uploaded data eventually error > when client(libcurl) times out. > > httpServerAccessHandlerCb:653: Incoming req, inserting txnId:3524 in map\"}\ > > Do you see any issue ? > > Regards, > Kunal > > > On Sun, Sep 9, 2018 at 4:02 PM Christian Gro

Re: [libmicrohttpd] gnutls version issue

2018-11-14 Thread Christian Grothoff
Hi! Thanks for reporting, I've fixed the issue in ff551c46..64e14805 Happy hacking! Christian On 11/14/18 9:02 AM, 김현호 wrote: > Hi, > > > The following error occurs when building a recently released > libmicrohttpd-0.9.60 on a server with CentOS 6.9 installed. > > daemon.c: In function ‘psk_

Re: [libmicrohttpd] Require info on setting TCP_NODELAY for MHD

2018-11-21 Thread Christian Grothoff
me diff I see is about 120 milli secs between MHD receiving request > and sending response to the client. > > With this I got to understand that TCP_CORK and TCP_NODELAY is kind off > delaying the response being sent out on transport layer...  > Is their a way to always ena

Re: [libmicrohttpd] Using External EPOLL event loop

2018-11-24 Thread Christian Grothoff
le bank-lib/fakebank.c * @brief library that fakes being a Taler bank for testcases * @author Christian Grothoff */ #include "platform.h" #include "taler_fakebank_lib.h" #include "taler_bank_service.h" /** * Maximum POST request size (for /admin/add/incoming)

Re: [libmicrohttpd] How to send Chunked messages

2018-11-28 Thread Christian Grothoff
Dear Santos, MHD can send chunked response to the client. That said, this is not a question of how large the file is. Especially, if it is simply a very large file, MHD allows you to use sendfile() to avoid having a copy of the data in userspace. Chunked encoding is usually only used if the appli

Re: [libmicrohttpd] External logging

2018-11-29 Thread Christian Grothoff
There is one tiny bug. You are dereferencing 'arg', but never passed its address. So use: MHD_OPTION_EXTERNAL_LOGGER, MHD_external_logger, (void*) &MHD_logger, and it should work. On 11/29/18 9:25 AM, sreejit...@dell.com wrote: > Hi MHD team/Christian, > >   > > I implemented MHD in a wind

Re: [libmicrohttpd] How to send Chunked messages

2018-11-30 Thread Christian Grothoff
ou recommend to > use fopen() in those cases? I would like to use sendfile() because it is > very fast, but I can't implement it for Windows. > > Thanks in advance for your help! > > On Wed, Nov 28, 2018 at 1:55 PM Christian Grothoff <mailto:groth...@gnunet.org>> w

Re: [libmicrohttpd] queuing error with MHD_queue_response in the middle of receiving data

2018-12-07 Thread Christian Grothoff
Dear Zbigniew, You are likely calling MHD_queue_repsonse() too late: once you are receiving upload_data, HTTP forces you to process it all. At this time, MHD has already sent "100 continue" and cannot take it back (hence you get MHD_NO!). In your request handler, the first time when you are calle

Re: [libmicrohttpd] Hang with MHD_OPTION_THREAD_POOL_SIZE on Windows

2018-12-08 Thread Christian Grothoff
Hi Jonathan, Hmm. This reads like the 'listen' socket is not properly set to non-blocking on Windows (or W32 doesn't support non-blocking listen sockets, which would be worse...). Could you please check the syscalls MHD makes to setup the listen socket? It needs to be non-blocking. I don't do W32

[libmicrohttpd] libmicrohttpd 0.9.62 released

2018-12-08 Thread Christian Grothoff
Dear all, I'm glad to announce the release of GNU libmicrohttpd 0.9.62. GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application. GNU libmicrohttpd is fully HTTP 1.1 compliant and supports IPv6. Finally, GNU libmicrohttpd is fast

Re: [libmicrohttpd] 0.9.62 doesn't build on Visual Studio

2018-12-10 Thread Christian Grothoff
Well, we do know the max for all of the VLAs, so it would be trivial to change the code to use that value instead. However, for the sake of keeping the stack shallow on embedded systems, I would prefer to do this conditionally only if the C compiler doesn't support VLAs. Does the W32-crowd know w

Re: [libmicrohttpd] 0.9.62 doesn't build on Visual Studio

2018-12-10 Thread Christian Grothoff
On 12/10/18 7:14 PM, Jonathan McDougall wrote: > On 12/10/18, Tim Rühsen wrote: >> On 12/10/18 2:27 PM, Christian Grothoff wrote: >>> On 12/10/18 9:53 AM, Tim Rühsen wrote: >>>> instead of keeping all projects at C89, you can also use Visual >>>> Stud

Re: [libmicrohttpd] 0.9.62 doesn't build on Visual Studio

2018-12-11 Thread Christian Grothoff
an obviously constant-size array by some compilers ;-). Also, I might have overlooked a VLA somewhere... On 12/10/18 7:14 PM, Jonathan McDougall wrote: > On 12/10/18, Tim Rühsen wrote: >> On 12/10/18 2:27 PM, Christian Grothoff wrote: >>> On 12/10/18 9:53 AM, Tim Rühsen wrote: >&

Re: [libmicrohttpd] 0.9.62 doesn't build on Visual Studio

2018-12-11 Thread Christian Grothoff
On 12/11/18 11:10 PM, Jonathan McDougall wrote: > Line 1324, nonce in MHD_queue_auth_fail_response2(). > Ack, will fix. > Since you're willing to use C99 features, here's what I'm thinking. In > w32/common/MHD_config.h, you want an exception for the clang toolset, > which does support VLAs: > >

Re: [libmicrohttpd] 0.9.62 doesn't build on Visual Studio

2018-12-12 Thread Christian Grothoff
Well, I've now done the -c89 -pedantic tests myself, and based on that we're C99 because we use 'long long' (and that's in the API for the length of files, which is a bit hard to avoid there unless we say moved to and used uint64_t, which might cause other troubles and binary incompatibilities...

Re: [libmicrohttpd] Issue building test_upgrade when running make check (fixed changing Makefile.am)

2018-12-14 Thread Christian Grothoff
Thanks, fixed as suggested in 29cd7b73..700f23d5. (Problem doesn't happen for me, but fix is still sane.) Happy hacking! -Christian On 12/14/18 10:46 AM, Lasa Martxel wrote: > Hello, > >   > > I was getting an error when running make check, when building > test_upgrade. I have followed the fol

Re: [libmicrohttpd] EAGAIN while sending the response

2018-12-17 Thread Christian Grothoff
Hi Santos, I'm not sure what you mean by MHD returning "EAGAIN" (that's usually what the operating system returns to the application, MHD doesn't itself return that style of error codes to applications). That said, when MHD gets an EAGAIN from the OS, it should retry (unless the application for s

Re: [libmicrohttpd] (GNUTLS_E_INTERRUPTED != res) checked twice

2018-12-18 Thread Christian Grothoff
You are indeed correct, fixed in 700f23d5..b7052c04. Thanks for letting us know! Happy hacking! Christian On 12/18/18 11:46 AM, Lasa Martxel wrote: > Hello, > >   > > I have found the following code in daemon.c file, lines 1449 to 1467: > >   > >   if (0 >= res) > >     { > >

[libmicrohttpd] Introduction to HTTP with MHD

2018-12-24 Thread Christian Grothoff
Dear all, For those of you looking for an introduction to HTTP and/or MHD, you might find the materials of my 7252 course at BFH this year useful: https://grothoff.org/christian/teaching/2018/7252/ # main page https://grothoff.org/christian/teaching/2018/7252/main.pdf # slides Given that the stu

Re: [libmicrohttpd] Sockets remain in CLOSE_WAIT state

2019-01-04 Thread Christian Grothoff
Hi Santos, CLOSE_WAIT is a TCP state in the kernel after a TCP connection is finished. It typically lasts like 60--300s, depending on your kernel configuration (you may want to read up on the TCP state machine). You can change the time by changing /proc/sys/net/ipv4/tcp_fin_timeout, but usually th

Re: [libmicrohttpd] Sockets remain in CLOSE_WAIT state

2019-01-04 Thread Christian Grothoff
as received a FIN > from the other end, but the OS is waiting for the program at the local > end to actually close its connection.   > > > > On Sat, Jan 5, 2019 at 4:36 AM Christian Grothoff <mailto:groth...@gnunet.org>> wrote: > > Hi Santos, > >

Re: [libmicrohttpd] Sockets remain in CLOSE_WAIT state

2019-01-04 Thread Christian Grothoff
On 1/5/19 5:51 AM, Santos Das wrote: > Hi Christian, >   > > We see that at the end of the load run, the connections at the TCP > server remain in CLOSE_WAIT state. We didn’t see this for single call. > Also, I wanted to tell you that all our connection are initiated from a > single IP as that is

Re: [libmicrohttpd] ZLib & MHD_create_response_from_fd_at_offset64: compression on demand

2019-01-07 Thread Christian Grothoff
Hi Silvio, Sorry, that won't work. To send compressed replies *and* use sendfile() the only way would be to have the gzip'ed file already on disk. (You'll still need to set the right content encoding, and you must then _also_ have an uncompressed version of the file on disk in case a client does n

Re: [libmicrohttpd] Sockets remain in CLOSE_WAIT state

2019-01-07 Thread Christian Grothoff
On 1/5/19 3:15 PM, Santos Das wrote: > > Since socket close is called by MHD, could you please let me know in > which conditions MHD will not close the socket after receiving the FIN > from the client side? I can only think of two cases: 1) If MHD is still transmitting the response and there was

Re: [libmicrohttpd] Memory leak when using MHD in TLS mode with bad certificates

2019-01-11 Thread Christian Grothoff
Dear Nicolas, Thanks for reporting, the attached patch fixes it. Also in Git as dad0746a..302d3811. Happy hacking! Christian On 1/11/19 4:11 PM, Nicolas Mora wrote: > Hello, > > While testing memory leaks in my code with valgrind, I found the > following problem, but I'm not sure if it comes f

Re: [libmicrohttpd] Chunked encoding POST getting a 411 error

2019-01-23 Thread Christian Grothoff
You're not incorrect, but likely the first one to try this. I don't recall anyone ever implementing this feature for uploads. Is there a good reason why you need it? Usually clients telling the server up-front how big the upload is, is a good idea, so that the server can reject uploads that are too

Re: [libmicrohttpd] Chunked encoding POST getting a 411 error

2019-01-24 Thread Christian Grothoff
e it. > Is there any way this could be changed on the libmicrohttpd end? > > On 1/23/19 10:22 PM, Christian Grothoff wrote: >> You're not incorrect, but likely the first one to try this. I don't >> recall anyone ever implementing this feature for uploads. Is there a >

Re: [libmicrohttpd] MHD_CONNECTION_OPTION_TIMEOUT seems not to work with MHD_create_response_from_callback

2019-02-02 Thread Christian Grothoff
Hi Nicolas, You are right to use the timeout option here. Beyond that, there is nothing you can do. If the connection of the client is merely bad (but not closed), TCP will keep retrying and eventually succeed, possibly preventing the timeout from being effective. That not enough data arrives in a

[libmicrohttpd] Google Summer of Code

2019-02-04 Thread Christian Grothoff
Dear all, If any of you have good ideas for student projects for GSoC under the GNU umbrella related to GNUnet, GNU Taler, GNU libmicrohttpd or GNU libextractor, please send a short description of the idea off-list to me via PM. If applicable, please also let me know if you would be willing to me

Re: [libmicrohttpd] MHD cannot write the entire chunked deflate data (deflate/chunked)

2019-02-09 Thread Christian Grothoff
Dear Silvio, The bug is actually in your logic. You are using libz wrong. First of all, what you generate is "gzip", not "deflate" encoding. Second, if you use compress2, you MUST supply the *entire* file at once, as it will generate the gzip header and that must appear in the output only once. Th

Re: [libmicrohttpd] Raw query string issue

2019-02-09 Thread Christian Grothoff
Hi Justin, You are right, there was indeed a regression in 0.9.61. I've fixed this in d640ad82..f6ee589d and added a test (we didn't have one!). Happy hacking! Christian On 2/6/19 8:44 PM, Justin Graves wrote: > Hello! > > First off, thank you for all of the hard work on libmicrohttpd! > > I

[libmicrohttpd] GNU libmicrohttpd 0.9.63 released

2019-02-10 Thread Christian Grothoff
Dear all, I'm glad to announce the release of GNU libmicrohttpd 0.9.63. GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application. GNU libmicrohttpd is fully HTTP 1.1 compliant and supports IPv6. Finally, GNU libmicrohttpd is fast

Re: [libmicrohttpd] MHD cannot write the entire chunked deflate data (deflate/chunked)

2019-02-10 Thread Christian Grothoff
On 2/10/19 10:45 PM, silvioprog wrote: > > This is the example (now it contains some error handling). Feel > absolutely free to change it if you find something that could be > improved, and let me know if it could be useful and distributed in the > "src/examples/": Sure, except for one thing: you

Re: [libmicrohttpd] [EXTERNAL] Re: Can handle Content-Type = application/json ?

2019-02-22 Thread Christian Grothoff
The PostProcessor does not support JSON, so you must not use it to handle JSON data! On 2/22/19 5:13 PM, Hedin, Richard (InfoSys) wrote: > Does your JSON-handling code use MHD_create_post_processor? > >   > 0x939E6BE1E29FC3CC.asc Description: application/pgp-keys signature.asc Description: O

Re: [libmicrohttpd] Abort POST request in libmicrohttpd

2019-03-19 Thread Christian Grothoff
Yes, you can simply queue any response. As long as you do this on the _first_ callback to the access handler (and as long as the client expected "100 continue"), this will provide a proper error message and prevent the upload. Happy hacking! Christian On 3/19/19 2:12 PM, Дмитрий Степанов wrote:

Re: [libmicrohttpd] Issue getting escaped binary data in MHD_KeyValueIterator

2019-03-20 Thread Christian Grothoff
Thanks for reporting! I've implemented this as suggested in e2c268e3..1b610e5b (tested things still work, but no _extensive_ testing). Note that this will cause a (harmless) compiler warning for code using the previous API. Adding an explicit cast to MHD_KeyValueIterator will suppress the warnin

Re: [libmicrohttpd] Bug in MHD_itc_destroy_(itc) and MHD_fd_close_chk_(fd)

2019-04-08 Thread Christian Grothoff
Hi Michael, You are right, I've pushed your proposed fix to Git master now. Best, Christian On 4/8/19 2:01 PM, Michael Kaufmann wrote: > Hi, > > after updating from libmicrohttpd 0.9.59 to 0.9.63, I get these core dumps: > > #0  0x7f7c281c6207 in raise () from /lib64/libc.so.6 > #1  0x000

Re: [libmicrohttpd] incoming-data boundary determination

2019-04-11 Thread Christian Grothoff
On 4/11/19 4:54 AM, eponymousal...@yahoo.com wrote: > I am starting in on an effort to use libmicrohttpd. Having read > through the complete tutorial and manual, I am still missing certain > key information. > > When, exactly, is answer_to_connection() called with respect to > the incoming conte

Re: [libmicrohttpd] Post-Handshake Authentication Support

2019-04-13 Thread Christian Grothoff
This is TLS-specific, you should ask on the GnuTLS mailinglist. MHD can give you the GnuTLS handle, if GnuTLS has an API for it, then it is supported... Happy hacking! Christian On 4/13/19 5:18 PM, Kumar Mallikarjuna wrote: > Hi everyone, > > Can anyone let me know if libmicrohttpd currently su

Re: [libmicrohttpd] Two minor fixes

2019-04-14 Thread Christian Grothoff
Thanks, I've applied them. -Christian On 4/14/19 6:16 PM, Tim Rühsen wrote: > Hi, > > here are two minor fixes to succeed the Gitlab CI. > > Regards, Tim signature.asc Description: OpenPGP digital signature

Re: [libmicrohttpd] SEGFAULT in digest_calc_ha1_from_user()

2019-04-14 Thread Christian Grothoff
Hi Tim, Technically this cannot happen, the 'digest != NULL' check before correlates with password == NULL and vice versa. But, I'm happy to add an additional assertion to make static analysis happier... I've applied your realloc() patch as well. Happy hacking! Christian On 4/14/19 9:08 PM, Ti

Re: [libmicrohttpd] Post-Handshake Authentication Support

2019-04-15 Thread Christian Grothoff
: >> >> image.gif >> Oh, okay. Thanks! >> >> Regards, >> Kumar Mallikarjuna >> >> On Sat, Apr 13, 2019 at 9:03 PM Christian Grothoff >> mailto:groth...@gnunet.org>> wrote: >> >> This is TLS-spec

Re: [libmicrohttpd] clang formatting discussion via [gnunet-developers]

2019-04-18 Thread Christian Grothoff
Dear MHD hackers, There has been a (long-ish) discussion about using clang-format for source formatting among the GNUnet developers. WDYT about applying the same/similar rules to GNU libmicrohttpd and also enforcing them via Git hooks on commit? I've attached the .clang-format file that resulted

Re: [libmicrohttpd] MHDs handling of HEADs and Content-Length

2019-04-23 Thread Christian Grothoff
Hi Damon, I've tried to reproduce the issue, and for me MHD with HEAD responds with the correct non-zero content length. Maybe your code contains some subtle difference in how you call MHD_create_response_from_fd_at_offse64()? If not, some minimal example to reproduce the issue would be helpful.

Re: [libmicrohttpd] MHDs handling of HEADs and Content-Length

2019-05-10 Thread Christian Grothoff
Dear Earp, That explains it. You MUST NOT set "content-length" yourself. That's the problem here, and more recent version of MHD would simply fail on the MHD_add_response_header() call. To do this right, you should queue a 256 byte response _even_ for the HEAD method. MHD won't send it, so in fac

Re: [libmicrohttpd] From LGPL 3.0 to LGPL 2.1?

2019-05-15 Thread Christian Grothoff
On 5/15/19 1:37 AM, silvioprog wrote: > Hello friends. > > After updating my git, I found the following commit log: > > /"Updated README and COPYING/ > /Note: library code is licensed under LGPLv2.1+ or eCOS terms// > /Come testsuite programs are licensed under GPLv3 terms."/ > > Could you expla

Re: [libmicrohttpd] From LGPL 3.0 to LGPL 2.1?

2019-05-18 Thread Christian Grothoff
On 5/18/19 5:16 AM, silvioprog wrote: > I'm linking GnuTLS into my library. > > I have a doubt. Should any library which links GnuTLS be lisenced under > LGPL 2.1 too? LGPL does not require this, but of course you should make your library Free Software. But you are free to, for example, link LGPL

Re: [libmicrohttpd] Recommended format specifiers for size_t / ssize_t ?

2019-05-20 Thread Christian Grothoff
For logging, I usually cast to (unsigned) int and use %u/%d. Or if it could actually be large, then (unsigned) long long. On 5/20/19 1:12 PM, Tim Rühsen wrote: > Hi, > > since there are portability issues with %zu / %zd, what is the > recommended way to print / log size_t / ssize_t type variables

Re: [libmicrohttpd] Two tests failing in master branch

2019-05-24 Thread Christian Grothoff
Hi Tim, Your first issue is a memory leak in bash. MHD cannot fix this. The second issue relates to a libcurl linked against OpenSSL. As the code works when libcurl links against gnutls, I strongly suspect this is not an issue with our test but with the libcurl+openssl combination. I generally r

Re: [libmicrohttpd] Unique names for MD5 and SHA256 functions

2019-06-03 Thread Christian Grothoff
Sure, makes sense. Just to clarify: usually these symbols shouldn't even be exported by the library, but I guess the linker may not support this on some platforms, so the change still makes sense. Fixed in Git bf7c90c3..603ecd85 Happy hacking! Christian On 6/3/19 9:20 AM, microht...@dbrinkmeie

Re: [libmicrohttpd] Create a server that returns string sent in request payload

2019-06-03 Thread Christian Grothoff
Hi Dawid, A few issues with your code: 1) upload_data may not be 0-terminated (that's why you have upload_data_size!), so your puts() is already unsafe; 2) upload_data is *not* persistent, so you must use "MHD_RESPMEM_MUST_COPY". And again, no strlen() but instead "*upload_data_size" for the first

Re: [libmicrohttpd] Problem send large trunk of data over upgraded connection with epoll and https enabled

2019-06-23 Thread Christian Grothoff
On 6/23/19 6:28 AM, Vi?t Nguy?n Xuân wrote: > Hi All, > > I'm using libmicrohttpd to implement a WebSocket server based on HTTP > Upgrade connection. > I'm using latest git revision of this library for my work. > Everything works well for small message passes over upgraded connection, > I tested w

Re: [libmicrohttpd] GNU libmicrohttpd 0.9.65 released

2019-07-10 Thread Christian Grothoff
Sure. Done. -Christian On 7/9/19 1:10 PM, Tim Rühsen wrote: > Thanks for the new release ! > > Could you push the git tags to the repo(s) ? > > Regards, Tim signature.asc Description: OpenPGP digital signature

Re: [libmicrohttpd] Adding code for OCSP stapling

2019-07-16 Thread Christian Grothoff
Hi Tim, The patch looks fine to me, just two things are missing: 1) Updated ChangeLog 2) Updated texinfo manual documenting the new option. When you merge this into master, please also bump the MHD_VERSION in microhttpd.h. happy hacking! Christian On 7/16/19 3:23 PM, Tim Rühsen wrote: > Hi, >

Re: [libmicrohttpd] Adding code for OCSP stapling

2019-07-17 Thread Christian Grothoff
Hi Tim, Looks all great, please merge! -Christian On 7/16/19 8:16 PM, Tim Rühsen wrote: > On 16.07.19 20:08, Tim Rühsen wrote: >> Hi Christian, >> >> thanks for looking into it. >> >> The requested changes have been made - I am not sure if they exactly >> fit, so please have another look. >> >>

Re: [libmicrohttpd] feature request: change malloc/calloc/free functions

2019-07-21 Thread Christian Grothoff
Hi Nicolas, Thanks for the proposal, but I don't think this kind of patch belongs into MHD. malloc() performance is not critical for MHD at all, as MHD hardly uses malloc(): We mostly use our own custom memory pool, usually on top of mmap(), to avoid fragmentation issues and to limit memory consum

Re: [libmicrohttpd] feature request: change malloc/calloc/free functions

2019-07-22 Thread Christian Grothoff
e memory resource is wasted (not for long but >>> still). >>> >>> If not for the specific malloc/free function, would it be possible to >>> specify the free() function to deallocate the response body when using >>> MHD_RESPMEM_MUST_FREE? Like an option you

Re: [libmicrohttpd] feature request: change malloc/calloc/free functions

2019-07-22 Thread Christian Grothoff
Oops, my bad. I forgot we had that API; I've rolled back my patch. On 7/22/19 3:38 PM, Evgeny Grin wrote: > Don't we have now duplication with > 'MHD_create_response_from_buffer_with_free_callback()'? > > Shouldn't we remove one of implementations? > signature.asc Description: OpenPGP digital

Re: [libmicrohttpd] regression since commit cc5032b85

2019-07-25 Thread Christian Grothoff
I've fixed the regression in 092b3705..f73873bc. Thanks for reporting! -Christian On 7/25/19 9:18 AM, José Bollo wrote: > Hi all, hi Evgeny, > > We noted a regression introduced by the commit cc5032b85. > > I had a code where I did that query: > > MHD_lookup_connection_value( > co

Re: [libmicrohttpd] Check for client disconnection on suspended connection

2019-07-29 Thread Christian Grothoff
Hi Robert, You could grab the socket from the connection (MHD_CONNECTION_INFO_CONNECTION_FD) and then do whatever syscall you fancy to find out if the client disconnected. However, note that there may not be a reliable way to do this, because without a TCP FIN/CLOSE/RST from the client, the serve

Re: [libmicrohttpd] feature request: change malloc/calloc/free functions

2019-07-29 Thread Christian Grothoff
On 7/22/19 6:15 PM, Nicolas Mora wrote: > The MHD reference manual doesn't mention it: > https://www.gnu.org/software/libmicrohttpd/manual/libmicrohttpd.html#microhttpd_002dresponse-create The one included with the software does, but I had not synchronized the online version in a bit (sadly doesn'

Re: [libmicrohttpd] Check for client disconnection on suspended connection

2019-07-29 Thread Christian Grothoff
On 7/29/19 6:28 PM, Robert D Kocisko wrote: > Christian, > >>  do whatever syscall you fancy to find out if the client disconnected. > Do you mean something like recv(fd, buffer, sizeof(buffer), MSG_PEEK | > MSG_DONTWAIT) > and check for it to return 0? Yes. There might also be -1/errno combos t

Re: [libmicrohttpd] Problem send large trunk of data over upgraded connection with epoll and https enabled

2019-07-29 Thread Christian Grothoff
Dear Viet, Thanks for the additional details. With your report, I was able to reproduce the issue (test_upgrade_large.c added) and fix it in bafd078984be5f846287107824eca99e6c6c42cc. Happy hacking! Christian On 6/24/19 7:16 PM, Việt Nguyễn Xuân wrote: > Hi all, > > Sorry, I cannot reply your

[libmicrohttpd] libmicrohttpd 0.9.66 released

2019-08-01 Thread Christian Grothoff
Dear all, I'm glad to announce the release of GNU libmicrohttpd 0.9.66. GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application. GNU libmicrohttpd is fully HTTP 1.1 compliant and supports IPv6. Finally, GNU libmicrohttpd is fast

Re: [libmicrohttpd] Own data buffer

2019-09-20 Thread Christian Grothoff
Dear Daniel, Currently, there is no MHD API to allow that. However, I'm not against constructive proposals towards making this possible. Happy hacking! Christian On 9/20/19 4:43 PM, Daniel Bujnik wrote: > Hello, > > Currently as far as I understand libmicrohttpd provides data being > uploaded

Re: [libmicrohttpd] CI errors

2019-09-26 Thread Christian Grothoff
Fixed now, thanks for letting us know! -Christian On 9/26/19 9:06 PM, Tim Rühsen wrote: > Hi, > > I see an error in the Gitlab CI for quite some time: > > In file included from mhd_assert.h:34:0, > from internal.h:33, > from connection.c:28: > connection.c:3090:

[libmicrohttpd] Moral rights: credits

2019-10-07 Thread Christian Grothoff
Hi all, Sorry for cross-posting, but 'someone' just triggered me and this applies to multiple packages, at least in theory: On 10/7/19 7:33 PM, someone wrote (privately): > Trying to define authors of individual source files (as opposed to > individual commits) seems hopelessly subjective as the

Re: [libmicrohttpd] [Taler] Moral rights: credits

2019-10-07 Thread Christian Grothoff
Hi Bruno, Are you aware that for Taler and GNUnet we have a copyright assignment to GNUnet e.V. and that the GNUnet e.V. (or Taler Systems SA) is listed as the copyright holder in each file, and that those should/would be the ones enforcing the (A)GPL anyway? However, your point is slightly more

Re: [libmicrohttpd] CI Pipeline fails (address sanitizer issue)

2019-10-13 Thread Christian Grothoff
Dear Tim, Thanks for reporting. Unless I'm badly mistaken, e3179550..b24cb240 should fix this (bug in the test case, hence no urgency to re-release anything). Please let me know if this does _not_ fix the problem. Happy hacking! Christian On 10/13/19 3:10 PM, Tim Rühsen wrote: > Is this wanted

Re: [libmicrohttpd] CI Pipeline fails (doc / etex fails)

2019-10-13 Thread Christian Grothoff
Dear Tim, The error you are quoting is triggered by gpl-2.0.texi, which we copied 1:1 from gnulib (and is current). The problem also does not arise on my system, so I suspect what you discovered could be a bug in gnulib when the license file is used against some particular (maybe very recent) texi

Re: [libmicrohttpd] CI Pipeline fails (doc / etex fails)

2019-10-17 Thread Christian Grothoff
message and how it would point to an issue in libmicrohttpd.texi. But if it doesn't reflect an issue in gpl-2.0.texi, I guess you're off the hook ;-). Happy hacking! Christian On 10/13/19 9:14 PM, Paul Eggert wrote: > On 10/13/19 9:01 AM, Christian Grothoff wrote: >> I suspect

[libmicrohttpd] libmicrohttpd 0.9.67 released

2019-10-17 Thread Christian Grothoff
Dear all, I'm glad to announce the release of GNU libmicrohttpd 0.9.67. GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application. GNU libmicrohttpd is fully HTTP 1.1 compliant and supports IPv6. Finally, GNU libmicrohttpd is fast

Re: [libmicrohttpd] libmicrohttpd 0.9.67 released

2019-10-17 Thread Christian Grothoff
Done. -Christian On 10/17/19 6:31 PM, Markus Doppelbauer wrote: > A cosmetic change: > Configured: --enable-https=no > > Could you shield this line with an "#ifdef HTTPS_SUPPORT"? > File:mhd_send.h > #include "connection_https.h" signature.asc Description: OpenPGP digital signature

Re: [libmicrohttpd] 0.9.67 regression

2019-10-24 Thread Christian Grothoff
Hi Tim, I cannot reproduce this. We do test for empty body in test_get.c, and that test passes. I also wrote (and now pushed to master) a minimal_example_empty.c, using both the 200 and 204 status codes. It works for me on loopback as well as over the network, using both curl and wget as clients.

Re: [libmicrohttpd] 0.9.67 regression

2019-10-24 Thread Christian Grothoff
e.ac: define a check > for HAVE_SENDMSG" > > And this is the commit that broke our test suite > 8ce24c2ae433fdf1ec125211d3622f3c27b56797 "_len -> _size" > > It's just a one-liner... I hope this helps :-) > > Regards, Tim > > > On 10/24/19 1

Re: [libmicrohttpd] Cannot set Content-Length in header

2019-10-24 Thread Christian Grothoff
Hi! The MHD documentation explicitly says that MHD does NOT allow the application to set the content-length header at all. You're likely ignoring an error code you are getting back from the library when trying to set the content-length header. Also, not allowing applications to break the HTTP pro

Re: [libmicrohttpd] Cannot set Content-Length in header

2019-10-25 Thread Christian Grothoff
have both by > adding a new option to switch off the Content-Type checks ? > Or a more general approach - a HEADER_CHECKS_OFF mode that make MHD just > being "dumb" ? > > Regards, Tim > > On 10/24/19 7:42 PM, Christian Grothoff wrote: >> Hi! >> >> The

Re: [libmicrohttpd] Cannot set Content-Length in header

2019-10-25 Thread Christian Grothoff
by a future MHD change. > > Regards, Tim > > On 10/25/19 10:56 AM, Christian Grothoff wrote: >> Hi Tim, >> >> I didn't realize this was wget-*testing* related. >> >> For your use-case, I agree that having an equivalent of the >> MHD_OPTION_STRICT_FO

Re: [libmicrohttpd] 0.9.67 regression

2019-10-26 Thread Christian Grothoff
xml;q=0.9,*/*;q=0.8 > User-Agent: wget2/1.99.2 > Connection: keep-alive > > 26.172501.267 [0] action=2 pending=1 host=0x5606a570abf0 > 26.172501.267 ### req 0x7f331c2e9380 pending requests = 1 > ## here the client is waiting for the response for max 10s > > > Hopefully

[libmicrohttpd] 0.9.68 released

2019-10-26 Thread Christian Grothoff
d it would be great if > they directly jump onto 0.9.68. > > Regards, Tim > > On 26.10.19 18:55, Christian Grothoff wrote: >> Hi Tim, >> >> minimal_example_empty was just running an HTTP server that would only >> return empty replies ;-). Anyway, the key answer was

Re: [libmicrohttpd] Cannot set Content-Length in header

2019-10-29 Thread Christian Grothoff
On 10/29/19 6:36 PM, Tim Rühsen wrote: > Thanks, Christian. > > Tested & it works. > > Not sure why, but I first tested with > MHD_OPTION_SERVER_INSANITY, 1 > when starting the server which doesn't work. Yeah, that one is a server-wide option, which for responses doesn't work as you can have a

Re: [libmicrohttpd] How to get the client IP as IPv4 in dual stack mode?

2019-11-28 Thread Christian Grothoff
Hi silvioprog, Have you considered simply using IN6_IS_ADDR_V4MAPPED on the v6 address, and if it matches, extracting the mapped v4 address? Happy hacking! Christian On 11/28/19 4:35 AM, silvioprog wrote: > Hi. > > I have a function which checks if the sa_family is AF_INET or AF_INET6 > and

Re: [libmicrohttpd] running in main thread

2019-12-02 Thread Christian Grothoff
On 12/2/19 4:49 PM, José Bollo wrote: > On Mon, 2 Dec 2019 15:08:39 +0100 > José Bollo wrote: > >> On Mon, 2 Dec 2019 15:04:52 +0100 >> José Bollo wrote: >> >> rereading comment of MHD_USE_INTERNAL_POLLING_THREAD my question looks >> stupid > > No in fact the question is serious. There is no si

Re: [libmicrohttpd] running in main thread

2019-12-02 Thread Christian Grothoff
On 12/2/19 9:55 PM, José Bollo wrote: > > I tried to write something like "while(true) MHD_run();" but strace > showed its inefficiency. Oh my. Yes, that'd be bad. > IMHO it can make sense: "1. setup 2. run" without exit conditon and not > bound to any stdin, i.e. a normal unix daemon. > Well,

Re: [libmicrohttpd] running in main thread

2019-12-02 Thread Christian Grothoff
On 12/2/19 10:18 PM, José Bollo wrote: >> Well, that's trivial. Please consider the attached fragment (not >> tested, but should be very close to what you need, modulo error >> handling). > I know it is trivial (my implementation below) but I advocate to offer > a facility that does the job. It avo

[libmicrohttpd] libmicrohttpd 0.9.69 released

2019-12-15 Thread Christian Grothoff
Dear all, I'm glad to announce the release of GNU libmicrohttpd 0.9.69. GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application. GNU libmicrohttpd is fully HTTP 1.1 compliant and supports IPv6. Finally, GNU libmicrohttpd is fast

Re: [libmicrohttpd] Unable to find specified file minimal_example.c

2019-12-21 Thread Christian Grothoff
Hi Bryan, I don't know where you were looking, but it is in the TGZ releases of libmicrohttpd, and in our Git in the src/examples/ directory, as the documentation says: * In Git: https://git.gnunet.org/libmicrohttpd.git/tree/src/examples/minimal_example.c * Official release: http://ftp.gnu.org/g

Re: [libmicrohttpd] www-form-urlencoded: dealing with keys with no value

2019-12-24 Thread Christian Grothoff
Hi Ethan, I agree that this is a bug, and yes, we should fix it. Thanks for the test case, that is very helpful. I don't know when I can work on it, but worst-case expect a patch by the end of January, if you're lucky and my other bugs go fast (or someone else sends a fix), might of course happen

Re: [libmicrohttpd] www-form-urlencoded: dealing with keys with no value

2019-12-27 Thread Christian Grothoff
ng > (and in a secure / performant way). > > Otherwise, I'll stick with my uriparser patch until you get around to it. > > Happy hacking and happy holidays! > > Ethan > > On Tue, Dec 24, 2019 at 6:30 AM Christian Grothoff > wrote: >> >> Hi Ethan,

Re: [libmicrohttpd] TCP connection closed with Digest auth

2020-01-08 Thread Christian Grothoff
Hi Ahmed, I think MHD is right to close the connection after returning the 401, simply because due to the PUT + Expect: 100-continue we cannot be sure if the client received the 401 *before* starting the upload, as clients are expected to start the upload after a few 100ms in the _absence_ of a re

Re: [libmicrohttpd] Clang static analyzer reports...

2020-02-03 Thread Christian Grothoff
scan-build/index.html > > And sorry that I can't fix it myself (out of time currently). > > Regards, Tim > > On 2/3/20 3:18 PM, Christian Grothoff wrote: > > Could you please send the link to the report? > > > > On Sun, 2020-02-02 at 12:23 +0100, Tim Rüh

Re: [libmicrohttpd] Problems using PATCH method

2020-02-04 Thread Christian Grothoff
Hi Conor, I've tried to test this, and could not find an issue. You can find a new test case for MHD's PATCH handling in Git, as per change b8a0f698..2d4289dc. However, as the test worked instantly, I could not find any bug with it. The special handling of PUT/POST you mention likely refers to

Re: [libmicrohttpd] Clang static analyzer reports...

2020-02-05 Thread Christian Grothoff
On Mon, 2020-02-03 at 16:09 +0100, Tim Rühsen wrote: > Hi Christian, > On 2/3/20 3:44 PM, Christian Grothoff wrote: > > Hi Tim, > > > > Thanks for forwarding the report. I've looked through them. The > > first > > two clang is pissy because we don

[libmicrohttpd] libmicrohttpd 0.9.70 released

2020-02-08 Thread Christian Grothoff
Dear all, I'm glad to announce the release of GNU libmicrohttpd 0.9.70. GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application. GNU libmicrohttpd is fully HTTP 1.1 compliant and supports IPv6. Finally, GNU libmicrohttpd is fast

<    1   2   3   4   5   6   7   8   9   >