Skip to content

Commit cec20f6

Browse files
committed
Expose new constants from libcurl 7.62 to 7.80
1 parent 1bcd8d3 commit cec20f6

File tree

4 files changed

+261
-1
lines changed

4 files changed

+261
-1
lines changed

NEWS

+3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ PHP NEWS
1010
. Fixed bug GH-7821 and GH-8418 (Allow arbitrary const expressions in backed
1111
enums). (ilutov)
1212

13+
- Curl:
14+
. Added new constants from cURL 7.62 to 7.80. (Pierrick)
15+
1316
- MBString:
1417
. Backwards-compatible mappings for 0x5C/0x7E in Shift-JIS are restored,
1518
after they had been changed in 8.1.0. (Alex Dowad)

UPGRADING

+77-1
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ PHP 8.2 UPGRADE NOTES
7676
- Curl:
7777
. Added CURLINFO_EFFECTIVE_METHOD option and returning the effective
7878
HTTP method in curl_getinfo() return value.
79+
. Exposed multiple new constants from libcurl 7.62 to 7.80.
7980

8081
- OCI8:
8182
. Added an oci8.prefetch_lob_size directive and oci_set_prefetch_lob()
@@ -240,8 +241,83 @@ PHP 8.2 UPGRADE NOTES
240241
. LOCALE_NEUTRAL
241242

