From 63c541b1ff8b0333340005a78703210f05767f70 Mon Sep 17 00:00:00 2001 From: Nick Couchman Date: Tue, 15 Aug 2017 17:03:25 -0400 Subject: [PATCH] GUACAMOLE-363: Fix style, order, and batching in SQL Server schema scripts. --- .../schema/001-create-schema.sql | Bin 35118 -> 37808 bytes .../schema/002-create-admin-user.sql | 58 +++++++----------- 2 files changed, 21 insertions(+), 37 deletions(-) diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/schema/001-create-schema.sql b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/schema/001-create-schema.sql index df95800ec6f91545eac5bdafd9d1a8d8e2bf31ed..166e14f3e96eb2b4456759034e531e2740543ed8 100644 GIT binary patch literal 37808 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 literal 35118 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 diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/schema/002-create-admin-user.sql b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/schema/002-create-admin-user.sql index 08cce3f07..947c5ac2f 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/schema/002-create-admin-user.sql +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/schema/002-create-admin-user.sql @@ -1,43 +1,27 @@ /** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. + * Create the default admin user account and set up full privileges. */ - -INSERT INTO [guacamole].[user] (username, password_hash, password_salt, password_date) -VALUES ('guacadmin', 0xCA458A7D494E3BE824F5E1E175A1556C0F8EEF2C2D7DF3633BEC4A29C4411960, -0xCA458A7D494E3BE824F5E1E175A1556C0F8EEF2C2D7DF3633BEC4A29C4411960, getdate()); - -INSERT INTO [guacamole].[system_permission] -SELECT user_id, permission -FROM ( - SELECT 'guacadmin' AS username, 'CREATE_CONNECTION' AS permission - UNION SELECT 'guacadmin' AS username, 'CREATE_CONNECTION_GROUP' AS permission - UNION SELECT 'guacadmin' AS username, 'CREATE_SHARING_PROFILE' AS permission - UNION SELECT 'guacadmin' AS username, 'CREATE_USER' AS permission - UNION SELECT 'guacadmin' AS username, 'ADMINISTER' AS permission) - permissions - JOIN [guacamole].[user] ON permissions.username = [guacamole].[user].[username]; +INSERT INTO [guacamole].[user] (username, password_hash, password_date) +VALUES ('guacadmin', HASHBYTES('SHA2_256', 'guacadmin'), getdate()); INSERT INTO [guacamole].[user_permission] SELECT [guacamole].[user].[user_id], [affected].[user_id], permission FROM ( - SELECT 'guacadmin' AS username, 'guacadmin' AS affected_username, 'READ' AS permission - UNION SELECT 'guacadmin' AS username, 'guacadmin' AS affected_username, 'UPDATE' AS permission - UNION SELECT 'guacadmin' AS username, 'guacadmin' AS affected_username, 'ADMINISTER' AS permission) - permissions - JOIN [guacamole].[user] ON permissions.username = [guacamole].[user].[username] - JOIN [guacamole].[user] affected ON permissions.affected_username = affected.username; + SELECT 'guacadmin' AS username, 'guacadmin' AS affected_username, 'READ' AS permission + UNION SELECT 'guacadmin' AS username, 'guacadmin' AS affected_username, 'UPDATE' AS permission + UNION SELECT 'guacadmin' AS username, 'guacadmin' AS affected_username, 'ADMINISTER' AS permission) + permissions + JOIN [guacamole].[user] ON permissions.username = [guacamole].[user].[username] + JOIN [guacamole].[user] affected ON permissions.affected_username = affected.username; + +INSERT INTO [guacamole].[system_permission] +SELECT user_id, permission +FROM ( + SELECT 'guacadmin' AS username, 'CREATE_CONNECTION' AS permission + UNION SELECT 'guacadmin' AS username, 'CREATE_CONNECTION_GROUP' AS permission + UNION SELECT 'guacadmin' AS username, 'CREATE_SHARING_PROFILE' AS permission + UNION SELECT 'guacadmin' AS username, 'CREATE_USER' AS permission + UNION SELECT 'guacadmin' AS username, 'ADMINISTER' AS permission) + permissions + JOIN [guacamole].[user] ON permissions.username = [guacamole].[user].[username]; +GO \ No newline at end of file