Make WordPress Core

Changeset 62894


Ignore:
Timestamp:
07/29/2026 08:00:07 AM (2 months ago)
Author:
westonruter
Message:

HTTP API: Pass the missing URL to the https_local_ssl_verify filter.

The filter has documented a $url parameter since 5.1.0, when r42682 added it to the transports in WP_Http_Streams and WP_Http_Curl. However, this new parameter was not passed to all instances of the filter being applied, resulting in a possible fatal error if a callback is expecting it.

These call sites were surfaced by the PHPStan extensions under development for this ticket, which are committed separately.

Developed as subset of ​https://github.com/WordPress/wordpress-develop/pull/12022.
Follow-up to r28781, r42682, r46230, r46231, r54043, r58128.

See #65376, #42186, #47957, #56041, #58281.

Location:
trunk/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/includes/class-wp-automatic-updater.php

    r60275 r62894  
    17861786                );
    17871787
    1788                 /** This filter is documented in wp-includes/class-wp-http-streams.php */
    1789                 $sslverify = apply_filters( 'https_local_ssl_verify', false );
    1790 
    17911788                // Include Basic auth in the loopback request.
    17921789                if ( isset( $_SERVER['PHP_AUTH_USER'] ) && isset( $_SERVER['PHP_AUTH_PW'] ) ) {
    … …  
    18051802                $needle_end   = "###### wp_scraping_result_end:$scrape_key ######";
    18061803                $url          = add_query_arg( $scrape_params, home_url( '/' ) );
    1807                 $response     = wp_remote_get( $url, compact( 'cookies', 'headers', 'timeout', 'sslverify' ) );
     1804
     1805                /** This filter is documented in wp-includes/class-wp-http-streams.php */
     1806                $sslverify = apply_filters( 'https_local_ssl_verify', false, $url );
     1807                $response  = wp_remote_get( $url, compact( 'cookies', 'headers', 'timeout', 'sslverify' ) );
    18081808
    18091809                if ( is_wp_error( $response ) ) {
  • trunk/src/wp-admin/includes/class-wp-site-health.php

    r62646 r62894  
    22132213                        'X-WP-Nonce'    => wp_create_nonce( 'wp_rest' ),
    22142214                );
    2215                 /** This filter is documented in wp-includes/class-wp-http-streams.php */
    2216                 $sslverify = apply_filters( 'https_local_ssl_verify', false );
    2217 
    22182215                // Include Basic auth in loopback requests.
    22192216                if ( isset( $_SERVER['PHP_AUTH_USER'] ) && isset( $_SERVER['PHP_AUTH_PW'] ) ) {
    … …  
    22302227                        $url
    22312228                );
     2229
     2230                /** This filter is documented in wp-includes/class-wp-http-streams.php */
     2231                $sslverify = apply_filters( 'https_local_ssl_verify', false, $url );
    22322232
    22332233                $r = wp_remote_get( $url, compact( 'cookies', 'headers', 'timeout', 'sslverify' ) );
    … …  
    32803280                        'Cache-Control' => 'no-cache',
    32813281                );
    3282                 /** This filter is documented in wp-includes/class-wp-http-streams.php */
    3283                 $sslverify = apply_filters( 'https_local_ssl_verify', false );
    32843282
    32853283                // Include Basic auth in loopback requests.
    … …  
    32893287
    32903288                $url = site_url( 'wp-cron.php' );
     3289
     3290                /** This filter is documented in wp-includes/class-wp-http-streams.php */
     3291                $sslverify = apply_filters( 'https_local_ssl_verify', false, $url );
    32913292
    32923293                /*
    … …  
    36123613
    36133614                /** This filter is documented in wp-includes/class-wp-http-streams.php */
    3614                 $sslverify = apply_filters( 'https_local_ssl_verify', false );
     3615                $sslverify = apply_filters( 'https_local_ssl_verify', false, home_url( '/' ) );
    36153616
    36163617                $headers = array();
  • trunk/src/wp-admin/includes/file.php

    r62618 r62894  
    542542                );
    543543
    544                 /** This filter is documented in wp-includes/class-wp-http-streams.php */
    545                 $sslverify = apply_filters( 'https_local_ssl_verify', false );
    546 
    547544                // Include Basic auth in loopback requests.
    548545                if ( isset( $_SERVER['PHP_AUTH_USER'] ) && isset( $_SERVER['PHP_AUTH_PW'] ) ) {
    … …  
    584581                }
    585582
    586                 $url                    = add_query_arg( $scrape_params, $url );
     583                $url = add_query_arg( $scrape_params, $url );
     584
     585                /** This filter is documented in wp-includes/class-wp-http-streams.php */
     586                $sslverify = apply_filters( 'https_local_ssl_verify', false, $url );
     587
    587588                $r                      = wp_remote_get( $url, compact( 'cookies', 'headers', 'timeout', 'sslverify' ) );
    588589                $body                   = wp_remote_retrieve_body( $r );
  • trunk/src/wp-includes/cron.php

    r62488 r62894  
    959959        set_transient( 'doing_cron', $doing_wp_cron );
    960960
     961        $cron_url = add_query_arg( 'doing_wp_cron', $doing_wp_cron, site_url( 'wp-cron.php' ) );
     962
    961963        /**
    962964         * Filters the cron request arguments.
    … …  
    983985                'cron_request',
    984986                array(
    985                         'url'  => add_query_arg( 'doing_wp_cron', $doing_wp_cron, site_url( 'wp-cron.php' ) ),
     987                        'url'  => $cron_url,
    986988                        'key'  => $doing_wp_cron,
    987989                        'args' => array(
    … …  
    989991                                'blocking'  => false,
    990992                                /** This filter is documented in wp-includes/class-wp-http-streams.php */
    991                                 'sslverify' => apply_filters( 'https_local_ssl_verify', false ),
     993                                'sslverify' => apply_filters( 'https_local_ssl_verify', false, $cron_url ),
    992994                        ),
    993995                ),
Note: See TracChangeset for help on using the changeset viewer.