Am 03.05.22 um 14:51 schrieb Emmanuel Deloget:
Le mar. 3 mai 2022 à 13:58, Andreas Helmcke <a...@helmcke.name> a écrit :
diff --git a/libbb/pw_encrypt.c b/libbb/pw_encrypt.c
index 3463fd95b..2da4ab1d0 100644
--- a/libbb/pw_encrypt.c
+++ b/libbb/pw_encrypt.c
@@ -70,6 +70,24 @@ char* FAST_FUNC crypt_make_pw_salt(char
salt[MAX_PW_SALT_LEN], const char *algo)
salt[1] = '5' + (strcasecmp(algo, "sha512") == 0);
len = 16/2;
}
+#endif
+#if ENABLE_USE_BCRYPT
+ if ((algo[0]|0x20) == 'b') { /* bcrypt */
+ int cost = 0;
+#if ENABLE_FEATURE_BCRYPT_COST
It seems to me that if ENABLE_USE_BCRYPT is set, then the bcrypt cost
is always there. Am I missing something?
+ cost = (CONFIG_FEATURE_BCRYPT_COST);
+#endif
+ if (cost < 0 || cost > 31)
This allows values (1, 2, 3) that are outside the range of the values
specified in the config text.
BTW, if the values outside [4, 31] are invalid, maybe a compile-time
error would be a good thing? (this is actually a real question, not a
code change suggestion). That would make the code a bit smaller as you
could confidently and directly use (CONFIG_FEATURE_BCRYPT_COST / 10)
and (CONFIG_FEATURE_BCRYPT_COST % 10) in the code below (no need to
set a cost variable).
Good idea.
My intention was to try to avoid compile time errors, but a clear error
while compiling is better than some unexpected effects later.
+config FEATURE_BCRYPT_COST
+ int "bcrypt cost"
+ range 4 31
+ default 10
+ depends on USE_BCRYPT
+ help
+ Cost paramter for the bcrypt hashing algorithm.
typo: parameter
Changed, thanks.
_______________________________________________
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox