Denys Vlasenko
22b66febbd
tls: server: fix incorrect key_block assignments - now works against openssl s_client
...
function old new delta
privRsaEncryptSignedElement - 236 +236
tls_handshake_as_server 2033 2264 +231
.rodata 108079 108301 +222
initialize_aes_keys - 77 +77
xwrite_encrypted 507 506 -1
tls_handshake 1519 1500 -19
derive_master_secret_and_keys 154 123 -31
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 2/3 up/down: 766/-51) Total: 715 bytes
Totoal growth compared to code before TLS server code:
function old new delta
tls_handshake_as_server - 2264 +2264
.rodata 107074 108301 +1227
psRsaCrypt - 577 +577
load_rsa_priv_key - 282 +282
ssl_server_main - 279 +279
privRsaEncryptSignedElement - 236 +236
ssl_client_main 137 363 +226
psRsaDecryptPriv - 171 +171
set_cipher_parameters - 161 +161
derive_master_secret_and_keys - 123 +123
packed_usage 36034 36146 +112
sp_ecc_make_key_256 - 103 +103
send_finished - 94 +94
get_change_cipher_spec - 88 +88
initialize_aes_keys - 77 +77
static.BLOCK_NAMES - 70 +70
curve_P256_compute_premaster - 65 +65
der_binary_to_pstm - 50 +50
curve_x25519_generate_keypair - 44 +44
get_finished - 42 +42
get_outbuf_fill_handshake_record - 37 +37
client_hello_ciphers - 32 +32
curve_P256_generate_keypair - 27 +27
sp_256_from_bin_8 - 26 +26
tls_xread_record 681 704 +23
curve_x25519_compute_premaster - 15 +15
applet_names 2870 2881 +11
applet_main 1652 1656 +4
xwrite_encrypted 507 506 -1
xwrite_and_update_handshake_hash 76 59 -17
sp_256_point_from_bin2x32 70 43 -27
curve_x25519_compute_pubkey_and_premaster 71 39 -32
curve_P256_compute_pubkey_and_premaster 167 65 -102
psRsaEncryptPub 395 199 -196
tls_handshake 2069 1500 -569
------------------------------------------------------------------------------
(add/remove: 23/0 grow/shrink: 6/7 up/down: 6466/-944) Total: 5522 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-02-15 15:26:31 +01:00
Denys Vlasenko
7773faa878
tls: make ECDHE_RSA work against our client (openssl s_client not yet)
...
function old new delta
tls_handshake_as_server 1601 2033 +432
sp_ecc_make_key_256 - 103 +103
curve_P256_compute_premaster - 65 +65
.rodata 108023 108079 +56
curve_x25519_generate_keypair - 44 +44
tls_get_zeroed_outbuf - 28 +28
curve_P256_generate_keypair - 27 +27
sp_256_from_bin_8 - 26 +26
curve_x25519_compute_premaster - 15 +15
tls_xread_record 708 704 -4
tls_handshake 1530 1519 -11
get_outbuf_fill_handshake_record 51 37 -14
sp_256_point_from_bin2x32 70 43 -27
curve_x25519_compute_pubkey_and_premaster 71 39 -32
curve_P256_compute_pubkey_and_premaster 167 65 -102
------------------------------------------------------------------------------
(add/remove: 7/0 grow/shrink: 2/6 up/down: 796/-190) Total: 606 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-02-15 15:16:26 +01:00
Denys Vlasenko
2ab2c25847
tls: remove unnecessary malloc/free in psRsaDecryptPriv()
...
function old new delta
.rodata 108007 108023 +16
psRsaDecryptPriv 200 171 -29
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 16/-29) Total: -13 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-02-15 15:16:26 +01:00
Denys Vlasenko
5a1bcdf036
tls: fix cipher-id selection in server mode
...
ECDSA keys still don't work, and currently will be ignored
function old new delta
tls_handshake_as_server 824 1601 +777
.rodata 107764 108007 +243
set_cipher_parameters - 161 +161
packed_usage 36072 36146 +74
static.BLOCK_NAMES - 70 +70
client_hello_ciphers - 32 +32
ssl_server_main 288 279 -9
load_rsa_priv_key 329 282 -47
tls_handshake 1676 1530 -146
------------------------------------------------------------------------------
(add/remove: 3/0 grow/shrink: 3/3 up/down: 1357/-202) Total: 1155 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-02-15 15:16:26 +01:00
Denys Vlasenko
456abad825
tls: eliminate unnecessary ENCRYPT_ON_WRITE, merge tls_get_zeroed_outbuf() with fill_handshake_record_hdr()
...
function old new delta
get_outbuf_fill_handshake_record - 51 +51
send_finished 95 94 -1
tls_handshake 1690 1676 -14
xwrite_and_update_handshake_hash 76 59 -17
tls_handshake_as_server 852 824 -28
tls_get_zeroed_outbuf 28 - -28
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 0/4 up/down: 51/-88) Total: -37 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-02-15 15:16:26 +01:00
Denys Vlasenko
e17bc84d4c
tls: fix up debug printouts wrt newlines
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-02-15 15:16:26 +01:00
Denys Vlasenko
657fbcd62c
tls: implement server code
...
function old new delta
tls_handshake_as_server 7 852 +845
.rodata 107103 107764 +661
psRsaCrypt - 577 +577
load_rsa_priv_key - 329 +329
psRsaDecryptPriv - 200 +200
derive_master_secret_and_keys - 154 +154
send_finished - 95 +95
get_change_cipher_spec - 88 +88
der_binary_to_pstm - 50 +50
get_finished - 42 +42
tls_xread_record 681 708 +27
ssl_server_main 285 288 +3
psRsaEncryptPub 395 199 -196
tls_handshake 2069 1690 -379
------------------------------------------------------------------------------
(add/remove: 8/0 grow/shrink: 4/2 up/down: 3071/-575) Total: 2496 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-02-15 15:16:26 +01:00
Denys Vlasenko
61055ef909
ssl_server: new applet, not functional yet
...
function old new delta
ssl_server_main - 285 +285
ssl_client_main 137 363 +226
packed_usage 36034 36072 +38
.rodata 107074 107103 +29
applet_names 2870 2881 +11
tls_handshake_as_server - 7 +7
applet_main 1652 1656 +4
------------------------------------------------------------------------------
(add/remove: 3/0 grow/shrink: 5/0 up/down: 600/0) Total: 600 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-02-15 15:16:26 +01:00
Denys Vlasenko
b668e52c90
*: placate warnings where strchr/strstr returns constant pointer
...
Newer glibc is now smarter and can propagate const-ness from those!
function old new delta
readtoken1 3111 3108 -3
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-02-15 15:15:30 +01:00
Denys Vlasenko
8289b34626
tls: document PSTM_64BIT + PSTM_X86_64 optimizations better
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-02-08 08:30:03 +01:00
Denys Vlasenko
9693daaaef
*: use is_prefixed_with() where appropriate
...
function old new delta
resume_main 560 556 -4
uuidcache_check_device 107 101 -6
ntp_init 1005 997 -8
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-18) Total: -18 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-02-07 01:10:55 +01:00
Denys Vlasenko
c8cbd3516d
*: use xasprintf_inplace() and concat_path_file() where appropriate
...
function old new delta
acpid_main 1059 1063 +4
resume_main 561 560 -1
unpack_package 642 640 -2
adduser_main 861 859 -2
getty_main 1517 1512 -5
ftpd_main 2149 2142 -7
.rodata 107018 107010 -8
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/6 up/down: 4/-25) Total: -21 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-02-06 13:16:36 +01:00
Denys Vlasenko
fddd93edbd
libbb: introduce and use xasprintf_inplace()
...
function old new delta
xasprintf_and_free - 49 +49
watch_main 269 282 +13
singlemount 1313 1315 +2
append_mount_options 157 149 -8
ip_port_str 122 112 -10
lsblk_main 869 858 -11
add_cmd 1178 1167 -11
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 2/4 up/down: 64/-40) Total: 24 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-02-05 13:36:27 +01:00
Denys Vlasenko
3fb6b31c71
tar: strip unsafe hardlink components - GNU tar does the same
...
Defends against files like these (python reproducer):
import tarfile
ti = tarfile.TarInfo("leak_hosts")
ti.type = tarfile.LNKTYPE
ti.linkname = "/etc/hosts" # or "../etc/hosts" or ".."
ti.size = 0
with tarfile.open("/tmp/hardlink.tar", "w") as t:
t.addfile(ti)
function old new delta
skip_unsafe_prefix - 127 +127
get_header_tar 1752 1754 +2
.rodata 106861 106856 -5
unzip_main 2715 2706 -9
strip_unsafe_prefix 102 18 -84
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/3 up/down: 129/-98) Total: 31 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-01-29 12:01:56 +01:00
Denys Vlasenko
768ab5384c
httpd: do not use a global variable in index.cgi
...
text data bss dec hex filename
3255 0 0 3255 cb7 httpd_indexcgi.o
3253 0 4 3257 cb9 httpd_indexcgi.o.old
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-01-29 02:39:31 +01:00
Denys Vlasenko
df1ef312a0
httpd: handle bare "Location: URL" redirects from CGIs
...
Many sites on the Web give those as valid CGI examples -
no "Status:", just "Location:".
function old new delta
cgi_io_loop_and_exit 620 684 +64
log_cgi_status - 49 +49
.rodata 106846 106861 +15
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 2/0 up/down: 128/0) Total: 128 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-01-28 17:45:37 +01:00
Denys Vlasenko
28e4d2b854
httpd: optimize example CGIs
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-01-26 07:21:11 +01:00
Denys Vlasenko
4da1badf13
networking/httpd_indexcgi.c: non-mallocing version
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-01-26 04:48:28 +01:00
Denys Vlasenko
052b253696
httpd: add a TODO, no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-01-25 08:17:23 +01:00
Denys Vlasenko
ea7d310ad6
httpd: allow static files in /cgi-bin/, do not search for interpreter twice
...
function old new delta
handle_incoming_and_exit 2270 2334 +64
send_cgi_and_exit 790 754 -36
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 64/-36) Total: 28 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-01-24 17:11:39 +01:00
Denys Vlasenko
a2f8c89aec
httpd: code shrink
...
function old new delta
send_file_and_exit 931 933 +2
get_line 126 120 -6
httpd_main 968 959 -9
send_headers 708 694 -14
handle_incoming_and_exit 2285 2270 -15
cgi_io_loop_and_exit 635 620 -15
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/5 up/down: 2/-59) Total: -57 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-01-24 13:29:50 +01:00
Denys Vlasenko
43982ed499
httpd: code shrink via "split-globals" trick
...
function old new delta
httpd_main 957 968 +11
log_and_exit 25 26 +1
send_headers 712 708 -4
handle_incoming_and_exit 2292 2285 -7
sigalrm_handler 102 93 -9
parse_conf 1332 1323 -9
send_cgi_and_exit 803 790 -13
cgi_io_loop_and_exit 656 635 -21
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/6 up/down: 12/-63) Total: -51 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-01-24 05:22:33 +01:00
Denys Vlasenko
1a64fe3594
httpd: implement POSTDATA read timeout, and -K KILLSECS CGI lifetime control
...
function old new delta
cgi_io_loop_and_exit 496 656 +160
sigalrm_handler 1 102 +101
.rodata 106814 106853 +39
send_cgi_and_exit 770 803 +33
packed_usage 35894 35924 +30
httpd_main 950 957 +7
handle_incoming_and_exit 2297 2292 -5
send_REQUEST_TIMEOUT_and_exit 10 - -10
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 6/1 up/down: 370/-15) Total: 355 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-01-24 02:01:42 +01:00
Denys Vlasenko
927ff335c5
httpd: fix incorrect == comparison in last commit, must be !=
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-01-23 11:32:32 +01:00
Denys Vlasenko
5d33dbb67c
httpd: smarter handling of CGI's "Status: " header
...
Do one less write()
function old new delta
handle_incoming_and_exit 2290 2297 +7
cgi_io_loop_and_exit 498 500 +2
.rodata 106821 106814 -7
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/1 up/down: 9/-7) Total: 2 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-01-23 11:04:28 +01:00
Denys Vlasenko
a5f120b620
httpd: simplify CGI headers handling, check "HTTP/1.1" prefix, not just "HTTP"
...
function old new delta
cgi_io_loop_and_exit 477 498 +21
.rodata 106830 106821 -9
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 21/-9) Total: 12 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-01-23 10:14:04 +01:00
Denys Vlasenko
01ea35e81d
httpd: simplify CGI code a bit, add a bunch of TODOs and FIXMEs
...
function old new delta
log_and_exit 33 25 -8
handle_incoming_and_exit 2298 2290 -8
send_cgi_and_exit 784 770 -14
cgi_io_loop_and_exit 538 477 -61
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/4 up/down: 0/-91) Total: -91 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-01-23 02:18:30 +01:00
Denys Vlasenko
2d78809b74
httpd: do not force clean connection termination on write errors and timeouts
...
function old new delta
send_file_and_exit 891 931 +40
send_EOF_and_exit - 14 +14
cgi_io_loop_and_exit 535 538 +3
log_and_exit 44 33 -11
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 2/1 up/down: 57/-11) Total: 46 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-01-22 22:35:58 +01:00
Denys Vlasenko
04d8729adb
httpd: make timeout messages less confusing
...
function old new delta
send_file_and_exit 891 930 +39
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-01-22 21:21:16 +01:00
Denys Vlasenko
d8059bd827
httpd: time out data writes after 60 seconds of no progress
...
function old new delta
prepare_write_timeout - 29 +29
static.tv - 16 +16
httpd_main 939 950 +11
send_file_and_exit 887 891 +4
handle_incoming_and_exit 2306 2298 -8
cgi_io_loop_and_exit 552 535 -17
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 2/2 up/down: 60/-25) Total: 35 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-01-22 17:22:06 +01:00
Denys Vlasenko
c1ed0c4049
httpd: optimize header reading timeout code
...
Set up the signal handler once, outside of main loop.
Do not reset the timer if headers are big - they still are expected
to arrive quickly.
function old new delta
httpd_main 913 939 +26
handle_incoming_and_exit 2312 2306 -6
get_line 134 126 -8
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/2 up/down: 26/-14) Total: 12 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-01-22 15:49:58 +01:00
Denys Vlasenko
52a88341d6
httpd: when reading headers, abort if they are too long
...
function old new delta
get_line 130 134 +4
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-01-22 15:33:42 +01:00
Denys Vlasenko
f0a63eefae
httpd: reject request line and headers with control chars
...
This removes the need to check various corner cases later.
function old new delta
get_line 108 130 +22
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-01-22 14:33:22 +01:00
Denys Vlasenko
851992f070
httpd: allow http2 requests if proxying, tighten METHOD checks
...
function old new delta
handle_incoming_and_exit 2264 2312 +48
httpd_main 915 913 -2
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 48/-2) Total: 46 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-01-22 13:58:28 +01:00
Denys Vlasenko
649da41ca4
httpd: fix compilation script of httpd_ratelimit_cgi.c
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-01-22 10:42:20 +01:00
Denys Vlasenko
3f36fe9c2f
httpd: add -M MAXCONN - do not accept unlimited number of connections
...
We were lacking even basic rate-limiting.
function old new delta
httpd_main 648 915 +267
handle_incoming_and_exit 2235 2264 +29
packed_usage 35868 35894 +26
cgi_io_loop_and_exit 537 552 +15
send_headers 704 712 +8
get_line 106 108 +2
.rodata 106829 106830 +1
send_file_and_exit 890 887 -3
mini_httpd 161 - -161
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 7/1 up/down: 348/-164) Total: 184 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-01-22 01:58:46 +01:00
Denys Vlasenko
5ac9d0a865
httpd: stop disabling/enabling SIGHUP in every child
...
function old new delta
sighup_handler 30 47 +17
httpd_main 710 695 -15
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 17/-15) Total: 2 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-01-21 19:16:29 +01:00
Denys Vlasenko
71c703c26b
httpd: remove one close() from main loop
...
function old new delta
httpd_main 701 710 +9
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-01-21 19:01:42 +01:00
Denys Vlasenko
58b46b7d67
networking/httpd_ratelimit_cgi.c: new example CGI handler
...
text data bss dec hex filename
4003 40 352 4395 112b httpd_ratelimit_cgi
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-01-21 18:47:56 +01:00
Denys Vlasenko
38721685af
httpd: expand logging: now can see what CGIs are started
...
function old new delta
send_cgi_and_exit 711 784 +73
vmstat_main 657 708 +51
.rodata 106746 106778 +32
send_file_and_exit 877 887 +10
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/0 up/down: 166/0) Total: 166 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-01-21 17:49:40 +01:00
Giorgi Tchankvetadze
3b785b18d2
networking/udhcp: fix typo in comment
...
Signed-off-by: Giorgi Tchankvetadze <giorgitchankvetadze1997@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2026-01-14 08:08:26 +01:00
Denys Vlasenko
b143b3f1d4
tls: better error message when TLS record is truncated
...
function old new delta
.rodata 106388 106438 +50
tls_xread_record 650 681 +31
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 81/0) Total: 81 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2025-11-25 02:47:10 +01:00
Denys Vlasenko
3ff3cb483d
ntpd: set tmx.maxerror properly - avoid STA_UNSYNC
...
function old new delta
update_local_clock 872 951 +79
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2025-10-11 23:48:04 +02:00
Denys Vlasenko
91d8b4eb5c
ftpd: code shrink, move replace_char() to libbb
...
function old new delta
modprobe_main 803 804 +1
escape_text 127 122 -5
replace 18 - -18
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 1/1 up/down: 1/-23) Total: -22 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2025-08-02 07:18:56 +02:00
Denys Vlasenko
628a7b2f47
telnetd: improve --help
...
function old new delta
packed_usage 34996 35021 +25
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2025-07-27 14:24:23 +02:00
Denys Vlasenko
ee2ef17cc7
tftp: use bb_error_msg instead of info_msg for a debug message
...
This is the only use of bb_info_msg in tftp.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2025-07-18 10:42:09 +02:00
Denys Vlasenko
27e1fc679e
ntpd: replace two bb_info_msg's with bb_error_msg
...
All other messages are printed via bb_error_msg in this applet.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2025-07-18 10:34:17 +02:00
Denys Vlasenko
c305c81c94
libbb: introduce and use block-XOR functions
...
On x86_64, they can be done in 16-byte blocks
64-bit:
function old new delta
xorbuf_3 - 84 +84
xorbuf64_3_aligned64 - 58 +58
smix1 687 712 +25
xwrite_encrypted 520 534 +14
xorbuf16_aligned_long - 13 +13
tls_xread_record 733 742 +9
xorbuf 21 13 -8
xorbuf_aligned_AES_BLOCK_SIZE 15 - -15
blockmix 814 762 -52
blockmix_salsa8 317 198 -119
blockmix_xor_save 1620 1499 -121
blockmix_xor 1543 1322 -221
------------------------------------------------------------------------------
(add/remove: 4/1 grow/shrink: 3/5 up/down: 203/-536) Total: -333 bytes
32-bit:
function old new delta
xorbuf_3 - 76 +76
xorbuf64_3_aligned64 - 36 +36
xorbuf16_aligned_long - 23 +23
xwrite_encrypted 499 507 +8
tls_xread_record 646 650 +4
xorbuf 22 11 -11
xorbuf_aligned_AES_BLOCK_SIZE 23 - -23
blockmix 1083 938 -145
blockmix_salsa8 415 210 -205
blockmix_salsa8_xor 601 163 -438
blockmix_xor 2103 1533 -570
blockmix_xor_save 2614 1859 -755
------------------------------------------------------------------------------
(add/remove: 4/1 grow/shrink: 2/6 up/down: 147/-2147) Total: -2000 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2025-07-09 07:00:59 +02:00
Denys Vlasenko
c11730490a
libbb/yescrypt: remove redundant SHA256 HMAC implementation
...
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>
2025-07-07 08:21:44 +02:00
Denys Vlasenko
1a0913d57c
libbb: factor out HMAC code from TLS
...
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>
2025-07-07 07:44:01 +02:00