aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * libbb/yescrypt: disable unrolling in two placesDenys Vlasenko2025-07-071-96/+159
| | | | | | | | | | | | | | | | | | | | | | | | | | Also, make many define macros safer function old new delta blockmix 2300 814 -1486 blockmix_xor 4606 1543 -3063 blockmix_xor_save 4737 1620 -3117 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-7666) Total: -7666 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: 64-bit build fixesDenys Vlasenko2025-07-071-8/+4
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * add libbb/yescrypt/PARAMETERSDenys Vlasenko2025-07-073-6/+202
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: no need to find salt-terminating "$" twiceDenys Vlasenko2025-07-071-16/+10
| | | | | | | | | | | | | | function old new delta yescrypt_r 1048 1029 -19 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: code shrinkDenys Vlasenko2025-07-071-3/+3
| | | | | | | | | | | | | | function old new delta yescrypt_r 1063 1048 -15 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * cryptpw: -m sha512crypt must also be acceptedDenys Vlasenko2025-07-072-1/+5
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: fix salts ending in dots (corresponding to binary zeros)Denys Vlasenko2025-07-072-1/+21
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: accept longer salts (up to 84 chars)Denys Vlasenko2025-07-074-4/+86
| | | | | | | | | | | | | | | | | | | | | | | | function old new delta cryptpw_main 214 223 +9 chpasswd_main 347 356 +9 passwd_main 931 934 +3 yescrypt_r 1084 1056 -28 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 3/1 up/down: 21/-28) Total: -7 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: remove forgotten SHA256 HMAC header fileDenys Vlasenko2025-07-072-32/+0
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: make it possible to set constant parameters, and set YESCRYPT_RWDenys Vlasenko2025-07-074-96/+142
| | | | | | | | | | | | | | | | | | | | | | function old new delta yescrypt_kdf32_body 1052 1420 +368 yescrypt_r 1133 1084 -49 static.smix 762 - -762 ------------------------------------------------------------------------------ (add/remove: 0/1 grow/shrink: 1/1 up/down: 368/-811) Total: -443 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: remove redundant SHA256 HMAC implementationDenys Vlasenko2025-07-075-98/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | function old new delta hmac_blocks - 88 +88 static.PBKDF2_SHA256 176 213 +37 yescrypt_kdf32_body 1046 1052 +6 static.smix 759 762 +3 hmac_block 88 64 -24 HMAC_SHA256_Final 53 - -53 HMAC_SHA256_Buf 58 - -58 HMAC_SHA256_Init 159 - -159 ------------------------------------------------------------------------------ (add/remove: 1/3 grow/shrink: 3/1 up/down: 134/-294) Total: -160 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb: factor out HMAC code from TLSDenys Vlasenko2025-07-073-139/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | function old new delta hmac_block - 88 +88 hmac_peek_hash - 61 +61 hmac_end - 50 +50 hmac_begin 140 177 +37 hmac_hash_v - 30 +30 .rodata 105799 105787 -12 hmac_sha_precomputed 54 - -54 hmac_sha_precomputed_v 69 - -69 hmac 83 - -83 ------------------------------------------------------------------------------ (add/remove: 5/3 grow/shrink: 1/1 up/down: 266/-218) Total: 48 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb: add two more forgotten source filesDenys Vlasenko2025-07-072-0/+43
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/pw_ascii64.c: add forgotten source fileDenys Vlasenko2025-07-071-0/+91
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: use common ascii64 encoding routineDenys Vlasenko2025-07-063-66/+37
| | | | | | | | | | | | | | | | | | | | function old new delta num2str64_lsb_first 33 46 +13 yescrypt_r 1235 1133 -102 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/1 up/down: 13/-102) Total: -89 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb: shuffle ascii64 code around, shrink i2a64()Denys Vlasenko2025-07-064-88/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | function old new delta num2str64_4chars_msb_first - 55 +55 num2str64_lsb_first - 33 +33 i2a64 42 25 -17 to64 33 - -33 to64_msb_first 55 - -55 ------------------------------------------------------------------------------ (add/remove: 2/2 grow/shrink: 0/1 up/down: 88/-105) Total: -17 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: remove one NOINLINE, add copyright headers, merge two source ↵Denys Vlasenko2025-07-065-94/+41
| | | | | | | | | | | | | | | | | | | | | | | | files function old new delta pw_encrypt 945 974 +29 yes_crypt 50 - -50 ------------------------------------------------------------------------------ (add/remove: 0/1 grow/shrink: 1/0 up/down: 29/-50) Total: -21 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: remove unused prefetching codeDenys Vlasenko2025-07-061-43/+18
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: remove inlines (whcih gcc detects anyway) and dead ifderfsDenys Vlasenko2025-07-061-44/+49
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb: in DES crypt, error out on invalid salt charsDenys Vlasenko2025-07-061-29/+7
| | | | | | | | | | | | | | function old new delta des_crypt 1308 1327 +19 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb: code shrink in DES cryptDenys Vlasenko2025-07-061-11/+7
| | | | | | | | | | | | | | | | | | function old new delta pw_encrypt 941 945 +4 bits32 128 - -128 ------------------------------------------------------------------------------ (add/remove: 0/1 grow/shrink: 1/0 up/down: 4/-128) Total: -124 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: use common ACSII char-to-64 conversion codeDenys Vlasenko2025-07-064-40/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | function old new delta a2i64 - 46 +46 yescrypt_r 1215 1235 +20 decode64_uint32 167 177 +10 atoi64 25 - -25 ascii_to_bin 53 - -53 static.atoi64_partial 77 - -77 ------------------------------------------------------------------------------ (add/remove: 1/3 grow/shrink: 2/0 up/down: 76/-155) Total: -79 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: shrink PBKDF2Denys Vlasenko2025-07-061-14/+14
| | | | | | | | | | | | | | function old new delta static.PBKDF2_SHA256 189 176 -13 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: more efficient byteswappingDenys Vlasenko2025-07-063-132/+8
| | | | | | | | | | | | | | | | | | | | function old new delta static.smix1 631 604 -27 static.smix2 452 420 -32 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-59) Total: -59 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * restore mangled commentDenys Vlasenko2025-07-061-2/+2
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: code shrinkDenys Vlasenko2025-07-067-37/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | static.PBKDF2_SHA256 - 189 +189 HMAC_SHA256_Init - 159 +159 HMAC_SHA256_Buf - 58 +58 HMAC_SHA256_Final - 53 +53 i2a64 - 42 +42 yescrypt_r 1221 1215 -6 yescrypt_kdf32_body 1064 1046 -18 i64c 42 - -42 libcperciva_HMAC_SHA256_Final 53 - -53 libcperciva_HMAC_SHA256_Buf 58 - -58 ascii64 65 - -65 libcperciva_HMAC_SHA256_Init 159 - -159 PBKDF2_SHA256 386 - -386 ------------------------------------------------------------------------------ (add/remove: 5/6 grow/shrink: 0/2 up/down: 501/-787) Total: -286 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: code shrinkDenys Vlasenko2025-07-061-11/+7
| | | | | | | | | | | | | | function old new delta libcperciva_HMAC_SHA256_Final 56 53 -3 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * Move "sha256-hash a memory array and produce the digest" helper to libbbDenys Vlasenko2025-07-064-28/+7
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: remove extra sha256 implementationDenys Vlasenko2025-07-062-521/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | function old new delta libcperciva_HMAC_SHA256_Init - 159 +159 libcperciva_HMAC_SHA256_Final - 56 +56 SHA256_Buf - 40 +40 static.smix 753 759 +6 yescrypt_kdf32_body 1059 1060 +1 .rodata 105803 105799 -4 initial_state 32 - -32 libcperciva_SHA256_Init 37 - -37 static.cpu_to_be32_vect 51 - -51 _HMAC_SHA256_Final 55 - -55 PAD 64 - -64 libcperciva_HMAC_SHA256_Buf 132 58 -74 libcperciva_SHA256_Buf 86 - -86 SHA256_Pad_Almost 131 - -131 _SHA256_Final 195 - -195 _SHA256_Update 198 - -198 _HMAC_SHA256_Init 213 - -213 Krnd 256 - -256 PBKDF2_SHA256 1003 386 -617 SHA256_Transform 3083 - -3083 ------------------------------------------------------------------------------ (add/remove: 3/12 grow/shrink: 2/3 up/down: 262/-5096) Total: -4834 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: comment tweaksDenys Vlasenko2025-07-062-6/+9
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: use mmap for allocation, it's large - 16MbytesDenys Vlasenko2025-07-064-38/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | This automatically gives it alignment sufficient for any future SIMD optimizations. function old new delta yescrypt_r 1217 1221 +4 yescrypt_kdf32_body 1077 1059 -18 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/1 up/down: 4/-18) Total: -14 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: reduce the number of function parametersDenys Vlasenko2025-07-064-166/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | function old new delta yescrypt_kdf32_body - 1077 +1077 static.smix 739 753 +14 yescrypt_init_local 34 - -34 yes_crypt 87 50 -37 yescrypt_free_local 49 - -49 yescrypt_r 1288 1217 -71 static.yescrypt_kdf_body 1166 - -1166 ------------------------------------------------------------------------------ (add/remove: 1/3 grow/shrink: 1/2 up/down: 1091/-1357) Total: -266 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: code shrink in salt decodingDenys Vlasenko2025-07-061-15/+11
| | | | | | | | | | | | | | function old new delta yescrypt_r 1311 1288 -23 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: code shrink in parameter decodingDenys Vlasenko2025-07-061-31/+17
| | | | | | | | | | | | | | | | | | | | function old new delta decode64_uint32 166 167 +1 yescrypt_r 1342 1311 -31 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/1 up/down: 1/-31) Total: -30 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: remove unused variableDenys Vlasenko2025-07-061-8/+3
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: remove unused yescrypt_region_t tmpDenys Vlasenko2025-07-061-7/+0
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: make some functions staticDenys Vlasenko2025-07-063-15/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | function old new delta static.yescrypt_kdf_body - 1166 +1166 yescrypt_r 692 1342 +650 atoi64 - 25 +25 decode64_uint32 201 166 -35 encode64 153 - -153 decode64 174 - -174 yescrypt_kdf 442 - -442 yescrypt_kdf_body 1239 - -1239 ------------------------------------------------------------------------------ (add/remove: 2/4 grow/shrink: 1/1 up/down: 1841/-2043) Total: -202 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: remove unused yescrypt_binary_tDenys Vlasenko2025-07-061-10/+1
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: remove YESCRYPT_INIT_SHARED flag and code using itDenys Vlasenko2025-07-062-36/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's only used by libxcrypt-4.4.38/lib/alg-yescrypt-opt.c code (optimized code version?) which wasn't ported to busybox function old new delta yescrypt_kdf 449 442 -7 static.smix 755 739 -16 alloc_region 72 - -72 yescrypt_kdf_body 1467 1239 -228 ------------------------------------------------------------------------------ (add/remove: 0/1 grow/shrink: 0/3 up/down: 0/-323) Total: -323 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: remove unreachable support for scrypt hash ("$7$...")Denys Vlasenko2025-07-061-95/+49
| | | | | | | | | | | | | | | | | | | | | | | | function old new delta decode64 136 174 +38 decode64_uint32 166 201 +35 atoi64 25 - -25 yescrypt_r 879 692 -187 ------------------------------------------------------------------------------ (add/remove: 0/1 grow/shrink: 2/1 up/down: 73/-212) Total: -139 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: remove unused yescrypt_shared_tDenys Vlasenko2025-07-063-77/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | function old new delta static.smix - 755 +755 static.smix1 - 631 +631 static.smix2 - 452 +452 yescrypt_free_local 9 49 +40 yes_crypt 90 87 -3 yescrypt_r 890 879 -11 yescrypt_kdf 479 449 -30 free_region 47 - -47 yescrypt_kdf_body 1724 1467 -257 smix2 659 - -659 smix 790 - -790 smix1 960 - -960 ------------------------------------------------------------------------------ (add/remove: 3/4 grow/shrink: 1/4 up/down: 1878/-2757) Total: -879 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: remove obviously unused, commented-out partsDenys Vlasenko2025-07-062-445/+0
| | | | | | | | | | | | No code changes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb: add yescrypt password hashing supportDenys Vlasenko2025-07-0615-26/+3206
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It seems to work, but not at all optimized for size. The extra copy of sha256 code need to be removed. The yescrypt code in libbb/yescrypt/* is adapted from libxcrypt-4.4.38 with minimal edits, hopefully making it easier to track backports by resetting the tree to this commit, then comparing changes in upstream libxcrypt to the tree. function old new delta blockmix_xor_save - 7050 +7050 static.blockmix_xor - 6475 +6475 blockmix - 3390 +3390 SHA256_Transform - 3083 +3083 yescrypt_kdf_body - 1724 +1724 PBKDF2_SHA256 - 1003 +1003 smix1 - 960 +960 yescrypt_r - 890 +890 salsa20 - 804 +804 smix - 790 +790 smix2 - 659 +659 blockmix_salsa8_xor - 601 +601 yescrypt_kdf - 479 +479 blockmix_salsa8 - 415 +415 Krnd - 256 +256 _HMAC_SHA256_Init - 213 +213 _SHA256_Update - 198 +198 _SHA256_Final - 195 +195 decode64_uint32 - 166 +166 encode64 - 153 +153 decode64 - 136 +136 libcperciva_HMAC_SHA256_Buf - 132 +132 SHA256_Pad_Almost - 131 +131 salsa20_simd_unshuffle - 101 +101 salsa20_simd_shuffle - 101 +101 yes_crypt - 90 +90 libcperciva_SHA256_Buf - 86 +86 crypt_make_rand64encoded - 85 +85 static.atoi64_partial - 77 +77 alloc_region - 72 +72 ascii64 - 65 +65 PAD - 64 +64 _HMAC_SHA256_Final - 55 +55 static.cpu_to_be32_vect - 51 +51 free_region - 47 +47 libcperciva_SHA256_Init - 37 +37 yescrypt_init_local - 34 +34 crypt_make_pw_salt 92 125 +33 initial_state - 32 +32 .rodata 105771 105803 +32 atoi64 - 25 +25 explicit_bzero - 22 +22 pw_encrypt 920 941 +21 yescrypt_free_local - 9 +9 crypt_make_salt 85 - -85 ------------------------------------------------------------------------------ (add/remove: 43/1 grow/shrink: 3/0 up/down: 31042/-85) Total: 30957 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* | tls: only show schannel config option on mingwrfl8902025-08-101-1/+1
| |
* | Merge branch 'busybox' into mergeRon Yorston2025-08-1028-195/+390
|\|
| * whitespace fixDenys Vlasenko2025-07-051-2/+2
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * diff: code shrinkDenys Vlasenko2025-07-041-1/+1
| | | | | | | | | | | | | | function old new delta diffreg 1317 1307 -10 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * shell: empty HISTFILE disables history saving, just as unset one didDenys Vlasenko2025-07-043-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | The rationale here is that unsetting HISTFILE in /etc/profile does not "stick": if it's unset, the default one is set later (after /etc/profile is executed) by the shell. But setting (and exporting, so it is inherited by all (grand)child shells) an empty one works. function old new delta save_history 296 316 +20 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * shell: update HISTFILESIZE code to be actually usefulDenys Vlasenko2025-07-036-58/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "HISTFILESIZE=0" in profile wasn't working as intended, "unset HISTFILE" wasn't preventing creation of history files Now: HISTSIZE=n allows to reduce in-memory history buffer HISTFILESIZE=n allows to reduce history file size (0: truncate it) unset HISTFILE allows to not save history file at all function old new delta exitshell 138 194 +56 hush_exit 97 143 +46 save_history 266 296 +30 hush_main 1170 1186 +16 .rodata 105762 105771 +9 load_history 246 254 +8 size_from_HISTFILESIZE 44 41 -3 read_line_input 2746 2712 -34 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 6/2 up/down: 165/-37) Total: 128 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * shell: fix race between signal handlers setting bb_got_signal and poll()Denys Vlasenko2025-07-028-13/+66
| | | | | | | | | | | | | | | | | | | | | | | | function old new delta __ppoll_time64 - 211 +211 check_got_signal_and_poll - 164 +164 read_key 607 601 -6 shell_builtin_read 1328 1318 -10 ------------------------------------------------------------------------------ (add/remove: 4/0 grow/shrink: 0/2 up/down: 375/-16) Total: 359 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>