========================================
Curl:
+ . CURLAUTH_BEARER
. CURLAUTH_GSSAPI
. CURLE_WEIRD_SERVER_REPLY
+ . CURLINFO_APPCONNECT_TIME_T
+ . CURLINFO_CONNECT_TIME_T
. CURLINFO_CONTENT_LENGTH_DOWNLOAD_T
. CURLINFO_CONTENT_LENGTH_UPLOAD_T
+ . CURLINFO_FILETIME_T
. CURLINFO_HTTP_VERSION
+ . CURLINFO_NAMELOOKUP_TIME_T
+ . CURLINFO_PRETRANSFER_TIME_T
. CURLINFO_PROTOCOL
. CURLINFO_PROXY_SSL_VERIFYRESULT
+ . CURLINFO_REDIRECT_TIME_T
. CURLINFO_SCHEME
. CURLINFO_SIZE_DOWNLOAD_T
. CURLINFO_SIZE_UPLOAD_T
. CURLINFO_SPEED_DOWNLOAD_T
. CURLINFO_SPEED_UPLOAD_T
+ . CURLINFO_STARTTRANSFER_TIME_T
+ . CURLINFO_TOTAL_TIME_T
+ . CURL_LOCK_DATA_CONNECT
+ . CURL_LOCK_DATA_PSL
. CURL_MAX_READ_SIZE
. CURLOPT_ABSTRACT_UNIX_SOCKET
+ . CURLOPT_DISALLOW_USERNAME_IN_URL
+ . CURLOPT_DNS_SHUFFLE_ADDRESSES
+ . CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS
+ . CURLOPT_HAPROXYPROTOCOL
. CURLOPT_KEEP_SENDING_ON_ERROR
. CURLOPT_PRE_PROXY
. CURLOPT_PROXY_CAINFO
. CURLOPT_PROXY_SSL_VERIFYHOST
. CURLOPT_PROXY_SSL_VERIFYPEER
. CURLOPT_PROXY_SSLVERSION
+ . CURLOPT_PROXY_TLS13_CIPHERS
. CURLOPT_PROXY_TLSAUTH_PASSWORD
. CURLOPT_PROXY_TLSAUTH_TYPE
. CURLOPT_PROXY_TLSAUTH_USERNAME
. CURLOPT_REQUEST_TARGET
. CURLOPT_SOCKS5_AUTH
+ . CURLOPT_SSH_COMPRESSION
. CURLOPT_SUPPRESS_CONNECT_HEADERS
+ . CURLOPT_TIMEVALUE_LARGE
+ . CURLOPT_TLS13_CIPHERS
. CURLPROXY_HTTPS
+ . CURLSSH_AUTH_GSSAPI
. CURL_SSLVERSION_MAX_DEFAULT
. CURL_SSLVERSION_MAX_NONE
. CURL_SSLVERSION_MAX_TLSv1_0
. CURL_SSLVERSION_MAX_TLSv1_2
. CURL_SSLVERSION_MAX_TLSv1_3
. CURL_SSLVERSION_TLSv1_3
+ . CURL_VERSION_ASYNCHDNS
+ . CURL_VERSION_BROTLI
+ . CURL_VERSION_CONV
+ . CURL_VERSION_DEBUG
+ . CURL_VERSION_GSSAPI
+ . CURL_VERSION_GSSNEGOTIATE
. CURL_VERSION_HTTPS_PROXY
+ . CURL_VERSION_IDN
+ . CURL_VERSION_KERBEROS5
+ . CURL_VERSION_LARGEFILE
+ . CURL_VERSION_MULTI_SSL
+ . CURL_VERSION_NTLM
+ . CURL_VERSION_NTLM_WB
+ . CURL_VERSION_SPNEGO
+ . CURL_VERSION_SSPI
+ . CURL_VERSION_TLSAUTH_SRP
+ . CURL_VERSION_UNIX_SOCKETS
JSON:
. JSON_THROW_ON_ERROR
#endif
#if LIBCURL_VERSION_NUM >= 0x073400 /* 7.52.0 */
{"HTTPS_PROXY", CURL_VERSION_HTTPS_PROXY},
+#endif
+#if LIBCURL_VERSION_NUM >= 0x073800 /* 7.56.0 */
+ {"MULTI_SSL", CURL_VERSION_MULTI_SSL},
+#endif
+#if LIBCURL_VERSION_NUM >= 0x073900 /* 7.57.0 */
+ {"BROTLI", CURL_VERSION_BROTLI},
#endif
{NULL, 0}
};
REGISTER_CURL_CONSTANT(CURL_TIMECOND_NONE);
/* Curl version constants */
+ REGISTER_CURL_CONSTANT(CURL_VERSION_ASYNCHDNS);
+ REGISTER_CURL_CONSTANT(CURL_VERSION_CONV);
+ REGISTER_CURL_CONSTANT(CURL_VERSION_DEBUG);
+ REGISTER_CURL_CONSTANT(CURL_VERSION_GSSNEGOTIATE);
+ REGISTER_CURL_CONSTANT(CURL_VERSION_IDN);
REGISTER_CURL_CONSTANT(CURL_VERSION_IPV6);
REGISTER_CURL_CONSTANT(CURL_VERSION_KERBEROS4);
+ REGISTER_CURL_CONSTANT(CURL_VERSION_LARGEFILE);
REGISTER_CURL_CONSTANT(CURL_VERSION_LIBZ);
+ REGISTER_CURL_CONSTANT(CURL_VERSION_NTLM);
+ REGISTER_CURL_CONSTANT(CURL_VERSION_SPNEGO);
REGISTER_CURL_CONSTANT(CURL_VERSION_SSL);
+ REGISTER_CURL_CONSTANT(CURL_VERSION_SSPI);
/* Available since 7.10.6 */
REGISTER_CURL_CONSTANT(CURLOPT_HTTPAUTH);
REGISTER_CURL_CONSTANT(CURLOPT_TLSAUTH_TYPE);
REGISTER_CURL_CONSTANT(CURLOPT_TLSAUTH_USERNAME);
REGISTER_CURL_CONSTANT(CURL_TLSAUTH_SRP);
+ REGISTER_CURL_CONSTANT(CURL_VERSION_TLSAUTH_SRP);
#endif
#if LIBCURL_VERSION_NUM >= 0x071506 /* Available since 7.21.6 */
REGISTER_CURL_CONSTANT(CURLGSSAPI_DELEGATION_FLAG);
REGISTER_CURL_CONSTANT(CURLGSSAPI_DELEGATION_POLICY_FLAG);
REGISTER_CURL_CONSTANT(CURLOPT_GSSAPI_DELEGATION);
+ REGISTER_CURL_CONSTANT(CURL_VERSION_NTLM_WB);
#endif
#if LIBCURL_VERSION_NUM >= 0x071800 /* Available since 7.24.0 */
#if LIBCURL_VERSION_NUM >= 0x072600 /* Available since 7.38.0 */
REGISTER_CURL_CONSTANT(CURLAUTH_NEGOTIATE);
+ REGISTER_CURL_CONSTANT(CURL_VERSION_GSSAPI);
#endif
#if LIBCURL_VERSION_NUM >= 0x072700 /* Available since 7.39.0 */
#if LIBCURL_VERSION_NUM >= 0x072800 /* Available since 7.40.0 */
REGISTER_CURL_CONSTANT(CURLOPT_UNIX_SOCKET_PATH);
-
REGISTER_CURL_CONSTANT(CURLPROTO_SMB);
REGISTER_CURL_CONSTANT(CURLPROTO_SMBS);
+ REGISTER_CURL_CONSTANT(CURL_VERSION_KERBEROS5);
+ REGISTER_CURL_CONSTANT(CURL_VERSION_UNIX_SOCKETS);
#endif
#if LIBCURL_VERSION_NUM >= 0x072900 /* Available since 7.41.0 */
REGISTER_CURL_CONSTANT(CURLOPT_SOCKS5_AUTH);
#endif
+#if LIBCURL_VERSION_NUM >= 0x073800 /* Available since 7.56.0 */
+ REGISTER_CURL_CONSTANT(CURLOPT_SSH_COMPRESSION);
+ REGISTER_CURL_CONSTANT(CURL_VERSION_MULTI_SSL);
+#endif
+
+#if LIBCURL_VERSION_NUM >= 0x073900 /* Available since 7.57.0 */
+ REGISTER_CURL_CONSTANT(CURL_VERSION_BROTLI);
+ REGISTER_CURL_CONSTANT(CURL_LOCK_DATA_CONNECT);
+#endif
+
+#if LIBCURL_VERSION_NUM >= 0x073a00 /* Available since 7.58.0 */
+ REGISTER_CURL_CONSTANT(CURLSSH_AUTH_GSSAPI);
+#endif
+
+#if LIBCURL_VERSION_NUM >= 0x073b00 /* Available since 7.59.0 */
+ REGISTER_CURL_CONSTANT(CURLINFO_FILETIME_T);
+ REGISTER_CURL_CONSTANT(CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS);
+ REGISTER_CURL_CONSTANT(CURLOPT_TIMEVALUE_LARGE);
+#endif
+
+#if LIBCURL_VERSION_NUM >= 0x073c00 /* Available since 7.60.0 */
+ REGISTER_CURL_CONSTANT(CURLOPT_DNS_SHUFFLE_ADDRESSES);
+ REGISTER_CURL_CONSTANT(CURLOPT_HAPROXYPROTOCOL);
+#endif
+
+#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */
+ REGISTER_CURL_CONSTANT(CURL_LOCK_DATA_PSL);
+ REGISTER_CURL_CONSTANT(CURLAUTH_BEARER);
+ REGISTER_CURL_CONSTANT(CURLINFO_APPCONNECT_TIME_T);
+ REGISTER_CURL_CONSTANT(CURLINFO_CONNECT_TIME_T);
+ REGISTER_CURL_CONSTANT(CURLINFO_NAMELOOKUP_TIME_T);
+ REGISTER_CURL_CONSTANT(CURLINFO_PRETRANSFER_TIME_T);
+ REGISTER_CURL_CONSTANT(CURLINFO_REDIRECT_TIME_T);
+ REGISTER_CURL_CONSTANT(CURLINFO_STARTTRANSFER_TIME_T);
+ REGISTER_CURL_CONSTANT(CURLINFO_TOTAL_TIME_T);
+ REGISTER_CURL_CONSTANT(CURLOPT_DISALLOW_USERNAME_IN_URL);
+ REGISTER_CURL_CONSTANT(CURLOPT_PROXY_TLS13_CIPHERS);
+ REGISTER_CURL_CONSTANT(CURLOPT_TLS13_CIPHERS);
+#endif
+
REGISTER_CURL_CONSTANT(CURLOPT_SAFE_UPLOAD);
#ifdef PHP_CURL_NEED_OPENSSL_TSL
}
CAAZ("protocols", &protocol_list);
}
+ if (d->age >= 1) {
+ CAAS("ares", d->ares);
+ CAAL("ares_num", d->ares_num);
+ }
+ if (d->age >= 2) {
+ CAAS("libidn", d->libidn);
+ }
+#if LIBCURL_VERSION_NUM >= 0x071001 /* Available since 7.16.1 */
+ if (d->age >= 3) {
+ CAAL("iconv_ver_num", d->iconv_ver_num);
+ CAAS("libssh_version", d->libssh_version);
+ }
+#endif
+#if LIBCURL_VERSION_NUM >= 0x073900 /* Available since 7.57.0 */
+ if (d->age >= 4) {
+ CAAL("brotli_ver_num", d->brotli_ver_num);
+ CAAS("brotli_version", d->brotli_version);
+ }
+#endif
}
/* }}} */
#if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */
case CURLOPT_SOCKS5_AUTH:
#endif
-
+#if LIBCURL_VERSION_NUM >= 0x073800 /* Available since 7.56.0 */
+ case CURLOPT_SSH_COMPRESSION:
+#endif
+#if LIBCURL_VERSION_NUM >= 0x073b00 /* Available since 7.59.0 */
+ case CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS:
+#endif
+#if LIBCURL_VERSION_NUM >= 0x073c00 /* Available since 7.60.0 */
+ case CURLOPT_DNS_SHUFFLE_ADDRESSES:
+ case CURLOPT_HAPROXYPROTOCOL:
+#endif
+#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */
+ case CURLOPT_DISALLOW_USERNAME_IN_URL:
+#endif
lval = zval_get_long(zvalue);
#if LIBCURL_VERSION_NUM >= 0x071304
if ((option == CURLOPT_PROTOCOLS || option == CURLOPT_REDIR_PROTOCOLS) &&
#endif
#if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */
case CURLOPT_REQUEST_TARGET:
+#endif
+#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */
+ case CURLOPT_PROXY_TLS13_CIPHERS:
+ case CURLOPT_TLS13_CIPHERS:
#endif
{
zend_string *tmp_str;
ch->handlers->write->method = PHP_CURL_USER;
break;
+ /* Curl off_t options */
case CURLOPT_MAX_RECV_SPEED_LARGE:
case CURLOPT_MAX_SEND_SPEED_LARGE:
+#if LIBCURL_VERSION_NUM >= 0x073b00 /* Available since 7.59.0 */
+ case CURLOPT_TIMEVALUE_LARGE:
+#endif
lval = zval_get_long(zvalue);
error = curl_easy_setopt(ch->cp, option, (curl_off_t)lval);
break;
if (curl_easy_getinfo(ch->cp, CURLINFO_SPEED_UPLOAD_T, &co) == CURLE_OK) {
CAAL("speed_upload", co);
}
+#endif
+#if LIBCURL_VERSION_NUM >= 0x073b00 /* Available since 7.59.0 */
+ if (curl_easy_getinfo(ch->cp, CURLINFO_FILETIME_T, &co) == CURLE_OK) {
+ CAAL("filetime", co);
+ }
+#endif
+#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */
+ if (curl_easy_getinfo(ch->cp, CURLINFO_APPCONNECT_TIME_T, &co) == CURLE_OK) {
+ CAAL("appconnect_time", co);
+ }
+ if (curl_easy_getinfo(ch->cp, CURLINFO_CONNECT_TIME_T, &co) == CURLE_OK) {
+ CAAL("connect_time", co);
+ }
+ if (curl_easy_getinfo(ch->cp, CURLINFO_NAMELOOKUP_TIME_T, &co) == CURLE_OK) {
+ CAAL("namelookup_time", co);
+ }
+ if (curl_easy_getinfo(ch->cp, CURLINFO_PRETRANSFER_TIME_T, &co) == CURLE_OK) {
+ CAAL("pretransfer_time", co);
+ }
+ if (curl_easy_getinfo(ch->cp, CURLINFO_REDIRECT_TIME_T, &co) == CURLE_OK) {
+ CAAL("redirect_time", co);
+ }
+ if (curl_easy_getinfo(ch->cp, CURLINFO_STARTTRANSFER_TIME_T, &co) == CURLE_OK) {
+ CAAL("starttransfer_time", co);
+ }
+ if (curl_easy_getinfo(ch->cp, CURLINFO_TOTAL_TIME_T, &co) == CURLE_OK) {
+ CAAL("total_time", co);
+ }
#endif
if (ch->header.str) {
CAASTR("request_header", ch->header.str);