Skip to content
Snippets Groups Projects
Commit f855f5aa authored by Peter Rotich's avatar Peter Rotich
Browse files

Upgrade patch for 16fcef4a13d6475a5f8bfef462b548e2

parent 0f029176
No related branches found
No related tags found
No related merge requests found
8aeda901a16e08c3229f1ac6da568e02
16fcef4a13d6475a5f8bfef462b548e2
/**
* @version v1.7.1
* @signature 16fcef4a13d6475a5f8bfef462b548e2
*
* Change email password field to varchar 255 ASCII
*
*
*/
ALTER TABLE `%TABLE_PREFIX%email`
CHANGE `userpass` `userpass` VARCHAR( 255 ) CHARACTER SET ASCII COLLATE ascii_general_ci NOT NULL;
-- Finished with patch
UPDATE `%TABLE_PREFIX%config`
SET `value` = '16fcef4a13d6475a5f8bfef462b548e2'
WHERE `key` = 'schema_signature' AND `namespace` = 'core';
<?php
require_once INCLUDE_DIR.'class.migrater.php';
class CryptoMigrater extends MigrationTask {
var $description = "Migrating encrypted password";
var $status ='Making the world a better place!';
function run() {
$sql='SELECT email_id, userpass, userid FROM '.EMAIL_TABLE
." WHERE userpass <> ''";
if(($res=db_query($sql)) && db_num_rows($res)) {
while(list($id, $passwd, $username) = db_fetch_row($res)) {
if(!$passwd) continue;
$ciphertext = Crypto::encrypt(self::_decrypt($passwd, SECRET_SALT), SECRET_SALT, $username);
$sql='UPDATE '.EMAIL_TABLE
.' SET userpass='.db_input($ciphertext)
.' WHERE email_id='.db_input($id);
db_query($sql);
}
}
}
/*
XXX: This is not a good way of decrypting data - use to descrypt old
data.
*/
function _decrypt($text, $salt) {
if(!function_exists('mcrypt_encrypt') || !function_exists('mcrypt_decrypt'))
return $text;
return trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $salt, base64_decode($text), MCRYPT_MODE_ECB,
mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND)));
}
}
return 'CryptoMigrater';
?>
......@@ -92,7 +92,7 @@ CREATE TABLE `%TABLE_PREFIX%config` (
INSERT INTO `%TABLE_PREFIX%config` (`namespace`, `key`, `value`) VALUES
('core', 'isonline', '0'),
('core', 'enable_daylight_saving', '0'),
('core', 'staff_ip_binding', '1'),
('core', 'staff_ip_binding', '0'),
('core', 'staff_max_logins', '4'),
('core', 'staff_login_timeout', '2'),
('core', 'staff_session_timeout', '30'),
......@@ -221,7 +221,7 @@ CREATE TABLE `%TABLE_PREFIX%email` (
`email` varchar(255) NOT NULL default '',
`name` varchar(255) NOT NULL default '',
`userid` varchar(255) NOT NULL,
`userpass` varchar(125) NOT NULL,
`userpass` varchar(255) collate ascii_general_ci NOT NULL,
`mail_active` tinyint(1) NOT NULL default '0',
`mail_host` varchar(255) NOT NULL,
`mail_protocol` enum('POP','IMAP') NOT NULL default 'POP',
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment