Reduce the length of MFA VARCHAR columns used in UNIQUE KEY
authorTim Düsterhus <duesterhus@woltlab.com>
Mon, 3 May 2021 09:35:08 +0000 (11:35 +0200)
committerTim Düsterhus <duesterhus@woltlab.com>
Mon, 3 May 2021 09:35:08 +0000 (11:35 +0200)
Fixes #4171

wcfsetup/install/files/acp/database/update_com.woltlab.wcf_5.4.php
wcfsetup/setup/db/install.sql

index dbad31b28ede5e85ab74126e6b48d1e3e9aac9d2..cce1936a7fbbf56015ff6b7b78ed1a522db1b054 100644 (file)
@@ -16,6 +16,7 @@ use wcf\system\database\table\column\DefaultFalseBooleanDatabaseTableColumn;
 use wcf\system\database\table\column\EnumDatabaseTableColumn;
 use wcf\system\database\table\column\IntDatabaseTableColumn;
 use wcf\system\database\table\column\NotNullInt10DatabaseTableColumn;
+use wcf\system\database\table\column\NotNullVarchar191DatabaseTableColumn;
 use wcf\system\database\table\column\NotNullVarchar255DatabaseTableColumn;
 use wcf\system\database\table\column\ObjectIdDatabaseTableColumn;
 use wcf\system\database\table\column\TextDatabaseTableColumn;
@@ -153,7 +154,7 @@ return [
     DatabaseTable::create('wcf1_user_multifactor_backup')
         ->columns([
             NotNullInt10DatabaseTableColumn::create('setupID'),
-            NotNullVarchar255DatabaseTableColumn::create('identifier'),
+            NotNullVarchar191DatabaseTableColumn::create('identifier'),
             NotNullVarchar255DatabaseTableColumn::create('code'),
             NotNullInt10DatabaseTableColumn::create('createTime'),
             IntDatabaseTableColumn::create('useTime')
@@ -176,7 +177,7 @@ return [
     DatabaseTable::create('wcf1_user_multifactor_email')
         ->columns([
             NotNullInt10DatabaseTableColumn::create('setupID'),
-            NotNullVarchar255DatabaseTableColumn::create('code'),
+            NotNullVarchar191DatabaseTableColumn::create('code'),
             NotNullInt10DatabaseTableColumn::create('createTime'),
         ])
         ->indices([
@@ -195,7 +196,7 @@ return [
     DatabaseTable::create('wcf1_user_multifactor_totp')
         ->columns([
             NotNullInt10DatabaseTableColumn::create('setupID'),
-            NotNullVarchar255DatabaseTableColumn::create('deviceID'),
+            NotNullVarchar191DatabaseTableColumn::create('deviceID'),
             NotNullVarchar255DatabaseTableColumn::create('deviceName'),
             VarbinaryDatabaseTableColumn::create('secret')
                 ->notNull()
index 6f6bc13d9f11a82fac9592fb7ad3fb3e96f1a123..161555c34a658dc994500caa667b505f6a77ae8a 100644 (file)
@@ -1722,7 +1722,7 @@ CREATE TABLE wcf1_user_multifactor (
 DROP TABLE IF EXISTS wcf1_user_multifactor_backup;
 CREATE TABLE wcf1_user_multifactor_backup (
        setupID INT(10) NOT NULL,
-       identifier VARCHAR(255) NOT NULL,
+       identifier VARCHAR(191) NOT NULL,
        code VARCHAR(255) NOT NULL,
        createTime INT(10) NOT NULL,
        useTime INT(10) DEFAULT NULL,
@@ -1733,7 +1733,7 @@ CREATE TABLE wcf1_user_multifactor_backup (
 DROP TABLE IF EXISTS wcf1_user_multifactor_email;
 CREATE TABLE wcf1_user_multifactor_email (
        setupID INT(10) NOT NULL,
-       code VARCHAR(255) NOT NULL,
+       code VARCHAR(191) NOT NULL,
        createTime INT(10) NOT NULL,
 
        UNIQUE KEY (setupID, code)
@@ -1742,7 +1742,7 @@ CREATE TABLE wcf1_user_multifactor_email (
 DROP TABLE IF EXISTS wcf1_user_multifactor_totp;
 CREATE TABLE wcf1_user_multifactor_totp (
        setupID INT(10) NOT NULL,
-       deviceID VARCHAR(255) NOT NULL,
+       deviceID VARCHAR(191) NOT NULL,
        deviceName VARCHAR(255) NOT NULL,
        secret VARBINARY(255) NOT NULL,
        minCounter INT(10) NOT NULL,