Skip to content

Commit 9c61e98

Browse files
committed
ext/curl: Bump minimim Curl version to >= 7.61.0
Bumps the minimum required libcurl version to 7.61.0. Please also see #4917, which bumped minimum libcurl version to the current >= 7.29.0. This bumps the minimum requirement to Curl 7.61.0 (released 2018 Sept). Ubuntu, Debian, RHEL, and RHEL derivatives have major and LTS version bumps this year. Following are the libcurl-dev/libcurl-devel versions available in the oldest supported (LTS or otherwise) in major OSs. - Debian buster: [7.64](https://packages.debian.org/buster/libcurl4-openssl-dev) - Ubuntu 20.04: [7.68](https://packages.ubuntu.com/focal/libcurl-dev) - CentOS/RHEL 7: 7.29 - RHEL 8/Rocky 8/EL 8: 7.61 - Fedora 38: 7.87 RHEL/CentOS 7 reaches EOL mid 2024, so for PHP 8.4 scheduled towards the end of this year, we can safely bump the minimum libcurl version. 7.61.0 was selected as the new minimum because RHEL and derivatives have libcurl-devel version 7.61. RHEL 8 is a current and supported RHEL version.
1 parent b06fedb commit 9c61e98

10 files changed

+13
-550
lines changed

ext/curl/config.m4

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ PHP_ARG_WITH([curl],
44
[Include cURL support])])
55

66
if test "$PHP_CURL" != "no"; then
7-
PKG_CHECK_MODULES([CURL], [libcurl >= 7.29.0])
7+
PKG_CHECK_MODULES([CURL], [libcurl >= 7.61.0])
88
PKG_CHECK_VAR([CURL_FEATURES], [libcurl], [supported_features])
99

1010
PHP_EVAL_LIBLINE($CURL_LIBS, CURL_SHARED_LIBADD)

ext/curl/curl.stub.php

Lines changed: 8 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -472,13 +472,11 @@
472472
* @cvalue CURLOPT_WRITEHEADER
473473
*/
474474
const CURLOPT_WRITEHEADER = UNKNOWN;
475-
#if LIBCURL_VERSION_NUM >= 0x072000
476475
/**
477476
* @var int
478477
* @cvalue CURLOPT_XFERINFOFUNCTION
479478
*/
480479
const CURLOPT_XFERINFOFUNCTION = UNKNOWN;
481-
#endif
482480

483481
/* */
484482
/**
@@ -776,13 +774,11 @@
776774
* @cvalue CURLE_SSL_PEER_CERTIFICATE
777775
*/
778776
const CURLE_SSL_PEER_CERTIFICATE = UNKNOWN;
779-
#if LIBCURL_VERSION_NUM >= 0x072700 /* Available since 7.39.0 */
780777
/**
781778
* @var int
782779
* @cvalue CURLE_SSL_PINNEDPUBKEYNOTMATCH
783780
*/
784781
const CURLE_SSL_PINNEDPUBKEYNOTMATCH = UNKNOWN;
785-
#endif
786782
/**
787783
* @var int
788784
* @cvalue CURLE_TELNET_OPTION_SYNTAX
@@ -998,13 +994,12 @@
998994
* @cvalue CURLM_OUT_OF_MEMORY
999995
*/
1000996
const CURLM_OUT_OF_MEMORY = UNKNOWN;
1001-
#if LIBCURL_VERSION_NUM >= 0x072001 /* Available since 7.32.1 */
997+
/* Available since 7.32.1 */
1002998
/**
1003999
* @var int
10041000
* @cvalue CURLM_ADDED_ALREADY
10051001
*/
10061002
const CURLM_ADDED_ALREADY = UNKNOWN;
1007-
#endif
10081003

10091004
/* Curl proxy constants */
10101005
/**
@@ -2385,7 +2380,7 @@
23852380
*/
23862381
const CURLSSH_AUTH_AGENT = UNKNOWN;
23872382

2388-
#if LIBCURL_VERSION_NUM >= 0x071e00 /* Available since 7.30.0 */
2383+
/* Available since 7.30.0 */
23892384
/**
23902385
* @var int
23912386
* @cvalue CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE
@@ -2411,17 +2406,14 @@
24112406
* @cvalue CURLMOPT_MAX_TOTAL_CONNECTIONS
24122407
*/
24132408
const CURLMOPT_MAX_TOTAL_CONNECTIONS = UNKNOWN;
2414-
#endif
24152409

