From: Kunal Mehta Date: Wed, 24 May 2017 03:36:28 +0000 (-0700) Subject: session: Avoid deprecated wfMemcKey() X-Git-Tag: 1.31.0-rc.0~3157 X-Git-Url: http://git.cyclocoop.org/%24self?a=commitdiff_plain;h=7e48fdd76fc2231f0a6e688a25224ff08d746343;p=lhc%2Fweb%2Fwiklou.git session: Avoid deprecated wfMemcKey() Change-Id: I4d77c2c52ef43cbc54878ce920595befd270a28e --- diff --git a/includes/session/SessionBackend.php b/includes/session/SessionBackend.php index 8633715d60..d37b73b550 100644 --- a/includes/session/SessionBackend.php +++ b/includes/session/SessionBackend.php @@ -132,7 +132,7 @@ final class SessionBackend { $this->forceHTTPS = $info->forceHTTPS(); $this->providerMetadata = $info->getProviderMetadata(); - $blob = $store->get( wfMemcKey( 'MWSession', (string)$this->id ) ); + $blob = $store->get( $store->makeKey( 'MWSession', (string)$this->id ) ); if ( !is_array( $blob ) || !isset( $blob['metadata'] ) || !is_array( $blob['metadata'] ) || !isset( $blob['data'] ) || !is_array( $blob['data'] ) @@ -249,7 +249,7 @@ final class SessionBackend { $this->autosave(); // Delete the data for the old session ID now - $this->store->delete( wfMemcKey( 'MWSession', $oldId ) ); + $this->store->delete( $this->store->makeKey( 'MWSession', $oldId ) ); } } @@ -317,7 +317,7 @@ final class SessionBackend { // Delete the session data, so the local cache-only write in // self::save() doesn't get things out of sync with the backend. - $this->store->delete( wfMemcKey( 'MWSession', (string)$this->id ) ); + $this->store->delete( $this->store->makeKey( 'MWSession', (string)$this->id ) ); $this->autosave(); } @@ -729,7 +729,7 @@ final class SessionBackend { $flags = $this->persist ? 0 : CachedBagOStuff::WRITE_CACHE_ONLY; $flags |= CachedBagOStuff::WRITE_SYNC; // write to all datacenters $this->store->set( - wfMemcKey( 'MWSession', (string)$this->id ), + $this->store->makeKey( 'MWSession', (string)$this->id ), [ 'data' => $this->data, 'metadata' => $metadata, diff --git a/includes/session/SessionManager.php b/includes/session/SessionManager.php index 7cc8509486..40a568ffa7 100644 --- a/includes/session/SessionManager.php +++ b/includes/session/SessionManager.php @@ -214,7 +214,7 @@ final class SessionManager implements SessionManagerInterface { } // Test if the session is in storage, and if so try to load it. - $key = wfMemcKey( 'MWSession', $id ); + $key = $this->store->makeKey( 'MWSession', $id ); if ( is_array( $this->store->get( $key ) ) ) { $create = false; // If loading fails, don't bother creating because it probably will fail too. if ( $this->loadSessionInfoFromStore( $info, $request ) ) { @@ -255,7 +255,7 @@ final class SessionManager implements SessionManagerInterface { throw new \InvalidArgumentException( 'Invalid session ID' ); } - $key = wfMemcKey( 'MWSession', $id ); + $key = $this->store->makeKey( 'MWSession', $id ); if ( is_array( $this->store->get( $key ) ) ) { throw new \InvalidArgumentException( 'Session ID already exists' ); } @@ -545,7 +545,7 @@ final class SessionManager implements SessionManagerInterface { * @return bool Whether the session info matches the stored data (if any) */ private function loadSessionInfoFromStore( SessionInfo &$info, WebRequest $request ) { - $key = wfMemcKey( 'MWSession', $info->getId() ); + $key = $this->store->makeKey( 'MWSession', $info->getId() ); $blob = $this->store->get( $key ); // If we got data from the store and the SessionInfo says to force use, @@ -934,7 +934,7 @@ final class SessionManager implements SessionManagerInterface { public function generateSessionId() { do { $id = \Wikimedia\base_convert( \MWCryptRand::generateHex( 40 ), 16, 32, 32 ); - $key = wfMemcKey( 'MWSession', $id ); + $key = $this->store->makeKey( 'MWSession', $id ); } while ( isset( $this->allSessionIds[$id] ) || is_array( $this->store->get( $key ) ) ); return $id; } diff --git a/tests/phpunit/includes/session/SessionBackendTest.php b/tests/phpunit/includes/session/SessionBackendTest.php index 0d345dbbdb..e0d1c307ab 100644 --- a/tests/phpunit/includes/session/SessionBackendTest.php +++ b/tests/phpunit/includes/session/SessionBackendTest.php @@ -330,7 +330,9 @@ class SessionBackendTest extends MediaWikiTestCase { $backend->unpersist(); $this->assertFalse( $backend->isPersistent() ); $this->assertFalse( $this->store->getSession( self::SESSIONID ) ); - $this->assertNotFalse( $wrap->store->get( wfMemcKey( 'MWSession', self::SESSIONID ) ) ); + $this->assertNotFalse( + $wrap->store->get( $wrap->store->makeKey( 'MWSession', self::SESSIONID ) ) + ); } public function testRememberUser() { diff --git a/tests/phpunit/includes/session/TestBagOStuff.php b/tests/phpunit/includes/session/TestBagOStuff.php index 759eca62ea..fd02a2e9c6 100644 --- a/tests/phpunit/includes/session/TestBagOStuff.php +++ b/tests/phpunit/includes/session/TestBagOStuff.php @@ -61,7 +61,7 @@ class TestBagOStuff extends \CachedBagOStuff { $expiry = \RequestContext::getMain()->getConfig()->get( 'ObjectCacheSessionExpiry' ); } - $this->set( wfMemcKey( 'MWSession', $id ), $blob, $expiry ); + $this->set( $this->makeKey( 'MWSession', $id ), $blob, $expiry ); } /** @@ -69,7 +69,7 @@ class TestBagOStuff extends \CachedBagOStuff { * @return mixed */ public function getSession( $id ) { - return $this->get( wfMemcKey( 'MWSession', $id ) ); + return $this->get( $this->makeKey( 'MWSession', $id ) ); } /** @@ -77,14 +77,14 @@ class TestBagOStuff extends \CachedBagOStuff { * @return mixed */ public function getSessionFromBackend( $id ) { - return $this->backend->get( wfMemcKey( 'MWSession', $id ) ); + return $this->backend->get( $this->makeKey( 'MWSession', $id ) ); } /** * @param string $id Session ID */ public function deleteSession( $id ) { - $this->delete( wfMemcKey( 'MWSession', $id ) ); + $this->delete( $this->makeKey( 'MWSession', $id ) ); } }