Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

PHP 8.4 | NewConstants: detect various new constants #1749

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 11 commits into from
Sep 7, 2024

Conversation

jrfnl
Copy link
Member

@jrfnl jrfnl commented Aug 31, 2024

This PR addresses a variety of new constants which are being added in PHP 8.4, which did not go via the RFC process.

Related to #1731


PHP 8.4 | NewConstants: detect use of CURL_HTTP_VERSION_3*

. Added CURL_HTTP_VERSION_3 and CURL_HTTP_VERSION_3ONLY constants (available
since libcurl 7.66 and 7.88) as available options for CURLOPT_HTTP_VERSION.

This commit accounts for the new constants.

Refs:

PHP 8.4 | NewConstants: detect use of POSIX_SC_*

  • POSIX:
    . Added constant POSIX_SC_CHILD_MAX
    . Added constant POSIX_SC_CLK_TCK

This commit accounts for the new constants.

Refs:

PHP 8.4 | NewConstants: detect use of new PGSQL constants

  • PGSQL:
    . PGSQL_TUPLES_CHUNK

This commit accounts for the new constants.

Refs:

PHP 8.4 | NewConstants: detect use of new Sodium constants

  • Sodium:
    . SODIUM_CRYPTO_AEAD_AEGIS128L_KEYBYTES
    . SODIUM_CRYPTO_AEAD_AEGIS128L_NSECBYTES
    . SODIUM_CRYPTO_AEAD_AEGIS128L_NPUBBYTES
    . SODIUM_CRYPTO_AEAD_AEGIS128L_ABYTES
    . SODIUM_CRYPTO_AEAD_AEGIS256_KEYBYTES
    . SODIUM_CRYPTO_AEAD_AEGIS256_NSECBYTES
    . SODIUM_CRYPTO_AEAD_AEGIS256_NPUBBYTES
    . SODIUM_CRYPTO_AEAD_AEGIS256_ABYTES

This commit accounts for the new constants.

Refs:

PHP 8.4 | NewConstants: detect use of new Core constants

  • Core:
    . PHP_OUTPUT_HANDLER_PROCESSED.
    . PHP_SBINDIR.

This commit accounts for the new constants.

Refs:

PHP 8.4 | NewConstants: detect use of new LDAP constants

  • LDAP:
    . LDAP_OPT_X_TLS_PROTOCOL_MAX.
    . LDAP_OPT_X_TLS_PROTOCOL_TLS1_3.

This commit accounts for the new constants.

Refs:

Related to 1731

PHP 8.4 | NewConstants: detect use of new LibXML constants

  • LibXML:
    . LIBXML_RECOVER.
    . LIBXML_NO_XXE.
    This is used together with LIBXML_NOENT for when you want to perform entity
    substitution, but want to disallow external entity loading.
    This constant is available as of libxml2 2.13.

This commit accounts for the new constants.

Refs:

PHP 8.4 | NewConstants: detect use of new OpenSSL constants

  • OpenSSL:
    . X509_PURPOSE_OCSP_HELPER.
    . X509_PURPOSE_TIMESTAMP_SIGN.

This commit accounts for the new constants.

Refs:

PHP 8.4 | NewConstants: detect use of new PCNTL constants

  • PCNTL:
    . SIGCKPT (DragonFlyBSD only).
    . SIGCKPTEXIT (DragonFlyBSD only).
    . WEXITED.
    . WSTOPPED.
    . WNOWAIT.
    . P_ALL.
    . P_PID.
    . P_PGID.
    . P_PIDFD (Linux only).
    . P_UID (NetBSD/FreeBSD only).
    . P_GID (NetBSD/FreeBSD only).
    . P_SID (NetBSD/FreeBSD only).
    . P_JAILID (FreeBSD only).

This commit accounts for the new constants.

Refs:

