mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-15 23:20:36 +01:00
Core/Realms: Move build info (and auth seeds) to database
This commit is contained in:
@@ -435,6 +435,122 @@ LOCK TABLES `battlenet_item_favorite_appearances` WRITE;
|
||||
/*!40000 ALTER TABLE `battlenet_item_favorite_appearances` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
|
||||
--
|
||||
-- Table structure for table `build_info`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `build_info`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8mb4 */;
|
||||
CREATE TABLE `build_info` (
|
||||
`build` int(11) NOT NULL,
|
||||
`majorVersion` int(11) DEFAULT NULL,
|
||||
`minorVersion` int(11) DEFAULT NULL,
|
||||
`bugfixVersion` int(11) DEFAULT NULL,
|
||||
`hotfixVersion` char(3) DEFAULT NULL,
|
||||
`winAuthSeed` varchar(32) DEFAULT NULL,
|
||||
`win64AuthSeed` varchar(32) DEFAULT NULL,
|
||||
`mac64AuthSeed` varchar(32) DEFAULT NULL,
|
||||
`winChecksumSeed` varchar(40) DEFAULT NULL,
|
||||
`macChecksumSeed` varchar(40) DEFAULT NULL,
|
||||
PRIMARY KEY (`build`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Dumping data for table `build_info`
|
||||
--
|
||||
|
||||
LOCK TABLES `build_info` WRITE;
|
||||
/*!40000 ALTER TABLE `build_info` DISABLE KEYS */;
|
||||
INSERT INTO `build_info` VALUES
|
||||
(5875,1,12,1,NULL,NULL,NULL,NULL,'95EDB27C7823B363CBDDAB56A392E7CB73FCCA20','8D173CC381961EEBABF336F5E6675B101BB513E5'),
|
||||
(6005,1,12,2,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(6141,1,12,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(8606,2,4,3,NULL,NULL,NULL,NULL,'319AFAA3F2559682F9FF658BE01456255F456FB1','D8B0ECFE534BC1131E19BAD1D4C0E813EEE4994F'),
|
||||
(9947,3,1,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(10505,3,2,2,'a',NULL,NULL,NULL,NULL,NULL),
|
||||
(11159,3,3,0,'a',NULL,NULL,NULL,NULL,NULL),
|
||||
(11403,3,3,2,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(11723,3,3,3,'a',NULL,NULL,NULL,NULL,NULL),
|
||||
(12340,3,3,5,'a',NULL,NULL,NULL,'CDCBBD5188315E6B4D19449D492DBCFAF156A347','B706D13FF2F4018839729461E3F8A0E2B5FDC034'),
|
||||
(13623,4,0,6,'a',NULL,NULL,NULL,NULL,NULL),
|
||||
(13930,3,3,5,'a',NULL,NULL,NULL,NULL,NULL),
|
||||
(14545,4,2,2,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(15595,4,3,4,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(19116,6,0,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(19243,6,0,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(19342,6,0,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(19702,6,1,0,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(19802,6,1,2,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(19831,6,1,2,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(19865,6,1,2,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(20182,6,2,0,'a',NULL,NULL,NULL,NULL,NULL),
|
||||
(20201,6,2,0,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(20216,6,2,0,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(20253,6,2,0,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(20338,6,2,0,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(20444,6,2,2,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(20490,6,2,2,'a',NULL,NULL,NULL,NULL,NULL),
|
||||
(20574,6,2,2,'a',NULL,NULL,NULL,NULL,NULL),
|
||||
(20726,6,2,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(20779,6,2,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(20886,6,2,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(21355,6,2,4,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(21463,6,2,4,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(21742,6,2,4,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22248,7,0,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22293,7,0,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22345,7,0,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22410,7,0,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22423,7,0,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22498,7,0,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22522,7,0,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22566,7,0,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22594,7,0,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22624,7,0,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22747,7,0,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22810,7,0,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22900,7,1,0,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22908,7,1,0,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22950,7,1,0,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22995,7,1,0,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22996,7,1,0,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(23171,7,1,0,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(23222,7,1,0,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(23360,7,1,5,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(23420,7,1,5,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(23911,7,2,0,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(23937,7,2,0,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(24015,7,2,0,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(24330,7,2,5,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(24367,7,2,5,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(24415,7,2,5,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(24430,7,2,5,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(24461,7,2,5,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(24742,7,2,5,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(25549,7,3,2,NULL,'FE594FC35E7F9AFF86D99D8A364AB297','1252624ED8CBD6FAC7D33F5D67A535F3','66FC5E09B8706126795F140308C8C1D8',NULL,NULL),
|
||||
(25996,7,3,5,NULL,'23C59C5963CBEF5B728D13A50878DFCB','C7FF932D6A2174A3D538CA7212136D2B','210B970149D6F56CAC9BADF2AAC91E8E',NULL,NULL),
|
||||
(26124,7,3,5,NULL,'F8C05AE372DECA1D6C81DA7A8D1C5C39','46DF06D0147BA67BA49AF553435E093F','C9CA997AB8EDE1C65465CB2920869C4E',NULL,NULL),
|
||||
(26365,7,3,5,NULL,'2AAC82C80E829E2CA902D70CFA1A833A','59A53F307288454B419B13E694DF503C','DBE7F860276D6B400AAA86B35D51A417',NULL,NULL),
|
||||
(26654,7,3,5,NULL,'FAC2D693E702B9EC9F750F17245696D8','A752640E8B99FE5B57C1320BC492895A','9234C1BD5E9687ADBD19F764F2E0E811',NULL,NULL),
|
||||
(26822,7,3,5,NULL,'283E8D77ECF7060BE6347BE4EB99C7C7','2B05F6D746C0C6CC7EF79450B309E595','91003668C245D14ECD8DF094E065E06B',NULL,NULL),
|
||||
(26899,7,3,5,NULL,'F462CD2FE4EA3EADF875308FDBB18C99','3551EF0028B51E92170559BD25644B03','8368EFC2021329110A16339D298200D4',NULL,NULL),
|
||||
(26972,7,3,5,NULL,'797ECC19662DCBD5090A4481173F1D26','6E212DEF6A0124A3D9AD07F5E322F7AE','341CFEFE3D72ACA9A4407DC535DED66A',NULL,NULL),
|
||||
(28153,8,0,1,NULL,NULL,'DD626517CC6D31932B479934CCDC0ABF',NULL,NULL,NULL),
|
||||
(30706,8,1,5,NULL,NULL,'BB6D9866FE4A19A568015198783003FC',NULL,NULL,NULL),
|
||||
(30993,8,2,0,NULL,NULL,'2BAD61655ABC2FC3D04893B536403A91',NULL,NULL,NULL),
|
||||
(31229,8,2,0,NULL,NULL,'8A46F23670309F2AAE85C9A47276382B',NULL,NULL,NULL),
|
||||
(31429,8,2,0,NULL,NULL,'7795A507AF9DC3525EFF724FEE17E70C',NULL,NULL,NULL),
|
||||
(31478,8,2,0,NULL,NULL,'7973A8D54BDB8B798D9297B096E771EF',NULL,NULL,NULL),
|
||||
(32305,8,2,5,NULL,NULL,'21F5A6FC7AD89FBF411FDA8B8738186A',NULL,NULL,NULL),
|
||||
(32494,8,2,5,NULL,NULL,'58984ACE04919401835C61309A848F8A',NULL,NULL,NULL),
|
||||
(32580,8,2,5,NULL,NULL,'87C2FAA0D7931BF016299025C0DDCA14',NULL,NULL,NULL),
|
||||
(32638,8,2,5,NULL,NULL,'5D07ECE7D4A867DDDE615DAD22B76D4E',NULL,NULL,NULL),
|
||||
(32722,8,2,5,NULL,NULL,'1A09BE1D38A122586B4931BECCEAD4AA',NULL,NULL,NULL);
|
||||
/*!40000 ALTER TABLE `build_info` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
|
||||
--
|
||||
-- Table structure for table `ip_banned`
|
||||
--
|
||||
@@ -2192,7 +2308,8 @@ INSERT INTO `updates` VALUES
|
||||
('2019_11_13_00_auth.sql','EB680BA7D6B3A21A432687F452CDD86FB2DA677C','RELEASED','2019-11-13 11:49:55',0),
|
||||
('2019_11_20_00_auth.sql','9BC11595D9CEA486AC1540A204DCE9D86A008D7D','RELEASED','2019-11-20 12:31:56',0),
|
||||
('2019_11_23_00_auth.sql','098708CDC5614B4523AD3B17670939671E661443','RELEASED','2019-11-23 12:20:03',0),
|
||||
('2019_12_04_00_auth.sql','4EB3D028DD80B18DA9B9250ADA4D22AA0D3C0447','RELEASED','2019-12-04 18:03:39',0);
|
||||
('2019_12_04_00_auth.sql','4EB3D028DD80B18DA9B9250ADA4D22AA0D3C0447','RELEASED','2019-12-04 18:03:39',0),
|
||||
('2019_12_07_00_auth.sql','F354DA31D5B300609C6AE8A25667CA4DE0A7349F','RELEASED','2019-12-07 12:57:23',0);
|
||||
/*!40000 ALTER TABLE `updates` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
|
||||
|
||||
106
sql/updates/auth/master/2019_12_07_00_auth.sql
Normal file
106
sql/updates/auth/master/2019_12_07_00_auth.sql
Normal file
@@ -0,0 +1,106 @@
|
||||
--
|
||||
-- Table structure for table `build_info`
|
||||
--
|
||||
DROP TABLE IF EXISTS `build_info`;
|
||||
CREATE TABLE `build_info` (
|
||||
`build` int(11) NOT NULL,
|
||||
`majorVersion` int(11) DEFAULT NULL,
|
||||
`minorVersion` int(11) DEFAULT NULL,
|
||||
`bugfixVersion` int(11) DEFAULT NULL,
|
||||
`hotfixVersion` char(3) DEFAULT NULL,
|
||||
`winAuthSeed` varchar(32) DEFAULT NULL,
|
||||
`win64AuthSeed` varchar(32) DEFAULT NULL,
|
||||
`mac64AuthSeed` varchar(32) DEFAULT NULL,
|
||||
`winChecksumSeed` varchar(40) DEFAULT NULL,
|
||||
`macChecksumSeed` varchar(40) DEFAULT NULL,
|
||||
PRIMARY KEY (`build`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
--
|
||||
-- Dumping data for table `build_info`
|
||||
--
|
||||
INSERT INTO `build_info` VALUES
|
||||
(5875,1,12,1,NULL,NULL,NULL,NULL,'95EDB27C7823B363CBDDAB56A392E7CB73FCCA20','8D173CC381961EEBABF336F5E6675B101BB513E5'),
|
||||
(6005,1,12,2,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(6141,1,12,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(8606,2,4,3,NULL,NULL,NULL,NULL,'319AFAA3F2559682F9FF658BE01456255F456FB1','D8B0ECFE534BC1131E19BAD1D4C0E813EEE4994F'),
|
||||
(9947,3,1,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(10505,3,2,2,'a',NULL,NULL,NULL,NULL,NULL),
|
||||
(11159,3,3,0,'a',NULL,NULL,NULL,NULL,NULL),
|
||||
(11403,3,3,2,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(11723,3,3,3,'a',NULL,NULL,NULL,NULL,NULL),
|
||||
(12340,3,3,5,'a',NULL,NULL,NULL,'CDCBBD5188315E6B4D19449D492DBCFAF156A347','B706D13FF2F4018839729461E3F8A0E2B5FDC034'),
|
||||
(13623,4,0,6,'a',NULL,NULL,NULL,NULL,NULL),
|
||||
(13930,3,3,5,'a',NULL,NULL,NULL,NULL,NULL),
|
||||
(14545,4,2,2,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(15595,4,3,4,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(19116,6,0,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(19243,6,0,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(19342,6,0,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(19702,6,1,0,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(19802,6,1,2,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(19831,6,1,2,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(19865,6,1,2,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(20182,6,2,0,'a',NULL,NULL,NULL,NULL,NULL),
|
||||
(20201,6,2,0,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(20216,6,2,0,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(20253,6,2,0,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(20338,6,2,0,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(20444,6,2,2,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(20490,6,2,2,'a',NULL,NULL,NULL,NULL,NULL),
|
||||
(20574,6,2,2,'a',NULL,NULL,NULL,NULL,NULL),
|
||||
(20726,6,2,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(20779,6,2,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(20886,6,2,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(21355,6,2,4,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(21463,6,2,4,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(21742,6,2,4,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22248,7,0,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22293,7,0,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22345,7,0,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22410,7,0,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22423,7,0,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22498,7,0,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22522,7,0,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22566,7,0,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22594,7,0,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22624,7,0,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22747,7,0,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22810,7,0,3,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22900,7,1,0,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22908,7,1,0,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22950,7,1,0,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22995,7,1,0,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(22996,7,1,0,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(23171,7,1,0,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(23222,7,1,0,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(23360,7,1,5,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(23420,7,1,5,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(23911,7,2,0,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(23937,7,2,0,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(24015,7,2,0,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(24330,7,2,5,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(24367,7,2,5,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(24415,7,2,5,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(24430,7,2,5,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(24461,7,2,5,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(24742,7,2,5,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(25549,7,3,2,NULL,'FE594FC35E7F9AFF86D99D8A364AB297','1252624ED8CBD6FAC7D33F5D67A535F3','66FC5E09B8706126795F140308C8C1D8',NULL,NULL),
|
||||
(25996,7,3,5,NULL,'23C59C5963CBEF5B728D13A50878DFCB','C7FF932D6A2174A3D538CA7212136D2B','210B970149D6F56CAC9BADF2AAC91E8E',NULL,NULL),
|
||||
(26124,7,3,5,NULL,'F8C05AE372DECA1D6C81DA7A8D1C5C39','46DF06D0147BA67BA49AF553435E093F','C9CA997AB8EDE1C65465CB2920869C4E',NULL,NULL),
|
||||
(26365,7,3,5,NULL,'2AAC82C80E829E2CA902D70CFA1A833A','59A53F307288454B419B13E694DF503C','DBE7F860276D6B400AAA86B35D51A417',NULL,NULL),
|
||||
(26654,7,3,5,NULL,'FAC2D693E702B9EC9F750F17245696D8','A752640E8B99FE5B57C1320BC492895A','9234C1BD5E9687ADBD19F764F2E0E811',NULL,NULL),
|
||||
(26822,7,3,5,NULL,'283E8D77ECF7060BE6347BE4EB99C7C7','2B05F6D746C0C6CC7EF79450B309E595','91003668C245D14ECD8DF094E065E06B',NULL,NULL),
|
||||
(26899,7,3,5,NULL,'F462CD2FE4EA3EADF875308FDBB18C99','3551EF0028B51E92170559BD25644B03','8368EFC2021329110A16339D298200D4',NULL,NULL),
|
||||
(26972,7,3,5,NULL,'797ECC19662DCBD5090A4481173F1D26','6E212DEF6A0124A3D9AD07F5E322F7AE','341CFEFE3D72ACA9A4407DC535DED66A',NULL,NULL),
|
||||
(28153,8,0,1,NULL,NULL,'DD626517CC6D31932B479934CCDC0ABF',NULL,NULL,NULL),
|
||||
(30706,8,1,5,NULL,NULL,'BB6D9866FE4A19A568015198783003FC',NULL,NULL,NULL),
|
||||
(30993,8,2,0,NULL,NULL,'2BAD61655ABC2FC3D04893B536403A91',NULL,NULL,NULL),
|
||||
(31229,8,2,0,NULL,NULL,'8A46F23670309F2AAE85C9A47276382B',NULL,NULL,NULL),
|
||||
(31429,8,2,0,NULL,NULL,'7795A507AF9DC3525EFF724FEE17E70C',NULL,NULL,NULL),
|
||||
(31478,8,2,0,NULL,NULL,'7973A8D54BDB8B798D9297B096E771EF',NULL,NULL,NULL),
|
||||
(32305,8,2,5,NULL,NULL,'21F5A6FC7AD89FBF411FDA8B8738186A',NULL,NULL,NULL),
|
||||
(32494,8,2,5,NULL,NULL,'58984ACE04919401835C61309A848F8A',NULL,NULL,NULL),
|
||||
(32580,8,2,5,NULL,NULL,'87C2FAA0D7931BF016299025C0DDCA14',NULL,NULL,NULL),
|
||||
(32638,8,2,5,NULL,NULL,'5D07ECE7D4A867DDDE615DAD22B76D4E',NULL,NULL,NULL),
|
||||
(32722,8,2,5,NULL,NULL,'1A09BE1D38A122586B4931BECCEAD4AA',NULL,NULL,NULL);
|
||||
@@ -25,7 +25,7 @@
|
||||
#include "HmacHash.h"
|
||||
#include "IPLocation.h"
|
||||
#include "PacketLog.h"
|
||||
#include "Realm.h"
|
||||
#include "RealmList.h"
|
||||
#include "RBAC.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "SessionKeyGeneration.h"
|
||||
@@ -69,9 +69,6 @@ uint8 const WorldSocket::SessionKeySeed[16] = { 0x58, 0xCB, 0xCF, 0x40, 0xFE, 0x
|
||||
uint8 const WorldSocket::ContinuedSessionSeed[16] = { 0x16, 0xAD, 0x0C, 0xD4, 0x46, 0xF9, 0x4F, 0xB2, 0xEF, 0x7D, 0xEA, 0x2A, 0x17, 0x66, 0x4D, 0x2F };
|
||||
uint8 const WorldSocket::EncryptionKeySeed[16] = { 0xE9, 0x75, 0x3C, 0x50, 0x90, 0x93, 0x61, 0xDA, 0x3B, 0x07, 0xEE, 0xFA, 0xFF, 0x9D, 0x41, 0xB8 };
|
||||
|
||||
uint8 const ClientTypeSeed_Wn64[16] = { 0x1A, 0x09, 0xBE, 0x1D, 0x38, 0xA1, 0x22, 0x58, 0x6B, 0x49, 0x31, 0xBE, 0xCC, 0xEA, 0xD4, 0xAA };
|
||||
uint8 const ClientTypeSeed_Mc64[16] = { 0x34, 0x1C, 0xFE, 0xFE, 0x3D, 0x72, 0xAC, 0xA9, 0xA4, 0x40, 0x7D, 0xC5, 0x35, 0xDE, 0xD6, 0x6A };
|
||||
|
||||
WorldSocket::WorldSocket(tcp::socket&& socket) : Socket(std::move(socket)),
|
||||
_type(CONNECTION_TYPE_REALM), _key(0), _OverSpeedPings(0),
|
||||
_worldSession(nullptr), _authed(false), _sendBufferSize(4096), _compressionStream(nullptr)
|
||||
@@ -671,6 +668,15 @@ void WorldSocket::HandleAuthSessionCallback(std::shared_ptr<WorldPackets::Auth::
|
||||
return;
|
||||
}
|
||||
|
||||
RealmBuildInfo const* buildInfo = sRealmList->GetBuildInfo(realm.Build);
|
||||
if (!buildInfo)
|
||||
{
|
||||
SendAuthResponseError(ERROR_BAD_VERSION);
|
||||
TC_LOG_ERROR("network", "WorldSocket::HandleAuthSession: Missing auth seed for realm build %u (%s).", realm.Build, GetRemoteIpAddress().to_string().c_str());
|
||||
DelayedCloseSocket();
|
||||
return;
|
||||
}
|
||||
|
||||
AccountInfo account(result->Fetch());
|
||||
|
||||
// For hook purposes, we get Remoteaddress at this point.
|
||||
@@ -679,9 +685,9 @@ void WorldSocket::HandleAuthSessionCallback(std::shared_ptr<WorldPackets::Auth::
|
||||
SHA256Hash digestKeyHash;
|
||||
digestKeyHash.UpdateData(account.Game.KeyData.data(), account.Game.KeyData.size());
|
||||
if (account.Game.OS == "Wn64")
|
||||
digestKeyHash.UpdateData(ClientTypeSeed_Wn64, 16);
|
||||
digestKeyHash.UpdateData(buildInfo->Win64AuthSeed.data(), buildInfo->Win64AuthSeed.size());
|
||||
else if (account.Game.OS == "Mc64")
|
||||
digestKeyHash.UpdateData(ClientTypeSeed_Mc64, 16);
|
||||
digestKeyHash.UpdateData(buildInfo->Mac64AuthSeed.data(), buildInfo->Mac64AuthSeed.size());
|
||||
|
||||
digestKeyHash.Finalize();
|
||||
|
||||
|
||||
@@ -56,6 +56,7 @@ void RealmList::Initialize(Trinity::Asio::IoContext& ioContext, uint32 updateInt
|
||||
_updateTimer = Trinity::make_unique<Trinity::Asio::DeadlineTimer>(ioContext);
|
||||
_resolver = Trinity::make_unique<boost::asio::ip::tcp::resolver>(ioContext);
|
||||
|
||||
LoadBuildInfo();
|
||||
// Get the content of the realmlist table in the database
|
||||
UpdateRealms(boost::system::error_code());
|
||||
}
|
||||
@@ -65,6 +66,38 @@ void RealmList::Close()
|
||||
_updateTimer->cancel();
|
||||
}
|
||||
|
||||
void RealmList::LoadBuildInfo()
|
||||
{
|
||||
// 0 1 2 3 4 5 6
|
||||
if (QueryResult result = LoginDatabase.Query("SELECT majorVersion, minorVersion, bugfixVersion, hotfixVersion, build, win64AuthSeed, mac64AuthSeed FROM build_info ORDER BY build ASC"))
|
||||
{
|
||||
do
|
||||
{
|
||||
Field* fields = result->Fetch();
|
||||
_builds.emplace_back();
|
||||
RealmBuildInfo& build = _builds.back();
|
||||
build.MajorVersion = fields[0].GetUInt32();
|
||||
build.MinorVersion = fields[1].GetUInt32();
|
||||
build.BugfixVersion = fields[2].GetUInt32();
|
||||
std::string hotfixVersion = fields[3].GetString();
|
||||
if (hotfixVersion.length() < build.HotfixVersion.size())
|
||||
std::copy(hotfixVersion.begin(), hotfixVersion.end(), build.HotfixVersion.begin());
|
||||
else
|
||||
std::fill(hotfixVersion.begin(), hotfixVersion.end(), '\0');
|
||||
|
||||
build.Build = fields[4].GetUInt32();
|
||||
std::string win64AuthSeedHexStr = fields[5].GetString();
|
||||
if (win64AuthSeedHexStr.length() == build.Win64AuthSeed.size() * 2)
|
||||
HexStrToByteArray(win64AuthSeedHexStr, build.Win64AuthSeed.data());
|
||||
|
||||
std::string mac64AuthSeedHexStr = fields[6].GetString();
|
||||
if (mac64AuthSeedHexStr.length() == build.Mac64AuthSeed.size() * 2)
|
||||
HexStrToByteArray(mac64AuthSeedHexStr, build.Mac64AuthSeed.data());
|
||||
|
||||
} while (result->NextRow());
|
||||
}
|
||||
}
|
||||
|
||||
void RealmList::UpdateRealm(Realm& realm, Battlenet::RealmHandle const& id, uint32 build, std::string const& name,
|
||||
boost::asio::ip::address&& address, boost::asio::ip::address&& localAddr, boost::asio::ip::address&& localSubmask,
|
||||
uint16 port, uint8 icon, RealmFlags flag, uint8 timezone, AccountTypes allowedSecurityLevel,
|
||||
@@ -204,37 +237,9 @@ Realm const* RealmList::GetRealm(Battlenet::RealmHandle const& id) const
|
||||
return NULL;
|
||||
}
|
||||
|
||||
// List of client builds for verbose version info in realmlist packet
|
||||
static RealmBuildInfo const ClientBuilds[] =
|
||||
{
|
||||
{ 32722, 8, 2, 5, ' ' },
|
||||
{ 32638, 8, 2, 5, ' ' },
|
||||
{ 32580, 8, 2, 5, ' ' },
|
||||
{ 32494, 8, 2, 5, ' ' },
|
||||
{ 28938, 8, 1, 5, ' ' },
|
||||
{ 21355, 6, 2, 4, ' ' },
|
||||
{ 20726, 6, 2, 3, ' ' },
|
||||
{ 20574, 6, 2, 2, 'a' },
|
||||
{ 20490, 6, 2, 2, 'a' },
|
||||
{ 15595, 4, 3, 4, ' ' },
|
||||
{ 14545, 4, 2, 2, ' ' },
|
||||
{ 13623, 4, 0, 6, 'a' },
|
||||
{ 13930, 3, 3, 5, 'a' }, // 3.3.5a China Mainland build
|
||||
{ 12340, 3, 3, 5, 'a' },
|
||||
{ 11723, 3, 3, 3, 'a' },
|
||||
{ 11403, 3, 3, 2, ' ' },
|
||||
{ 11159, 3, 3, 0, 'a' },
|
||||
{ 10505, 3, 2, 2, 'a' },
|
||||
{ 9947, 3, 1, 3, ' ' },
|
||||
{ 8606, 2, 4, 3, ' ' },
|
||||
{ 6141, 1, 12, 3, ' ' },
|
||||
{ 6005, 1, 12, 2, ' ' },
|
||||
{ 5875, 1, 12, 1, ' ' },
|
||||
};
|
||||
|
||||
RealmBuildInfo const* RealmList::GetBuildInfo(uint32 build) const
|
||||
{
|
||||
for (RealmBuildInfo const& clientBuild : ClientBuilds)
|
||||
for (RealmBuildInfo const& clientBuild : _builds)
|
||||
if (clientBuild.Build == build)
|
||||
return &clientBuild;
|
||||
|
||||
@@ -243,11 +248,11 @@ RealmBuildInfo const* RealmList::GetBuildInfo(uint32 build) const
|
||||
|
||||
uint32 RealmList::GetMinorMajorBugfixVersionForBuild(uint32 build) const
|
||||
{
|
||||
RealmBuildInfo const* buildInfo = std::lower_bound(std::begin(ClientBuilds), std::end(ClientBuilds), build, [](RealmBuildInfo const& buildInfo, uint32 value)
|
||||
auto buildInfo = std::lower_bound(_builds.begin(), _builds.end(), build, [](RealmBuildInfo const& buildInfo, uint32 value)
|
||||
{
|
||||
return buildInfo.Build < value;
|
||||
});
|
||||
return buildInfo != std::end(ClientBuilds) ? (buildInfo->MajorVersion * 10000 + buildInfo->MinorVersion * 100 + buildInfo->BugfixVersion) : 0;
|
||||
return buildInfo != _builds.end() ? (buildInfo->MajorVersion * 10000 + buildInfo->MinorVersion * 100 + buildInfo->BugfixVersion) : 0;
|
||||
}
|
||||
|
||||
void RealmList::WriteSubRegions(bgs::protocol::game_utilities::v1::GetAllValuesForAttributeResponse* response) const
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
|
||||
#include "Define.h"
|
||||
#include "Realm.h"
|
||||
#include <array>
|
||||
#include <map>
|
||||
#include <vector>
|
||||
#include <unordered_set>
|
||||
@@ -31,7 +32,9 @@ struct RealmBuildInfo
|
||||
uint32 MajorVersion;
|
||||
uint32 MinorVersion;
|
||||
uint32 BugfixVersion;
|
||||
uint32 HotfixVersion;
|
||||
std::array<char, 4> HotfixVersion;
|
||||
std::array<uint8, 16> Win64AuthSeed;
|
||||
std::array<uint8, 16> Mac64AuthSeed;
|
||||
};
|
||||
|
||||
namespace boost
|
||||
@@ -102,11 +105,13 @@ public:
|
||||
private:
|
||||
RealmList();
|
||||
|
||||
void LoadBuildInfo();
|
||||
void UpdateRealms(boost::system::error_code const& error);
|
||||
void UpdateRealm(Realm& realm, Battlenet::RealmHandle const& id, uint32 build, std::string const& name,
|
||||
boost::asio::ip::address&& address, boost::asio::ip::address&& localAddr, boost::asio::ip::address&& localSubmask,
|
||||
uint16 port, uint8 icon, RealmFlags flag, uint8 timezone, AccountTypes allowedSecurityLevel, float population);
|
||||
|
||||
std::vector<RealmBuildInfo> _builds;
|
||||
std::unique_ptr<boost::shared_mutex> _realmsMutex;
|
||||
RealmMap _realms;
|
||||
std::unordered_set<std::string> _subRegions;
|
||||
|
||||
Reference in New Issue
Block a user