2416-
#if LIBCURL_VERSION_NUM >= 0x071f00 /* Available since 7.31.0 */
2410+
/* Available since 7.31.0 */
24172411
/**
24182412
* @var int
24192413
* @cvalue CURLOPT_SASL_IR
24202414
*/
24212415
const CURLOPT_SASL_IR = UNKNOWN;
2422-
#endif
24232416

2424-
#if LIBCURL_VERSION_NUM >= 0x072100 /* Available since 7.33.0 */
24252417
/**
24262418
* @var int
24272419
* @cvalue CURLOPT_DNS_INTERFACE
@@ -2453,9 +2445,7 @@
24532445
* @cvalue CURL_VERSION_HTTP2
24542446
*/
24552447
const CURL_VERSION_HTTP2 = UNKNOWN;
2456-
#endif
24572448

2458-
#if LIBCURL_VERSION_NUM >= 0x072200 /* Available since 7.34.0 */
24592449
/**
24602450
* @var int
24612451
* @cvalue CURLOPT_LOGIN_OPTIONS
@@ -2477,9 +2467,7 @@
24772467
* @cvalue CURL_SSLVERSION_TLSv1_2
24782468
*/
24792469
const CURL_SSLVERSION_TLSv1_2 = UNKNOWN;
2480-
#endif
24812470

2482-
#if LIBCURL_VERSION_NUM >= 0x072400 /* Available since 7.36.0 */
24832471
/**
24842472
* @var int
24852473
* @cvalue CURLOPT_EXPECT_100_TIMEOUT_MS
@@ -2495,9 +2483,7 @@
24952483
* @cvalue CURLOPT_SSL_ENABLE_NPN
24962484
*/
24972485
const CURLOPT_SSL_ENABLE_NPN = UNKNOWN;
2498-
#endif
24992486

2500-
#if LIBCURL_VERSION_NUM >= 0x072500 /* Available since 7.37.0 */
25012487
/**
25022488
* @var int
25032489
* @cvalue CURLHEADER_SEPARATE
@@ -2518,9 +2504,7 @@
25182504
* @cvalue CURLOPT_PROXYHEADER
25192505
*/
25202506
const CURLOPT_PROXYHEADER = UNKNOWN;
2521-
#endif
25222507

2523-
#if LIBCURL_VERSION_NUM >= 0x072600 /* Available since 7.38.0 */
25242508
/**
25252509
* @var int
25262510
* @cvalue CURLAUTH_NEGOTIATE
@@ -2531,17 +2515,13 @@
25312515
* @cvalue CURL_VERSION_GSSAPI
25322516
*/
25332517
const CURL_VERSION_GSSAPI = UNKNOWN;
2534-
#endif
25352518

2536-
#if LIBCURL_VERSION_NUM >= 0x072700 /* Available since 7.39.0 */
25372519
/**
25382520
* @var int
25392521
* @cvalue CURLOPT_PINNEDPUBLICKEY
25402522
*/
25412523
const CURLOPT_PINNEDPUBLICKEY = UNKNOWN;
2542-
#endif
25432524

2544-
#if LIBCURL_VERSION_NUM >= 0x072800 /* Available since 7.40.0 */
25452525
/**
25462526
* @var int
25472527
* @cvalue CURLOPT_UNIX_SOCKET_PATH
@@ -2567,17 +2547,14 @@
25672547
* @cvalue CURL_VERSION_UNIX_SOCKETS
25682548
*/
25692549
const CURL_VERSION_UNIX_SOCKETS = UNKNOWN;
2570-
#endif
25712550

2572-
#if LIBCURL_VERSION_NUM >= 0x072900 /* Available since 7.41.0 */
25732551
/**
25742552
* @var int
25752553
* @cvalue CURLOPT_SSL_VERIFYSTATUS
25762554
*/
25772555
const CURLOPT_SSL_VERIFYSTATUS = UNKNOWN;
2578-
#endif
25792556

2580-
#if LIBCURL_VERSION_NUM >= 0x072a00 /* Available since 7.42.0 */
2557+
/* Available since 7.42.0 */
25812558
/**
25822559
* @var int
25832560
* @cvalue CURLOPT_PATH_AS_IS
@@ -2588,9 +2565,8 @@
25882565
* @cvalue CURLOPT_SSL_FALSESTART
25892566
*/
25902567
const CURLOPT_SSL_FALSESTART = UNKNOWN;
2591-
#endif
25922568

