From 990c247841802d015743816ffcdad8bbe9db27a8 Mon Sep 17 00:00:00 2001 From: Justin Filip Date: Tue, 22 Jan 2013 10:38:53 -0500 Subject: [PATCH] MDL-37625 auth_radius Updated to latest version (1.5.0) of included PEAR Crypt_CHAP library. --- lib/pear/Crypt/CHAP.php | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/lib/pear/Crypt/CHAP.php b/lib/pear/Crypt/CHAP.php index db33e987b1f8d..561ec9fdac00a 100644 --- a/lib/pear/Crypt/CHAP.php +++ b/lib/pear/Crypt/CHAP.php @@ -1,6 +1,6 @@ +Copyright (c) 2002-2010, Michael Bretterklieber All rights reserved. Redistribution and use in source and binary forms, with or without @@ -101,7 +101,6 @@ function Crypt_CHAP() function generateChallenge($varname = 'challenge', $size = 8) { $this->$varname = ''; - mt_srand(hexdec(substr(md5(microtime()), -8)) & 0x7fffffff); for ($i = 0; $i < $size; $i++) { $this->$varname .= pack('C', 1 + mt_rand() % 255); } @@ -149,7 +148,7 @@ function challengeResponse() * Generate MS-CHAPv1 Packets. MS-CHAP doesen't use the plaintext password, it uses the * NT-HASH wich is stored in the SAM-Database or in the smbpasswd, if you are using samba. * The NT-HASH is MD4(str2unicode(plaintextpass)). - * You need the mhash extension for this class. + * You need the hash extension for this class. * * @package Crypt_CHAP */ @@ -165,13 +164,13 @@ class Crypt_CHAP_MSv1 extends Crypt_CHAP /** * Constructor * - * Loads the mhash extension + * Loads the hash extension * @return void */ function Crypt_CHAP_MSv1() { $this->Crypt_CHAP(); - $this->loadExtension('mhash'); + $this->loadExtension('hash'); } /** @@ -183,9 +182,9 @@ function Crypt_CHAP_MSv1() function ntPasswordHash($password = null) { if (isset($password)) { - return mhash(MHASH_MD4, $this->str2unicode($password)); + return pack('H*',hash('md4', $this->str2unicode($password))); } else { - return mhash(MHASH_MD4, $this->str2unicode($this->password)); + return pack('H*',hash('md4', $this->str2unicode($this->password))); } } @@ -432,7 +431,7 @@ function Crypt_CHAP_MSv2() */ function ntPasswordHashHash($nthash) { - return mhash(MHASH_MD4, $nthash); + return pack('H*',hash('md4', $nthash)); } /** @@ -444,7 +443,7 @@ function ntPasswordHashHash($nthash) */ function challengeHash() { - return substr(mhash(MHASH_SHA1, $this->peerChallenge . $this->authChallenge . $this->username), 0, 8); + return substr(pack('H*',hash('sha1', $this->peerChallenge . $this->authChallenge . $this->username)), 0, 8); } /**