. CURL_SSLVERSION_MAX_TLSv1_2
. CURL_SSLVERSION_MAX_TLSv1_3
. CURL_SSLVERSION_TLSv1_3
+ . CURL_VERSION_ALTSVC
. CURL_VERSION_ASYNCHDNS
. CURL_VERSION_BROTLI
. CURL_VERSION_CONV
+ . CURL_VERSION_CURLDEBUG
. CURL_VERSION_DEBUG
. CURL_VERSION_GSSAPI
. CURL_VERSION_GSSNEGOTIATE
. CURL_VERSION_MULTI_SSL
. CURL_VERSION_NTLM
. CURL_VERSION_NTLM_WB
+ . CURL_VERSION_PSL
. CURL_VERSION_SPNEGO
. CURL_VERSION_SSPI
. CURL_VERSION_TLSAUTH_SRP
- mbstring.regex_stack_limit
. New INI directive (since 7.3.6) limiting stack depth of mbstring/oniguruma
- regular expressions.
+ regular expressions.
========================================
12. Windows Support
. The cyclic GC has been enhanced, which may result in considerable performance
improvements.
-
\ No newline at end of file
#endif
#if LIBCURL_VERSION_NUM >= 0x071306 /* Available since 7.19.6 */
+ REGISTER_CURL_CONSTANT(CURL_VERSION_CURLDEBUG);
REGISTER_CURL_CONSTANT(CURLOPT_SSH_KNOWNHOSTS);
#endif
#if LIBCURL_VERSION_NUM >= 0x072f00 /* Available since 7.47.0 */
REGISTER_CURL_CONSTANT(CURL_HTTP_VERSION_2TLS);
+ REGISTER_CURL_CONSTANT(CURL_VERSION_PSL);
#endif
#if LIBCURL_VERSION_NUM >= 0x073000 /* Available since 7.48.0 */
REGISTER_CURL_CONSTANT(CURLOPT_TLS13_CIPHERS);
#endif
+#if LIBCURL_VERSION_NUM >= 0x074001 /* Available since 7.64.1 */
+ REGISTER_CURL_CONSTANT(CURL_VERSION_ALTSVC);
+#endif
+
REGISTER_CURL_CONSTANT(CURLOPT_SAFE_UPLOAD);
#ifdef PHP_CURL_NEED_OPENSSL_TSL
'CURLOPT_PROGRESSDATA'
];
+const CONSTANTS_REGEX_PATTERN = '~^CURL(?:OPT|_VERSION)_[A-Z0-9_]+$~';
+
$curlConstants = getCurlConstants();
$sourceConstants = getSourceConstants();
$deprecated = $match[3] ?? null;
$removed = $match[4] ?? null;
- if (strpos($name, 'CURLOPT_') !== 0) {
- // not a CURLOPT_* constant
- continue;
- }
-
- if (in_array($name, IGNORED_CONSTANTS)) {
- // purposefully ignored constant
+ if (in_array($name, IGNORED_CONSTANTS, true) || !preg_match(CONSTANTS_REGEX_PATTERN, $name)) {
+ // not a wanted constant
continue;
}
continue;
}
- if (strpos($name, 'CURLOPT_') !== 0) {
- // not a CURLOPT_* constant
+ if (!preg_match(CONSTANTS_REGEX_PATTERN, $name)) {
+ // not a wanted constant
continue;
}
--- /dev/null
+--TEST--
+Request #72189 (Add missing CURL_VERSION_* constants)
+--SKIPIF--
+<?php
+
+include 'skipif.inc';
+
+$version = curl_version();
+
+if ($version['version_number'] < 0x071306) {
+ exit('skip: test works only with curl >= 7.19.6');
+}
+
+?>
+--FILE--
+<?php
+
+$version = curl_version();
+
+$bitfields = [
+ CURL_VERSION_ASYNCHDNS,
+ CURL_VERSION_CONV,
+ CURL_VERSION_CURLDEBUG,
+ CURL_VERSION_DEBUG,
+ CURL_VERSION_GSSNEGOTIATE,
+ CURL_VERSION_IDN,
+ CURL_VERSION_IPV6,
+ CURL_VERSION_KERBEROS4,
+ CURL_VERSION_LARGEFILE,
+ CURL_VERSION_LIBZ,
+ CURL_VERSION_NTLM,
+ CURL_VERSION_SPNEGO,
+ CURL_VERSION_SSL,
+ CURL_VERSION_SSPI,
+];
+
+$matchesCount = 0;
+
+foreach ($bitfields as $feature) {
+ if ($version['features'] & $feature) {
+ ++$matchesCount;
+ }
+}
+
+var_dump($matchesCount > 0);
+
+?>
+--EXPECT--
+bool(true)