From f34cff29d700d04018b1fa89c4bf44e4c04c4342 Mon Sep 17 00:00:00 2001 From: Simon Brandhof Date: Mon, 14 Mar 2016 10:28:50 +0100 Subject: [PATCH] SONAR-7321 sanitize some DB columns - ISSUE_CHANGES.USER_LOGIN on all databases except H2 - ACTIVITIES.USER_LOGIN is too small on MsSQL and H2 - RULES.PLUGIN_CONFIG_KEY is too big on H2 - AUTHORS.LOGIN is too small on H2 --- .../1118_fix_size_of_issue_changes_login.rb | 31 +++++++++++++++++++ .../org/sonar/db/version/DatabaseVersion.java | 2 +- .../db/version/v53/FixMsSqlCollation.java | 2 +- .../org/sonar/db/version/rows-h2.sql | 1 + .../org/sonar/db/version/schema-h2.ddl | 6 ++-- 5 files changed, 37 insertions(+), 5 deletions(-) create mode 100644 server/sonar-web/src/main/webapp/WEB-INF/db/migrate/1118_fix_size_of_issue_changes_login.rb diff --git a/server/sonar-web/src/main/webapp/WEB-INF/db/migrate/1118_fix_size_of_issue_changes_login.rb b/server/sonar-web/src/main/webapp/WEB-INF/db/migrate/1118_fix_size_of_issue_changes_login.rb new file mode 100644 index 00000000000..603d1730bdb --- /dev/null +++ b/server/sonar-web/src/main/webapp/WEB-INF/db/migrate/1118_fix_size_of_issue_changes_login.rb @@ -0,0 +1,31 @@ +# +# SonarQube, open source software quality management tool. +# Copyright (C) 2008-2014 SonarSource +# mailto:contact AT sonarsource DOT com +# +# SonarQube is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 3 of the License, or (at your option) any later version. +# +# SonarQube is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# + +# +# SonarQube 5.5 +# SONAR-7321 +# +class FixSizeOfIssueChangesLogin < ActiveRecord::Migration + + def self.up + change_column :issue_changes, :user_login, :string, :limit => 255 + end + +end diff --git a/sonar-db/src/main/java/org/sonar/db/version/DatabaseVersion.java b/sonar-db/src/main/java/org/sonar/db/version/DatabaseVersion.java index 83e52658375..148c2af5255 100644 --- a/sonar-db/src/main/java/org/sonar/db/version/DatabaseVersion.java +++ b/sonar-db/src/main/java/org/sonar/db/version/DatabaseVersion.java @@ -29,7 +29,7 @@ import org.sonar.db.MyBatis; public class DatabaseVersion { - public static final int LAST_VERSION = 1117; + public static final int LAST_VERSION = 1118; /** * The minimum supported version which can be upgraded. Lower diff --git a/sonar-db/src/main/java/org/sonar/db/version/v53/FixMsSqlCollation.java b/sonar-db/src/main/java/org/sonar/db/version/v53/FixMsSqlCollation.java index 98af761c2f8..deb2895f819 100644 --- a/sonar-db/src/main/java/org/sonar/db/version/v53/FixMsSqlCollation.java +++ b/sonar-db/src/main/java/org/sonar/db/version/v53/FixMsSqlCollation.java @@ -395,7 +395,7 @@ public class FixMsSqlCollation extends DdlChange { new UpdateTableCollation(context, db, "activities") .addUniqueIndex("activities_log_key", "log_key") .addVarcharColumn("log_key", 250) - .addVarcharColumn("user_login", 30) + .addVarcharColumn("user_login", 255) .addVarcharColumn("log_type", 250) .addVarcharColumn("log_action", 250) .addVarcharColumn("log_message", 250) diff --git a/sonar-db/src/main/resources/org/sonar/db/version/rows-h2.sql b/sonar-db/src/main/resources/org/sonar/db/version/rows-h2.sql index cc1d19832fa..036642f4356 100644 --- a/sonar-db/src/main/resources/org/sonar/db/version/rows-h2.sql +++ b/sonar-db/src/main/resources/org/sonar/db/version/rows-h2.sql @@ -395,6 +395,7 @@ INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('1114'); INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('1115'); INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('1116'); INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('1117'); +INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('1118'); INSERT INTO USERS(ID, LOGIN, NAME, EMAIL, EXTERNAL_IDENTITY, EXTERNAL_IDENTITY_PROVIDER, CRYPTED_PASSWORD, SALT, CREATED_AT, UPDATED_AT, REMEMBER_TOKEN, REMEMBER_TOKEN_EXPIRES_AT) VALUES (1, 'admin', 'Administrator', '', 'admin', 'sonarqube', 'a373a0e667abb2604c1fd571eb4ad47fe8cc0878', '48bc4b0d93179b5103fd3885ea9119498e9d161b', '1418215735482', '1418215735482', null, null); ALTER TABLE USERS ALTER COLUMN ID RESTART WITH 2; diff --git a/sonar-db/src/main/resources/org/sonar/db/version/schema-h2.ddl b/sonar-db/src/main/resources/org/sonar/db/version/schema-h2.ddl index 6e6139fe563..36775ed6ed1 100644 --- a/sonar-db/src/main/resources/org/sonar/db/version/schema-h2.ddl +++ b/sonar-db/src/main/resources/org/sonar/db/version/schema-h2.ddl @@ -105,7 +105,7 @@ CREATE TABLE "RULES" ( "PRIORITY" INTEGER, "IS_TEMPLATE" BOOLEAN DEFAULT FALSE, "TEMPLATE_ID" INTEGER, - "PLUGIN_CONFIG_KEY" VARCHAR(500), + "PLUGIN_CONFIG_KEY" VARCHAR(200), "NAME" VARCHAR(200), "STATUS" VARCHAR(40), "LANGUAGE" VARCHAR(20), @@ -370,7 +370,7 @@ CREATE TABLE "ACTION_PLANS" ( CREATE TABLE "AUTHORS" ( "ID" INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1), "PERSON_ID" INTEGER, - "LOGIN" VARCHAR(100), + "LOGIN" VARCHAR(255), "CREATED_AT" TIMESTAMP, "UPDATED_AT" TIMESTAMP ); @@ -486,7 +486,7 @@ CREATE TABLE "ACTIVITIES" ( "ID" INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1), "LOG_KEY" VARCHAR(250), "CREATED_AT" TIMESTAMP, - "USER_LOGIN" VARCHAR(30), + "USER_LOGIN" VARCHAR(255), "LOG_TYPE" VARCHAR(250), "LOG_ACTION" VARCHAR(250), "LOG_MESSAGE" VARCHAR(250), -- 2.39.5