libbb: add two more forgotten source files
This commit was genuinely broken at the time (not related to our build system): libbb/yescrypt eklenirken (2025-07-06 - 2025-07-07 arasi) once unutulan kaynak dosyalari (pw_encrypt_yes.c, hash_sha256_block.c, pw_ascii64.c), ardindan 64-bit'te derlenmeyen bir 'buflen' degiskeni (alg-yescrypt-kdf.c) vardi - busybox'in kendi kodundaki gercek hatalar (e5d3a8763 ile duzeltildi)
No binary (build failed)
—
(log yok)
| @@ -0,0 +1,19 @@ | |
| + | /* vi: set sw=4 ts=4: */ |
| + | /* |
| + | * Utility routines. |
| + | * |
| + | * Copyright (C) 2025 Denys Vlasenko |
| + | * |
| + | * Licensed under GPLv2 or later, see file LICENSE in this source tree. |
| + | */ |
| + | //kbuild:lib-y += hash_sha256_block.o |
| + | #include "libbb.h" |
| + | |
| + | void FAST_FUNC |
| + | sha256_block(const void *in, size_t len, uint8_t hash[32]) |
| + | { |
| + | sha256_ctx_t ctx; |
| + | sha256_begin(&ctx); |
| + | sha256_hash(&ctx, in, len); |
| + | sha256_end(&ctx, hash); |
| + | } |
| @@ -0,0 +1,24 @@ | |
| + | /* |
| + | * Utility routines. |
| + | * |
| + | * Copyright (C) 2025 by Denys Vlasenko <[email protected]> |
| + | * |
| + | * Licensed under GPLv2, see file LICENSE in this source tree. |
| + | */ |
| + | #include "yescrypt/alg-yescrypt.h" |
| + | |
| + | static char * |
| + | yes_crypt(const char *passwd, const char *salt_data) |
| + | { |
| + | /* prefix, '$', hash, NUL */ |
| + | char buf[YESCRYPT_PREFIX_LEN + 1 + YESCRYPT_HASH_LEN + 1]; |
| + | char *retval; |
| + | |
| + | retval = yescrypt_r( |
| + | (const uint8_t *)passwd, strlen(passwd), |
| + | (const uint8_t *)salt_data, |
| + | buf, sizeof(buf)); |
| + | /* The returned value is either buf[], or NULL on error */ |
| + | |
| + | return xstrdup(retval); |
| + | } |