From fcc80ed2bbf84f8105c508f4f67c95e6bf997657 Mon Sep 17 00:00:00 2001 From: Lee Daniel Crocker Date: Wed, 30 Apr 2003 21:52:53 +0000 Subject: [PATCH] Password encryption should finally work now. Updates to user login and testsuite. --- includes/SpecialUserlogin.php | 18 ++++++------- includes/User.php | 26 +++++++++---------- install.php | 20 ++++++++++---- .../src/com/piclab/wikitest/EditTest.java | 2 +- .../src/com/piclab/wikitest/LinkTest.java | 2 +- .../src/com/piclab/wikitest/WikiTest.java | 1 - 6 files changed, 39 insertions(+), 30 deletions(-) diff --git a/includes/SpecialUserlogin.php b/includes/SpecialUserlogin.php index 803cafd3cc..806ba7944f 100644 --- a/includes/SpecialUserlogin.php +++ b/includes/SpecialUserlogin.php @@ -216,40 +216,40 @@ color='red'>$err\n" ); $wpEmail = wfEscapeHTML( $wpEmail ); $wgOut->addHTML( " -
+
$yn: - +
$yp: - + - +
 
$ypa: - $nuo
$ye: - + - +
-$rmp +$rmp
 

$efl
- +

\n" ); } diff --git a/includes/User.php b/includes/User.php index bfc369a5c5..f08ab8b489 100644 --- a/includes/User.php +++ b/includes/User.php @@ -53,8 +53,6 @@ class User { } - - /* static */ function randomPassword() { $pwchars = "ABCDEFGHJKLMNPQRSTUVWXYZabcdefghjkmnpqrstuvwxyz"; @@ -163,7 +161,7 @@ class User { $passwordCorrect = $wsUserPassword == $this->mPassword; } else if ( isset( $HTTP_COOKIE_VARS["wcUserPassword"] ) ) { $this->mCookiePassword = $HTTP_COOKIE_VARS["wcUserPassword"]; - $wsUserPassword = User::addSalt($this->mCookiePassword); + $wsUserPassword = $this->addSalt( $this->mCookiePassword ); $passwordCorrect = $wsUserPassword == $this->mPassword; } else { $this->mId = 0; @@ -284,14 +282,14 @@ class User { function encryptPassword( $p ) { - return User::addSalt( md5( $p ) ); + return $this->addSalt( md5( $p ) ); } function setPassword( $str ) { $this->loadFromDatabase(); $this->setCookiePassword( $str ); - $this->mPassword = User::encryptPassword( $str ); + $this->mPassword = $this->encryptPassword( $str ); $this->mNewpassword = ""; } @@ -304,7 +302,7 @@ class User { function setNewpassword( $str ) { $this->loadFromDatabase(); - $this->mNewpassword = User::encryptPassword( $str ); + $this->mNewpassword = $this->encryptPassword( $str ); } function getEmail() @@ -342,6 +340,13 @@ class User { return $this->mRights; } + function addRight( $rname ) + { + $this->loadFromDatabase(); + array_push( $this->mRights, $rname ); + $this->invalidateCache(); + } + function isSysop() { $this->loadFromDatabase(); @@ -479,20 +484,15 @@ class User { { global $wgUser; - if(!$this->mNewtalk) { - - if($this->mId) { + if ( ! $this->mNewtalk ) { + if( $this->mId ) { $sql="DELETE FROM user_newtalk WHERE user_id={$this->mId}"; wfQuery ($sql,"User::saveSettings"); } else { - - $sql="DELETE FROM user_newtalk WHERE user_ip='{$this->mName}'"; wfQuery ($sql,"User::saveSettings"); - } } - if ( 0 == $this->mId ) { return; } $sql = "UPDATE user SET " . diff --git a/install.php b/install.php index bb364dd6e3..333c433e30 100644 --- a/install.php +++ b/install.php @@ -246,11 +246,21 @@ function populatedata() { $sql = "DELETE FROM user"; wfQuery( $sql, $fname ); - $sql = "INSERT INTO user (user_name, user_password, user_rights)" . - "VALUES ('WikiSysop','" . User::encryptPassword( $wgDBadminpassword ) . - "','sysop'),('WikiDeveloper','" . User::encryptPassword( - $wgDBadminpassword ) . "','sysop,developer')"; - wfQuery( $sql, $fname ); + $u = User::newFromName( "WikiSysop" ); + if ( 0 == $u->idForName() ) { + $u->addToDatabase(); + $u->setPassword( $wgDBadminpassword ); + $u->addRight( "sysop" ); + $u->saveSettings(); + } + $u = User::newFromName( "WikiDeveloper" ); + if ( 0 == $u->idForName() ) { + $u->addToDatabase(); + $u->setPassword( $wgDBadminpassword ); + $u->addRight( "sysop" ); + $u->addRight( "developer" ); + $u->saveSettings(); + } $wns = Namespace::getWikipedia(); $ulp = addslashes( wfMsg( "uploadlogpage" ) ); diff --git a/testsuite/src/com/piclab/wikitest/EditTest.java b/testsuite/src/com/piclab/wikitest/EditTest.java index 62819c2d83..37fca733ed 100644 --- a/testsuite/src/com/piclab/wikitest/EditTest.java +++ b/testsuite/src/com/piclab/wikitest/EditTest.java @@ -135,7 +135,7 @@ private int part3() throws Exception { if ( text.indexOf( "sucks" ) < 0 ) { return 304; } if ( text.indexOf( "doesn't" ) < 0 ) { return 305; } - WebLink l = wr.getFirstMatchingLink( WebLink.MATCH_CONTAINED_TEXT, "Older versions" ); + WebLink l = wr.getFirstMatchingLink( WebLink.MATCH_CONTAINED_TEXT, "Page history" ); wr = l.click(); text = getArticle( wr ); if ( text.indexOf( "Fred" ) < 0 ) { return 306; } diff --git a/testsuite/src/com/piclab/wikitest/LinkTest.java b/testsuite/src/com/piclab/wikitest/LinkTest.java index afd0535a17..1cff22528d 100644 --- a/testsuite/src/com/piclab/wikitest/LinkTest.java +++ b/testsuite/src/com/piclab/wikitest/LinkTest.java @@ -93,7 +93,7 @@ private int part3() throws Exception { wr = getResponse( req ); l = wr.getFirstMatchingLink( WebLink.MATCH_CONTAINED_TEXT, "View article" ); - l = wr.getFirstMatchingLink( WebLink.MATCH_CONTAINED_TEXT, "Older versions" ); + l = wr.getFirstMatchingLink( WebLink.MATCH_CONTAINED_TEXT, "Page history" ); if ( l == null ) { return 302; } wr = l.click(); diff --git a/testsuite/src/com/piclab/wikitest/WikiTest.java b/testsuite/src/com/piclab/wikitest/WikiTest.java index 78ac12e8c9..7d01c48bd1 100644 --- a/testsuite/src/com/piclab/wikitest/WikiTest.java +++ b/testsuite/src/com/piclab/wikitest/WikiTest.java @@ -263,7 +263,6 @@ throws WikiSuiteFailureException { String msg = null; WebForm[] forms = null; - try { forms = resp.getForms(); } catch ( org.xml.sax.SAXException e ) { -- 2.20.1