MDL-37625 auth_radius Updated to latest version (1.5.0) of included PEAR Crypt_CHAP library.

This commit is contained in:
Justin Filip 2013-01-22 10:38:53 -05:00
parent a5ec499521
commit 565c0da9c9

View File

@ -1,6 +1,6 @@
<?php
/*
Copyright (c) 2002-2003, Michael Bretterklieber <michael@bretterklieber.com>
Copyright (c) 2002-2010, Michael Bretterklieber <michael@bretterklieber.com>
All rights reserved.
Redistribution and use in source and binary forms, with or without
@ -101,7 +101,6 @@ class Crypt_CHAP extends PEAR
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 @@ class Crypt_CHAP_MD5 extends Crypt_CHAP
* 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 @@ class Crypt_CHAP_MSv1 extends Crypt_CHAP
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 @@ class Crypt_CHAP_MSv2 extends Crypt_CHAP_MSv1
*/
function ntPasswordHashHash($nthash)
{
return mhash(MHASH_MD4, $nthash);
return pack('H*',hash('md4', $nthash));
}
/**
@ -444,7 +443,7 @@ class Crypt_CHAP_MSv2 extends Crypt_CHAP_MSv1
*/
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);
}
/**