summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * mdev: move daemon setup to dedicated functionJan Klötzke2020-11-221-17/+27
| | | | | | | | | | Signed-off-by: Jan Klötzke <jan@kloetzke.net> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * uevent: increase netlink buffer sizesDenys Vlasenko2020-11-221-10/+14
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * mdev: increase netlink buffer sizesJan Klötzke2020-11-221-9/+17
| | | | | | | | | | | | | | | | | | | | The socket receive buffer turned out to be too small for real world systems. Use the same size as udevd to be on the safe side. As this is just a limit and the memory is not allocated by the kernel until really needed there is actually no memory wasted. Signed-off-by: Jan Klötzke <jan@kloetzke.net> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb: set netlink socket revbuf size before bindingJan Klötzke2020-11-221-8/+12
| | | | | | | | | | | | | | | | As soon as the socket is bound it will receive messages. Make sure the recieve buffer size is increased before the first message is received. Signed-off-by: Jan Klötzke <jan@kloetzke.net> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * lineedit: fix unicode characters in promptAudun-Marius Gangstø2020-11-211-4/+11
| | | | | | | | | | | | | | | | function old new delta parse_and_put_prompt 779 823 +44 Signed-off-by: Audun-Marius Gangstø <audun@gangsto.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libiproute: reuse string constantsDenys Vlasenko2020-11-211-20/+33
| | | | | | | | | | | | | | | | text data bss dec hex filename 1020826 559 5052 1026437 fa985 busybox_old 1020815 559 5052 1026426 fa97a busybox_unstripped Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * volume_id: improve struct layout (smaller offesets, smaller insns on x86)Denys Vlasenko2020-11-191-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | function old new delta volume_id_probe_xfs 101 98 -3 volume_id_probe_vfat 827 824 -3 volume_id_probe_udf 541 538 -3 volume_id_probe_ubifs 67 64 -3 volume_id_probe_squashfs 86 83 -3 volume_id_probe_romfs 97 94 -3 volume_id_probe_reiserfs 246 243 -3 volume_id_probe_ocfs2 110 107 -3 volume_id_probe_ntfs 288 285 -3 volume_id_probe_nilfs 100 97 -3 volume_id_probe_minix 85 82 -3 volume_id_probe_luks 92 89 -3 volume_id_probe_linux_swap 251 248 -3 volume_id_probe_linux_raid 131 128 -3 volume_id_probe_lfs 62 59 -3 volume_id_probe_jfs 110 107 -3 volume_id_probe_iso9660 318 315 -3 volume_id_probe_f2fs 107 104 -3 volume_id_probe_exfat 285 282 -3 volume_id_probe_erofs 89 86 -3 volume_id_probe_cramfs 67 64 -3 volume_id_probe_btrfs 134 131 -3 volume_id_probe_bcache 107 104 -3 volume_id_probe_sysv 194 188 -6 volume_id_probe_hfs_hfsplus 518 512 -6 add_to_uuid_cache 271 265 -6 volume_id_probe_ext 131 122 -9 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/27 up/down: 0/-96) Total: -96 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * fix warning: label 'out1' defined but not usedCristian Ionescu-Idbohrn2020-11-191-0/+2
| | | | | | | | | | Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * util-linux: support erofs filesystemNorbert Lange2020-11-183-0/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | Add erofs to the known volume_ids. function old new delta volume_id_probe_erofs - 89 +89 fs1 24 28 +4 ------------------------------------------------------------------------------ (add/remove: 2/0 grow/shrink: 1/0 up/down: 93/0) Total: 93 bytes Signed-off-by: Norbert Lange <nolange79@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * archival: avoid std namespace for local includesJoachim Nilsson2020-11-164-3/+3
| | | | | | | | | | | | | | | | Avoid using same include file naming pattern as available in GLIBC. Renamed to match grp_.h et al. Signed-off-by: Joachim Nilsson <troglobit@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * ash: make interactive ^C break out of PS2 modeDenys Vlasenko2020-11-161-4/+3
| | | | | | | | | | | | | | | | | | Based on patch by Joachim Nilsson <troglobit@gmail.com> function old new delta pgetc 570 547 -23 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * hush: make interactive ^C break out of PS2 modeDenys Vlasenko2020-11-161-35/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | function old new delta syntax_error_unterm_str - 26 +26 parse_stream 2238 2251 +13 fgetc_interactive 243 249 +6 parse_dollar 824 817 -7 syntax_error_unterm_ch 29 21 -8 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 2/2 up/down: 45/-15) Total: 30 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * syslogd: delay PID file creation until syslogd is readyJoachim Nilsson2020-11-161-3/+1
| | | | | | | | | | | | | | | | This patch moves the creation of the PID file until after syslogd has set up signal handlers and is ready. Signed-off-by: Joachim Nilsson <troglobit@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * login: update UTMP before forkingJoachim Nilsson2020-11-161-3/+5
| | | | | | | | | | | | | | | | | | | | | | /bin/login updates the preliminary UTMP record created by /bin/getty for $LOGNAME. However, if the PID of login is not the same as getty, then it will create a new entry. This causes GLIBC getlogin(3) to return the string 'LOGIN' (set by getty) instead of $LOGNAME. This affects tools like /usr/bin/logname but also various 3rd party PAM applications. Signed-off-by: Joachim Nilsson <troglobit@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * awk: fix dodgy multi-char separators splitting logicDenys Vlasenko2020-11-161-9/+16
| | | | | | | | | | | | | | function old new delta awk_split 521 484 -37 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * chrt: support for musl C libraryChristian Eggers2020-11-151-2/+32
| | | | | | | | | | | | | | | | | | | | | | musl "implements" several sched_xxx() functions by returning ENOSYS. As an alternative, either pthread_(g|s)etschedparam() or direct syscalls can be used. References: https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/commit/schedutils/chrt.c?id=fcc3078754291d2f5121797eb91b364f8e24b2f1 References: http://git.musl-libc.org/cgit/musl/commit/src/sched/sched_setscheduler.c?id=1e21e78bf7a5c24c217446d8760be7b7188711c2 Signed-off-by: Christian Eggers <ceggers@arri.de> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* | Update copyright messageRon Yorston2021-01-132-2/+2
| | | | | | | | Hey, look! It's 2021 already.
* | win32: handle various Alt key modifiers in termiosChristopher Wellons2021-01-131-2/+16
| | | | | | | | | | | | | | | | | | | | This patch restores support for Bash-stle Alt commands present in the original BusyBox: * Alt-b, Alt-LeftArrow backward word * Alt-f, Alt-RightArrow forward word * Alt-BackSpace delete word backward * Alt-d delete word forward
* | win32: make realpath() return an error if necessaryRon Yorston2020-12-121-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | resolve_symlinks() uses GetFinalPathNameByHandleA which is loaded at runtime because it isn't available in all versions of Windows. If GetFinalPathNameByHandleA isn't available resolve_symlinks() (and hence realpath()) should return a NULL pointer to indicate an error, not the original path. Not returning NULL causes an infinite loop in do_lstat(). See GitHub issue #204.
* | winansi: intercept calls to fputc(3)Ron Yorston2020-12-072-1/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | Perform code page translation for fputc(3). It's only used in a few places but is needed to fix things like: $ echo € | dos2unix Ç $ paste -d € file1 file2 1Ç2 Unfortunately it breaks the inventive use of dos2unix in GitHub issue #203.
* | ash: suppress compiler warningRon Yorston2020-11-121-0/+1
| | | | | | | | | | | | | | The 64-bit compiler complains that 'status' in dowait() might be used uninitialised. The 32-bit compiler doesn't. Make it shut up.
* | win32: update default configurationRon Yorston2020-11-122-4/+2
| |
* | Merge branch 'busybox' into mergeRon Yorston2020-11-1290-487/+1009
|\|
| * hush: document bugs in [[ =~ ]] comparisonDenys Vlasenko2020-11-014-0/+28
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * shell: update comments on the status of [[ ]] compatDenys Vlasenko2020-10-312-5/+4
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * hush: add tests for unquoted < > in [[ ]]Denys Vlasenko2020-10-312-0/+5
| | | | | | | | | | | | They pass. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * shell: better support of [[ ]] bashismDenys Vlasenko2020-10-3113-24/+209
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Still rather rudimentary for ash function old new delta binop 433 589 +156 check_operator 65 101 +36 done_word 736 769 +33 test_main 405 418 +13 parse_stream 2227 2238 +11 ops_texts 124 133 +9 ops_table 80 86 +6 run_pipe 1557 1562 +5 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 8/0 up/down: 269/0) Total: 269 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * od: unbreak itDenys Vlasenko2020-10-252-25/+23
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * compat: move hexdump -R functionality to xxd -rDenys Vlasenko2020-10-252-64/+73
| | | | | | | | | | | | | | | | | | | | | | | | function old new delta xxd_main 466 680 +214 packed_usage 33474 33483 +9 hexdump_opts 17 16 -1 hexdump_main 565 401 -164 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/2 up/down: 223/-165) Total: 58 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * hush: output bash-compat killing signal namesDenys Vlasenko2020-10-249-7/+92
| | | | | | | | | | | | | | | | | | This significantly syncronises ash-signals and hush-signals tests. function old new delta process_wait_result 449 450 +1 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * hush: do not print killing signal name in `cmd_whihc_dies_on_signal`Denys Vlasenko2020-10-243-1/+9
| | | | | | | | | | | | | | function old new delta process_wait_result 438 449 +11 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * hexdump: fix dup block comparisonDenys Vlasenko2020-10-202-1/+19
| | | | | | | | | | | | | | function old new delta bb_dump_dump 1523 1520 -3 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * xxd: fix printing of trailing spacesDenys Vlasenko2020-10-204-59/+108
| | | | | | | | | | | | | | | | | | | | function old new delta bb_dump_dump 1497 1523 +26 xxd_main 459 466 +7 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 33/0) Total: 33 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * uudecode: fix possible signed char bugDenys Vlasenko2020-10-071-4/+2
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * avoid using strok - eliminates use of hidden global variableDenys Vlasenko2020-10-0611-36/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | function old new delta udhcp_str2optset 616 650 +34 setpriv_main 950 975 +25 switch_root_main 688 706 +18 parse 958 970 +12 getopt_main 622 628 +6 parse_resolvconf 302 306 +4 mpstat_main 1139 1142 +3 static.p 4 - -4 cdcmd 717 702 -15 strtok 148 - -148 ------------------------------------------------------------------------------ (add/remove: 0/3 grow/shrink: 7/1 up/down: 102/-167) Total: -65 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * httpd: code shrinkXabier Oneca2020-10-061-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | Use decode_base64() from uuencode.c when uudecode/base64 applets are included. That function is bigger than httpd's decodeBase64(), so we use the old one when those applets are disabled. Bloat-o-meter when one of those is enabled: function old new delta handle_incoming_and_exit 2371 2265 -106 Signed-off-by: Xabier Oneca <xoneca@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * ip rule: add support for fwmark/fwmask for policy routingRui Salvaterra2020-10-032-7/+27
| | | | | | | | | | | | | | | | | | | | This adds support for fwmark/fwmask in ip rule which is needed, for example, in OpenWrt's mwan3. Masks are supported since Linux 2.6.19. Fixes: https://bugs.busybox.net/show_bug.cgi?id=11621 Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * tar: fix fallout of last_char_is(NULL) no longer being allowedDenys Vlasenko2020-10-021-1/+1
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * udhcp: remove struct packing attribute, eliminates gcc-9.xDenys Vlasenko2020-10-011-3/+3
| | | | | | | | | | | | | | | | | | | | | | "error: taking address of packed member of 'struct ip_udp_dhcp_packet' may result in an unaligned pointer value" here: udhcp_dump_packet(&packet.data); and in other places. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb: shrink recursive_action() by reducing memory pressureDenys Vlasenko2020-10-0119-150/+159
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | function old new delta recursive_action1 - 316 +316 file_action_grep 161 164 +3 add_to_prg_cache_if_socket 202 205 +3 depmod_main 509 511 +2 writeFileToTarball 488 489 +1 parse_module 281 282 +1 fileAction 207 208 +1 act 189 190 +1 add_to_dirlist 65 64 -1 writeTarFile 196 194 -2 uuidcache_init 47 45 -2 uuidcache_check_device 109 107 -2 true_action 8 6 -2 run_parts_main 310 308 -2 netstat_main 534 532 -2 lsusb_main 29 27 -2 lspci_main 45 43 -2 initial_scan 138 136 -2 grep_main 845 843 -2 find_main 482 480 -2 config_file_action 437 435 -2 chmod_main 142 140 -2 dirAction 14 10 -4 diff_main 1544 1540 -4 chown_main 154 148 -6 skip_dir 136 129 -7 dir_act 191 184 -7 recursive_action 453 69 -384 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 7/20 up/down: 328/-439) Total: -111 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * tydy up a few uses of recursive_action(), no logic changesDenys Vlasenko2020-10-013-13/+14
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * gcc-9.x warning fixesDenys Vlasenko2020-10-019-12/+15
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb: do not open-code __errno_location() callDenys Vlasenko2020-10-011-1/+6
| | | | | | | | | | | | Thanks dalias! Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * shell: remove FAST_FUNC from a static functionDenys Vlasenko2020-10-011-2/+2
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb: extend "errno pointer" trick to other than __GLIBC__Denys Vlasenko2020-10-013-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Savings on musl: function old new delta resume_main 582 614 +32 lbb_prepare - 20 +20 seq_main 432 449 +17 fgetsetversion 74 88 +14 ... script_main 1207 1180 -27 close_silently 28 - -28 shell_builtin_ulimit 655 626 -29 lineedit_read_key 280 247 -33 ------------------------------------------------------------------------------ (add/remove: 2/1 grow/shrink: 25/123 up/down: 182/-882) Total: -700 bytes text data bss dec hex filename 1005858 551 5676 1012085 f7175 busybox_old 1005136 551 5680 1011367 f6ea7 busybox_unstripped Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * mount: support the sizelimit and offset option for loop devicesSteffen Trumtrar2020-10-014-4/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Starting with linux kernel v5.4 squashfs has a more strict parameter checking implemented. Unlike util-linux mount, busybox never supported the sizelimit option but simply forwards it to the kernel. Since v5.4 mounting will fail with squashfs: Unknown parameter 'sizelimit' Support the sizelimit parameter by setting it in the LOOP_SET_STATUS64 structure before handing it to the kernel. While at it also add support for the offset option, which currently will always be set to 0. function old new delta cut_out_ull_opt - 167 +167 singlemount 1230 1266 +36 set_loop 834 862 +28 losetup_main 479 483 +4 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 3/0 up/down: 235/0) Total: 235 bytes Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb: fold common64_hash() into its only userDenys Vlasenko2020-09-301-47/+28
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * xargs: fix -I SUBSTR behaviourDenys Vlasenko2020-09-302-5/+24
| | | | | | | | | | | | | | function old new delta process_stdin_with_replace 165 204 +39 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * shell: add testsuite for "wait $pid" waiting for other tasksDenys Vlasenko2020-09-294-0/+18
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * ash: jobs: Fix waitcmd busy loopDenys Vlasenko2020-09-291-57/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upstream commit: Date: Tue, 2 Jun 2020 23:46:48 +1000 jobs: Fix waitcmd busy loop We need to clear gotsigchld in waitproc because it is used as a loop conditional for the waitcmd case. Without it waitcmd may busy loop after a SIGCHLD. This patch also changes gotsigchld into a volatile sig_atomic_t to prevent compilers from optimising its accesses away. Fixes: 6c691b3e5099 ("jobs: Only clear gotsigchld when waiting...") Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> This change also incorporates other changes to bring us closer to upstream. function old new delta dowait 553 636 +83 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>