242243
- Curl:
243-
. CURLOPT_XFERINFOFUNCTION
244+
. CURLALTSVC_H1 (libcurl >= 7.64.1)
245+
. CURLALTSVC_H2 (libcurl >= 7.64.1)
246+
. CURLALTSVC_H3 (libcurl >= 7.64.1)
247+
. CURLALTSVC_READONLYFILE (libcurl >= 7.64.1)
248+
. CURLAUTH_AWS_SIGV4 (libcurl >= 7.75.0)
249+
. CURLE_PROXY (libcurl >= 7.73.0)
250+
. CURLFTPMETHOD_DEFAULT
251+
. CURLHSTS_ENABLE (libcurl >= 7.74.0)
252+
. CURLHSTS_READONLYFILE (libcurl >= 7.74.0)
253+
. CURLINFO_PROXY_ERROR (libcurl >= 7.73.0)
254+
. CURLINFO_REFERER (libcurl >= 7.76.0)
255+
. CURLINFO_RETRY_AFTER (libcurl >= 7.66.0)
256+
. CURLMOPT_MAX_CONCURRENT_STREAMS (libcurl >= 7.67.0)
257+
. CURLOPT_ALTSVC_CTRL (libcurl >= 7.64.1)
258+
. CURLOPT_ALTSVC (libcurl >= 7.64.1)
259+
. CURLOPT_AWS_SIGV4 (libcurl >= 7.75.0)
260+
. CURLOPT_CAINFO_BLOB (libcurl >= 7.77.0)
261+
. CURLOPT_DOH_SSL_VERIFYHOST (libcurl >= 7.76.0)
262+
. CURLOPT_DOH_SSL_VERIFYPEER (libcurl >= 7.76.0)
263+
. CURLOPT_DOH_SSL_VERIFYSTATUS (libcurl >= 7.76.0)
264+
. CURLOPT_HSTS_CTRL (libcurl >= 7.74.0)
265+
. CURLOPT_HSTS (libcurl >= 7.74.0)
266+
. CURLOPT_MAIL_RCPT_ALLLOWFAILS (libcurl >= 7.69.0)
267+
. CURLOPT_MAXAGE_CONN (libcurl >= 7.65.0)
244268
. CURLOPT_MAXFILESIZE_LARGE
269+
. CURLOPT_MAXLIFETIME_CONN (libcurl >= 7.80.0)
270+
. CURLOPT_PROXY_CAINFO_BLOB (libcurl >= 7.77.0)
271+
. CURLOPT_SASL_AUTHZID (libcurl >= 7.66.0)
272+
. CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256 (libcurl >= 7.80.0)
273+
. CURLOPT_SSL_EC_CURVES (libcurl >= 7.73.0)
274+
. CURLOPT_UPKEEP_INTERVAL_MS (libcurl >= 7.62.0)
275+
. CURLOPT_UPLOAD_BUFFERSIZE (libcurl >= 7.62.0)
276+
. CURLOPT_XFERINFOFUNCTION (libcurl >= 7.32.0)
277+
. CURLPROTO_MQTT (libcurl >= 7.71.0)
278+
. CURLPX_BAD_ADDRESS_TYPE (libcurl >= 7.73.0)
279+
. CURLPX_BAD_VERSION (libcurl >= 7.73.0)
280+
. CURLPX_CLOSED (libcurl >= 7.73.0)
281+
. CURLPX_GSSAPI (libcurl >= 7.73.0)
282+
. CURLPX_GSSAPI_PERMSG (libcurl >= 7.73.0)
283+
. CURLPX_GSSAPI_PROTECTION (libcurl >= 7.73.0)
284+
. CURLPX_IDENTD_DIFFER (libcurl >= 7.73.0)
285+
. CURLPX_IDENTD (libcurl >= 7.73.0)
286+
. CURLPX_LONG_HOSTNAME (libcurl >= 7.73.0)
287+
. CURLPX_LONG_PASSWD (libcurl >= 7.73.0)
288+
. CURLPX_LONG_USER (libcurl >= 7.73.0)
289+
. CURLPX_NO_AUTH (libcurl >= 7.73.0)
290+
. CURLPX_OK (libcurl >= 7.73.0)
291+
. CURLPX_RECV_ADDRESS (libcurl >= 7.73.0)
292+
. CURLPX_RECV_AUTH (libcurl >= 7.73.0)
293+
. CURLPX_RECV_CONNECT (libcurl >= 7.73.0)
294+
. CURLPX_RECV_REQACK (libcurl >= 7.73.0)
295+
. CURLPX_REPLY_ADDRESS_TYPE_NOT_SUPPORTED (libcurl >= 7.73.0)
296+
. CURLPX_REPLY_COMMAND_NOT_SUPPORTED (libcurl >= 7.73.0)
297+
. CURLPX_REPLY_CONNECTION_REFUSED (libcurl >= 7.73.0)
298+
. CURLPX_REPLY_GENERAL_SERVER_FAILURE (libcurl >= 7.73.0)
299+
. CURLPX_REPLY_HOST_UNREACHABLE (libcurl >= 7.73.0)
300+
. CURLPX_REPLY_NETWORK_UNREACHABLE (libcurl >= 7.73.0)
301+
. CURLPX_REPLY_NOT_ALLOWED (libcurl >= 7.73.0)
302+
. CURLPX_REPLY_TTL_EXPIRED (libcurl >= 7.73.0)
303+
. CURLPX_REPLY_UNASSIGNED (libcurl >= 7.73.0)
304+
. CURLPX_REQUEST_FAILED (libcurl >= 7.73.0)
305+
. CURLPX_RESOLVE_HOST (libcurl >= 7.73.0)
306+
. CURLPX_SEND_AUTH (libcurl >= 7.73.0)
307+
. CURLPX_SEND_CONNECT (libcurl >= 7.73.0)
308+
. CURLPX_SEND_REQUEST (libcurl >= 7.73.0)
309+
. CURLPX_UNKNOWN_FAIL (libcurl >= 7.73.0)
310+
. CURLPX_UNKNOWN_MODE (libcurl >= 7.73.0)
311+
. CURLPX_USER_REJECTED (libcurl >= 7.73.0)
312+
. CURLSSLOPT_AUTO_CLIENT_CERT (libcurl >= 7.77.0)
313+
. CURLSSLOPT_NATIVE_CA (libcurl >= 7.71.0)
314+
. CURLSSLOPT_NO_PARTIALCHAIN (libcurl >= 7.68.0)
315+
. CURLSSLOPT_REVOKE_BEST_EFFORT (libcurl >= 7.70.0)
316+
. CURL_VERSION_GSASL (libcurl >= 7.76.0)
317+
. CURL_VERSION_HSTS (libcurl >= 7.74.0)
318+
. CURL_VERSION_HTTP3 (libcurl >= 7.66.0)
319+
. CURL_VERSION_UNICODE (libcurl >= 7.72.0)
320+
. CURL_VERSION_ZSTD (libcurl >= 7.72.0)
245321

