;;
esac
- PECL_HAVE_CONST([curl/curl.h], [CURLOPT_TLSAUTH_TYPE], int, [
- AC_CACHE_CHECK([whether CURLOPT_TLSAUTH_TYPE expects CURL_TLSAUTH_SRP], PECL_CACHE_VAR([LIBCURL_TLSAUTH_SRP]), [
- PECL_CACHE_VAR([LIBCURL_TLSAUTH_SRP])=
+ PECL_HAVE_CONST([curl/curl.h], [CURL_VERSION_TLSAUTH_SRP], int, [
+ AC_CACHE_CHECK([for CURLOPT_TLSAUTH_TYPE SRP support], PECL_CACHE_VAR([LIBCURL_TLSAUTH_SRP]), [
+ PECL_CACHE_VAR([LIBCURL_TLSAUTH_SRP])=no
AC_TRY_RUN([
#include <curl/curl.h>
int main(int argc, char *argv[]) {
- CURL *ch = curl_easy_init();
- return curl_easy_setopt(ch, CURLOPT_TLSAUTH_TYPE, CURL_TLSAUTH_SRP);
+ int has_feature = curl_version_info(CURLVERSION_NOW)->features & CURL_VERSION_TLSAUTH_SRP;
+ int set_failure = curl_easy_setopt(curl_easy_init(), CURLOPT_TLSAUTH_TYPE, "SRP");
+ int unset_failure = curl_easy_setopt(curl_easy_init(), CURLOPT_TLSAUTH_TYPE, "NONE");
+ fprintf(stderr, "SRP has_feature=%d set_failure=%d unset_failure=%d\n", has_feature, set_failure, unset_failure);
+ int ret = !has_feature;
+ if (set_failure)
+ ret |= 1<<1;
+ if (unset_failure)
+ ret |= 1<<2;
+
+ return ret;
}
], [
PECL_CACHE_VAR([LIBCURL_TLSAUTH_SRP])=yes
+ ])
+ ])
+ if test "$PECL_CACHE_VAR([LIBCURL_TLSAUTH_SRP])" = "yes"; then
+ PECL_DEFINE([HAVE_LIBCURL_TLSAUTH_TYPE])
+ fi
+ ])
+
+ PECL_HAVE_CONST([curl/curl.h], [CURL_LOCK_DATA_SSL_SESSION], int, [
+ AC_CACHE_CHECK([whether curl_share accepts CURL_LOCK_DATA_SSL_SESSION], PECL_CACHE_VAR([LIBCURL_SHARE_SSL]), [
+ PECL_CACHE_VAR([LIBCURL_SHARE_SSL])=
+ AC_TRY_RUN([
+ #include <curl/curl.h>
+ int main(int argc, char *argv[]) {
+ CURLSH *ch = curl_share_init();
+ return curl_share_setopt(ch, CURLSHOPT_SHARE, CURL_LOCK_DATA_SSL_SESSION);
+ }
+ ], [
+ PECL_CACHE_VAR([LIBCURL_SHARE_SSL])=yes
], [
+ PECL_CACHE_VAR([LIBCURL_SHARE_SSL])=no
+ ])
+ ])
+ if test "$PECL_CACHE_VAR([LIBCURL_SHARE_SSL])" = yes; then
+ PECL_DEFINE([HAVE_LIBCURL_SHARE_SSL], [1])
+ fi
+ ])
+
+ if test "$PECL_VAR([LIBCURL_SSLLIB])" == "OpenSSL"; then
+ PECL_HAVE_CONST([curl/curl.h], [CURLOPT_TLS13_CIPHERS], int, [
+ AC_CACHE_CHECK([whether curl_easy_setopt accepts CURLOPT_TLS13_CIPHERS], PECL_CACHE_VAR([LIBCURL_TLS13_CIPHERS]), [
+ PECL_CACHE_VAR([LIBCURL_TLS13_CIPHERS])=
AC_TRY_RUN([
#include <curl/curl.h>
int main(int argc, char *argv[]) {
CURL *ch = curl_easy_init();
- return curl_easy_setopt(ch, CURLOPT_TLSAUTH_TYPE, "SRP");
+ return curl_easy_setopt(ch, CURLSHOPT_TLS13_CIPHERS, "");
}
], [
- PECL_CACHE_VAR([LIBCURL_TLSAUTH_SRP])=no
+ PECL_CACHE_VAR([LIBCURL_TLS13_CIPHERS])=yes
+ ], [
+ PECL_CACHE_VAR([LIBCURL_TLS13_CIPHERS])=no
])
])
- ])
- if test -n "$PECL_CACHE_VAR([LIBCURL_TLSAUTH_SRP])"; then
- PECL_DEFINE([HAVE_LIBCURL_TLSAUTH_TYPE])
- if $PECL_CACHE_VAR([LIBCURL_TLSAUTH_SRP]); then
- PECL_DEFINE([LIBCURL_TLSAUTH_SRP], [CURL_TLSAUTH_SRP])
- PECL_DEFINE([LIBCURL_TLSAUTH_DEF], [CURL_TLSAUTH_NONE])
- else
- PECL_DEFINE([LIBCURL_TLSAUTH_SRP], ["SRP"])
- PECL_DEFINE([LIBCURL_TLSAUTH_DEF], [""])
+ if test "$PECL_CACHE_VAR([LIBCURL_TLS13_CIPHERS])" = yes; then
+ PECL_DEFINE([HAVE_LIBCURL_TLS13_CIPHERS], [1])
fi
- fi
- ])
+ ])
+ fi
])
])
dnl