Build/Test tools: Don't override the wp_set_auth_cookie()
and wp_clear_auth_cookie()
functions.
Overriding pluggable functions in the test suite is asking for trouble in the future. In addition, it means the test suite can't be guaranteed to behave the same as core. This instead introduces a `send_auth_cookies` filter which can be hooked in during the test suite to prevent these functions from attempting to send cookie headers to the client. Fixes #39367 Merges [40263] and [40264] to the 4.7 branch. git-svn-id: https://develop.svn.wordpress.org/branches/4.7@40265 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
53058fc1b4
commit
ec70d962ca
@ -890,6 +890,17 @@ function wp_set_auth_cookie( $user_id, $remember = false, $secure = '', $token =
|
|||||||
*/
|
*/
|
||||||
do_action( 'set_logged_in_cookie', $logged_in_cookie, $expire, $expiration, $user_id, 'logged_in' );
|
do_action( 'set_logged_in_cookie', $logged_in_cookie, $expire, $expiration, $user_id, 'logged_in' );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Allows preventing auth cookies from actually being sent to the client.
|
||||||
|
*
|
||||||
|
* @since 4.7.4
|
||||||
|
*
|
||||||
|
* @param bool $send Whether to send auth cookies to the client.
|
||||||
|
*/
|
||||||
|
if ( ! apply_filters( 'send_auth_cookies', true ) ) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
setcookie($auth_cookie_name, $auth_cookie, $expire, PLUGINS_COOKIE_PATH, COOKIE_DOMAIN, $secure, true);
|
setcookie($auth_cookie_name, $auth_cookie, $expire, PLUGINS_COOKIE_PATH, COOKIE_DOMAIN, $secure, true);
|
||||||
setcookie($auth_cookie_name, $auth_cookie, $expire, ADMIN_COOKIE_PATH, COOKIE_DOMAIN, $secure, true);
|
setcookie($auth_cookie_name, $auth_cookie, $expire, ADMIN_COOKIE_PATH, COOKIE_DOMAIN, $secure, true);
|
||||||
setcookie(LOGGED_IN_COOKIE, $logged_in_cookie, $expire, COOKIEPATH, COOKIE_DOMAIN, $secure_logged_in_cookie, true);
|
setcookie(LOGGED_IN_COOKIE, $logged_in_cookie, $expire, COOKIEPATH, COOKIE_DOMAIN, $secure_logged_in_cookie, true);
|
||||||
@ -912,6 +923,11 @@ function wp_clear_auth_cookie() {
|
|||||||
*/
|
*/
|
||||||
do_action( 'clear_auth_cookie' );
|
do_action( 'clear_auth_cookie' );
|
||||||
|
|
||||||
|
/** This filter is documented in wp-includes/pluggable.php */
|
||||||
|
if ( ! apply_filters( 'send_auth_cookies', true ) ) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
setcookie( AUTH_COOKIE, ' ', time() - YEAR_IN_SECONDS, ADMIN_COOKIE_PATH, COOKIE_DOMAIN );
|
setcookie( AUTH_COOKIE, ' ', time() - YEAR_IN_SECONDS, ADMIN_COOKIE_PATH, COOKIE_DOMAIN );
|
||||||
setcookie( SECURE_AUTH_COOKIE, ' ', time() - YEAR_IN_SECONDS, ADMIN_COOKIE_PATH, COOKIE_DOMAIN );
|
setcookie( SECURE_AUTH_COOKIE, ' ', time() - YEAR_IN_SECONDS, ADMIN_COOKIE_PATH, COOKIE_DOMAIN );
|
||||||
setcookie( AUTH_COOKIE, ' ', time() - YEAR_IN_SECONDS, PLUGINS_COOKIE_PATH, COOKIE_DOMAIN );
|
setcookie( AUTH_COOKIE, ' ', time() - YEAR_IN_SECONDS, PLUGINS_COOKIE_PATH, COOKIE_DOMAIN );
|
||||||
|
@ -164,21 +164,4 @@ function _upload_dir_https( $uploads ) {
|
|||||||
|
|
||||||
// Skip `setcookie` calls in auth_cookie functions due to warning:
|
// Skip `setcookie` calls in auth_cookie functions due to warning:
|
||||||
// Cannot modify header information - headers already sent by ...
|
// Cannot modify header information - headers already sent by ...
|
||||||
|
tests_add_filter( 'send_auth_cookies', '__return_false' );
|
||||||
function wp_set_auth_cookie( $user_id, $remember = false, $secure = '', $token = '' ) {
|
|
||||||
$auth_cookie = null;
|
|
||||||
$expire = null;
|
|
||||||
$expiration = null;
|
|
||||||
$user_id = null;
|
|
||||||
$scheme = null;
|
|
||||||
/** This action is documented in wp-inclues/pluggable.php */
|
|
||||||
do_action( 'set_auth_cookie', $auth_cookie, $expire, $expiration, $user_id, $scheme );
|
|
||||||
$logged_in_cookie = null;
|
|
||||||
/** This action is documented in wp-inclues/pluggable.php */
|
|
||||||
do_action( 'set_logged_in_cookie', $logged_in_cookie, $expire, $expiration, $user_id, 'logged_in' );
|
|
||||||
}
|
|
||||||
|
|
||||||
function wp_clear_auth_cookie() {
|
|
||||||
/** This action is documented in wp-inclues/pluggable.php */
|
|
||||||
do_action( 'clear_auth_cookie' );
|
|
||||||
}
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user