Join the community today
Become a Member

Stable Branch add EL7 xp_ssl.c OpenSSL 1.0.2 shim for PHP 8.2-8.5 in 132.00stable

Discussion in 'Centmin Mod Github Commits' started by eva2000, May 17, 2026.

  1. eva2000

    eva2000 Administrator Staff Member

    59,480
    12,536
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +19,176
    Local Time:
    10:13 PM
    Nginx 1.31.x
    MariaDB 10.x/11.4+/12.3+
    add EL7 xp_ssl.c OpenSSL 1.0.2 shim for PHP 8.2-8.5 in 132.00stable

    Upstream PHP commit 19255f4b78 (OpenSSL 4.0 compat backport) switched
    ext/openssl/xp_ssl.c GEN_IPADD to ASN1_STRING_get0_data() (OpenSSL
    1.1.0+). CentOS 7's OpenSSL 1.0.2k lacks the accessor, so the build
    fails with: "subscripted value is neither array nor pointer nor vector".

    Affected per direct upstream-source survey: PHP 8.2.31 and 8.3.31
    (tagged); PHP-8.2 / 8.3 / 8.4 / 8.5 branch HEADs and master HEAD (next
    point release of each will also fail on EL7). PHP 8.2.30, 8.3.30,
    8.4.21, 8.5.6 are clean.

    PHP's openssl.c already carries the same static shim under
    #if PHP_OPENSSL_API_VERSION < 0x10100, but it's not visible across
    translation units. Add the same shim local to xp_ssl.c, EL7-only,
    with content-based detection of the regression signature so the
    block auto-handles future affected point releases and stops applying
    once upstream lands a proper shim.

    Changes:
    - patches/php/php82-openssl102-xp_ssl-asn1.patch (new; named after
    the earliest affected branch 8.2 per the php<digit>- convention)
    - inc/php_patch.inc (EL7 content-detected xp_ssl.c shim block; also
    checks ext/openssl/php_openssl.h to skip if upstream moves the
    shim into the shared header)

    Continue reading...


    132.00stable branch