From 1643e0d1cfdf572fe977075fbd563c08a0b5d0bc Mon Sep 17 00:00:00 2001 From: Peter Rotich <peter@osticket.com> Date: Mon, 21 Jan 2013 14:45:22 -0500 Subject: [PATCH] Change session ID field to varchar(256) - to support 1024-bit hashes Make collation consistent - utf8_general_ci. --- include/mysql.php | 2 +- include/upgrader/sql/435c62c3-2e7531a2.patch.sql | 2 +- include/upgrader/sql/98ae1ed2-e342f869.patch.sql | 4 ++-- ...54c-d5339cae.patch.sql => 9f3b454c-c0fd16f4.patch.sql} | 8 ++++---- include/upgrader/sql/c00511c7-7be60a84.patch.sql | 6 +++--- main.inc.php | 2 +- setup/inc/class.installer.php | 3 +++ setup/inc/sql/osTicket-mysql.sql | 6 +++--- setup/inc/sql/osTicket-mysql.sql.md5 | 2 +- 9 files changed, 19 insertions(+), 16 deletions(-) rename include/upgrader/sql/{9f3b454c-d5339cae.patch.sql => 9f3b454c-c0fd16f4.patch.sql} (83%) diff --git a/include/mysql.php b/include/mysql.php index 7a3819f4e..15a8a432b 100644 --- a/include/mysql.php +++ b/include/mysql.php @@ -74,7 +74,7 @@ return ($database && @mysql_select_db($database)); } - function db_create_database($database, $charset='utf8', $collate='utf8_unicode_ci') { + function db_create_database($database, $charset='utf8', $collate='utf8_general_ci') { return @mysql_query(sprintf('CREATE DATABASE %s DEFAULT CHARACTER SET %s COLLATE %s', $database, $charset, $collate)); } diff --git a/include/upgrader/sql/435c62c3-2e7531a2.patch.sql b/include/upgrader/sql/435c62c3-2e7531a2.patch.sql index 9537d1acb..760a6b0c3 100644 --- a/include/upgrader/sql/435c62c3-2e7531a2.patch.sql +++ b/include/upgrader/sql/435c62c3-2e7531a2.patch.sql @@ -10,7 +10,7 @@ CREATE TABLE `%TABLE_PREFIX%group_dept_access` ( `dept_id` int(10) unsigned NOT NULL default '0', UNIQUE KEY `group_dept` (`group_id`,`dept_id`), KEY `dept_id` (`dept_id`) -) ENGINE=MyISAM; +) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- Extend membership to groups ALTER TABLE `%TABLE_PREFIX%department` diff --git a/include/upgrader/sql/98ae1ed2-e342f869.patch.sql b/include/upgrader/sql/98ae1ed2-e342f869.patch.sql index 4fc011ce8..3c2f57454 100644 --- a/include/upgrader/sql/98ae1ed2-e342f869.patch.sql +++ b/include/upgrader/sql/98ae1ed2-e342f869.patch.sql @@ -143,7 +143,7 @@ CREATE TABLE `%TABLE_PREFIX%api_key` ( `created` datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (`id`), UNIQUE KEY `ipaddr` (`ipaddr`) -) ENGINE=MyISAM; +) ENGINE=MyISAM DEFAULT CHARSET=utf8; DROP TABLE IF EXISTS `%TABLE_PREFIX%syslog`; CREATE TABLE `%TABLE_PREFIX%syslog` ( @@ -157,7 +157,7 @@ CREATE TABLE `%TABLE_PREFIX%syslog` ( `updated` datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (`log_id`), KEY `log_type` (`log_type`) -) ENGINE=MyISAM; +) ENGINE=MyISAM DEFAULT CHARSET=utf8; UPDATE `%TABLE_PREFIX%config` SET `ostversion`='1.6 RC5'; diff --git a/include/upgrader/sql/9f3b454c-d5339cae.patch.sql b/include/upgrader/sql/9f3b454c-c0fd16f4.patch.sql similarity index 83% rename from include/upgrader/sql/9f3b454c-d5339cae.patch.sql rename to include/upgrader/sql/9f3b454c-c0fd16f4.patch.sql index bc9a23a7a..bcd1eedeb 100644 --- a/include/upgrader/sql/9f3b454c-d5339cae.patch.sql +++ b/include/upgrader/sql/9f3b454c-c0fd16f4.patch.sql @@ -1,13 +1,13 @@ /** * @version v1.7 * - * @schema d5339caebcfbdcca7d57be5b17f804ee + * @schema c0fd16f4eaf99b920be9f7fc6ebead32 */ --- increate varchar size for various fields... based on feedback from users. +-- Increment varchar size for various fields... based on feedback from users. ALTER TABLE `%TABLE_PREFIX%session` - CHANGE `session_id` `session_id` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT ''; + CHANGE `session_id` `session_id` VARCHAR( 256 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT ''; ALTER TABLE `%TABLE_PREFIX%ticket` CHANGE `name` `name` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '', @@ -25,4 +25,4 @@ ALTER TABLE `%TABLE_PREFIX%department` CHANGE `dept_name` `dept_name` VARCHAR( 128 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT ''; UPDATE `%TABLE_PREFIX%config` - SET `schema_signature`='d5339caebcfbdcca7d57be5b17f804ee'; + SET `schema_signature`='c0fd16f4eaf99b920be9f7fc6ebead32'; diff --git a/include/upgrader/sql/c00511c7-7be60a84.patch.sql b/include/upgrader/sql/c00511c7-7be60a84.patch.sql index 80e652cc7..25465e81b 100644 --- a/include/upgrader/sql/c00511c7-7be60a84.patch.sql +++ b/include/upgrader/sql/c00511c7-7be60a84.patch.sql @@ -88,7 +88,7 @@ CREATE TABLE IF NOT EXISTS `%TABLE_PREFIX%sla` ( `updated` datetime NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`) -) ENGINE=MyISAM; +) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- Create a default SLA INSERT INTO `%TABLE_PREFIX%sla` (`isactive`, `enable_priority_escalation`, @@ -109,7 +109,7 @@ CREATE TABLE IF NOT EXISTS `%TABLE_PREFIX%team` ( UNIQUE KEY `name` (`name`), KEY `isnabled` (`isenabled`), KEY `lead_id` (`lead_id`) -) ENGINE=MyISAM; +) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- Create a default TEAM INSERT INTO `%TABLE_PREFIX%team` (`lead_id`, `isenabled`, `noalerts`, `name`, `notes`, `created`, `updated`) @@ -121,7 +121,7 @@ CREATE TABLE IF NOT EXISTS `%TABLE_PREFIX%team_member` ( `staff_id` int(10) unsigned NOT NULL, `updated` datetime NOT NULL, PRIMARY KEY (`team_id`,`staff_id`) -) ENGINE=MyISAM; +) ENGINE=MyISAM DEFAULT CHARSET=utf8; ALTER TABLE `%TABLE_PREFIX%department` ADD sla_id INT UNSIGNED NOT NULL DEFAULT '0' AFTER tpl_id; diff --git a/main.inc.php b/main.inc.php index c4cf687ce..0d8ccd34c 100644 --- a/main.inc.php +++ b/main.inc.php @@ -63,7 +63,7 @@ #Current version && schema signature (Changes from version to version) define('THIS_VERSION','1.7-RC4+'); //Shown on admin panel - define('SCHEMA_SIGNATURE','d5339caebcfbdcca7d57be5b17f804ee'); //MD5 signature of the db schema. (used to trigger upgrades) + define('SCHEMA_SIGNATURE', 'c0fd16f4eaf99b920be9f7fc6ebead32'); //MD5 signature of the db schema. (used to trigger upgrades) #load config info $configfile=''; if(file_exists(ROOT_DIR.'ostconfig.php')) //Old installs prior to v 1.6 RC5 diff --git a/setup/inc/class.installer.php b/setup/inc/class.installer.php index f355fbe04..0e2e19f57 100644 --- a/setup/inc/class.installer.php +++ b/setup/inc/class.installer.php @@ -95,6 +95,9 @@ class Installer extends SetupWizard { if(mysql_query($sql)) { $this->errors['err'] = 'We have a problem - another installation with same table prefix exists!'; $this->errors['prefix'] = 'Prefix already in-use'; + } else { + //Try changing charset and collation of the DB - no bigie if we fail. + mysql_query('ALTER DATABASE '.$vars['dbname'].' DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci'); } } } diff --git a/setup/inc/sql/osTicket-mysql.sql b/setup/inc/sql/osTicket-mysql.sql index f20f2f00a..ba980b876 100644 --- a/setup/inc/sql/osTicket-mysql.sql +++ b/setup/inc/sql/osTicket-mysql.sql @@ -383,7 +383,7 @@ CREATE TABLE `%TABLE_PREFIX%group_dept_access` ( `dept_id` int(10) unsigned NOT NULL default '0', UNIQUE KEY `group_dept` (`group_id`,`dept_id`), KEY `dept_id` (`dept_id`) -) ENGINE=MyISAM; +) ENGINE=MyISAM DEFAULT CHARSET=utf8; INSERT INTO `%TABLE_PREFIX%group_dept_access` (`group_id`, `dept_id`) VALUES (1, 1), (1, 2), (2, 1), (2, 2), (3, 1), (3, 2); @@ -449,7 +449,7 @@ INSERT INTO `%TABLE_PREFIX%canned_attachment` (`canned_id`, `file_id`) VALUES (1 DROP TABLE IF EXISTS `%TABLE_PREFIX%session`; CREATE TABLE `%TABLE_PREFIX%session` ( - `session_id` varchar(255) collate utf8_unicode_ci NOT NULL default '', + `session_id` varchar(256) collate utf8_unicode_ci NOT NULL default '', `session_data` longtext collate utf8_unicode_ci, `session_expire` datetime default NULL, `session_updated` datetime default NULL, @@ -558,7 +558,7 @@ CREATE TABLE `%TABLE_PREFIX%team_member` ( `staff_id` int(10) unsigned NOT NULL, `updated` datetime NOT NULL, PRIMARY KEY (`team_id`,`staff_id`) -) ENGINE=MyISAM; +) ENGINE=MyISAM DEFAULT CHARSET=utf8; DROP TABLE IF EXISTS `%TABLE_PREFIX%ticket`; CREATE TABLE `%TABLE_PREFIX%ticket` ( diff --git a/setup/inc/sql/osTicket-mysql.sql.md5 b/setup/inc/sql/osTicket-mysql.sql.md5 index acaa7c293..db25b4569 100644 --- a/setup/inc/sql/osTicket-mysql.sql.md5 +++ b/setup/inc/sql/osTicket-mysql.sql.md5 @@ -1 +1 @@ -d5339caebcfbdcca7d57be5b17f804ee +c0fd16f4eaf99b920be9f7fc6ebead32 -- GitLab