From 8c9b330cce6910bce1ffec842eea75cc4d394d67 Mon Sep 17 00:00:00 2001 From: Juan Lang Date: Mon, 18 Jul 2005 09:07:57 +0000 Subject: [PATCH] Add/correct a couple definitions, allow hashing nothing. --- dlls/advapi32/crypt.c | 4 ++-- include/wincrypt.h | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/dlls/advapi32/crypt.c b/dlls/advapi32/crypt.c index f365c7be3f5..45d36ce0772 100644 --- a/dlls/advapi32/crypt.c +++ b/dlls/advapi32/crypt.c @@ -1455,7 +1455,7 @@ BOOL WINAPI CryptGetUserKey (HCRYPTPROV hProv, DWORD dwKeySpec, HCRYPTKEY *phUse * Success: TRUE * Failure: FALSE */ -BOOL WINAPI CryptHashData (HCRYPTHASH hHash, BYTE *pbData, DWORD dwDataLen, DWORD dwFlags) +BOOL WINAPI CryptHashData (HCRYPTHASH hHash, const BYTE *pbData, DWORD dwDataLen, DWORD dwFlags) { PCRYPTHASH hash = (PCRYPTHASH)hHash; PCRYPTPROV prov; @@ -1464,7 +1464,7 @@ BOOL WINAPI CryptHashData (HCRYPTHASH hHash, BYTE *pbData, DWORD dwDataLen, DWOR if (!hash) CRYPT_ReturnLastError(ERROR_INVALID_HANDLE); - if (!pbData || !dwDataLen || !hash->pProvider || hash->pProvider->dwMagic != MAGIC_CRYPTPROV) + if (!hash->pProvider || hash->pProvider->dwMagic != MAGIC_CRYPTPROV) CRYPT_ReturnLastError(ERROR_INVALID_PARAMETER); prov = hash->pProvider; diff --git a/include/wincrypt.h b/include/wincrypt.h index d9ef13e3925..3521114b6c7 100644 --- a/include/wincrypt.h +++ b/include/wincrypt.h @@ -708,6 +708,7 @@ typedef struct _CRYPT_DECODE_PARA { #define ALG_SID_MD4 2 #define ALG_SID_MD5 3 #define ALG_SID_SHA 4 +#define ALG_SID_SHA1 CALG_SHA #define ALG_SID_MAC 5 #define ALG_SID_RIPEMD 6 #define ALG_SID_RIPEMD160 7 @@ -728,6 +729,7 @@ typedef struct _CRYPT_DECODE_PARA { #define CALG_MD4 (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MD4) #define CALG_MD5 (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MD5) #define CALG_SHA (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SHA) +#define CALG_SHA1 CALG_SHA #define CALG_MAC (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MAC) #define CALG_SSL3_SHAMD5 (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SSL3SHAMD5) #define CALG_HMAC (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_HMAC) @@ -1812,7 +1814,7 @@ BOOL WINAPI CryptGetDefaultProviderW (DWORD dwProvType, DWORD *pdwReserved, DWORD dwFlags, LPWSTR pszProvName, DWORD *pcbProvName); #define CryptGetDefaultProvider WINELIB_NAME_AW(CryptGetDefaultProvider) BOOL WINAPI CryptGetUserKey (HCRYPTPROV hProv, DWORD dwKeySpec, HCRYPTKEY *phUserKey); -BOOL WINAPI CryptHashData (HCRYPTHASH hHash, BYTE *pbData, DWORD dwDataLen, DWORD dwFlags); +BOOL WINAPI CryptHashData (HCRYPTHASH hHash, const BYTE *pbData, DWORD dwDataLen, DWORD dwFlags); BOOL WINAPI CryptHashSessionKey (HCRYPTHASH hHash, HCRYPTKEY hKey, DWORD dwFlags); BOOL WINAPI CryptImportKey (HCRYPTPROV hProv, BYTE *pbData, DWORD dwDataLen, HCRYPTKEY hPubKey, DWORD dwFlags, HCRYPTKEY *phKey);