2593-
#if LIBCURL_VERSION_NUM >= 0x072b00 /* Available since 7.43.0 */
2569+
/* Available since 7.43.0 */
25942570
/**
25952571
* @var int
25962572
* @cvalue CURL_HTTP_VERSION_2
@@ -2628,15 +2604,13 @@
26282604
* @cvalue CURLPIPE_MULTIPLEX
26292605
*/
26302606
const CURLPIPE_MULTIPLEX = UNKNOWN;
2631-
#endif
26322607

2633-
#if LIBCURL_VERSION_NUM >= 0x072c00 /* Available since 7.44.0 */
2608+
/* Available since 7.44.0 */
26342609
/**
26352610
* @var int
26362611
* @cvalue CURLSSLOPT_NO_REVOKE
26372612
*/
26382613
const CURLSSLOPT_NO_REVOKE = UNKNOWN;
2639-
#endif
26402614

26412615
#if LIBCURL_VERSION_NUM >= 0x072d00 /* Available since 7.45.0 */
26422616
/**
@@ -2646,7 +2620,7 @@
26462620
const CURLOPT_DEFAULT_PROTOCOL = UNKNOWN;
26472621
#endif
26482622

2649-
#if LIBCURL_VERSION_NUM >= 0x072e00 /* Available since 7.46.0 */
2623+
/* Available since 7.46.0 */
26502624
/**
26512625
* @var int
26522626
* @cvalue CURLOPT_STREAM_WEIGHT
@@ -2667,9 +2641,8 @@
26672641
* @cvalue CURL_PUSH_DENY
26682642
*/
26692643
const CURL_PUSH_DENY = UNKNOWN;
2670-
#endif
26712644

2672-
#if LIBCURL_VERSION_NUM >= 0x072f00 /* Available since 7.47.0 */
2645+
/* Available since 7.47.0 */
26732646
/**
26742647
* @var int
26752648
* @cvalue CURL_HTTP_VERSION_2TLS
@@ -2680,17 +2653,13 @@
26802653
* @cvalue CURL_VERSION_PSL
26812654
*/
26822655
const CURL_VERSION_PSL = UNKNOWN;
2683-
#endif
26842656

2685-
#if LIBCURL_VERSION_NUM >= 0x073000 /* Available since 7.48.0 */
26862657
/**
26872658
* @var int
26882659
* @cvalue CURLOPT_TFTP_NO_OPTIONS
26892660
*/
26902661
const CURLOPT_TFTP_NO_OPTIONS = UNKNOWN;
2691-
#endif
26922662

2693-
#if LIBCURL_VERSION_NUM >= 0x073100 /* Available since 7.49.0 */
26942663
/**
26952664
* @var int
26962665
* @cvalue CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE
@@ -2706,17 +2675,13 @@
27062675
* @cvalue CURLOPT_TCP_FASTOPEN
27072676
*/
27082677
const CURLOPT_TCP_FASTOPEN = UNKNOWN;
2709-
#endif
27102678

2711-
#if LIBCURL_VERSION_NUM >= 0x073200 /* Available since 7.50.0 */
27122679
/**
27132680
* @var int
27142681
* @cvalue CURLINFO_HTTP_VERSION
27152682
*/
27162683
const CURLINFO_HTTP_VERSION = UNKNOWN;
2717-
#endif
27182684

2719-
#if LIBCURL_VERSION_NUM >= 0x073300 /* Available since 7.51.0 */
27202685
/**
27212686
* @var int
27222687
* @cvalue CURLE_WEIRD_SERVER_REPLY
@@ -2727,9 +2692,7 @@
27272692
* @cvalue CURLOPT_KEEP_SENDING_ON_ERROR
27282693
*/
27292694
const CURLOPT_KEEP_SENDING_ON_ERROR = UNKNOWN;
2730-
#endif
27312695

2732-
#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */
27332696
/**
27342697
* @var int
27352698
* @cvalue CURL_SSLVERSION_TLSv1_3
@@ -2850,9 +2813,7 @@
28502813
* @cvalue CURLPROXY_HTTPS
28512814
*/
28522815
const CURLPROXY_HTTPS = UNKNOWN;
2853-
#endif
28542816

