1
0
mirror of https://github.com/SoftEtherVPN/SoftEtherVPN.git synced 2025-11-19 18:01:33 +03:00

Revamp digest functions

- Hash() has been removed because it was ambiguous, Md5() and Sha0() are proper replacements.
- HMacMd5() and HMacSha1() now share a common implementation handled by the new Internal_HMac() function.
- NewMd() and MdProcess() now support plain hashing (without the key).
- NewMd(), SetMdKey() and MdProcess() now check the OpenSSL functions' return value and in case of failure a debug message is printed along with the error string, if available.
- SetMdKey()'s return value has been changed from void to bool, so that it's possible to know whether the function succeeded or not.
- MdProcess()' return value has been changed from void to UINT (unsigned int) and the function now returns the number of bytes written by HMAC_Final() or EVP_DigestFinal_ex().
This commit is contained in:
Davide Beatrici
2018-09-22 06:35:30 +02:00
parent 69b35f875a
commit 3f5f716357
41 changed files with 329 additions and 371 deletions

View File

@ -263,7 +263,7 @@ UINT NmChangePasswordProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, voi
{
case IDOK:
Zero(&t, sizeof(t));
Hash(t.HashedPassword, tmp1, StrLen(tmp1), true);
Sha0(t.HashedPassword, tmp1, StrLen(tmp1));
if (CALL(hWnd, NcSetPassword(r, &t)))
{
@ -1411,7 +1411,7 @@ UINT NmLogin(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param)
{
case IDOK:
GetTxtA(hWnd, E_PASSWORD, tmp, sizeof(tmp));
Hash(login->hashed_password, tmp, StrLen(tmp), true);
Sha0(login->hashed_password, tmp, StrLen(tmp));
EndDialog(hWnd, true);
break;
@ -1463,7 +1463,7 @@ RETRY_PASSWORD:
Zero(&login, sizeof(login));
login.Hostname = t->Hostname;
login.Port = t->Port;
Hash(login.hashed_password, "", 0, true);
Sha0(login.hashed_password, "", 0);
if (flag)
{