From ced98569534a41b4aa52afad4e05d181d64ec861 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tim=20D=C3=BCsterhus?= Date: Tue, 10 Nov 2020 09:29:00 +0100 Subject: [PATCH] Add MFA tables to update script --- .../acp/update_com.woltlab.wcf_5.4_db.php | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/wcfsetup/install/files/acp/update_com.woltlab.wcf_5.4_db.php b/wcfsetup/install/files/acp/update_com.woltlab.wcf_5.4_db.php index c60c70554d..b81521451e 100644 --- a/wcfsetup/install/files/acp/update_com.woltlab.wcf_5.4_db.php +++ b/wcfsetup/install/files/acp/update_com.woltlab.wcf_5.4_db.php @@ -1,8 +1,13 @@ drop() ]), + + PartialDatabaseTable::create('wcf1_user') + ->columns([ + DefaultFalseBooleanDatabaseTableColumn::create('multifactorActive'), + ]), + + DatabaseTable::create('wcf1_user_multifactor') + ->columns([ + ObjectIdDatabaseTableColumn::create('setupID'), + NotNullInt10DatabaseTableColumn::create('userID'), + NotNullInt10DatabaseTableColumn::create('objectTypeID'), + ]) + ->indices([ + DatabaseTablePrimaryIndex::create() + ->columns(['logID']), + DatabaseTableIndex::create() + ->type(DatabaseTableIndex::UNIQUE_TYPE) + ->columns(['userID', 'objectTypeID']), + ]), + + DatabaseTable::create('wcf1_user_multifactor_backup') + ->columns([ + NotNullInt10DatabaseTableColumn::create('setupID'), + NotNullVarchar255DatabaseTableColumn::create('identifier'), + NotNullVarchar255DatabaseTableColumn::create('code'), + NotNullInt10DatabaseTableColumn::create('createTime'), + IntDatabaseTableColumn::create('useTime') + ->length(10) + ->defaultValue(null), + ]) + ->indices([ + DatabaseTableIndex::create() + ->type(DatabaseTableIndex::UNIQUE_TYPE) + ->columns(['setupID', 'identifier']), + ]), + + DatabaseTable::create('wcf1_user_multifactor_totp') + ->columns([ + NotNullInt10DatabaseTableColumn::create('setupID'), + NotNullVarchar255DatabaseTableColumn::create('deviceID'), + NotNullVarchar255DatabaseTableColumn::create('deviceName'), + VarbinaryDatabaseTableColumn::create('secret') + ->notNull() + ->length(255), + NotNullInt10DatabaseTableColumn::create('minCounter'), + NotNullInt10DatabaseTableColumn::create('createTime'), + IntDatabaseTableColumn::create('createTime') + ->length(10) + ->defaultValue(null), + ]) + ->indices([ + DatabaseTableIndex::create() + ->type(DatabaseTableIndex::UNIQUE_TYPE) + ->columns(['setupID', 'deviceID']), + ]), ]; (new DatabaseTableChangeProcessor( -- 2.20.1