libcurl: honor $SSL_CERT_FILE (fixed)
The previous attempt to patch libcurl used getenv("CURL_CA_BUNDLE") || getenv("SSL_CERT_FILE") to get the second environment variable if the first is unset. Unfortunately, this broke libcurl because the (||) operator is C returns only 0 or 1, so it is inappropriate for pointer comparisons! Now we use getenv("CURL_CA_BUNDLE") ? getenv("CURL_CA_BUNDLE") : getenv("SSL_CERT_FILE") instead. This has one downside: it always calls getenv twice! But, that's a small price to pay for actually being correct.
This commit is contained in:
parent
ea1dd9fd4a
commit
02157ab123
|
@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
# make curl honor CURL_CA_BUNDLE & SSL_CERT_FILE
|
||||
postConfigure = ''
|
||||
echo '#define CURL_CA_BUNDLE (getenv("CURL_CA_BUNDLE") || getenv("SSL_CERT_FILE"))' >> lib/curl_config.h
|
||||
echo '#define CURL_CA_BUNDLE (getenv("CURL_CA_BUNDLE") ? getenv("CURL_CA_BUNDLE") : getenv("SSL_CERT_FILE"))' >> lib/curl_config.h
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
|
|
Loading…
Reference in New Issue