Merge branch 'wip-MDL-31248-master-v2' of git://github.com/abgreeve/moodle

This commit is contained in:
Eloy Lafuente (stronk7)
2012-03-08 02:27:55 +01:00
2 changed files with 45 additions and 13 deletions
+36 -12
View File
@@ -7383,27 +7383,51 @@ class emoticon_manager {
/**
* rc4encrypt
*
* @todo Finish documenting this function
* Please note that in this version of moodle that the default for rc4encryption is
* using the slightly more secure password key. There may be an issue when upgrading
* from an older version of moodle.
*
* @param string $data Data to encrypt
* @return string The now encrypted data
* @todo MDL-31836 Remove the old password key in version 2.4
* Code also needs to be changed in sessionlib.php
* @see get_moodle_cookie()
* @see set_moodle_cookie()
*
* @param string $data Data to encrypt.
* @param bool $usesecurekey Lets us know if we are using the old or new secure password key.
* @return string The now encrypted data.
*/
function rc4encrypt($data) {
$password = get_site_identifier();
return endecrypt($password, $data, '');
function rc4encrypt($data, $usesecurekey = true) {
if (!$usesecurekey) {
$passwordkey = 'nfgjeingjk';
} else {
$passwordkey = get_site_identifier();
}
return endecrypt($passwordkey, $data, '');
}
/**
* rc4decrypt
*
* @todo Finish documenting this function
* Please note that in this version of moodle that the default for rc4encryption is
* using the slightly more secure password key. There may be an issue when upgrading
* from an older version of moodle.
*
* @param string $data Data to decrypt
* @return string The now decrypted data
* @todo MDL-31836 Remove the old password key in version 2.4
* Code also needs to be changed in sessionlib.php
* @see get_moodle_cookie()
* @see set_moodle_cookie()
*
* @param string $data Data to decrypt.
* @param bool $usesecurekey Lets us know if we are using the old or new secure password key.
* @return string The now decrypted data.
*/
function rc4decrypt($data) {
$password = get_site_identifier();
return endecrypt($password, $data, 'de');
function rc4decrypt($data, $usesecurekey = true) {
if (!$usesecurekey) {
$passwordkey = 'nfgjeingjk';
} else {
$passwordkey = get_site_identifier();
}
return endecrypt($passwordkey, $data, 'de');
}
/**
+9 -1
View File
@@ -1049,9 +1049,17 @@ function get_moodle_cookie() {
return '';
} else {
$username = rc4decrypt($_COOKIE[$cookiename]);
if ($username != clean_param($username, PARAM_USERNAME)) {
$username = rc4decrypt($_COOKIE[$cookiename], false);
if ($username == clean_param($username, PARAM_USERNAME)) {
set_moodle_cookie($username);
} else {
$username = '';
}
}
if ($username === 'guest' or $username === 'nobody') {
// backwards compatibility - we do not set these cookies any more
return '';
$username = '';
}
return $username;
}