jobs:
next-0:
- name: "next-0 (8.1)"
+ name: "next-0 (master)"
+ continue-on-error: true
env:
- PHP: "8.1"
+ PHP: "master"
enable_debug: "yes"
enable_zts: "yes"
enable_iconv: "yes"
TEST_PHP_ARGS: "-d error_reporting=24575"
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-22.04
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
with:
submodules: true
+ - name: Info
+ run: |
+ locale -a && locale
- name: Install
run: |
sudo apt-get install -y \
php-cli \
php-pear \
libcurl4-openssl-dev \
- libidn11-dev \
+ libidn-dev \
libidn2-0-dev \
libicu-dev \
libevent-dev \
run: |
make -f scripts/ci/Makefile test
- next-1:
- name: "next-1 (master)"
- continue-on-error: true
+ old-0:
+ name: "old-0 (8.1)"
env:
- PHP: "master"
+ PHP: "8.1"
enable_debug: "yes"
enable_zts: "yes"
enable_iconv: "yes"
- TEST_PHP_ARGS: "-d error_reporting=24575"
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-22.04
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
with:
submodules: true
+ - name: Info
+ run: |
+ locale -a && locale
- name: Install
run: |
sudo apt-get install -y \
php-cli \
php-pear \
libcurl4-openssl-dev \
- libidn11-dev \
+ libidn-dev \
libidn2-0-dev \
libicu-dev \
libevent-dev \
run: |
make -f scripts/ci/Makefile test
- cur-none-0:
- name: "cur-none-0 (8.0)"
+ old-1:
+ name: "old-1 (8.0)"
env:
PHP: "8.0"
+ enable_debug: "yes"
+ enable_zts: "yes"
+ enable_iconv: "yes"
+ runs-on: ubuntu-22.04
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ submodules: true
+ - name: Info
+ run: |
+ locale -a && locale
+ - name: Install
+ run: |
+ sudo apt-get install -y \
+ php-cli \
+ php-pear \
+ libcurl4-openssl-dev \
+ libidn-dev \
+ libidn2-0-dev \
+ libicu-dev \
+ libevent-dev \
+ libbrotli-dev \
+ re2c
+ - name: Prepare
+ run: |
+ make -f scripts/ci/Makefile php || make -f scripts/ci/Makefile clean php
+ make -f scripts/ci/Makefile pecl PECL=m6w6/ext-raphf.git:raphf:master
+ - name: Build
+ run: |
+ make -f scripts/ci/Makefile ext PECL=http
+ - name: Test
+ run: |
+ make -f scripts/ci/Makefile test
+
+ cur-none-0:
+ name: "cur-none-0 (8.2)"
+ env:
+ PHP: "8.2"
with_http_libicu_dir: "no"
with_http_libidn_dir: "no"
with_http_libidn2_dir: "no"
with_http_libcurl_dir: "no"
with_http_libevent_dir: "no"
with_http_libbrotli_dir: "no"
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-22.04
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
with:
submodules: true
+ - name: Info
+ run: |
+ locale -a && locale
- name: Install
run: |
sudo apt-get install -y \
php-cli \
php-pear \
libcurl4-openssl-dev \
- libidn11-dev \
+ libidn-dev \
libidn2-0-dev \
libicu-dev \
libevent-dev \
make -f scripts/ci/Makefile test
cur-dbg-zts-0:
- name: "cur-dbg-zts-0 (8.0)"
+ name: "cur-dbg-zts-0 (8.2)"
env:
- PHP: "8.0"
+ PHP: "8.2"
enable_debug: "yes"
enable_zts: "yes"
enable_iconv: "yes"
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-22.04
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
with:
submodules: true
+ - name: Info
+ run: |
+ locale -a && locale
- name: Install
run: |
sudo apt-get install -y \
php-cli \
php-pear \
libcurl4-openssl-dev \
- libidn11-dev \
+ libidn-dev \
libidn2-0-dev \
libicu-dev \
libevent-dev \
make -f scripts/ci/Makefile test
cur-dbg-zts-1:
- name: "cur-dbg-zts-1 (8.0)"
+ name: "cur-dbg-zts-1 (8.2)"
env:
- PHP: "8.0"
+ PHP: "8.2"
enable_debug: "no"
enable_zts: "yes"
enable_iconv: "yes"
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-22.04
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
with:
submodules: true
+ - name: Info
+ run: |
+ locale -a && locale
- name: Install
run: |
sudo apt-get install -y \
php-cli \
php-pear \
libcurl4-openssl-dev \
- libidn11-dev \
+ libidn-dev \
libidn2-0-dev \
libicu-dev \
libevent-dev \
make -f scripts/ci/Makefile test
cur-dbg-zts-2:
- name: "cur-dbg-zts-2 (8.0)"
+ name: "cur-dbg-zts-2 (8.2)"
env:
- PHP: "8.0"
+ PHP: "8.2"
enable_debug: "yes"
enable_zts: "no"
enable_iconv: "yes"
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-22.04
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
with:
submodules: true
+ - name: Info
+ run: |
+ locale -a && locale
- name: Install
run: |
sudo apt-get install -y \
php-cli \
php-pear \
libcurl4-openssl-dev \
- libidn11-dev \
+ libidn-dev \
libidn2-0-dev \
libicu-dev \
libevent-dev \
make -f scripts/ci/Makefile test
cur-dbg-zts-3:
- name: "cur-dbg-zts-3 (8.0)"
+ name: "cur-dbg-zts-3 (8.2)"
env:
- PHP: "8.0"
+ PHP: "8.2"
enable_debug: "no"
enable_zts: "no"
enable_iconv: "yes"
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-22.04
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
with:
submodules: true
+ - name: Info
+ run: |
+ locale -a && locale
- name: Install
run: |
sudo apt-get install -y \
php-cli \
php-pear \
libcurl4-openssl-dev \
- libidn11-dev \
+ libidn-dev \
libidn2-0-dev \
libicu-dev \
libevent-dev \
make -f scripts/ci/Makefile test
cur-cov-0:
- name: "cur-cov-0 (8.0)"
+ name: "cur-cov-0 (8.2)"
env:
CFLAGS: "-O0 -g --coverage"
CXXFLAGS: "-O0 -g --coverage"
- PHP: "8.0"
+ PHP: "8.2"
enable_iconv: "yes"
with_http_libicu_dir: "yes"
with_http_libidn_dir: "no"
with_http_libidn2_dir: "no"
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-22.04
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
with:
submodules: true
+ - name: Info
+ run: |
+ locale -a && locale
- name: Install
run: |
sudo apt-get install -y \
php-cli \
php-pear \
libcurl4-openssl-dev \
- libidn11-dev \
+ libidn-dev \
libidn2-0-dev \
libicu-dev \
libevent-dev \
bash <(curl -s https://codecov.io/bash) -X xcode -X coveragepy
cur-cov-1:
- name: "cur-cov-1 (8.0)"
+ name: "cur-cov-1 (8.2)"
env:
CFLAGS: "-O0 -g --coverage"
CXXFLAGS: "-O0 -g --coverage"
- PHP: "8.0"
+ PHP: "8.2"
enable_iconv: "yes"
with_http_libicu_dir: "no"
with_http_libidn_dir: "yes"
with_http_libidn2_dir: "no"
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-22.04
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
with:
submodules: true
+ - name: Info
+ run: |
+ locale -a && locale
- name: Install
run: |
sudo apt-get install -y \
php-cli \
php-pear \
libcurl4-openssl-dev \
- libidn11-dev \
+ libidn-dev \
libidn2-0-dev \
libicu-dev \
libevent-dev \
bash <(curl -s https://codecov.io/bash) -X xcode -X coveragepy
cur-cov-2:
- name: "cur-cov-2 (8.0)"
+ name: "cur-cov-2 (8.2)"
env:
CFLAGS: "-O0 -g --coverage"
CXXFLAGS: "-O0 -g --coverage"
- PHP: "8.0"
+ PHP: "8.2"
enable_iconv: "yes"
with_http_libicu_dir: "no"
with_http_libidn_dir: "no"
with_http_libidn2_dir: "yes"
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-22.04
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
with:
submodules: true
+ - name: Info
+ run: |
+ locale -a && locale
- name: Install
run: |
sudo apt-get install -y \
php-cli \
php-pear \
libcurl4-openssl-dev \
- libidn11-dev \
+ libidn-dev \
libidn2-0-dev \
libicu-dev \
libevent-dev \
name: curl-master
continue-on-error: true
env:
- PHP: "8.0"
+ PHP: "8.2"
CURL: "master"
enable_debug: "yes"
enable_iconv: "yes"
with_http_libcurl_dir: "/opt"
- runs-on: ubuntu-18.04
+ runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
with:
path: curl
- name: Install
run: |
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \
+ echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy main' | sudo tee -a /etc/apt/sources.list && \
+ echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy-updates main' | sudo tee -a /etc/apt/sources.list && \
sudo apt-get update -y && \
sudo apt-get build-dep -y libcurl4-openssl-dev && \
sudo apt-get install -y \
sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool
cd curl
./buildconf
- ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2
+ ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 --disable-ldap
make -j2
make install
- name: Prepare
cd http
make -f scripts/ci/Makefile test
- curl-7_81_0:
- name: curl-7_81_0
- continue-on-error: true
- env:
- PHP: "8.0"
- CURL: "7_81_0"
- enable_debug: "yes"
- enable_iconv: "yes"
- with_http_libcurl_dir: "/opt"
- runs-on: ubuntu-18.04
- steps:
- - uses: actions/checkout@v2
- with:
- submodules: true
- path: http
- - uses: actions/checkout@v2
- with:
- repository: curl/curl
- path: curl
- ref: curl-7_81_0 #
- - name: Install
- run: |
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \
- sudo apt-get update -y && \
- sudo apt-get build-dep -y libcurl4-openssl-dev && \
- sudo apt-get install -y \
- php-cli \
- php-pear \
- libidn11-dev \
- libidn2-0-dev \
- libicu-dev \
- libevent-dev \
- libbrotli-dev \
- re2c
- - name: Curl
- run: |
- sudo chmod +x /usr/share/libtool/build-aux/ltmain.sh
- sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool
- cd curl
- ./buildconf
- ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2
- make -j2
- make install
- - name: Prepare
- run: |
- cd http
- make -f scripts/ci/Makefile php || make -f scripts/ci/Makefile clean php
- make -f scripts/ci/Makefile pecl PECL=m6w6/ext-raphf.git:raphf:master
- - name: Build
- run: |
- cd http
- make -f scripts/ci/Makefile ext PECL=http
- - name: Test
- run: |
- cd http
- make -f scripts/ci/Makefile test
-
- curl-7_80_0:
- name: curl-7_80_0
- continue-on-error: true
- env:
- PHP: "8.0"
- CURL: "7_80_0"
- enable_debug: "yes"
- enable_iconv: "yes"
- with_http_libcurl_dir: "/opt"
- runs-on: ubuntu-18.04
- steps:
- - uses: actions/checkout@v2
- with:
- submodules: true
- path: http
- - uses: actions/checkout@v2
- with:
- repository: curl/curl
- path: curl
- ref: curl-7_80_0 #
- - name: Install
- run: |
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \
- sudo apt-get update -y && \
- sudo apt-get build-dep -y libcurl4-openssl-dev && \
- sudo apt-get install -y \
- php-cli \
- php-pear \
- libidn11-dev \
- libidn2-0-dev \
- libicu-dev \
- libevent-dev \
- libbrotli-dev \
- re2c
- - name: Curl
- run: |
- sudo chmod +x /usr/share/libtool/build-aux/ltmain.sh
- sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool
- cd curl
- ./buildconf
- ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2
- make -j2
- make install
- - name: Prepare
- run: |
- cd http
- make -f scripts/ci/Makefile php || make -f scripts/ci/Makefile clean php
- make -f scripts/ci/Makefile pecl PECL=m6w6/ext-raphf.git:raphf:master
- - name: Build
- run: |
- cd http
- make -f scripts/ci/Makefile ext PECL=http
- - name: Test
- run: |
- cd http
- make -f scripts/ci/Makefile test
-
- curl-7_79_1:
- name: curl-7_79_1
+ curl-8_1_1:
+ name: curl-8_1_1
continue-on-error: true
env:
- PHP: "8.0"
- CURL: "7_79_1"
+ PHP: "8.2"
+ CURL: "8_1_1"
enable_debug: "yes"
enable_iconv: "yes"
with_http_libcurl_dir: "/opt"
- runs-on: ubuntu-18.04
+ runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
with:
with:
repository: curl/curl
path: curl
- ref: curl-7_79_1 #
+ ref: curl-8_1_1 #
- name: Install
run: |
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \
+ echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy main' | sudo tee -a /etc/apt/sources.list && \
+ echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy-updates main' | sudo tee -a /etc/apt/sources.list && \
sudo apt-get update -y && \
sudo apt-get build-dep -y libcurl4-openssl-dev && \
sudo apt-get install -y \
sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool
cd curl
./buildconf
- ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2
+ ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 --disable-ldap
make -j2
make install
- name: Prepare
cd http
make -f scripts/ci/Makefile test
- curl-7_78_0:
- name: curl-7_78_0
+ curl-8_0_1:
+ name: curl-8_0_1
continue-on-error: true
env:
- PHP: "8.0"
- CURL: "7_78_0"
+ PHP: "8.2"
+ CURL: "8_0_1"
enable_debug: "yes"
enable_iconv: "yes"
with_http_libcurl_dir: "/opt"
- runs-on: ubuntu-18.04
+ runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
with:
with:
repository: curl/curl
path: curl
- ref: curl-7_78_0 #
+ ref: curl-8_0_1 #
- name: Install
run: |
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \
+ echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy main' | sudo tee -a /etc/apt/sources.list && \
+ echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy-updates main' | sudo tee -a /etc/apt/sources.list && \
sudo apt-get update -y && \
sudo apt-get build-dep -y libcurl4-openssl-dev && \
sudo apt-get install -y \
sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool
cd curl
./buildconf
- ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2
+ ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 --disable-ldap
make -j2
make install
- name: Prepare
cd http
make -f scripts/ci/Makefile test
- curl-7_76_1:
- name: curl-7_76_1
+ curl-7_88_1:
+ name: curl-7_88_1
continue-on-error: true
env:
- PHP: "8.0"
- CURL: "7_76_1"
+ PHP: "8.2"
+ CURL: "7_88_1"
enable_debug: "yes"
enable_iconv: "yes"
with_http_libcurl_dir: "/opt"
- runs-on: ubuntu-18.04
+ runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
with:
with:
repository: curl/curl
path: curl
- ref: curl-7_76_1 #
+ ref: curl-7_88_1 #
- name: Install
run: |
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \
+ echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy main' | sudo tee -a /etc/apt/sources.list && \
+ echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy-updates main' | sudo tee -a /etc/apt/sources.list && \
sudo apt-get update -y && \
sudo apt-get build-dep -y libcurl4-openssl-dev && \
sudo apt-get install -y \
sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool
cd curl
./buildconf
- ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2
+ ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 --disable-ldap
make -j2
make install
- name: Prepare
cd http
make -f scripts/ci/Makefile test
- curl-7_74_0:
- name: curl-7_74_0
+ curl-7_87_0:
+ name: curl-7_87_0
continue-on-error: true
env:
- PHP: "8.0"
- CURL: "7_74_0"
+ PHP: "8.2"
+ CURL: "7_87_0"
enable_debug: "yes"
enable_iconv: "yes"
with_http_libcurl_dir: "/opt"
- runs-on: ubuntu-18.04
+ runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
with:
with:
repository: curl/curl
path: curl
- ref: curl-7_74_0 #
+ ref: curl-7_87_0 #
- name: Install
run: |
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \
+ echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy main' | sudo tee -a /etc/apt/sources.list && \
+ echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy-updates main' | sudo tee -a /etc/apt/sources.list && \
sudo apt-get update -y && \
sudo apt-get build-dep -y libcurl4-openssl-dev && \
sudo apt-get install -y \
sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool
cd curl
./buildconf
- ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2
+ ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 --disable-ldap
make -j2
make install
- name: Prepare
cd http
make -f scripts/ci/Makefile test
- curl-7_71_1:
- name: curl-7_71_1
+ curl-7_85_0:
+ name: curl-7_85_0
continue-on-error: true
env:
- PHP: "8.0"
- CURL: "7_71_1"
+ PHP: "8.2"
+ CURL: "7_85_0"
enable_debug: "yes"
enable_iconv: "yes"
with_http_libcurl_dir: "/opt"
- runs-on: ubuntu-18.04
+ runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
with:
with:
repository: curl/curl
path: curl
- ref: curl-7_71_1 #
+ ref: curl-7_85_0 #
- name: Install
run: |
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \
+ echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy main' | sudo tee -a /etc/apt/sources.list && \
+ echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy-updates main' | sudo tee -a /etc/apt/sources.list && \
sudo apt-get update -y && \
sudo apt-get build-dep -y libcurl4-openssl-dev && \
sudo apt-get install -y \
sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool
cd curl
./buildconf
- ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2
+ ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 --disable-ldap
make -j2
make install
- name: Prepare
cd http
make -f scripts/ci/Makefile test
- curl-7_68_0:
- name: curl-7_68_0
+ curl-7_81_0:
+ name: curl-7_81_0
continue-on-error: true
env:
- PHP: "8.0"
- CURL: "7_68_0"
+ PHP: "8.2"
+ CURL: "7_81_0"
enable_debug: "yes"
enable_iconv: "yes"
with_http_libcurl_dir: "/opt"
- runs-on: ubuntu-18.04
+ runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
with:
with:
repository: curl/curl
path: curl
- ref: curl-7_68_0 #
+ ref: curl-7_81_0 #
- name: Install
run: |
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \
+ echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy main' | sudo tee -a /etc/apt/sources.list && \
+ echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy-updates main' | sudo tee -a /etc/apt/sources.list && \
sudo apt-get update -y && \
sudo apt-get build-dep -y libcurl4-openssl-dev && \
sudo apt-get install -y \
sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool
cd curl
./buildconf
- ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2
+ ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 --disable-ldap
make -j2
make install
- name: Prepare
cd http
make -f scripts/ci/Makefile test
- curl-7_67_0:
- name: curl-7_67_0
+ curl-7_78_0:
+ name: curl-7_78_0
continue-on-error: true
env:
- PHP: "8.0"
- CURL: "7_67_0"
+ PHP: "8.2"
+ CURL: "7_78_0"
enable_debug: "yes"
enable_iconv: "yes"
with_http_libcurl_dir: "/opt"
- runs-on: ubuntu-18.04
+ runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
with:
with:
repository: curl/curl
path: curl
- ref: curl-7_67_0 #
+ ref: curl-7_78_0 #
- name: Install
run: |
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \
+ echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy main' | sudo tee -a /etc/apt/sources.list && \
+ echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy-updates main' | sudo tee -a /etc/apt/sources.list && \
sudo apt-get update -y && \
sudo apt-get build-dep -y libcurl4-openssl-dev && \
sudo apt-get install -y \
sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool
cd curl
./buildconf
- ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2
+ ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 --disable-ldap
make -j2
make install
- name: Prepare
cd http
make -f scripts/ci/Makefile test
- curl-7_64_0:
- name: curl-7_64_0
+ curl-7_74_0:
+ name: curl-7_74_0
continue-on-error: true
env:
- PHP: "8.0"
- CURL: "7_64_0"
+ PHP: "8.2"
+ CURL: "7_74_0"
enable_debug: "yes"
enable_iconv: "yes"
with_http_libcurl_dir: "/opt"
- runs-on: ubuntu-18.04
+ runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
with:
with:
repository: curl/curl
path: curl
- ref: curl-7_64_0 #
+ ref: curl-7_74_0 #
- name: Install
run: |
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \
+ echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy main' | sudo tee -a /etc/apt/sources.list && \
+ echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy-updates main' | sudo tee -a /etc/apt/sources.list && \
sudo apt-get update -y && \
sudo apt-get build-dep -y libcurl4-openssl-dev && \
sudo apt-get install -y \
sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool
cd curl
./buildconf
- ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2
+ ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 --disable-ldap
make -j2
make install
- name: Prepare
name: curl-7_61_1
continue-on-error: true
env:
- PHP: "8.0"
+ PHP: "8.2"
CURL: "7_61_1"
enable_debug: "yes"
enable_iconv: "yes"
with_http_libcurl_dir: "/opt"
- runs-on: ubuntu-18.04
+ runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
with:
ref: curl-7_61_1 #
- name: Install
run: |
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \
- sudo apt-get update -y && \
- sudo apt-get build-dep -y libcurl4-openssl-dev && \
- sudo apt-get install -y \
- php-cli \
- php-pear \
- libidn11-dev \
- libidn2-0-dev \
- libicu-dev \
- libevent-dev \
- libbrotli-dev \
- re2c
- - name: Curl
- run: |
- sudo chmod +x /usr/share/libtool/build-aux/ltmain.sh
- sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool
- cd curl
- ./buildconf
- ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2
- make -j2
- make install
- - name: Prepare
- run: |
- cd http
- make -f scripts/ci/Makefile php || make -f scripts/ci/Makefile clean php
- make -f scripts/ci/Makefile pecl PECL=m6w6/ext-raphf.git:raphf:master
- - name: Build
- run: |
- cd http
- make -f scripts/ci/Makefile ext PECL=http
- - name: Test
- run: |
- cd http
- make -f scripts/ci/Makefile test
-
- curl-7_58_0:
- name: curl-7_58_0
- continue-on-error: true
- env:
- PHP: "8.0"
- CURL: "7_58_0"
- enable_debug: "yes"
- enable_iconv: "yes"
- with_http_libcurl_dir: "/opt"
- runs-on: ubuntu-18.04
- steps:
- - uses: actions/checkout@v2
- with:
- submodules: true
- path: http
- - uses: actions/checkout@v2
- with:
- repository: curl/curl
- path: curl
- ref: curl-7_58_0 #
- - name: Install
- run: |
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \
- sudo apt-get update -y && \
- sudo apt-get build-dep -y libcurl4-openssl-dev && \
- sudo apt-get install -y \
- php-cli \
- php-pear \
- libidn11-dev \
- libidn2-0-dev \
- libicu-dev \
- libevent-dev \
- libbrotli-dev \
- re2c
- - name: Curl
- run: |
- sudo chmod +x /usr/share/libtool/build-aux/ltmain.sh
- sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool
- cd curl
- ./buildconf
- ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2
- make -j2
- make install
- - name: Prepare
- run: |
- cd http
- make -f scripts/ci/Makefile php || make -f scripts/ci/Makefile clean php
- make -f scripts/ci/Makefile pecl PECL=m6w6/ext-raphf.git:raphf:master
- - name: Build
- run: |
- cd http
- make -f scripts/ci/Makefile ext PECL=http
- - name: Test
- run: |
- cd http
- make -f scripts/ci/Makefile test
-
- curl-7_52_1:
- name: curl-7_52_1
- continue-on-error: true
- env:
- PHP: "8.0"
- CURL: "7_52_1"
- enable_debug: "yes"
- enable_iconv: "yes"
- with_http_libcurl_dir: "/opt"
- runs-on: ubuntu-18.04
- steps:
- - uses: actions/checkout@v2
- with:
- submodules: true
- path: http
- - uses: actions/checkout@v2
- with:
- repository: curl/curl
- path: curl
- ref: curl-7_52_1 #
- - name: Install
- run: |
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \
+ echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy main' | sudo tee -a /etc/apt/sources.list && \
+ echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy-updates main' | sudo tee -a /etc/apt/sources.list && \
sudo apt-get update -y && \
sudo apt-get build-dep -y libcurl4-openssl-dev && \
sudo apt-get install -y \
sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool
cd curl
./buildconf
- ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2
+ ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 --disable-ldap
make -j2
make install
- name: Prepare
name: curl-7_49_1
continue-on-error: true
env:
- PHP: "8.0"
+ PHP: "8.2"
CURL: "7_49_1"
enable_debug: "yes"
enable_iconv: "yes"
with_http_libcurl_dir: "/opt"
- runs-on: ubuntu-18.04
+ runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
with:
ref: curl-7_49_1 #
- name: Install
run: |
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \
+ echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy main' | sudo tee -a /etc/apt/sources.list && \
+ echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy-updates main' | sudo tee -a /etc/apt/sources.list && \
sudo apt-get update -y && \
sudo apt-get build-dep -y libcurl4-openssl-dev && \
sudo apt-get install -y \
sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool
cd curl
./buildconf
- ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2
+ ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 --disable-ldap
make -j2
make install
- name: Prepare
name: curl-7_31_0
continue-on-error: true
env:
- PHP: "8.0"
+ PHP: "8.2"
CURL: "7_31_0"
enable_debug: "yes"
enable_iconv: "yes"
with_http_libcurl_dir: "/opt"
- runs-on: ubuntu-18.04
+ runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
with:
ref: curl-7_31_0 #
- name: Install
run: |
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \
+ echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy main' | sudo tee -a /etc/apt/sources.list && \
+ echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy-updates main' | sudo tee -a /etc/apt/sources.list && \
sudo apt-get update -y && \
sudo apt-get build-dep -y libcurl4-openssl-dev && \
sudo apt-get install -y \
sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool
cd curl
./buildconf
- ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2
+ ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 --disable-ldap
make -j2
make install
- name: Prepare
name: curl-7_20_1
continue-on-error: true
env:
- PHP: "8.0"
+ PHP: "8.2"
CURL: "7_20_1"
enable_debug: "yes"
enable_iconv: "yes"
with_http_libcurl_dir: "/opt"
- runs-on: ubuntu-18.04
+ runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
with:
ref: curl-7_20_1 #
- name: Install
run: |
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \
+ echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy main' | sudo tee -a /etc/apt/sources.list && \
+ echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy-updates main' | sudo tee -a /etc/apt/sources.list && \
sudo apt-get update -y && \
sudo apt-get build-dep -y libcurl4-openssl-dev && \
sudo apt-get install -y \
sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool
cd curl
./buildconf
- ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2
+ ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 --disable-ldap
make -j2
make install
- name: Prepare
name: curl-7_19_7
continue-on-error: true
env:
- PHP: "8.0"
+ PHP: "8.2"
CURL: "7_19_7"
enable_debug: "yes"
enable_iconv: "yes"
with_http_libcurl_dir: "/opt"
- runs-on: ubuntu-18.04
+ runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
with:
ref: curl-7_19_7 #
- name: Install
run: |
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \
+ echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy main' | sudo tee -a /etc/apt/sources.list && \
+ echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy-updates main' | sudo tee -a /etc/apt/sources.list && \
sudo apt-get update -y && \
sudo apt-get build-dep -y libcurl4-openssl-dev && \
sudo apt-get install -y \
sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool
cd curl
./buildconf
- ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2
+ ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 --disable-ldap
make -j2
make install
- name: Prepare
name: curl-7_18_2
continue-on-error: true
env:
- PHP: "8.0"
+ PHP: "8.2"
CURL: "7_18_2"
enable_debug: "yes"
enable_iconv: "yes"
with_http_libcurl_dir: "/opt"
- runs-on: ubuntu-18.04
+ runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
with:
ref: curl-7_18_2 #
- name: Install
run: |
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \
+ echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy main' | sudo tee -a /etc/apt/sources.list && \
+ echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy-updates main' | sudo tee -a /etc/apt/sources.list && \
sudo apt-get update -y && \
sudo apt-get build-dep -y libcurl4-openssl-dev && \
sudo apt-get install -y \
sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool
cd curl
./buildconf
- ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2
+ ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 --disable-ldap
make -j2
make install
- name: Prepare
/tests/helper/server.log
*gcov
*lcov
+.vscode
============
Windows:
- If you keep getting "SSL connect error" when trying to issue
+ If you keep getting "SSL connect error" when trying to issue
requests, try another (newer) libeay32.dll/ssleay32.dll pair.
Internals:
Inflating raw deflated data causes a re-initialization of the inflate
stream where the corresponding window bits are modified to tell libz
to not check for zlib header bytes. This is not preventable AFAICS.
- LFS dependant parts of libcurl are left out because of off_t,
- respectively off64_t confusion.
Persistent handles and "cookiestore" request option do interfere,
as libcurl saves the cookies to the file on curl_easy_destroy(),
cookies are not saved until the CURL handle will be recycled.
# ChangeLog v4
+## 4.2.5, 2024-02-05
+
+* Fix incompatible pointer types (32-bit) (see gh issue #134)
+* Fix glitch in CURL_VERSION_TLSAUTH_SRP autoconf probe (see gh issue #133)
+
+## 4.2.4, 2023-10-02
+
+* Fix Error using ssl array in options : Could not set option tlsauthtype
+ (see gh issue #131)
+* Fix arginfo wargnings of the internal curl client user handler
+* Disable libidn support for v1.36-v1.38 due to broken locale detection
+
+## 4.2.3, 2022-06-10
+
+* Fix http\Client::requeue() not updating response callback
+
## 4.2.2, 2022-02-25
* Fixed gh-issue #123: Segfault with libcurl 7.81
* Fixed failing tests with PHP-8.1 (see gh issue #120)
* Fixed configure reliably finding the right libcurl features available
-* Fixed cookie handling with libcurl 7.77+ and consistently across all
+* Fixed cookie handling with libcurl 7.77+ and consistently across all
supported libcurl versions (follow-up to gh issue #116)
## 4.2.0, 2021-08-30
* http\Client\Curl\Versions\NGHTTP2
* http\Client\Curl\Versions\QUIC
* http\Client\Curl\Versions\ZSTD
-
+
## 4.0.0, 2021-01-13
Changes from beta1:
## 4.0.0beta1, 2020-09-23
* PHP 8 compatibility
- - Drop ext-propro support:
+ - Drop ext-propro support:
PHP 8 removes the object get/set API from the ZendEngine, which renders
that extension dysfunctional. As a consequence, the header property of
http\Message and derived classes cannot be modified in place, and thus
;;
esac
- PECL_HAVE_CONST([curl/curl.h], [CURLOPT_TLSAUTH_TYPE], int, [
- AC_CACHE_CHECK([whether CURLOPT_TLSAUTH_TYPE expects CURL_TLSAUTH_SRP], PECL_CACHE_VAR([LIBCURL_TLSAUTH_SRP]), [
- PECL_CACHE_VAR([LIBCURL_TLSAUTH_SRP])=
+ PECL_HAVE_CONST([curl/curl.h], [CURL_VERSION_TLSAUTH_SRP], int, [
+ AC_CACHE_CHECK([for CURLOPT_TLSAUTH_TYPE SRP support], PECL_CACHE_VAR([LIBCURL_TLSAUTH_SRP]), [
+ PECL_CACHE_VAR([LIBCURL_TLSAUTH_SRP])=no
AC_TRY_RUN([
#include <curl/curl.h>
int main(int argc, char *argv[]) {
- CURL *ch = curl_easy_init();
- return curl_easy_setopt(ch, CURLOPT_TLSAUTH_TYPE, CURL_TLSAUTH_SRP);
+ int has_feature = curl_version_info(CURLVERSION_NOW)->features & CURL_VERSION_TLSAUTH_SRP;
+ int set_failure = curl_easy_setopt(curl_easy_init(), CURLOPT_TLSAUTH_TYPE, "SRP");
+ return !has_feature || set_failure;
}
], [
PECL_CACHE_VAR([LIBCURL_TLSAUTH_SRP])=yes
- ], [
- AC_TRY_RUN([
- #include <curl/curl.h>
- int main(int argc, char *argv[]) {
- CURL *ch = curl_easy_init();
- return curl_easy_setopt(ch, CURLOPT_TLSAUTH_TYPE, "SRP");
- }
- ], [
- PECL_CACHE_VAR([LIBCURL_TLSAUTH_SRP])=no
- ])
])
])
- if test -n "$PECL_CACHE_VAR([LIBCURL_TLSAUTH_SRP])"; then
+ if test "$PECL_CACHE_VAR([LIBCURL_TLSAUTH_SRP])" = "yes"; then
PECL_DEFINE([HAVE_LIBCURL_TLSAUTH_TYPE])
- if $PECL_CACHE_VAR([LIBCURL_TLSAUTH_SRP]); then
- PECL_DEFINE([LIBCURL_TLSAUTH_SRP], [CURL_TLSAUTH_SRP])
- PECL_DEFINE([LIBCURL_TLSAUTH_DEF], [CURL_TLSAUTH_NONE])
- else
- PECL_DEFINE([LIBCURL_TLSAUTH_SRP], ["SRP"])
- PECL_DEFINE([LIBCURL_TLSAUTH_DEF], [""])
- fi
fi
])
LDFLAGS="$LDFLAGS -L$PECL_CACHE_VAR([$1_prefix])/$PHP_LIBDIR"
LIBS="$LIBS -l$4"
dnl PECL_EVAL_LIBLINE([$LDFLAGS $LIBS])
-
+
AC_CACHE_VAL(PECL_CACHE_VAR([$1_version]), [
pushd $PECL_CACHE_VAR([$1_prefix]) >/dev/null
PECL_CACHE_VAR([$1_version])=$5
if test -n "$PECL_CHECKED_VERSION([$1])"; then
PECL_VAR([HAVE_$1])=true
- PECL_DEFINE([HAVE_$1])
PECL_DEFINE_UQ($1[_VERSION], "$PECL_CHECKED_VERSION([$1])")
else
PECL_VAR([HAVE_$1])=false
if test -n "$PECL_CHECKED_VERSION([$1])"; then
PECL_VAR([HAVE_$1])=true
- PECL_DEFINE([HAVE_$1])
PECL_DEFINE_UQ([$1_VERSION], "$PECL_CHECKED_VERSION([$1])")
else
PECL_VAR([HAVE_$1])=false
AC_CHECK_LIB(nsl, getdomainname)
])
AC_CHECK_FUNCS(mbrtowc mbtowc iswalnum inet_pton)
-
+
CFLAGS="$CFLAGS -Wno-strict-prototypes"
dnl ZLIB
if test "$PHP_HTTP_LIBIDN_DIR" != "no"; then
PECL_CHECK_PKGCONFIG(libidn, [$PHP_HTTP_LIBIDN_DIR])
if $PECL_VAR([HAVE_LIBIDN]); then
- PECL_DEFINE([HAVE_IDNA2003])
+ PECL_HAVE_VERSION(libidn, 1.36, [
+ PECL_HAVE_VERSION(libidn, 1.39, [
+ PECL_DEFINE([HAVE_IDNA2003])
+ ], [
+ PECL_VAR([HAVE_LIBIDN])=false
+ AC_MSG_WARN([libidn locale detection broken; disabling libidn support])
+ ])
+ ], [
+ PECL_DEFINE([HAVE_IDNA2003])
+ ])
fi
PECL_CHECK_DONE(libidn, $PECL_VAR([HAVE_LIBIDN]))
fi
<email>mike@php.net</email>
<active>yes</active>
</lead>
- <date>2022-02-25</date>
+ <date>2024-02-05</date>
<version>
- <release>4.2.2</release>
+ <release>4.2.5</release>
<api>4.2.0</api>
</version>
<stability>
</stability>
<license uri="http://copyfree.org/content/standard/licenses/2bsd/license.txt">BSD-2-Clause</license>
<notes><![CDATA[
- * Fixed gh-issue #123: Segfault with libcurl 7.81
+* Fix incompatible pointer types (32-bit) (see gh issue #134)
+* Fix glitch in CURL_VERSION_TLSAUTH_SRP autoconf probe (see gh issue #133)
]]></notes>
<contents>
<dir name="/">
#ifndef PHP_EXT_HTTP_H
#define PHP_EXT_HTTP_H
-#define PHP_PECL_HTTP_VERSION "4.2.2"
+#define PHP_PECL_HTTP_VERSION "4.2.5"
extern zend_module_entry http_module_entry;
#define phpext_http_ptr &http_module_entry
extern int http_module_number;
-#endif /* PHP_EXT_HTTP_H */
+#endif /* PHP_EXT_HTTP_H */
/*
* Local variables:
-# current is 7.81.0 ATM
+# current is 8.1.1 ATM
# 7.21.5-7.29.0 fail to configure on gh actions
-alpine: 7.78.0 7.67.0
+alpine: 8.1.1 7.78.0
centos: 7.61.1 # 7.29.0
-debian: 7.74.0 7.64.0 7.52.1
-fedora: 7.78.0 7.76.1 7.71.1
+debian: 7.88.1 7.74.0
+fedora: 7.87.0 7.85.0
other: 7.49.1 7.31.0
-ubuntu: 7.74.0 7.68.0 7.58.0
+ubuntu: 7.81.0 7.74.0
# always test against a few recent
-latest: master 7.81.0 7.80.0 7.79.1
+latest: master 8.1.1 8.0.1 7.88.1 7.81.0
# and a couple ancient
oldest: 7.18.2 7.19.7 7.20.1
'RETRY_AFTER' => 'PHP_HTTP_CURL_VERSION(7,66,0)',
'EFFECTIVE_METHOD' => 'PHP_HTTP_CURL_VERSION(7,72,0)',
'PROXY_ERROR' => 'PHP_HTTP_CURL_VERSION(7,73,0)',
+ 'REFERER' => 'PHP_HTTP_CURL_VERSION(7,76,0)',
+ 'CAINFO' => 'PHP_HTTP_CURL_VERSION(7,84,0)',
+ 'CAPATH' => 'PHP_HTTP_CURL_VERSION(7,84,0)',
);
$exclude = array(
'ACTIVESOCKET',
',
);
-$infos = file_re('curl.h', '/^\s*(CURLINFO_(\w+))\s*=\s*CURLINFO_(STRING|LONG|DOUBLE|SLIST|OFF_T)\s*\+\s*\d+\s*,?\s*$/m');
-
+$infos = file_re('curl.h', '/\s*(CURLINFO_(\w+))\s*(?:CURL_DEPRECATED\(\d+\.\d+\.\d+,\s*"[\w _-]+"\))?\s*=\s*CURLINFO_(STRING|LONG|DOUBLE|SLIST|OFF_T)\s*\+\s*\d+\s*,?\s*/m');
+var_dump($infos);
ob_start();
foreach ($infos as $info) {
list(, $full, $short, $type) = $info;
- if (in_array($short, $exclude) || substr($short, -2) === "_T") continue;
+ if (in_array($short, $exclude)) continue;
if (isset($ifdefs[$short])) printf("#if %s\n", $ifdefs[$short]);
printf($templates[$type], $full, strtolower((isset($translate[$short])) ? $translate[$short] : $short));
if (isset($ifdefs[$short])) printf("#endif\n");
<?php
$gen = include __DIR__ . "/ci/gen-matrix.php";
-$cur = "8.0";
+$cur = "8.2";
$job = $gen->github([
"next" => [
-// most useful for all additional versions except current
- "PHP" => ["8.1", "master"],
+ "PHP" => ["master"],
"enable_debug" => "yes",
"enable_zts" => "yes",
"enable_iconv" => "yes",
"TEST_PHP_ARGS" => "-d error_reporting=24575" // ignore E_DEPRECATED
],
+"old" => [
+ "PHP" => ["8.1", "8.0"],
+ "enable_debug" => "yes",
+ "enable_zts" => "yes",
+ "enable_iconv" => "yes",
+],
"cur-none" => [
// everything disabled for current
"PHP" => $cur,
printf(" %s: \"%s\"\n", $key, $val);
}
?>
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-22.04
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
with:
submodules: true
+ - name: Info
+ run: |
+ locale -a && locale
- name: Install
run: |
sudo apt-get install -y \
php-cli \
php-pear \
libcurl4-openssl-dev \
- libidn11-dev \
+ libidn-dev \
libidn2-0-dev \
libicu-dev \
libevent-dev \
$gen = include __DIR__ . "/ci/gen-matrix.php";
$job = $gen->github([
"curl" => [
- "PHP" => "8.0",
+ "PHP" => "8.2",
"CURL" => $curlver,
"enable_debug" => "yes",
"enable_iconv" => "yes",
printf(" %s: \"%s\"\n", $key, $val);
}
?>
- runs-on: ubuntu-18.04
+ runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
with:
<?php endif; ?>
- name: Install
run: |
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic main' | sudo tee -a /etc/apt/sources.list && \
- echo 'deb-src http://azure.archive.ubuntu.com/ubuntu bionic-updates main' | sudo tee -a /etc/apt/sources.list && \
+ echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy main' | sudo tee -a /etc/apt/sources.list && \
+ echo 'deb-src http://azure.archive.ubuntu.com/ubuntu jammy-updates main' | sudo tee -a /etc/apt/sources.list && \
sudo apt-get update -y && \
sudo apt-get build-dep -y libcurl4-openssl-dev && \
sudo apt-get install -y \
sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/bin/libtool
cd curl
./buildconf
- ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2
+ ./configure --prefix=/opt --disable-dependency-tracking --with-ssl --with-openssl --without-libssh2 --disable-ldap
make -j2
make install
- name: Prepare
if (fci.object) {
GC_ADDREF(fci.object);
}
+ e->closure.fci = fci;
+ e->closure.fcc = fcc;
}
RETURN_ZVAL(getThis(), 1, 0);
}
ZVAL_DOUBLE(&tmp, d);
zend_hash_str_update(info, "size_upload", lenof("size_upload"), &tmp);
}
+ if (CURLE_OK == curl_easy_getinfo(ch, CURLINFO_SIZE_UPLOAD_T, &o)) {
+ ZVAL_LONG(&tmp, o);
+ zend_hash_str_update(info, "size_upload_t", lenof("size_upload_t"), &tmp);
+ }
if (CURLE_OK == curl_easy_getinfo(ch, CURLINFO_SIZE_DOWNLOAD, &d)) {
ZVAL_DOUBLE(&tmp, d);
zend_hash_str_update(info, "size_download", lenof("size_download"), &tmp);
}
+ if (CURLE_OK == curl_easy_getinfo(ch, CURLINFO_SIZE_DOWNLOAD_T, &o)) {
+ ZVAL_LONG(&tmp, o);
+ zend_hash_str_update(info, "size_download_t", lenof("size_download_t"), &tmp);
+ }
if (CURLE_OK == curl_easy_getinfo(ch, CURLINFO_SPEED_DOWNLOAD, &d)) {
ZVAL_DOUBLE(&tmp, d);
zend_hash_str_update(info, "speed_download", lenof("speed_download"), &tmp);
}
+ if (CURLE_OK == curl_easy_getinfo(ch, CURLINFO_SPEED_DOWNLOAD_T, &o)) {
+ ZVAL_LONG(&tmp, o);
+ zend_hash_str_update(info, "speed_download_t", lenof("speed_download_t"), &tmp);
+ }
if (CURLE_OK == curl_easy_getinfo(ch, CURLINFO_SPEED_UPLOAD, &d)) {
ZVAL_DOUBLE(&tmp, d);
zend_hash_str_update(info, "speed_upload", lenof("speed_upload"), &tmp);
}
+ if (CURLE_OK == curl_easy_getinfo(ch, CURLINFO_SPEED_UPLOAD_T, &o)) {
+ ZVAL_LONG(&tmp, o);
+ zend_hash_str_update(info, "speed_upload_t", lenof("speed_upload_t"), &tmp);
+ }
if (CURLE_OK == curl_easy_getinfo(ch, CURLINFO_HEADER_SIZE, &l)) {
ZVAL_LONG(&tmp, l);
zend_hash_str_update(info, "header_size", lenof("header_size"), &tmp);
ZVAL_LONG(&tmp, l);
zend_hash_str_update(info, "filetime", lenof("filetime"), &tmp);
}
+ if (CURLE_OK == curl_easy_getinfo(ch, CURLINFO_FILETIME_T, &o)) {
+ ZVAL_LONG(&tmp, o);
+ zend_hash_str_update(info, "filetime_t", lenof("filetime_t"), &tmp);
+ }
if (CURLE_OK == curl_easy_getinfo(ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD, &d)) {
ZVAL_DOUBLE(&tmp, d);
zend_hash_str_update(info, "content_length_download", lenof("content_length_download"), &tmp);
}
+ if (CURLE_OK == curl_easy_getinfo(ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD_T, &o)) {
+ ZVAL_LONG(&tmp, o);
+ zend_hash_str_update(info, "content_length_download_t", lenof("content_length_download_t"), &tmp);
+ }
if (CURLE_OK == curl_easy_getinfo(ch, CURLINFO_CONTENT_LENGTH_UPLOAD, &d)) {
ZVAL_DOUBLE(&tmp, d);
zend_hash_str_update(info, "content_length_upload", lenof("content_length_upload"), &tmp);
}
+ if (CURLE_OK == curl_easy_getinfo(ch, CURLINFO_CONTENT_LENGTH_UPLOAD_T, &o)) {
+ ZVAL_LONG(&tmp, o);
+ zend_hash_str_update(info, "content_length_upload_t", lenof("content_length_upload_t"), &tmp);
+ }
if (CURLE_OK == curl_easy_getinfo(ch, CURLINFO_STARTTRANSFER_TIME, &d)) {
ZVAL_DOUBLE(&tmp, d);
zend_hash_str_update(info, "starttransfer_time", lenof("starttransfer_time"), &tmp);
zend_hash_str_update(info, "scheme", lenof("scheme"), &tmp);
}
#endif
+ if (CURLE_OK == curl_easy_getinfo(ch, CURLINFO_TOTAL_TIME_T, &o)) {
+ ZVAL_LONG(&tmp, o);
+ zend_hash_str_update(info, "total_time_t", lenof("total_time_t"), &tmp);
+ }
+ if (CURLE_OK == curl_easy_getinfo(ch, CURLINFO_NAMELOOKUP_TIME_T, &o)) {
+ ZVAL_LONG(&tmp, o);
+ zend_hash_str_update(info, "namelookup_time_t", lenof("namelookup_time_t"), &tmp);
+ }
+ if (CURLE_OK == curl_easy_getinfo(ch, CURLINFO_CONNECT_TIME_T, &o)) {
+ ZVAL_LONG(&tmp, o);
+ zend_hash_str_update(info, "connect_time_t", lenof("connect_time_t"), &tmp);
+ }
+ if (CURLE_OK == curl_easy_getinfo(ch, CURLINFO_PRETRANSFER_TIME_T, &o)) {
+ ZVAL_LONG(&tmp, o);
+ zend_hash_str_update(info, "pretransfer_time_t", lenof("pretransfer_time_t"), &tmp);
+ }
+ if (CURLE_OK == curl_easy_getinfo(ch, CURLINFO_STARTTRANSFER_TIME_T, &o)) {
+ ZVAL_LONG(&tmp, o);
+ zend_hash_str_update(info, "starttransfer_time_t", lenof("starttransfer_time_t"), &tmp);
+ }
+ if (CURLE_OK == curl_easy_getinfo(ch, CURLINFO_REDIRECT_TIME_T, &o)) {
+ ZVAL_LONG(&tmp, o);
+ zend_hash_str_update(info, "redirect_time_t", lenof("redirect_time_t"), &tmp);
+ }
+ if (CURLE_OK == curl_easy_getinfo(ch, CURLINFO_APPCONNECT_TIME_T, &o)) {
+ ZVAL_LONG(&tmp, o);
+ zend_hash_str_update(info, "appconnect_time_t", lenof("appconnect_time_t"), &tmp);
+ }
#if PHP_HTTP_CURL_VERSION(7,66,0)
if (CURLE_OK == curl_easy_getinfo(ch, CURLINFO_RETRY_AFTER, &o)) {
ZVAL_LONG(&tmp, o);
zend_hash_str_update(info, "proxy_error", lenof("proxy_error"), &tmp);
}
#endif
+#if PHP_HTTP_CURL_VERSION(7,76,0)
+ if (CURLE_OK == curl_easy_getinfo(ch, CURLINFO_REFERER, &c)) {
+ ZVAL_STRING(&tmp, STR_PTR(c));
+ zend_hash_str_update(info, "referer", lenof("referer"), &tmp);
+ }
+#endif
+#if PHP_HTTP_CURL_VERSION(7,84,0)
+ if (CURLE_OK == curl_easy_getinfo(ch, CURLINFO_CAINFO, &c)) {
+ ZVAL_STRING(&tmp, STR_PTR(c));
+ zend_hash_str_update(info, "cainfo", lenof("cainfo"), &tmp);
+ }
+#endif
+#if PHP_HTTP_CURL_VERSION(7,84,0)
+ if (CURLE_OK == curl_easy_getinfo(ch, CURLINFO_CAPATH, &c)) {
+ ZVAL_STRING(&tmp, STR_PTR(c));
+ zend_hash_str_update(info, "capath", lenof("capath"), &tmp);
+ }
+#endif
/* END::CURLINFO */
#if (PHP_HTTP_CURL_VERSION(7,19,1) && PHP_HTTP_HAVE_LIBCURL_OPENSSL) || \
(PHP_HTTP_CURL_VERSION(7,34,0) && PHP_HTTP_HAVE_LIBCURL_NSS) || \
+ (PHP_HTTP_CURL_VERSION(7,39,0) && PHP_HTTP_HAVE_LIBCURL_GSKIT) || \
(PHP_HTTP_CURL_VERSION(7,42,0) && PHP_HTTP_HAVE_LIBCURL_GNUTLS) || \
- (PHP_HTTP_CURL_VERSION(7,39,0) && PHP_HTTP_HAVE_LIBCURL_GSKIT)
+ (PHP_HTTP_CURL_VERSION(7,79,0) && PHP_HTTP_HAVE_LIBCURL_SECURETRANSPORT)
{
int i;
zval ci_array, subarray;
if (val && Z_LVAL_P(val)) {
switch (Z_LVAL_P(val)) {
+ case CURL_TLSAUTH_NONE:
+ break;
case CURL_TLSAUTH_SRP:
- if (CURLE_OK == curl_easy_setopt(ch, opt->option, PHP_HTTP_LIBCURL_TLSAUTH_SRP)) {
+ if (CURLE_OK == curl_easy_setopt(ch, opt->option, "SRP")) {
return SUCCESS;
}
/* no break */
return FAILURE;
}
}
- if (CURLE_OK != curl_easy_setopt(ch, opt->option, PHP_HTTP_LIBCURL_TLSAUTH_DEF)) {
+ if (CURLE_OK != curl_easy_setopt(ch, opt->option, "NONE")) {
return FAILURE;
}
return SUCCESS;
php_http_client_curl_user_context_t *context;
} php_http_client_curl_user_ev_t;
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(ai_user_handler, 0, 1, IS_LONG, 1)
+ ZEND_ARG_OBJ_INFO(0, client, "http\\Client", 0)
+ ZEND_ARG_TYPE_INFO(0, stream, IS_RESOURCE, 1)
+ ZEND_ARG_TYPE_INFO(0, action, IS_LONG, 1)
+ZEND_END_ARG_INFO();
static ZEND_NAMED_FUNCTION(php_http_client_curl_user_handler)
{
zval *zstream = NULL, *zclient = NULL;
ctx->closure.common.type = ZEND_INTERNAL_FUNCTION;
ctx->closure.common.function_name = zend_string_init(ZEND_STRL("php_http_client_curl_user_handler"), 0);
ctx->closure.internal_function.handler = php_http_client_curl_user_handler;
+ ctx->closure.internal_function.arg_info = (zend_internal_arg_info *) &ai_user_handler[1];
+ ctx->closure.internal_function.num_args = 3;
+ ctx->closure.internal_function.required_num_args = 1;
+
zend_create_closure(zclosure, &ctx->closure, NULL, NULL, NULL);
static php_http_url_t *php_http_url_from_env(void)
{
zval *https, *zhost, *zport;
- long port;
+ zend_long port;
php_http_buffer_t buf;
php_http_buffer_init_ex(&buf, MAX(PHP_HTTP_BUFFER_DEFAULT_SIZE, sizeof(php_http_url_t)<<2), PHP_HTTP_BUFFER_INIT_PREALLOC);
--TEST--
client ssl
--SKIPIF--
-<?php
+<?php
include "skipif.inc";
skip_online_test();
skip_client_test();
skip_curl_test("7.34.0");
+if (0 === strpos(http\Client\Curl\Versions\CURL, "7.87.0")) {
+ die("skip SSL bug in libcurl-7.87\n");
+}
if (strpos(http\Client\Curl\Versions\SSL, "SecureTransport") !== false)
die("skip SecureTransport\n");
?>
--FILE--
-<?php
+<?php
echo "Test\n";
$client = new http\Client;
) === $client->getSslOptions()
);
-$client->attach($observer = new class implements SplObserver {
+$client->attach($observer = new class implements SplObserver {
public $data = [];
#[ReturnTypeWillChange]
<?php
include "skipif.inc";
skip_client_test();
-if (0 === strpos(http\Client\Curl\Versions\CURL, "7.64.0")) {
- die("skip - cookie handling broken or crashes with libcurl-7.64\n");
+if (0 === strpos(http\Client\Curl\Versions\CURL, "7.64.0") ||
+ 0 === strpos(http\Client\Curl\Versions\CURL, "7.88.1")) {
+ die("skip - cookie handling broken or crashes with libcurl v" . http\Client\Curl\Versions\CURL ."\n");
}
?>
--FILE--
Accept: */*
Content-Length: %d
Content-Range: bytes 1-2/3
-Expect: 100-continue
-Host: localhost:%d
+%r(Expect: 100-continue
+)?%rHost: localhost:%d
User-Agent: %s
X-Original-Content-Length: %d
fprintf($stream, "%s\n", $msg->getInfo());
dump_headers($stream, $msg->getHeaders());
$msg->getBody()->toStream($stream);
-
+
if ($parent && ($msg = $msg->getParentMessage())) {
dump_message($stream, $msg, true);
}
while (($r = $client->getResponse())) {
dump_headers(null, $r->getHeaders());
if ($expect_cookie) {
- $got_cookies = array_merge(...array_map(fn($c) => $c->getCookies(), $r->getCookies()));
+ $got_cookies = array_merge(...array_map(function($c) {
+ return $c->getCookies();
+ }, $r->getCookies()));
if ($expect_cookie != $got_cookies) {
var_dump($expect_cookie, $got_cookies);
echo $r->toString(true);
if (!ini_get("date.timezone")) {
date_default_timezone_set(@date_default_timezone_get());
}
- error_log(sprintf("%s(%s): %s",
- basename(getenv("SCRIPT_FILENAME"), ".php"),
- basename(current(get_included_files()), ".inc"),
+ error_log(sprintf("%s(%s): %s",
+ basename(getenv("SCRIPT_FILENAME"), ".php"),
+ basename(current(get_included_files()), ".inc"),
call_user_func_array("sprintf", func_get_args())
));
}
}
function serve($cb) {
- /* stream_socket_server() automatically sets SO_REUSEADDR,
+ /* stream_socket_server() automatically sets SO_REUSEADDR,
* which is, well, bad if the tests are run in parallel
*/
$offset = rand(0,2000);
- foreach (range(8000+$offset, 9000+$offset) as $port) {
+ foreach (range(40000+$offset, 50000+$offset) as $port) {
logger("serve: Trying port %d", $port);
if (($server = @stream_socket_server("tcp://localhost:$port"))) {
fprintf(STDERR, "%s\n", $port);
$stdin = $pipes[0];
$stdout = $pipes[1];
$stderr = $pipes[2];
-
+
sleep(1);
$status = proc_get_status($proc);
logger("nghttpd: %s", new http\Params($status));
if (!$status["running"]) {
continue;
}
-
+
try {
$cb($port, $stdin, $stdout, $stderr);
} catch (Exception $e) {
echo $e,"\n";
}
-
+
proc_terminate($proc);
-
+
fpassthru($stderr);
fpassthru($stdout);
return;
}
}
-
+
}
function proc($bin, $args, $cb) {
$port = trim(fgets($stderr));
$R = array($stderr); $W = array(); $E = array();
} while (is_numeric($port) && stream_select($R, $W, $E, 0, 10000));
-
+
if (is_numeric($port)) {
try {
$cb($port, $stdin, $stdout, $stderr);
echo $e,"\n";
}
}
-
+
proc_terminate($proc);
-
+
fpassthru($stderr);
fpassthru($stdout);
}