aboutsummaryrefslogtreecommitdiff
path: root/dep/CascLib/src/common/Common.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2023-09-05 00:10:35 +0200
committerShauren <shauren.trinity@gmail.com>2023-09-05 00:10:35 +0200
commitd57b58849bda868f2463d38cc636f01af919316c (patch)
tree5beef62c041526d9468683e4388b6341f1530cc1 /dep/CascLib/src/common/Common.cpp
parentba224f70ad81fa0e5d1f0c4daf197e143317cdaa (diff)
Dep/CascLib: Update to ladislav-zezula/CascLib@5c60050770767f2e606f6fec0c35beb8b9b00c60
Diffstat (limited to 'dep/CascLib/src/common/Common.cpp')
-rw-r--r--dep/CascLib/src/common/Common.cpp32
1 files changed, 13 insertions, 19 deletions
diff --git a/dep/CascLib/src/common/Common.cpp b/dep/CascLib/src/common/Common.cpp
index 63fb4301d57..6058bf28b75 100644
--- a/dep/CascLib/src/common/Common.cpp
+++ b/dep/CascLib/src/common/Common.cpp
@@ -207,21 +207,6 @@ LPBYTE CaptureEncodedKey(LPBYTE pbEKey, LPBYTE pbData, BYTE EKeyLength)
return pbData + EKeyLength;
}
-LPBYTE CaptureArray_(LPBYTE pbDataPtr, LPBYTE pbDataEnd, LPBYTE * PtrArray, size_t ItemSize, size_t ItemCount)
-{
- size_t ArraySize = ItemSize * ItemCount;
-
- // Is there enough data?
- if((pbDataPtr + ArraySize) > pbDataEnd)
- return NULL;
-
- // Give data
- PtrArray[0] = pbDataPtr;
-
- // Return the pointer to data following after the array
- return pbDataPtr + ArraySize;
-}
-
//-----------------------------------------------------------------------------
// String copying and conversion
@@ -598,7 +583,7 @@ bool CascIsValidMD5(LPBYTE pbMd5)
return (Int32Array[0] | Int32Array[1] | Int32Array[2] | Int32Array[3]) ? true : false;
}
-bool CascVerifyDataBlockHash(void * pvDataBlock, DWORD cbDataBlock, LPBYTE expected_md5)
+bool CascVerifyDataBlockHash(void * pvDataBlock, size_t cbDataBlock, LPBYTE expected_md5)
{
MD5_CTX md5_ctx;
BYTE md5_digest[MD5_HASH_SIZE];
@@ -609,18 +594,27 @@ bool CascVerifyDataBlockHash(void * pvDataBlock, DWORD cbDataBlock, LPBYTE expec
// Calculate the MD5 of the data block
MD5_Init(&md5_ctx);
- MD5_Update(&md5_ctx, pvDataBlock, cbDataBlock);
+ MD5_Update(&md5_ctx, pvDataBlock, (unsigned long)(cbDataBlock));
MD5_Final(md5_digest, &md5_ctx);
// Does the MD5's match?
return (memcmp(md5_digest, expected_md5, MD5_HASH_SIZE) == 0);
}
-void CascCalculateDataBlockHash(void * pvDataBlock, DWORD cbDataBlock, LPBYTE md5_hash)
+void CascHash_MD5(const void * pvDataBlock, size_t cbDataBlock, LPBYTE md5_hash)
{
MD5_CTX md5_ctx;
MD5_Init(&md5_ctx);
- MD5_Update(&md5_ctx, pvDataBlock, cbDataBlock);
+ MD5_Update(&md5_ctx, pvDataBlock, (unsigned long)(cbDataBlock));
MD5_Final(md5_hash, &md5_ctx);
}
+
+void CascHash_SHA1(const void * pvDataBlock, size_t cbDataBlock, LPBYTE sha1_hash)
+{
+ SHA1_CTX sha1_ctx;
+
+ SHA1_Init(&sha1_ctx);
+ SHA1_Update(&sha1_ctx, pvDataBlock, (u32)(cbDataBlock));
+ SHA1_Final(&sha1_ctx, sha1_hash);
+}