246322
- Sockets:
247323
. SO_INCOMING_CPU

ext/curl/interface.c

+178
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,22 @@ PHP_MINFO_FUNCTION(curl)
295295
#endif
296296
#if LIBCURL_VERSION_NUM >= 0x073900 /* 7.57.0 */
297297
{"BROTLI", CURL_VERSION_BROTLI},
298+
#endif
299+
#if LIBCURL_VERSION_NUM >= 0x074001 /* 7.64.1 */
300+
{"ALTSVC", CURL_VERSION_ALTSVC},
301+
#endif
302+
#if LIBCURL_VERSION_NUM >= 0x074200 /* 7.66.0 */
303+
{"HTTP3", CURL_VERSION_HTTP3},
304+
#endif
305+
#if LIBCURL_VERSION_NUM >= 0x074800 /* 7.72.0 */
306+
{"UNICODE", CURL_VERSION_UNICODE},
307+
{"ZSTD", CURL_VERSION_ZSTD},
308+
#endif
309+
#if LIBCURL_VERSION_NUM >= 0x074a00 /* 7.74.0 */
310+
{"HSTS", CURL_VERSION_HSTS},
311+
#endif
312+
#if LIBCURL_VERSION_NUM >= 0x074c00 /* 7.76.0 */
313+
{"GSASL", CURL_VERSION_GSASL},
298314
#endif
299315
{NULL, 0}
300316
};
@@ -703,6 +719,7 @@ PHP_MINIT_FUNCTION(curl)
703719
REGISTER_CURL_CONSTANT(CURLOPT_LOCALPORTRANGE);
704720

705721
/* Available since 7.15.3 */
722+
REGISTER_CURL_CONSTANT(CURLFTPMETHOD_DEFAULT);
706723
REGISTER_CURL_CONSTANT(CURLFTPMETHOD_MULTICWD);
707724
REGISTER_CURL_CONSTANT(CURLFTPMETHOD_NOCWD);
708725
REGISTER_CURL_CONSTANT(CURLFTPMETHOD_SINGLECWD);
@@ -1151,16 +1168,50 @@ PHP_MINIT_FUNCTION(curl)
11511168

11521169
#if LIBCURL_VERSION_NUM >= 0x073E00 /* Available since 7.62.0 */
11531170
REGISTER_CURL_CONSTANT(CURLOPT_DOH_URL);
1171+
REGISTER_CURL_CONSTANT(CURLOPT_UPKEEP_INTERVAL_MS);
1172+
REGISTER_CURL_CONSTANT(CURLOPT_UPLOAD_BUFFERSIZE);
11541173
#endif
11551174

11561175
#if LIBCURL_VERSION_NUM >= 0x074000 /* Available since 7.64.0 */
11571176
REGISTER_CURL_CONSTANT(CURLOPT_HTTP09_ALLOWED);
11581177
#endif
11591178