2855-
#if LIBCURL_VERSION_NUM >= 0x073500 /* Available since 7.53.0 */
28562817
/**
28572818
* @var int
28582819
* @cvalue CURL_MAX_READ_SIZE
@@ -2863,9 +2824,7 @@
28632824
* @cvalue CURLOPT_ABSTRACT_UNIX_SOCKET
28642825
*/
28652826
const CURLOPT_ABSTRACT_UNIX_SOCKET = UNKNOWN;
2866-
#endif
28672827

2868-
#if LIBCURL_VERSION_NUM >= 0x073600 /* Available since 7.54.0 */
28692828
/**
28702829
* @var int
28712830
* @cvalue CURL_SSLVERSION_MAX_DEFAULT
@@ -2901,17 +2860,13 @@
29012860
* @cvalue CURLOPT_SUPPRESS_CONNECT_HEADERS
29022861
*/
29032862
const CURLOPT_SUPPRESS_CONNECT_HEADERS = UNKNOWN;
2904-
#endif
29052863

2906-
#if LIBCURL_VERSION_NUM >= 0x073601 /* Available since 7.54.1 */
29072864
/**
29082865
* @var int
29092866
* @cvalue CURLAUTH_GSSAPI
29102867
*/
29112868
const CURLAUTH_GSSAPI = UNKNOWN;
2912-
#endif
29132869

2914-
#if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */
29152870
/**
29162871
* @var int
29172872
* @cvalue CURLINFO_CONTENT_LENGTH_DOWNLOAD_T
@@ -2952,9 +2907,7 @@
29522907
* @cvalue CURLOPT_SOCKS5_AUTH
29532908
*/
29542909
const CURLOPT_SOCKS5_AUTH = UNKNOWN;
2955-
#endif
29562910

2957-
#if LIBCURL_VERSION_NUM >= 0x073800 /* Available since 7.56.0 */
29582911
/**
29592912
* @var int
29602913
* @cvalue CURLOPT_SSH_COMPRESSION
@@ -2965,9 +2918,7 @@
29652918
* @cvalue CURL_VERSION_MULTI_SSL
29662919
*/
29672920
const CURL_VERSION_MULTI_SSL = UNKNOWN;
2968-
#endif
29692921

2970-
#if LIBCURL_VERSION_NUM >= 0x073900 /* Available since 7.57.0 */
29712922
/**
29722923
* @var int
29732924
* @cvalue CURL_VERSION_BROTLI
@@ -2978,17 +2929,13 @@
29782929
* @cvalue CURL_LOCK_DATA_CONNECT
29792930
*/
29802931
const CURL_LOCK_DATA_CONNECT = UNKNOWN;
2981-
#endif
29822932

2983-
#if LIBCURL_VERSION_NUM >= 0x073a00 /* Available since 7.58.0 */
29842933
/**
29852934
* @var int
29862935
* @cvalue CURLSSH_AUTH_GSSAPI
29872936
*/
29882937
const CURLSSH_AUTH_GSSAPI = UNKNOWN;
2989-
#endif
29902938

2991-
#if LIBCURL_VERSION_NUM >= 0x073b00 /* Available since 7.59.0 */
29922939
/**
29932940
* @var int
29942941
* @cvalue CURLINFO_FILETIME_T
@@ -3004,9 +2951,7 @@
30042951
* @cvalue CURLOPT_TIMEVALUE_LARGE
30052952
*/
30062953
const CURLOPT_TIMEVALUE_LARGE = UNKNOWN;
3007-
#endif
30082954

3009-
#if LIBCURL_VERSION_NUM >= 0x073c00 /* Available since 7.60.0 */
30102955
/**
30112956
* @var int
30122957
* @cvalue CURLOPT_DNS_SHUFFLE_ADDRESSES
@@ -3017,9 +2962,7 @@
30172962
* @cvalue CURLOPT_HAPROXYPROTOCOL
30182963
*/
30192964
const CURLOPT_HAPROXYPROTOCOL = UNKNOWN;
3020-
#endif
30212965

3022-
#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */
30232966
/**
30242967
* @var int
30252968
* @cvalue CURL_LOCK_DATA_PSL
@@ -3080,7 +3023,6 @@
30803023
* @cvalue CURLOPT_TLS13_CIPHERS
30813024
*/
30823025
const CURLOPT_TLS13_CIPHERS = UNKNOWN;
3083-
#endif
30843026

30853027
#if LIBCURL_VERSION_NUM >= 0x073E00 /* Available since 7.62.0 */
30863028
/**

0 commit comments

Comments
 (0)