aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * top: fix display of very large VSZDenys Vlasenko2025-08-052-5/+37
| | | | | | | | | | | | | | | | | | | | function old new delta display_process_list 1366 1403 +37 handle_input 628 636 +8 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 45/0) Total: 45 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * top: do not rescan processes on second 's'Denys Vlasenko2025-08-051-1/+3
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb: simplify concat_path_file()Denys Vlasenko2025-08-041-2/+2
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb: much faster concat_path_file()Denys Vlasenko2025-08-043-2/+77
| | | | | | | | | | | | | | function old new delta concat_path_file 68 127 +59 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * shell: typo and whitespace fixes, no code changesDenys Vlasenko2025-08-032-16/+2
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * hush: fix memory leak caused by compiler optimizing out a storeDenys Vlasenko2025-08-032-25/+84
| | | | | | | | | | | | | | | | | | | | function old new delta generate_stream_from_string 222 232 +10 setup_heredoc 329 330 +1 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 11/0) Total: 11 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * hush: disentangle interactiveness/job_control setup codeDenys Vlasenko2025-08-031-79/+67
| | | | | | | | | | | | | | | | | | ...and discover that we can do away with 1-3 initialization syscalls. function old new delta hush_main 1152 1146 -6 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * hush: fix build failure if !CONFIG_HUSH_JOBDenys Vlasenko2025-08-031-2/+2
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * hush: make NORETURN declarations lees verbose, no code changesDenys Vlasenko2025-08-031-22/+6
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * hush: do not save history on xfunc error, it's unsafeDenys Vlasenko2025-08-031-47/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Also, make second calls to install_special_sighandlers() less haphazard. It's not a fix for anything, but looking more organized now. function old new delta fflush_restore_ttypgrp_and__exit - 20 +20 restore_ttypgrp_and__exit 21 - -21 hush_main 1181 1152 -29 ------------------------------------------------------------------------------ (add/remove: 1/1 grow/shrink: 0/1 up/down: 20/-50) Total: -30 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * docs: Add links to cmd description from cmd listNoelle Leigh2025-08-032-7/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the generated `docs/busybox.pod` file, add a link for each command in the big command list that goes to that command's description, like a compact table of contents. This seems to only affect the generated HTML version of the usage page. To add `id` attributes to each usage section title, each command now uses `=head2` instead of `=item` for their section heading. To add links to each command in the list, the list was unindented so that it could use rich text, and each command was marked as code text (C<>) so they are styled in monospace. These changes mean that the HTML and mandoc command list will expand to fit the available width of the viewport, rather than wrapping at a fixed line-length. The plain text version retains its existing wrapping behavior. Because of the new code text formatting, `--quotes=none` was added to the pod2man and pod2text invocations in Makefile.custom to prevent the command list from quoting every single command. Signed-off-by: Noelle Leigh <noelle@noelle.dev> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * hush: if !JOBS, skip tests which wouldn't workDenys Vlasenko2025-08-0313-2/+41
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * hush: don't save history in subshells; on NOMMU, don't be interactive on reexecDenys Vlasenko2025-08-031-54/+72
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * hush: rename hush_exit to save_history_run_exit_trap_and_exit, sigexit to ↵Denys Vlasenko2025-08-031-15/+15
| | | | | | | | | | | | restore_ttypgrp_and_killsig_or__exit Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * shell: fix the check of empty HISTFILEDenys Vlasenko2025-08-031-1/+1
| | | | | | | | | | | | | | | | The check for "" history file is done on a wrong state pointer. Fixes: shell: empty HISTFILE disables history saving, just as unset one did Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * ftpd: code shrink, move replace_char() to libbbDenys Vlasenko2025-08-027-53/+46
| | | | | | | | | | | | | | | | | | | | | | 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>
| * ls: don't do unnecessary tty operations when called from ftpdDenys Vlasenko2025-08-011-5/+13
| | | | | | | | | | | | | | function old new delta ls_main 660 690 +30 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * ls: code shrinkDenys Vlasenko2025-08-011-19/+20
| | | | | | | | | | | | Looks like gcc can figure this out by itself, but let's be explicit Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/dump: much faster formatting of %_u on x86Denys Vlasenko2025-08-012-3/+19
| | | | | | | | | | | | | | function old new delta display 1485 1481 -4 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: code shrinkDenys Vlasenko2025-08-011-4/+9
| | | | | | | | | | | | | | function old new delta static.PBKDF2_SHA256 219 165 -54 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * ls: fix -Q to match GNUDenys Vlasenko2025-08-016-34/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | function old new delta print_name 137 229 +92 display_files 375 402 +27 c_escape_conv_str00 - 24 +24 display 1476 1485 +9 conv_str 33 - -33 ------------------------------------------------------------------------------ (add/remove: 2/1 grow/shrink: 3/0 up/down: 152/-33) Total: 119 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * ls: lack of -q should not suppress -QDenys Vlasenko2025-07-311-4/+6
| | | | | | | | | | | | | | | | | | | | function old new delta print_name 134 137 +3 display_files 374 375 +1 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 4/0) Total: 4 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * ls: implement -q, fix -w0, reduce startup timeDenys Vlasenko2025-07-312-62/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | function old new delta ls_main 598 660 +62 ls_longopts - 47 +47 G_isatty - 36 +36 print_name 102 134 +32 display_files 358 374 +16 .rodata 105829 105833 +4 vgetopt32 1330 1317 -13 static.ls_longopts 47 - -47 ------------------------------------------------------------------------------ (add/remove: 2/1 grow/shrink: 4/1 up/down: 197/-60) Total: 137 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * *: use safe_waitpid() or wait_any_nohang() where approppriateDenys Vlasenko2025-07-303-7/+9
| | | | | | | | | | | | | | | | | | | | | | function old new delta crond_main 1227 1237 +10 init_main 804 794 -10 wait_one 263 252 -11 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/2 up/down: 10/-21) Total: -11 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * crond: reap orphaned grandchildren to prevent zombie buildupValentin Lab2025-07-301-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a cron job launches a background task, e.g. `sh -c "sleep 5 &"`, the shell exits immediately and the `sleep` process is re-parented to PID 1. When BusyBox `crond` itself happens to be PID 1 (common in a minimal container), those orphans become direct children of `crond`. Because `crond` only calls waitpid() for the PIDs it explicitly tracks, these processes remain forever in Z state and the container slowly fills with zombies. Add a small `while (waitpid(-1, NULL, WNOHANG) > 0)` sweep at the end of check_completions() so any stray children are reaped. When `crond` is not PID 1 the loop returns -ECHILD immediately, so behaviour and overhead on a normal system are unchanged. Size impact: +12 bytes on x86-64 (gcc 13.3.0 -Os, static) Signed-off-by: Valentin Lab <valentin.lab@kalysto.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * date: return failure exit code on clock_settime errorLadislav Michl2025-07-301-1/+1
| | | | | | | | | | Signed-off-by: Ladislav Michl <ladis@linux-mips.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * sha3sum: add -aBITS testsDenys Vlasenko2025-07-302-4/+8
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * sha384sum: new appletAndy Knowles2025-07-306-31/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | function old new delta sha512384_end - 198 +198 packed_usage 35021 35134 +113 init384 - 80 +80 sha384_begin - 19 +19 sha384_end - 10 +10 applet_names 2823 2833 +10 md5_sha1_sum_main 501 507 +6 sha3_end 54 59 +5 applet_main 1628 1632 +4 show_usage_if_dash_dash_help 79 72 -7 hash_file 358 344 -14 sha512_end 197 10 -187 ------------------------------------------------------------------------------ (add/remove: 4/0 grow/shrink: 5/3 up/down: 445/-208) Total: 237 bytes Signed-off-by: Andy Knowles <aknowles@galleonec.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* | Use Windows API for checksums on ARM64Ron Yorston2025-08-121-1/+1
| | | | | | | | | | | | The ARM64 build had native Windows support for TLS by default, but not checksums. Add this, so the ARM 64 build matches the Unicode build.
* | Post-merge fixesRon Yorston2025-08-123-7/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upstream has moved some functions from networking/tls.c to a new file, libbb/hash_hmac.c. The merge didn't adjust this code to allow it to work with the native Windows checksum API. This only matters if FEATURE_USE_CNG_API is enabled and CONFIG_FEATURE_TLS_SCHANNEL isn't. In that case the wget applet fails to handle https. None of the default configurations has this combination, but it should work. Make it so. The Windows code doesn't implement hmac_block(), as that's only used for password encryption which isn't currently supported. The variadic function hmac_peek_hash() isn't declared FAST_FUNC, as that causes clang to issue many warnings.
* | Merge branch 'busybox' into mergeRon Yorston2025-08-1241-627/+3129
|\|
| * telnetd: improve --helpDenys Vlasenko2025-07-271-2/+2
| | | | | | | | | | | | | | function old new delta packed_usage 34996 35021 +25 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb: SHA-NI - document that unpckhpd also works, no code changesDenys Vlasenko2025-07-222-0/+4
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb: SHA-NI code shrinkDenys Vlasenko2025-07-222-34/+66
| | | | | | | | | | | | | | function old new delta sha256_process_block64_shaNI 673 657 -16 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb: change define names in SHA-NI code to match kernel source more closelyDenys Vlasenko2025-07-212-166/+166
| | | | | | | | | | | | No code changes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: de-unroll salsa20()Denys Vlasenko2025-07-202-23/+76
| | | | | | | | | | | | | | function old new delta salsa20 760 296 -464 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb: crypt_make_pw_salt(): fix yescrypt's random salt last charDenys Vlasenko2025-07-192-4/+12
| | | | | | | | | | | | | | function old new delta crypt_make_pw_salt 128 146 +18 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * cryptpw: fix detection of crypt algo from salt (was broken if default isn't DES)Denys Vlasenko2025-07-192-11/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | The symptom is: "cryptpw ... implicit" testsuite tests were failing if CONFIG_FEATURE_DEFAULT_PASSWD_ALGO is not "des". function old new delta cryptpw_main 223 283 +60 pw_encrypt 974 975 +1 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 61/0) Total: 61 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: code shrinkDenys Vlasenko2025-07-191-28/+25
| | | | | | | | | | | | | | function old new delta blockmix_xor_save 1169 708 -461 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * bootchartd: check the result of opendir("/proc")Denys Vlasenko2025-07-191-1/+1
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * tftp: use bb_error_msg instead of info_msg for a debug messageDenys Vlasenko2025-07-181-1/+1
| | | | | | | | | | | | This is the only use of bb_info_msg in tftp. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * ntpd: replace two bb_info_msg's with bb_error_msgDenys Vlasenko2025-07-181-2/+2
| | | | | | | | | | | | All other messages are printed via bb_error_msg in this applet. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * sulogin: set ^C to SIG_DFL before execing the shellDenys Vlasenko2025-07-181-3/+6
| | | | | | | | | | | | | | function old new delta sulogin_main 331 340 +9 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * password applets: update help textDenys Vlasenko2025-07-182-4/+4
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb.h: increase MAX_PW_SALT_LENDenys Vlasenko2025-07-172-8/+7
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: actually, largest allowed salt is 86 chars, support thatDenys Vlasenko2025-07-173-15/+23
| | | | | | | | | | | | | | function old new delta yescrypt_r 767 756 -11 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: code shrinkDenys Vlasenko2025-07-151-15/+8
| | | | | | | | | | | | | | function old new delta blockmix_xor 1177 702 -475 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: code shrinkDenys Vlasenko2025-07-112-10/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | function old new delta salsa20 684 650 -34 blockmix_salsa8 198 144 -54 blockmix 762 565 -197 blockmix_xor 1322 1028 -294 blockmix_xor_save 1499 1103 -396 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/5 up/down: 0/-975) Total: -975 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/yescrypt: code shrinkDenys Vlasenko2025-07-092-15/+28
| | | | | | | | | | | | | | | | | | | | function old new delta static.yescrypt_kdf32_body 847 823 -24 yescrypt_r 805 767 -38 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-62) Total: -62 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb/bitops.c: add inlining commentDenys Vlasenko2025-07-091-0/+20
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>