PHP 8.4 | NewConstants: detect use of new Sockets constants

  • Sockets:
    . SO_EXCLUSIVEADDRUSE (Windows only).
    . SOCK_CONN_DGRAM (NetBSD only).
    . SOCK_DCCP (NetBSD only).
    . TCP_SYNCNT (Linux only).
    . SO_EXCLBIND (Solaris/Illumos only).
    . SO_NOSIGPIPE (macOs and FreeBSD).
    . SO_LINGER_SEC (macOs only).
    . IP_PORTRANGE (FreeBSD/NetBSD/OpenBSD only).
    . IP_PORTRANGE_DEFAULT (FreeBSD/NetBSD/OpenBSD only).
    . IP_PORTRANGE_HIGH (FreeBSD/NetBSD/OpenBSD only).
    . IP_PORTRANGE_LOW (FreeBSD/NetBSD/OpenBSD only).
    . SOCK_NONBLOCK.
    . SOCK_CLOEXEC.

This commit accounts for the new constants.

Refs:

PHP 8.4 | NewConstants: detect use of CURLOPT_TCP_KEEPCNT

  • Curl:
    . CURL_TCP_KEEPCNT

This commit accounts for the new constant.

Refs:

jrfnl added 11 commits September 1, 2024 00:14
> . Added CURL_HTTP_VERSION_3 and CURL_HTTP_VERSION_3ONLY constants (available
>   since libcurl 7.66 and 7.88) as available options for CURLOPT_HTTP_VERSION.

This commit accounts for the new constants.

Refs:
* https://github.com/php/php-src/blob/b56f81cddcb2c0642bbc6c4a8de5731dd3956995/UPGRADING#L260-L261
* php/php-src 15350
* php/php-src@81b49cd

Related to 1731
> - POSIX:
>  . Added constant POSIX_SC_CHILD_MAX
>  . Added constant POSIX_SC_CLK_TCK

This commit accounts for the new constants.

Refs:
* https://github.com/php/php-src/blob/b56f81cddcb2c0642bbc6c4a8de5731dd3956995/UPGRADING#L260-L261
* php/php-src 12689
* php/php-src@0f349d4

Related to 1731
> - PGSQL:
>  . PGSQL_TUPLES_CHUNK

This commit accounts for the new constants.

Refs:
* https://github.com/php/php-src/blob/b56f81cddcb2c0642bbc6c4a8de5731dd3956995/UPGRADING#L751-L760
* php/php-src 14571
* php/php-src@564914a

Related to 1731
> - Sodium:
>  . SODIUM_CRYPTO_AEAD_AEGIS128L_KEYBYTES
>  . SODIUM_CRYPTO_AEAD_AEGIS128L_NSECBYTES
>  . SODIUM_CRYPTO_AEAD_AEGIS128L_NPUBBYTES
>  . SODIUM_CRYPTO_AEAD_AEGIS128L_ABYTES
>  . SODIUM_CRYPTO_AEAD_AEGIS256_KEYBYTES
>  . SODIUM_CRYPTO_AEAD_AEGIS256_NSECBYTES
>  . SODIUM_CRYPTO_AEAD_AEGIS256_NPUBBYTES
>  . SODIUM_CRYPTO_AEAD_AEGIS256_ABYTES

This commit accounts for the new constants.

Refs:
* https://github.com/php/php-src/blob/b56f81cddcb2c0642bbc6c4a8de5731dd3956995/UPGRADING#L976-L984
* php/php-src 12867
* php/php-src@1816403

Related to 1731
> - Core:
>  . PHP_OUTPUT_HANDLER_PROCESSED.
>  . PHP_SBINDIR.

This commit accounts for the new constants.

Refs:
* https://github.com/php/php-src/blob/b56f81cddcb2c0642bbc6c4a8de5731dd3956995/UPGRADING#L910-L912
* php/php-src 13019
* php/php-src@c1a8cc5
* php/php-src 13363
* php/php-src@cb2c5de

Related to 1731
> - LDAP:
>  . LDAP_OPT_X_TLS_PROTOCOL_MAX.
>  . LDAP_OPT_X_TLS_PROTOCOL_TLS1_3.

This commit accounts for the new constants.

Refs:
* https://github.com/php/php-src/blob/b56f81cddcb2c0642bbc6c4a8de5731dd3956995/UPGRADING#L926-L928
* php/php-src 13405
* php/php-src@f6016c7

Related to 1731
> - LibXML:
>  . LIBXML_RECOVER.
>  . LIBXML_NO_XXE.
>    This is used together with LIBXML_NOENT for when you want to perform entity
>    substitution, but want to disallow external entity loading.
>    This constant is available as of libxml2 2.13.

This commit accounts for the new constants.

