[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [libmicrohttpd] error building for Centos 6.4
From: |
Christian Grothoff |
Subject: |
Re: [libmicrohttpd] error building for Centos 6.4 |
Date: |
Fri, 12 Apr 2013 23:08:57 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130116 Icedove/10.0.12 |
On 04/12/2013 10:37 PM, Rich Wolski wrote:
> Hi There,
>
> I just installed Centos 6.4 and did a build of 0.9.16. Looks like there
> might be an ssl incompatibility with curl.
>
> Ric
>
> make[5]: Entering directory
> `/home/rich/src/c-monstr/libmicrohttpd-0.9.16/src/testcurl/https'
> curl version: libcurl/7.19.7 NSS/3.13.6.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
> Error: received handshake message out of context
> curl_easy_perform failed: `SSL connect error'
>
That's because your libcurl is linked against NSS instead of libgcrypt/gnutls.
Various versions of curl doesn't work properly with SSL; IIRC the OpenSSL
version
contains a blocking read (or write?) and then the SSL handshake stalls (as the
other end of the TCP socket is in the same process...). I believe the above
is similarly an issue related to using NSS. I'm not sure if it's a client error
(NSS-SSL-client) or a server error (gnutls-SSL-server), or just an
incompatibility
between NSS & gnuTLS that cannot be attributed. If you are feeling lucky, you
might try reporting this one to curl, libgnutls and NSS developers --- MHD is
the most innocent party here as we merely call on libgnutls to do the handshake.
In any case, the _only_ impact on MHD is that this particular test fails. The
test was written for libcurl-gnutls, and if you link libcurl against some other
crypto library, it likely breaks. I've considered changing the test to not run
if NSS is in the curl version, but I figured it was better to let users know
that
they had a broken variant of libcurl ;-).
Finally, I'm pretty sure this is NOT Centos-specific and you should be able to
use MHD (even with SSL) fine despite the failure.
Happy hacking!
Christian