aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--StormLib.bat47
-rw-r--r--doc/History.txt138
-rw-r--r--src/SFileVerify.cpp11
3 files changed, 105 insertions, 91 deletions
diff --git a/StormLib.bat b/StormLib.bat
index 65e8429..509a0ef 100644
--- a/StormLib.bat
+++ b/StormLib.bat
@@ -1,22 +1,25 @@
-@echo off
-rem Post-build batch for StormLib project
-rem Called as StormLib.bat $(PlatformName) $(ConfigurationName)
-rem Example: StormLib.bat x64 Debug
-
-copy src\StormPort.h ..\aaa\inc
-copy src\StormLib.h ..\aaa\inc
-
-if x%1 == xWin32 goto PlatformWin32
-if x%1 == xx64 goto PlatformWin64
-goto exit
-
-:PlatformWin32
-copy .\bin\StormLib\%1\%2\*.lib ..\aaa\lib32
-goto exit
-
-:PlatformWin64
-copy .\bin\StormLib\%1\%2\*.lib ..\aaa\lib64
-goto exit
-
-:exit
-
+@echo off
+rem Post-build batch for StormLib project
+rem Called as StormLib.bat $(PlatformName) $(ConfigurationName)
+rem Example: StormLib.bat x64 Debug
+
+if not exist ..\aaa goto exit
+
+copy src\StormPort.h ..\aaa\inc
+copy src\StormLib.h ..\aaa\inc
+
+if x%1 == xWin32 goto PlatformWin32
+if x%1 == xx64 goto PlatformWin64
+goto exit
+
+:PlatformWin32
+copy .\bin\StormLib\%1\%2\*.lib ..\aaa\lib32
+goto exit
+
+:PlatformWin64
+copy .\bin\StormLib\%1\%2\*.lib ..\aaa\lib64
+goto exit
+
+:exit
+
+
diff --git a/doc/History.txt b/doc/History.txt
index 70e7550..a4f5ba9 100644
--- a/doc/History.txt
+++ b/doc/History.txt
@@ -1,69 +1,69 @@
-
- StormLib history
- ================
-
- Version 9.00
-
- - Support for streaming (master-mirror)
- - Support for multi-file MPQs used by some WoW versions
- - Opening maps protected by Spazzler protector
- - Opening maps protected by BOBA protector
-
- Version 8.02
-
- - Support for UNICODE encoding for on-disk files
- - Optimized file deleting
-
- Version 8.01
-
- - SFileFindFirstFile and SFileFindNextFile no longer find files that have
- patch file in the oldest MPQ in the patch chain
- - Write support for MPQs version 4
-
- Version 8.00
-
- - Updated support for protected maps from Warcraft III
-
- Version 7.11
-
- - Support for MPQs v 3.0 (WOW-Cataclysm BETA)
- - StormLib now deals properly with files that have MPQ_SECTOR_CHECKSUM missing,
- but have sector checksum entry present in the sector offset table
-
- Version 7.10
-
- - Support for partial MPQs ("interface.MPQ.part")
- - The only operation that is externally allowed to do with internal files
- ("(listfile)", "(attributes)" and "(signature)") is reading. Attempt to modify any of the file
- fails and GetLastError returns ERROR_INTERNAL_FILE
- - Fixed memory leak that has occured when writing more than one sector to the file at once
-
- Version 7.01
-
- - Support for adding files from memory
- - Fixed improper validation of handles to MPQ file and MPQ archive
- - Fixed bug where StormLib didn't save CRC32 of the file when added to archive
-
- Version 7.00
-
- - Properly deals with MPQs protected by w3xMaster
- - Major rewrite
- - Fixed support for (attributes)
- - Added file verification
- - Added MPQ signature verification
-
- Version 6.22
-
- - Properly deals with MPQs protected by w3xMaster
-
- Version 6.21
-
- - SFileRenameFile now properly re-crypts the file if necessary.
- - SFileFindFirstFile correctly deals with deleted files
-
- Version 6.20
-
- - Fixed lots of bugs when processing files with same names but different locales
- - Fixed bugs when repeately extracts the same file with MPQ_FILE_SINGLE_UNIT flag
- - Added SFileFlushArchive
- - Fixed issue opening AVI files renamed to MPQ using SFileCreateArchiveEx
+
+ StormLib history
+ ================
+
+ Version 9.00
+
+ - Support for streaming (master-mirror)
+ - Support for multi-file MPQs used by some WoW versions
+ - Opening maps protected by Spazzler protector
+ - Opening maps protected by BOBA protector
+
+ Version 8.02
+
+ - Support for UNICODE encoding for on-disk files
+ - Optimized file deleting
+
+ Version 8.01
+
+ - SFileFindFirstFile and SFileFindNextFile no longer find files that have
+ patch file in the oldest MPQ in the patch chain
+ - Write support for MPQs version 4
+
+ Version 8.00
+
+ - Updated support for protected maps from Warcraft III
+
+ Version 7.11
+
+ - Support for MPQs v 3.0 (WOW-Cataclysm BETA)
+ - StormLib now deals properly with files that have MPQ_SECTOR_CHECKSUM missing,
+ but have sector checksum entry present in the sector offset table
+
+ Version 7.10
+
+ - Support for partial MPQs ("interface.MPQ.part")
+ - The only operation that is externally allowed to do with internal files
+ ("(listfile)", "(attributes)" and "(signature)") is reading. Attempt to modify any of the file
+ fails and GetLastError returns ERROR_INTERNAL_FILE
+ - Fixed memory leak that has occured when writing more than one sector to the file at once
+
+ Version 7.01
+
+ - Support for adding files from memory
+ - Fixed improper validation of handles to MPQ file and MPQ archive
+ - Fixed bug where StormLib didn't save CRC32 of the file when added to archive
+
+ Version 7.00
+
+ - Properly deals with MPQs protected by w3xMaster
+ - Major rewrite
+ - Fixed support for (attributes)
+ - Added file verification
+ - Added MPQ signature verification
+
+ Version 6.22
+
+ - Properly deals with MPQs protected by w3xMaster
+
+ Version 6.21
+
+ - SFileRenameFile now properly re-crypts the file if necessary.
+ - SFileFindFirstFile correctly deals with deleted files
+
+ Version 6.20
+
+ - Fixed lots of bugs when processing files with same names but different locales
+ - Fixed bugs when repeately extracts the same file with MPQ_FILE_SINGLE_UNIT flag
+ - Added SFileFlushArchive
+ - Fixed issue opening AVI files renamed to MPQ using SFileCreateArchiveEx
diff --git a/src/SFileVerify.cpp b/src/SFileVerify.cpp
index 219e187..5030d66 100644
--- a/src/SFileVerify.cpp
+++ b/src/SFileVerify.cpp
@@ -26,6 +26,17 @@
// Known Blizzard public keys
// Created by Jean-Francois Roy using OpenSSL
+static const char * szBlizzardWeakPrivateKey =
+ "-----BEGIN PRIVATE KEY-----"
+ "MIIBOQIBAAJBAJJidwS/uILMBSO5DLGsBFknIXWWjQJe2kfdfEk3G/j66w4KkhZ1"
+ "V61Rt4zLaMVCYpDun7FLwRjkMDSepO1q2DcCAwEAAQJANtiztVDMJh2hE1hjPDKy"
+ "UmEJ9U/aN3gomuKOjbQbQ/bWWcM/WfhSVHmPqtqh/bQI2UXFr0rnXngeteZHLr/b"
+ "8QIhAMuWriSKGMACw18/rVVfUrThs915odKBH1Alr3vMVVzZAiEAuBHPSQkgwcb6"
+ "L4MWaiKuOzq08mSyNqPeN8oSy18q848CIHeMn+3s+eOmu7su1UYQl6yH7OrdBd1q"
+ "3UxfFNEJiAbhAiAqxdCyOxHGlbM7aS3DOg3cq5ayoN2cvtV7h1R4t8OmVwIgF+5z"
+ "/6vkzBUsZhd8Nwyis+MeQYH0rpFpMKdTlqmPF2Q="
+ "-----END PRIVATE KEY-----";
+
static const char * szBlizzardWeakPublicKey =
"-----BEGIN PUBLIC KEY-----"
"MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJJidwS/uILMBSO5DLGsBFknIXWWjQJe"