Refs:
* https://github.com/php/php-src/blob/b56f81cddcb2c0642bbc6c4a8de5731dd3956995/UPGRADING#L930-L935
* php/php-src 13504
* php/php-src@035a5fd
* php/php-src 14844
* php/php-src@f0441e0

Related to 1731
> - OpenSSL:
>  . X509_PURPOSE_OCSP_HELPER.
>  . X509_PURPOSE_TIMESTAMP_SIGN.

This commit accounts for the new constants.

Refs:
* https://github.com/php/php-src/blob/b56f81cddcb2c0642bbc6c4a8de5731dd3956995/UPGRADING#L937-L939
* php/php-src 13149
* php/php-src@98e2948

Related to 1731
> - PCNTL:
>  . SIGCKPT (DragonFlyBSD only).
>  . SIGCKPTEXIT (DragonFlyBSD only).
>  . WEXITED.
>  . WSTOPPED.
>  . WNOWAIT.
>  . P_ALL.
>  . P_PID.
>  . P_PGID.
>  . P_PIDFD (Linux only).
>  . P_UID (NetBSD/FreeBSD only).
>  . P_GID (NetBSD/FreeBSD only).
>  . P_SID (NetBSD/FreeBSD only).
>  . P_JAILID (FreeBSD only).

This commit accounts for the new constants.

Refs:
* https://github.com/php/php-src/blob/b56f81cddcb2c0642bbc6c4a8de5731dd3956995/UPGRADING#L947-L959
* php/php-src 14011
* php/php-src@3a300e9
* php/php-src 14617
* php/php-src@c2fd071

Related to 1731
> - Sockets:
>  . SO_EXCLUSIVEADDRUSE (Windows only).
>  . SOCK_CONN_DGRAM (NetBSD only).
>  . SOCK_DCCP (NetBSD only).
>  . TCP_SYNCNT (Linux only).
>  . SO_EXCLBIND (Solaris/Illumos only).
>  . SO_NOSIGPIPE (macOs and FreeBSD).
>  . SO_LINGER_SEC (macOs only).
>  . IP_PORTRANGE (FreeBSD/NetBSD/OpenBSD only).
>  . IP_PORTRANGE_DEFAULT (FreeBSD/NetBSD/OpenBSD only).
>  . IP_PORTRANGE_HIGH (FreeBSD/NetBSD/OpenBSD only).
>  . IP_PORTRANGE_LOW (FreeBSD/NetBSD/OpenBSD only).
>  . SOCK_NONBLOCK.
>  . SOCK_CLOEXEC.

This commit accounts for the new constants.

Refs:
* https://github.com/php/php-src/blob/b56f81cddcb2c0642bbc6c4a8de5731dd3956995/UPGRADING#L961-L974
* php/php-src 13030
* php/php-src@b02f95a
* php/php-src 13728
* php/php-src@4c467e6
* php/php-src 13816
* php/php-src@b82024b
* php/php-src 13912
* php/php-src@645af9f
* php/php-src 14065
* php/php-src@b147a22
* php/php-src 14599
* php/php-src@9672cd9
* php/php-src 15335
* php/php-src@1d198c6
* php/php-src 15322
* php/php-src@d052d61

Related to 1731
> - Curl:
>  . CURL_TCP_KEEPCNT

This commit accounts for the new constant.

Refs:
* https://github.com/php/php-src/blob/7e5171d1f671dc19251fa8241842eb2fb4f8d7b8/UPGRADING#L920
* php/php-src 15446
* php/php-src@b5568a0

Related to 1731
@jrfnl jrfnl added enhancement PR: quick merge PR only contains relatively simple changes PR: ready for review labels Aug 31, 2024
@jrfnl jrfnl added this to the 10.0.0 milestone Aug 31, 2024
@jrfnl jrfnl requested a review from wimg August 31, 2024 22:21
@wimg wimg merged commit a6d1384 into develop Sep 7, 2024
46 checks passed
@wimg wimg deleted the php-8.4/newconstants-detect-various-new-constants branch September 7, 2024 19:03
@github-actions github-actions bot removed PR: quick merge PR only contains relatively simple changes PR: ready for review labels Sep 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
Morty Proxy This is a proxified and sanitized view of the page, visit original site.