From 419515845dee3de02a2dae5dc6312b75959148bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Helleu?= Date: Sun, 7 Apr 2024 17:54:28 +0200 Subject: [PATCH] relay: simplify function relay_auth_check_hash_sha --- src/plugins/relay/relay-auth.c | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/plugins/relay/relay-auth.c b/src/plugins/relay/relay-auth.c index d8b878cd2..eeccc894e 100644 --- a/src/plugins/relay/relay-auth.c +++ b/src/plugins/relay/relay-auth.c @@ -352,26 +352,26 @@ relay_auth_check_hash_sha (const char *hash_algo, rc = 0; - if (salt && (salt_size > 0) && hash_sha) + if (!salt || (salt_size <= 0) || !hash_sha) + return rc; + + length = salt_size + strlen (relay_password); + salt_password = malloc (length); + if (salt_password) { - length = salt_size + strlen (relay_password); - salt_password = malloc (length); - if (salt_password) + memcpy (salt_password, salt, salt_size); + memcpy (salt_password + salt_size, relay_password, + strlen (relay_password)); + if (weechat_crypto_hash (salt_password, length, + hash_algo, + hash, &hash_size)) { - memcpy (salt_password, salt, salt_size); - memcpy (salt_password + salt_size, relay_password, - strlen (relay_password)); - if (weechat_crypto_hash (salt_password, length, - hash_algo, - hash, &hash_size)) - { - weechat_string_base_encode ("16", hash, hash_size, - hash_hexa); - if (weechat_strcasecmp (hash_hexa, hash_sha) == 0) - rc = 1; - } - free (salt_password); + weechat_string_base_encode ("16", hash, hash_size, + hash_hexa); + if (weechat_strcasecmp (hash_hexa, hash_sha) == 0) + rc = 1; } + free (salt_password); } return rc;