@@ -295,6 +295,22 @@ PHP_MINFO_FUNCTION(curl)
295
295
#endif
296
296
#if LIBCURL_VERSION_NUM >= 0x073900 /* 7.57.0 */
297
297
{"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 },
298
314
#endif
299
315
{NULL , 0 }
300
316
};
@@ -703,6 +719,7 @@ PHP_MINIT_FUNCTION(curl)
703
719
REGISTER_CURL_CONSTANT (CURLOPT_LOCALPORTRANGE );
704
720
705
721
/* Available since 7.15.3 */
722
+ REGISTER_CURL_CONSTANT (CURLFTPMETHOD_DEFAULT );
706
723
REGISTER_CURL_CONSTANT (CURLFTPMETHOD_MULTICWD );
707
724
REGISTER_CURL_CONSTANT (CURLFTPMETHOD_NOCWD );
708
725
REGISTER_CURL_CONSTANT (CURLFTPMETHOD_SINGLECWD );
@@ -1151,16 +1168,50 @@ PHP_MINIT_FUNCTION(curl)
1151
1168
1152
1169
#if LIBCURL_VERSION_NUM >= 0x073E00 /* Available since 7.62.0 */
1153
1170
REGISTER_CURL_CONSTANT (CURLOPT_DOH_URL );
1171
+ REGISTER_CURL_CONSTANT (CURLOPT_UPKEEP_INTERVAL_MS );
1172
+ REGISTER_CURL_CONSTANT (CURLOPT_UPLOAD_BUFFERSIZE );
1154
1173
#endif
1155
1174
1156
1175
#if LIBCURL_VERSION_NUM >= 0x074000 /* Available since 7.64.0 */
1157
1176
REGISTER_CURL_CONSTANT (CURLOPT_HTTP09_ALLOWED );
1158
1177
#endif
1159
1178
1160
1179
#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 );
1161
1186
REGISTER_CURL_CONSTANT (CURL_VERSION_ALTSVC );
1162
1187
#endif
1163
1188
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
+
1164
1215
#if LIBCURL_VERSION_NUM >= 0x074700 /* Available since 7.71.0 */
1165
1216
REGISTER_CURL_CONSTANT (CURLOPT_ISSUERCERT_BLOB );
1166
1217
REGISTER_CURL_CONSTANT (CURLOPT_PROXY_ISSUERCERT );
@@ -1169,6 +1220,87 @@ PHP_MINIT_FUNCTION(curl)
1169
1220
REGISTER_CURL_CONSTANT (CURLOPT_PROXY_SSLKEY_BLOB );
1170
1221
REGISTER_CURL_CONSTANT (CURLOPT_SSLCERT_BLOB );
1171
1222
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 );
1172
1304
#endif
1173
1305
1174
1306
REGISTER_CURL_CONSTANT (CURLOPT_SAFE_UPLOAD );
@@ -2545,8 +2677,32 @@ static zend_result _php_curl_setopt(php_curl *ch, zend_long option, zval *zvalue
2545
2677
#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */
2546
2678
case CURLOPT_DISALLOW_USERNAME_IN_URL :
2547
2679
#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
2548
2684
#if LIBCURL_VERSION_NUM >= 0x074000 /* Available since 7.64.0 */
2549
2685
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 :
2550
2706
#endif
2551
2707
lval = zval_get_long (zvalue );
2552
2708
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
2644
2800
case CURLOPT_PROXY_TLS13_CIPHERS :
2645
2801
case CURLOPT_TLS13_CIPHERS :
2646
2802
#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
2647
2809
#if LIBCURL_VERSION_NUM >= 0x074700 /* Available since 7.71.0 */
2648
2810
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 :
2649
2820
#endif
2650
2821
{
2651
2822
zend_string * tmp_str ;
@@ -2672,6 +2843,9 @@ static zend_result _php_curl_setopt(php_curl *ch, zend_long option, zval *zvalue
2672
2843
#endif
2673
2844
#if LIBCURL_VERSION_NUM >= 0x073E00 /* Available since 7.62.0 */
2674
2845
case CURLOPT_DOH_URL :
2846
+ #endif
2847
+ #if LIBCURL_VERSION_NUM >= 0x074a00 /* Available since 7.74.0 */
2848
+ case CURLOPT_HSTS :
2675
2849
#endif
2676
2850
case CURLOPT_KRBLEVEL :
2677
2851
{
@@ -3072,6 +3246,10 @@ static zend_result _php_curl_setopt(php_curl *ch, zend_long option, zval *zvalue
3072
3246
case CURLOPT_PROXY_SSLKEY_BLOB :
3073
3247
case CURLOPT_SSLCERT_BLOB :
3074
3248
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
3075
3253
{
3076
3254
zend_string * tmp_str ;
3077
3255
zend_string * str = zval_get_tmp_string (zvalue , & tmp_str );
0 commit comments