busybox/networking
Denys Vlasenko 80e676664e libbb: add yescrypt password hashing support
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>
2025-07-06 00:49:22 +02:00
..
libiproute ip route: make cache printing a bit more similar to upstream 2025-07-01 12:54:00 +02:00
ssl_helper networking/ssl_helper: experimental matrixssl-based ssl helper 2014-02-23 23:31:13 +01:00
ssl_helper-wolfssl Update information on building httpd and wget helpers 2016-12-22 15:13:37 +01:00
udhcp udhcpd: send DHCPOFFERs as unicast (unless clients specifically asks for bcast) 2025-04-07 02:46:39 +02:00
arp.c Remove "select PLATFORM_LINUX" 2022-11-29 14:14:06 +01:00
arping.c Update applet size estimates 2023-07-10 17:25:21 +02:00
brctl.c introduce and use exitcode_t 2023-07-17 17:29:36 +02:00
Config.src config system: move some options closer to relevalnt tool subdirectories 2021-10-12 13:23:29 +02:00
dnsd.c Update applet size estimates 2023-07-10 17:25:21 +02:00
ether-wake.c Update applet size estimates 2023-07-10 17:25:21 +02:00
ftpd.c *: more --help tweaks 2021-06-16 14:24:27 +02:00
ftpgetput.c Update applet size estimates 2023-07-10 17:25:21 +02:00
hostname.c whitespace fix 2025-07-05 12:59:42 +02:00
httpd.c libbb: add yescrypt password hashing support 2025-07-06 00:49:22 +02:00
httpd_helpers.sh Update information on building httpd and wget helpers 2016-12-22 15:13:37 +01:00
httpd_indexcgi.c style fix 2022-05-01 17:06:00 +02:00
httpd_post_upload.cgi httpd_post_upload.cgi: use mktemp to avoid $RANDOM 2021-06-06 13:44:08 +02:00
httpd_ssi.c style fix 2022-05-01 17:06:00 +02:00
ifconfig.c Remove "select PLATFORM_LINUX" 2022-11-29 14:14:06 +01:00
ifenslave.c build system: drop PLATFORM_LINUX 2020-08-13 17:12:56 +02:00
ifplugd.c Update applet size estimates 2023-07-10 17:25:21 +02:00
ifupdown.c libbb: add bit counting function, use where appropriate 2024-05-31 16:03:23 +02:00
inetd.c libbb: code shrink: introduce and use [_]exit_FAILURE() 2023-06-15 11:55:56 +02:00
interface.c *: slap on a few ALIGN* where appropriate 2022-02-06 19:53:10 +01:00
ip.c ip link: support for the CAN netlink 2024-02-26 14:10:10 +01:00
ipcalc.c libbb: add bit counting function, use where appropriate 2024-05-31 16:03:23 +02:00
isrv.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
isrv.h fixlet for the previous commit #2 2014-01-09 20:09:43 +01:00
isrv_identd.c Update applet size estimates 2023-07-10 17:25:21 +02:00
Kbuild.src Convert all networking/* applets to "new style" applet definitions 2016-11-23 09:05:14 +01:00
nameif.c Update applet size estimates 2023-07-10 17:25:21 +02:00
nbd-client.c Update applet size estimates 2023-07-10 17:25:21 +02:00
nc.c libbb: code shrink: introduce and use [_]exit_SUCCESS() 2022-01-05 22:16:06 +01:00
nc_bloaty.c typo fix 2024-06-01 10:51:58 +02:00
netstat.c decrease padding: gcc-9.3.1 slaps 32-byte alignment on arrays willy-nilly 2020-11-30 14:58:02 +01:00
nslookup.c Update applet size estimates 2023-07-10 17:25:21 +02:00
ntpd.c ntpd: Raise MAXDIST to 3s for better tolerance and consistency with chrony 2025-07-01 13:30:40 +02:00
ntpd.diff ntpd: add experimental patch 2016-03-04 07:36:04 +01:00
parse_pasv_epsv.c networking: support ftp PASV responses not ending with ')' 2020-07-19 20:59:35 +02:00
ping.c libbb: code shrink: introduce and use [_]exit_FAILURE() 2023-06-15 11:55:56 +02:00
pscan.c Update applet size estimates 2023-07-10 17:25:21 +02:00
route.c Update applet size estimates 2023-07-10 17:25:21 +02:00
slattach.c Update applet size estimates 2023-07-10 17:25:21 +02:00
ssl_client.c Update applet size estimates 2023-07-10 17:25:21 +02:00
tc.c introduce and use exitcode_t 2023-07-17 17:29:36 +02:00
tcpudp.c tcp/udpsvd: robustify SIGCHLD handling 2021-06-05 15:24:04 +02:00
tcpudp_perhost.c tcpudp: shrink per-host rate-limiting code 2018-02-27 13:03:44 +01:00
tcpudp_perhost.h tcpudp: shrink per-host rate-limiting code 2018-02-27 13:03:44 +01:00
telnet.c randomconfig fixes 2020-12-29 16:53:11 +01:00
telnetd.c Update applet size estimates 2023-07-10 17:25:21 +02:00
telnetd.ctrlSQ.patch *: slap on a few ALIGN1/2s where appropriate 2016-04-22 18:09:21 +02:00
telnetd.IAC_test.sh telnetd: fix corner case of input processing of 0xff bytes 2016-10-12 19:13:46 +02:00
tftp.c telnetd: give inetd.conf example in --help 2021-06-16 10:49:18 +02:00
tls.c tls: move definitions around, no code changes 2022-09-08 16:56:54 +02:00
tls.h tls: remove unused tls_symmetric.h (was used by old "big" AES code) 2021-10-11 13:46:30 +02:00
tls_aes.c tls: code shrink in AES code 2020-12-15 18:47:25 +01:00
tls_aes.h tls: in AES-CBC code, do not set key for every record - do it once 2018-11-23 18:02:44 +01:00
tls_aesgcm.c suppress a few "unused function" warnings 2019-10-25 13:05:15 +02:00
tls_aesgcm.h tls: in AES-GCM decoding, avoid memmove 2018-11-24 13:51:46 +01:00
tls_fe.c tls: x25519: code shrink by factoring out common code 2021-12-01 15:09:44 +01:00
tls_pstm.c tls: whitespace fixes 2021-04-27 00:40:40 +02:00
tls_pstm.h whitespace fix 2021-10-11 19:11:06 +02:00
tls_pstm_montgomery_reduce.c tls: further reduce register pressure in i386 assembly 2021-04-20 19:03:55 +02:00
tls_pstm_mul_comba.c networking: cc is not a register 2019-05-17 22:56:47 +02:00
tls_pstm_sqr_comba.c networking: cc is not a register 2019-05-17 22:56:47 +02:00
tls_rsa.c tls: whitespace fixes 2021-04-27 00:40:40 +02:00
tls_rsa.h tls: do not leak RSA key 2018-11-25 16:17:26 +01:00
tls_sp_c32.c tls: P256: improve x86_64 multiplication asm code 2024-07-12 11:10:24 +02:00
traceroute.c Update applet size estimates 2023-07-10 17:25:21 +02:00
tunctl.c Update applet size estimates 2023-07-10 17:25:21 +02:00
vconfig.c Update applet size estimates 2023-07-10 17:25:21 +02:00
wget.c wget: fix compile warnings when WGET_FTP is not selected 2024-09-26 16:27:10 +02:00
whois.c Update applet size estimates 2023-07-10 17:25:21 +02:00
zcip.c Update applet size estimates 2023-07-10 17:25:21 +02:00