11601179
#if LIBCURL_VERSION_NUM >= 0x074001 /* Available since 7.64.1 */
1180+
REGISTER_CURL_CONSTANT(CURLALTSVC_H1);
1181+
REGISTER_CURL_CONSTANT(CURLALTSVC_H2);
1182+
REGISTER_CURL_CONSTANT(CURLALTSVC_H3);
1183+
REGISTER_CURL_CONSTANT(CURLALTSVC_READONLYFILE);
1184+
REGISTER_CURL_CONSTANT(CURLOPT_ALTSVC);
1185+
REGISTER_CURL_CONSTANT(CURLOPT_ALTSVC_CTRL);
11611186
REGISTER_CURL_CONSTANT(CURL_VERSION_ALTSVC);
11621187
#endif
11631188

1189+
#if LIBCURL_VERSION_NUM >= 0x074100 /* Available since 7.65.0 */
1190+
REGISTER_CURL_CONSTANT(CURLOPT_MAXAGE_CONN);
1191+
#endif
1192+
1193+
#if LIBCURL_VERSION_NUM >= 0x074200 /* Available since 7.66.0 */
1194+
REGISTER_CURL_CONSTANT(CURLOPT_SASL_AUTHZID);
1195+
REGISTER_CURL_CONSTANT(CURL_VERSION_HTTP3);
1196+
REGISTER_CURL_CONSTANT(CURLINFO_RETRY_AFTER);
1197+
#endif
1198+
1199+
#if LIBCURL_VERSION_NUM >= 0x074300 /* Available since 7.67.0 */
1200+
REGISTER_CURL_CONSTANT(CURLMOPT_MAX_CONCURRENT_STREAMS);
1201+
#endif
1202+
1203+
#if LIBCURL_VERSION_NUM >= 0x074400 /* Available since 7.68.0 */
1204+
REGISTER_CURL_CONSTANT(CURLSSLOPT_NO_PARTIALCHAIN);
1205+
#endif
1206+
1207+
#if LIBCURL_VERSION_NUM >= 0x074500 /* Available since 7.69.0 */
1208+
REGISTER_CURL_CONSTANT(CURLOPT_MAIL_RCPT_ALLLOWFAILS);
1209+
#endif
1210+
1211+
#if LIBCURL_VERSION_NUM >= 0x074600 /* Available since 7.70.0 */
1212+
REGISTER_CURL_CONSTANT(CURLSSLOPT_REVOKE_BEST_EFFORT);
1213+
#endif
1214+
11641215
#if LIBCURL_VERSION_NUM >= 0x074700 /* Available since 7.71.0 */
11651216
REGISTER_CURL_CONSTANT(CURLOPT_ISSUERCERT_BLOB);
11661217
REGISTER_CURL_CONSTANT(CURLOPT_PROXY_ISSUERCERT);
@@ -1169,6 +1220,87 @@ PHP_MINIT_FUNCTION(curl)
11691220
REGISTER_CURL_CONSTANT(CURLOPT_PROXY_SSLKEY_BLOB);
11701221
REGISTER_CURL_CONSTANT(CURLOPT_SSLCERT_BLOB);
11711222
REGISTER_CURL_CONSTANT(CURLOPT_SSLKEY_BLOB);
1223+
1224+
REGISTER_CURL_CONSTANT(CURLPROTO_MQTT);
1225+
1226+
REGISTER_CURL_CONSTANT(CURLSSLOPT_NATIVE_CA);
1227+
#endif
1228+
1229+
#if LIBCURL_VERSION_NUM >= 0x074800 /* Available since 7.72.0 */
1230+
REGISTER_CURL_CONSTANT(CURL_VERSION_UNICODE);
1231+
REGISTER_CURL_CONSTANT(CURL_VERSION_ZSTD);
1232+
#endif
1233+
1234+
#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */
1235+
REGISTER_CURL_CONSTANT(CURLE_PROXY);
1236+
REGISTER_CURL_CONSTANT(CURLINFO_PROXY_ERROR);
1237+
REGISTER_CURL_CONSTANT(CURLOPT_SSL_EC_CURVES);
1238+
REGISTER_CURL_CONSTANT(CURLPX_BAD_ADDRESS_TYPE);
1239+
REGISTER_CURL_CONSTANT(CURLPX_BAD_VERSION);
1240+
REGISTER_CURL_CONSTANT(CURLPX_CLOSED);
1241+
REGISTER_CURL_CONSTANT(CURLPX_GSSAPI);
1242+
REGISTER_CURL_CONSTANT(CURLPX_GSSAPI_PERMSG);
1243+
REGISTER_CURL_CONSTANT(CURLPX_GSSAPI_PROTECTION);
1244+
REGISTER_CURL_CONSTANT(CURLPX_IDENTD);
1245+
REGISTER_CURL_CONSTANT(CURLPX_IDENTD_DIFFER);
1246+
REGISTER_CURL_CONSTANT(CURLPX_LONG_HOSTNAME);
1247+
REGISTER_CURL_CONSTANT(CURLPX_LONG_PASSWD);
1248+
REGISTER_CURL_CONSTANT(CURLPX_LONG_USER);
1249+
REGISTER_CURL_CONSTANT(CURLPX_NO_AUTH);
1250+
REGISTER_CURL_CONSTANT(CURLPX_OK);
1251+
REGISTER_CURL_CONSTANT(CURLPX_RECV_ADDRESS);
1252+
REGISTER_CURL_CONSTANT(CURLPX_RECV_AUTH);
1253+
REGISTER_CURL_CONSTANT(CURLPX_RECV_CONNECT);
1254+
REGISTER_CURL_CONSTANT(CURLPX_RECV_REQACK);
1255+
REGISTER_CURL_CONSTANT(CURLPX_REPLY_ADDRESS_TYPE_NOT_SUPPORTED);
1256+
REGISTER_CURL_CONSTANT(CURLPX_REPLY_COMMAND_NOT_SUPPORTED);
1257+
REGISTER_CURL_CONSTANT(CURLPX_REPLY_CONNECTION_REFUSED);
1258+
REGISTER_CURL_CONSTANT(CURLPX_REPLY_GENERAL_SERVER_FAILURE);
1259+
REGISTER_CURL_CONSTANT(CURLPX_REPLY_HOST_UNREACHABLE);
1260+
REGISTER_CURL_CONSTANT(CURLPX_REPLY_NETWORK_UNREACHABLE);
1261+
REGISTER_CURL_CONSTANT(CURLPX_REPLY_NOT_ALLOWED);
1262+
REGISTER_CURL_CONSTANT(CURLPX_REPLY_TTL_EXPIRED);
1263+
REGISTER_CURL_CONSTANT(CURLPX_REPLY_UNASSIGNED);
1264+
REGISTER_CURL_CONSTANT(CURLPX_REQUEST_FAILED);
1265+
REGISTER_CURL_CONSTANT(CURLPX_RESOLVE_HOST);
1266+
REGISTER_CURL_CONSTANT(CURLPX_SEND_AUTH);
1267+
REGISTER_CURL_CONSTANT(CURLPX_SEND_CONNECT);
1268+
REGISTER_CURL_CONSTANT(CURLPX_SEND_REQUEST);
1269+
REGISTER_CURL_CONSTANT(CURLPX_UNKNOWN_FAIL);
1270+
REGISTER_CURL_CONSTANT(CURLPX_UNKNOWN_MODE);
1271+
REGISTER_CURL_CONSTANT(CURLPX_USER_REJECTED);
1272+
#endif
1273+
1274+
#if LIBCURL_VERSION_NUM >= 0x074a00 /* Available since 7.74.0 */
1275+
REGISTER_CURL_CONSTANT(CURLHSTS_ENABLE);
1276+
REGISTER_CURL_CONSTANT(CURLHSTS_READONLYFILE);
1277+
REGISTER_CURL_CONSTANT(CURLOPT_HSTS);
1278+
REGISTER_CURL_CONSTANT(CURLOPT_HSTS_CTRL);
1279+
REGISTER_CURL_CONSTANT(CURL_VERSION_HSTS);
1280+
#endif
1281+
1282+
#if LIBCURL_VERSION_NUM >= 0x074b00 /* Available since 7.75.0 */
1283+
REGISTER_CURL_CONSTANT(CURLAUTH_AWS_SIGV4);
1284+
REGISTER_CURL_CONSTANT(CURLOPT_AWS_SIGV4);
1285+
#endif
1286+
1287+
#if LIBCURL_VERSION_NUM >= 0x074c00 /* Available since 7.76.0 */
1288+
REGISTER_CURL_CONSTANT(CURLINFO_REFERER);
1289+
REGISTER_CURL_CONSTANT(CURLOPT_DOH_SSL_VERIFYHOST);
1290+
REGISTER_CURL_CONSTANT(CURLOPT_DOH_SSL_VERIFYPEER);
1291+
REGISTER_CURL_CONSTANT(CURLOPT_DOH_SSL_VERIFYSTATUS);
1292+
REGISTER_CURL_CONSTANT(CURL_VERSION_GSASL);
1293+
#endif
1294+
1295+
#if LIBCURL_VERSION_NUM >= 0x074d00 /* Available since 7.77.0 */
1296+
REGISTER_CURL_CONSTANT(CURLOPT_CAINFO_BLOB);
1297+
REGISTER_CURL_CONSTANT(CURLOPT_PROXY_CAINFO_BLOB);
1298+
REGISTER_CURL_CONSTANT(CURLSSLOPT_AUTO_CLIENT_CERT);
1299+
#endif
1300+
1301+
#if LIBCURL_VERSION_NUM >= 0x075000 /* Available since 7.80.0 */
1302+
REGISTER_CURL_CONSTANT(CURLOPT_MAXLIFETIME_CONN);
1303+
REGISTER_CURL_CONSTANT(CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256);
11721304
#endif
11731305

