src/server/util/hashing.h

changeset 587
c94800af0490
parent 586
9861e8ceaf96
child 589
70ad04769cbf
--- a/src/server/util/hashing.h	Wed May 28 20:54:43 2025 +0200
+++ b/src/server/util/hashing.h	Wed May 28 21:09:45 2025 +0200
@@ -29,6 +29,8 @@
 #ifndef HASHING_H
 #define HASHING_H
 
+#define WS_SHA1_DIGEST_LENGTH 20
+#define WS_SHA256_DIGEST_LENGTH 32
 
 #ifdef __APPLE__
 /* macos */
@@ -36,8 +38,8 @@
 #define WS_CRYPTO_COMMON_CRYPTO
 
 #define WS_AES_CTX              CCCryptorRef
+#define WS_SHA1_CTX             CC_SHA1_CTX
 #define WS_SHA_CTX              CC_SHA256_CTX
-#define WS_SHA256_DIGEST_LENGTH 32
 
 #include <CommonCrypto/CommonCrypto.h>
 #include <CommonCrypto/CommonDigest.h>
@@ -66,8 +68,8 @@
 } WinBCryptSHACTX;
 
 #define WS_AES_CTX              WinBCryptCTX
-#define WS_SHA_CTX              WinBCryptSHACTX
-#define WS_SHA256_DIGEST_LENGTH 32
+#define WS_SHA1_CTX             WinBCryptSHACTX
+#define WS_SHA256_CTX           WinBCryptSHACTX
 
 #else
 /* unix/linux */
@@ -77,18 +79,21 @@
 
 #define WS_USE_OPENSSL
 
-#define WS_AES_CTX              EVP_CIPHER_CTX*
-
 #if OPENSSL_VERSION_NUMBER < 0x30000000L
-#define WS_SHA_CTX              SHA256_CTX
+#define WS_SHA256_CTX           SHA1_CTX
+#define WS_SHA256_CTX           SHA256_CTX
 #else
-#define WS_SHA_CTX              EVP_MD_CTX*
+#define WS_SHA1_CTX             EVP_MD_CTX*
+#define WS_SHA256_CTX           EVP_MD_CTX*
 #endif
-#define WS_SHA256_DIGEST_LENGTH 32
 
 
 #if defined(__sun) && defined(__SunOS_5_10)
 #include <sha2.h>
+#define SHA_Init        SHAInit
+#define SHA_Update      SHAUpdate
+#define SHA_Final       SHAFinal
+
 #define SHA256_Init     SHA256Init
 #define SHA256_Update   SHA256Update
 #define SHA256_Final    SHA256Final
@@ -98,11 +103,15 @@
 
 #endif
 
+int ws_sha1_init(WS_SHA1_CTX *ctx);
+WS_SHA1_CTX* ws_sha1_create(void);
+void ws_sha1_update(WS_SHA1_CTX *ctx, const char *data, size_t len);
+void ws_sha1_final(WS_SHA1_CTX *ctx, unsigned char *buf);
 
-void ws_sha256_init(WS_SHA_CTX *ctx);
-WS_SHA_CTX* ws_sha256_create(void);
-void ws_sha256_update(WS_SHA_CTX *ctx, const char *data, size_t len);
-void ws_sha256_final(WS_SHA_CTX *ctx, unsigned char *buf);
+int ws_sha256_init(WS_SHA256_CTX *ctx);
+WS_SHA256_CTX* ws_sha256_create(void);
+void ws_sha256_update(WS_SHA256_CTX *ctx, const char *data, size_t len);
+void ws_sha256_final(WS_SHA256_CTX *ctx, unsigned char *buf);
 
 
 #ifdef __cplusplus

mercurial