Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Merge branch 'wip-MDL-31248-MOODLE_22_STABLE-v2' of git://github.com/…

…abgreeve/moodle into MOODLE_22_STABLE
  • Loading branch information...
commit 1312ff87403b63bdf3e22e4f9ce978d6496020ee 2 parents 2615855 + 6f3e759
@stronk7 stronk7 authored
Showing with 31 additions and 13 deletions.
  1. +20 −10 lib/moodlelib.php
  2. +11 −3 lib/sessionlib.php
View
30 lib/moodlelib.php
@@ -7267,12 +7267,17 @@ protected function prepare_emoticon_object($text, $imagename, $altidentifier = n
*
* @todo Finish documenting this function
*
- * @param string $data Data to encrypt
- * @return string The now encrypted data
+ * @param string $data Data to encrypt.
+ * @param bool $usesecurekey Lets us know if we are using the old or new password.
+ * @return string The now encrypted data.
*/
-function rc4encrypt($data) {
- $password = get_site_identifier();
- return endecrypt($password, $data, '');
+function rc4encrypt($data, $usesecurekey = false) {
+ if (!$usesecurekey) {
+ $passwordkey = 'nfgjeingjk';
+ } else {
+ $passwordkey = get_site_identifier();
+ }
+ return endecrypt($passwordkey, $data, '');
}
/**
@@ -7280,12 +7285,17 @@ function rc4encrypt($data) {
*
* @todo Finish documenting this function
*
- * @param string $data Data to decrypt
- * @return string The now decrypted data
+ * @param string $data Data to decrypt.
+ * @param bool $usesecurekey Lets us know if we are using the old or new password.
+ * @return string The now decrypted data.
*/
-function rc4decrypt($data) {
- $password = get_site_identifier();
- return endecrypt($password, $data, 'de');
+function rc4decrypt($data, $usesecurekey = false) {
+ if (!$usesecurekey) {
+ $passwordkey = 'nfgjeingjk';
+ } else {
+ $passwordkey = get_site_identifier();
+ }
+ return endecrypt($passwordkey, $data, 'de');
}
/**
View
14 lib/sessionlib.php
@@ -1023,7 +1023,7 @@ function set_moodle_cookie($username) {
if ($username !== '') {
// set username cookie for 60 days
- setcookie($cookiename, rc4encrypt($username), time()+(DAYSECS*60), $CFG->sessioncookiepath, $CFG->sessioncookiedomain, $CFG->cookiesecure, $CFG->cookiehttponly);
+ setcookie($cookiename, rc4encrypt($username, true), time()+(DAYSECS*60), $CFG->sessioncookiepath, $CFG->sessioncookiedomain, $CFG->cookiesecure, $CFG->cookiehttponly);
}
}
@@ -1048,10 +1048,18 @@ function get_moodle_cookie() {
if (empty($_COOKIE[$cookiename])) {
return '';
} else {
- $username = rc4decrypt($_COOKIE[$cookiename]);
+ $username = rc4decrypt($_COOKIE[$cookiename], true);
+ if ($username != clean_param($username, PARAM_USERNAME)) {
+ $username = rc4decrypt($_COOKIE[$cookiename]);
+ 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;
}
Please sign in to comment.
Something went wrong with that request. Please try again.