diff -ur mediawiki-1.5.2.orig/includes/Setup.php mediawiki-1.5.2/includes/Setup.php --- mediawiki-1.5.2.orig/includes/Setup.php 2005-08-26 10:05:43.437399148 -0400 +++ mediawiki-1.5.2/includes/Setup.php 2005-12-06 18:40:13.808143622 -0500 @@ -117,13 +117,14 @@ wfProfileOut( $fname.'-memcached' ); wfProfileIn( $fname.'-SetupSession' ); +$wgCookiePrefix = strtr($wgDBname, "=,; +.\"\'\\[", "__________"); if ( $wgDBprefix ) { - session_name( $wgDBname . '_' . $wgDBprefix . '_session' ); + session_name( $wgCookiePrefix . '_' . $wgDBprefix . '_session' ); } else { - session_name( $wgDBname . '_session' ); + session_name( $wgCookiePrefix . '_session' ); } -if( !$wgCommandLineMode && ( isset( $_COOKIE[session_name()] ) || isset( $_COOKIE[$wgDBname.'Token'] ) ) ) { +if( !$wgCommandLineMode && ( isset( $_COOKIE[session_name()] ) || isset( $_COOKIE[$wgCookiePrefix.'Token'] ) ) ) { User::SetupSession(); $wgSessionStarted = true; } else { diff -ur mediawiki-1.5.2.orig/includes/SpecialUserlogin.php mediawiki-1.5.2/includes/SpecialUserlogin.php --- mediawiki-1.5.2.orig/includes/SpecialUserlogin.php 2005-08-26 09:54:11.486331844 -0400 +++ mediawiki-1.5.2/includes/SpecialUserlogin.php 2005-12-01 04:56:51.417643909 -0500 @@ -376,7 +376,7 @@ * @access private */ function mailPasswordInternal( $u ) { - global $wgPasswordSender, $wgDBname, $wgIP; + global $wgPasswordSender, $wgCookiePrefix, $wgIP; global $wgCookiePath, $wgCookieDomain; if ( '' == $u->getEmail() ) { @@ -386,7 +386,7 @@ $np = $u->randomPassword(); $u->setNewpassword( $np ); - setcookie( "{$wgDBname}Token", '', time() - 3600, $wgCookiePath, $wgCookieDomain ); + setcookie( "{$wgCookiePrefix}Token", '', time() - 3600, $wgCookiePath, $wgCookieDomain ); $u->saveSettings(); @@ -437,14 +437,14 @@ */ function mainLoginForm( $err ) { global $wgUser, $wgOut, $wgLang; - global $wgDBname, $wgAllowRealName, $wgEnableEmail; + global $wgCookiePrefix, $wgAllowRealName, $wgEnableEmail; global $wgAuth; if ( '' == $this->mName ) { if ( $wgUser->isLoggedIn() ) { $this->mName = $wgUser->getName(); } else { - $this->mName = @$_COOKIE[$wgDBname.'UserName']; + $this->mName = @$_COOKIE[$wgCookiePrefix.'UserName']; } } diff -ur mediawiki-1.5.2.orig/includes/User.php mediawiki-1.5.2/includes/User.php --- mediawiki-1.5.2.orig/includes/User.php 2005-10-06 19:39:57.186774456 -0400 +++ mediawiki-1.5.2/includes/User.php 2005-12-01 04:58:12.949291643 -0500 @@ -272,7 +272,7 @@ $fname = 'User::loadDefaults' . $n; wfProfileIn( $fname ); - global $wgContLang, $wgIP, $wgDBname; + global $wgContLang, $wgIP, $wgCookiePrefix; global $wgNamespacesToBeSearchedDefault; $this->mId = 0; @@ -294,8 +294,8 @@ $this->setToken(); # Random $this->mHash = false; - if ( isset( $_COOKIE[$wgDBname.'LoggedOut'] ) ) { - $this->mTouched = wfTimestamp( TS_MW, $_COOKIE[$wgDBname.'LoggedOut'] ); + if ( isset( $_COOKIE[$wgCookiePrefix.'LoggedOut'] ) ) { + $this->mTouched = wfTimestamp( TS_MW, $_COOKIE[$wgCookiePrefix.'LoggedOut'] ); } else { $this->mTouched = '0'; # Allow any pages to be cached @@ -586,7 +586,7 @@ * @static */ function loadFromSession() { - global $wgMemc, $wgDBname; + global $wgMemc, $wgDBname, $wgCookiePrefix; if ( isset( $_SESSION['wsUserID'] ) ) { if ( 0 != $_SESSION['wsUserID'] ) { @@ -594,16 +594,16 @@ } else { return new User(); } - } else if ( isset( $_COOKIE["{$wgDBname}UserID"] ) ) { - $sId = IntVal( $_COOKIE["{$wgDBname}UserID"] ); + } else if ( isset( $_COOKIE["{$wgCookiePrefix}UserID"] ) ) { + $sId = IntVal( $_COOKIE["{$wgCookiePrefix}UserID"] ); $_SESSION['wsUserID'] = $sId; } else { return new User(); } if ( isset( $_SESSION['wsUserName'] ) ) { $sName = $_SESSION['wsUserName']; - } else if ( isset( $_COOKIE["{$wgDBname}UserName"] ) ) { - $sName = $_COOKIE["{$wgDBname}UserName"]; + } else if ( isset( $_COOKIE["{$wgCookiePrefix}UserName"] ) ) { + $sName = $_COOKIE["{$wgCookiePrefix}UserName"]; $_SESSION['wsUserName'] = $sName; } else { return new User(); @@ -626,8 +626,8 @@ if ( isset( $_SESSION['wsToken'] ) ) { $passwordCorrect = $_SESSION['wsToken'] == $user->mToken; - } else if ( isset( $_COOKIE["{$wgDBname}Token"] ) ) { - $passwordCorrect = $user->mToken == $_COOKIE["{$wgDBname}Token"]; + } else if ( isset( $_COOKIE["{$wgCookiePrefix}Token"] ) ) { + $passwordCorrect = $user->mToken == $_COOKIE["{$wgCookiePrefix}Token"]; } else { return new User(); # Can't log in from session } @@ -1217,22 +1217,22 @@ } function setCookies() { - global $wgCookieExpiration, $wgCookiePath, $wgCookieDomain, $wgDBname; + global $wgCookieExpiration, $wgCookiePath, $wgCookieDomain, $wgCookiePrefix; if ( 0 == $this->mId ) return; $this->loadFromDatabase(); $exp = time() + $wgCookieExpiration; $_SESSION['wsUserID'] = $this->mId; - setcookie( $wgDBname.'UserID', $this->mId, $exp, $wgCookiePath, $wgCookieDomain ); + setcookie( $wgCookiePrefix.'UserID', $this->mId, $exp, $wgCookiePath, $wgCookieDomain ); $_SESSION['wsUserName'] = $this->mName; - setcookie( $wgDBname.'UserName', $this->mName, $exp, $wgCookiePath, $wgCookieDomain ); + setcookie( $wgCookiePrefix.'UserName', $this->mName, $exp, $wgCookiePath, $wgCookieDomain ); $_SESSION['wsToken'] = $this->mToken; if ( 1 == $this->getOption( 'rememberpassword' ) ) { - setcookie( $wgDBname.'Token', $this->mToken, $exp, $wgCookiePath, $wgCookieDomain ); + setcookie( $wgCookiePrefix.'Token', $this->mToken, $exp, $wgCookiePath, $wgCookieDomain ); } else { - setcookie( $wgDBname.'Token', '', time() - 3600 ); + setcookie( $wgCookiePrefix.'Token', '', time() - 3600 ); } } @@ -1241,17 +1241,17 @@ * It will clean the session cookie */ function logout() { - global $wgCookiePath, $wgCookieDomain, $wgDBname, $wgIP; + global $wgCookiePath, $wgCookieDomain, $wgCookiePrefix, $wgIP; $this->loadDefaults(); $this->setLoaded( true ); $_SESSION['wsUserID'] = 0; - setcookie( $wgDBname.'UserID', '', time() - 3600, $wgCookiePath, $wgCookieDomain ); - setcookie( $wgDBname.'Token', '', time() - 3600, $wgCookiePath, $wgCookieDomain ); + setcookie( $wgCookiePrefix.'UserID', '', time() - 3600, $wgCookiePath, $wgCookieDomain ); + setcookie( $wgCookiePrefix.'Token', '', time() - 3600, $wgCookiePath, $wgCookieDomain ); # Remember when user logged out, to prevent seeing cached pages - setcookie( $wgDBname.'LoggedOut', wfTimestampNow(), time() + 86400, $wgCookiePath, $wgCookieDomain ); + setcookie( $wgCookiePrefix.'LoggedOut', wfTimestampNow(), time() + 86400, $wgCookiePath, $wgCookieDomain ); } /**