From b69599e822d3204ba7649cdeb1b71b00cca2b37d Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Sun, 22 Jan 2017 11:58:41 -0800 Subject: [PATCH] GUACAMOLE-163: Remove DEFAULT CURRENT_TIMESTAMP from guacamole_user's password_date column (compatibility with MySQL 5.5 and older). --- .../guacamole-auth-jdbc-mysql/schema/001-create-schema.sql | 2 +- .../schema/002-create-admin-user.sql | 5 +++-- .../schema/upgrade/upgrade-pre-0.9.11.sql | 7 ++++++- .../schema/001-create-schema.sql | 2 +- .../schema/002-create-admin-user.sql | 5 +++-- .../schema/upgrade/upgrade-pre-0.9.11.sql | 7 ++++++- 6 files changed, 20 insertions(+), 8 deletions(-) diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/001-create-schema.sql b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/001-create-schema.sql index ebf5b7d2a..37a825917 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/001-create-schema.sql +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/001-create-schema.sql @@ -85,7 +85,7 @@ CREATE TABLE `guacamole_user` ( `username` varchar(128) NOT NULL, `password_hash` binary(32) NOT NULL, `password_salt` binary(32), - `password_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + `password_date` datetime NOT NULL, -- Account disabled/expired status `disabled` boolean NOT NULL DEFAULT 0, diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/002-create-admin-user.sql b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/002-create-admin-user.sql index cc73a01ef..cfc831361 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/002-create-admin-user.sql +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/002-create-admin-user.sql @@ -18,10 +18,11 @@ -- -- Create default user "guacadmin" with password "guacadmin" -INSERT INTO guacamole_user (username, password_hash, password_salt) +INSERT INTO guacamole_user (username, password_hash, password_salt, password_date) VALUES ('guacadmin', x'CA458A7D494E3BE824F5E1E175A1556C0F8EEF2C2D7DF3633BEC4A29C4411960', -- 'guacadmin' - x'FE24ADC5E11E2B25288D1704ABE67A79E342ECC26064CE69C5B3177795A82264'); + x'FE24ADC5E11E2B25288D1704ABE67A79E342ECC26064CE69C5B3177795A82264', + NOW()); -- Grant this user all system permissions INSERT INTO guacamole_system_permission diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/upgrade/upgrade-pre-0.9.11.sql b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/upgrade/upgrade-pre-0.9.11.sql index ecfde8871..84576ebdb 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/upgrade/upgrade-pre-0.9.11.sql +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/upgrade/upgrade-pre-0.9.11.sql @@ -22,7 +22,12 @@ -- ALTER TABLE guacamole_user - ADD COLUMN password_date DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP; + ADD COLUMN password_date DATETIME; + +UPDATE guacamole_user SET password_date = NOW(); + +ALTER TABLE guacamole_user + MODIFY COLUMN password_date DATETIME NOT NULL; -- -- User password history diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/001-create-schema.sql b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/001-create-schema.sql index f2ad2c487..199b4bdc2 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/001-create-schema.sql +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/001-create-schema.sql @@ -126,7 +126,7 @@ CREATE TABLE guacamole_user ( username varchar(128) NOT NULL, password_hash bytea NOT NULL, password_salt bytea, - password_date timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP, + password_date timestamptz NOT NULL, -- Account disabled/expired status disabled boolean NOT NULL DEFAULT FALSE, diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/002-create-admin-user.sql b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/002-create-admin-user.sql index feeb9ad22..6425bf6ba 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/002-create-admin-user.sql +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/002-create-admin-user.sql @@ -19,10 +19,11 @@ -- Create default user "guacadmin" with password "guacadmin" -INSERT INTO guacamole_user (username, password_hash, password_salt) +INSERT INTO guacamole_user (username, password_hash, password_salt, password_date) VALUES ('guacadmin', E'\\xCA458A7D494E3BE824F5E1E175A1556C0F8EEF2C2D7DF3633BEC4A29C4411960', -- 'guacadmin' - E'\\xFE24ADC5E11E2B25288D1704ABE67A79E342ECC26064CE69C5B3177795A82264'); + E'\\xFE24ADC5E11E2B25288D1704ABE67A79E342ECC26064CE69C5B3177795A82264', + CURRENT_TIMESTAMP); -- Grant this user all system permissions INSERT INTO guacamole_system_permission diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/upgrade/upgrade-pre-0.9.11.sql b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/upgrade/upgrade-pre-0.9.11.sql index c047a8fcb..fad3bb4ba 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/upgrade/upgrade-pre-0.9.11.sql +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/upgrade/upgrade-pre-0.9.11.sql @@ -22,7 +22,12 @@ -- ALTER TABLE guacamole_user - ADD COLUMN password_date timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP; + ADD COLUMN password_date timestamptz; + +UPDATE guacamole_user SET password_date = CURRENT_TIMESTAMP; + +ALTER TABLE guacamole_user + ALTER COLUMN password_date SET NOT NULL; -- -- User password history