11741306
REGISTER_CURL_CONSTANT(CURLOPT_SAFE_UPLOAD);
@@ -2545,8 +2677,32 @@ static zend_result _php_curl_setopt(php_curl *ch, zend_long option, zval *zvalue
25452677
#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */
25462678
case CURLOPT_DISALLOW_USERNAME_IN_URL:
25472679
#endif
2680+
#if LIBCURL_VERSION_NUM >= 0x073E00 /* Available since 7.62.0 */
2681+
case CURLOPT_UPKEEP_INTERVAL_MS:
2682+
case CURLOPT_UPLOAD_BUFFERSIZE:
2683+
#endif
25482684
#if LIBCURL_VERSION_NUM >= 0x074000 /* Available since 7.64.0 */
25492685
case CURLOPT_HTTP09_ALLOWED:
2686+
#endif
2687+
#if LIBCURL_VERSION_NUM >= 0x074001 /* Available since 7.64.1 */
2688+
case CURLOPT_ALTSVC_CTRL:
2689+
#endif
2690+
#if LIBCURL_VERSION_NUM >= 0x074100 /* Available since 7.65.0 */
2691+
case CURLOPT_MAXAGE_CONN:
2692+
#endif
2693+
#if LIBCURL_VERSION_NUM >= 0x074500 /* Available since 7.69.0 */
2694+
case CURLOPT_MAIL_RCPT_ALLLOWFAILS:
2695+
#endif
2696+
#if LIBCURL_VERSION_NUM >= 0x074a00 /* Available since 7.74.0 */
2697+
case CURLOPT_HSTS_CTRL:
2698+
#endif
2699+
#if LIBCURL_VERSION_NUM >= 0x074c00 /* Available since 7.76.0 */
2700+
case CURLOPT_DOH_SSL_VERIFYHOST:
2701+
case CURLOPT_DOH_SSL_VERIFYPEER:
2702+
case CURLOPT_DOH_SSL_VERIFYSTATUS:
2703+
#endif
2704+
#if LIBCURL_VERSION_NUM >= 0x075000 /* Available since 7.80.0 */
2705+
case CURLOPT_MAXLIFETIME_CONN:
25502706
#endif
25512707
lval = zval_get_long(zvalue);
25522708
if ((option == CURLOPT_PROTOCOLS || option == CURLOPT_REDIR_PROTOCOLS) &&
@@ -2644,8 +2800,23 @@ static zend_result _php_curl_setopt(php_curl *ch, zend_long option, zval *zvalue
26442800
case CURLOPT_PROXY_TLS13_CIPHERS:
26452801
case CURLOPT_TLS13_CIPHERS:
26462802
#endif
2803+
#if LIBCURL_VERSION_NUM >= 0x074001 /* Available since 7.64.1 */
2804+
case CURLOPT_ALTSVC:
2805+
#endif
2806+
#if LIBCURL_VERSION_NUM >= 0x074200 /* Available since 7.66.0 */
2807+
case CURLOPT_SASL_AUTHZID:
2808+
#endif
26472809
#if LIBCURL_VERSION_NUM >= 0x074700 /* Available since 7.71.0 */
26482810
case CURLOPT_PROXY_ISSUERCERT:
2811+
#endif
2812+
#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */
2813+
case CURLOPT_SSL_EC_CURVES:
2814+
#endif
2815+
#if LIBCURL_VERSION_NUM >= 0x074b00 /* Available since 7.75.0 */
2816+
case CURLOPT_AWS_SIGV4:
2817+
#endif
2818+
#if LIBCURL_VERSION_NUM >= 0x075000 /* Available since 7.80.0 */
2819+
case CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256:
26492820
#endif
26502821
{
26512822
zend_string *tmp_str;
@@ -2672,6 +2843,9 @@ static zend_result _php_curl_setopt(php_curl *ch, zend_long option, zval *zvalue
26722843
#endif
26732844
#if LIBCURL_VERSION_NUM >= 0x073E00 /* Available since 7.62.0 */
26742845
case CURLOPT_DOH_URL:
2846+
#endif
2847+
#if LIBCURL_VERSION_NUM >= 0x074a00 /* Available since 7.74.0 */
2848+
case CURLOPT_HSTS:
26752849
#endif
26762850
case CURLOPT_KRBLEVEL:
26772851
{
@@ -3072,6 +3246,10 @@ static zend_result _php_curl_setopt(php_curl *ch, zend_long option, zval *zvalue
30723246
case CURLOPT_PROXY_SSLKEY_BLOB:
30733247
case CURLOPT_SSLCERT_BLOB:
30743248
case CURLOPT_SSLKEY_BLOB:
3249+
#if LIBCURL_VERSION_NUM >= 0x074d00 /* Available since 7.77.0 */
3250+
case CURLOPT_CAINFO_BLOB:
3251+
case CURLOPT_PROXY_CAINFO_BLOB:
3252+
#endif
30753253
{
30763254
zend_string *tmp_str;
30773255
zend_string *str = zval_get_tmp_string(zvalue, &tmp_str);

ext/curl/multi.c

+3
Original file line numberDiff line numberDiff line change
@@ -441,6 +441,9 @@ static bool _php_curl_multi_setopt(php_curlm *mh, zend_long option, zval *zvalue
441441
case CURLMOPT_MAX_HOST_CONNECTIONS:
442442
case CURLMOPT_MAX_PIPELINE_LENGTH:
443443
case CURLMOPT_MAX_TOTAL_CONNECTIONS:
444+
#endif
445+
#if LIBCURL_VERSION_NUM >= 0x074300 /* Available since 7.67.0 */
446+
case CURLMOPT_MAX_CONCURRENT_STREAMS:
444447
#endif
445448
{
446449
zend_long lval = zval_get_long(zvalue);

0 commit comments

Comments
 (0)