Denys Vlasenko
6aad1ddcc9
hush: implement $LINENO bashism
...
function old new delta
run_pipe 1697 1774 +77
unset_local_var_len 258 301 +43
hush_main 1009 1051 +42
set_local_var 516 554 +38
parse_and_run_file 42 75 +33
i_getch 96 116 +20
.rodata 18858 18876 +18
done_command 106 122 +16
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 8/0 up/down: 287/0) Total: 287 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-19 15:52:36 +01:00
Denys Vlasenko
7c44b600f9
udhcpc[6]: remove overzealous timeout clamping code
...
function old new delta
udhcpc_main 2840 2826 -14
udhcpc6_main 2699 2670 -29
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-17 13:55:51 +01:00
Denys Vlasenko
64211ce6fa
udhcpc6: --help fixes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-16 22:23:38 +01:00
Denys Vlasenko
438c72ece4
udhcpc6: show only short opts in --help text
...
function old new delta
packed_usage 26028 25966 -62
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-16 22:10:12 +01:00
Denys Vlasenko
6e9e6d8fbe
udhcpc6: fix lease time staying very small because -d was not specified
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-16 21:52:23 +01:00
Denys Vlasenko
14f13205ef
udhcpc6: code shrink
...
function old new delta
udhcpc6_main 2723 2727 +4
.rodata 128695 128561 -134
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-16 21:47:10 +01:00
Denys Vlasenko
ef5207f093
udhcpc6: add support of prefix delegation
...
Based on patch by DannyAAM <danny@saru.moe>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-16 21:39:14 +01:00
Denys Vlasenko
1e8d79ba12
udhcpc6: preparatory patch, no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-16 21:35:39 +01:00
Denys Vlasenko
688cb3bc19
udhcpc6: fix ipv6prefix[_lease] envvar value in script invocation
...
Based on a patch by DannyAAM <danny@saru.moe>.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-16 16:00:13 +01:00
Denys Vlasenko
1750d3afc1
ash: a bit of NOFORK code should only be active if FEATURE_SH_STANDALONE=y
...
function old new delta
evalcommand 1546 1420 -126
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-15 00:41:04 +01:00
Denys Vlasenko
cefdd4be1f
popmaildir: tweak help text
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-14 20:48:14 +01:00
Denys Vlasenko
c4144ca3a5
renice: add comment about getpwnam/NOFORK interaction
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-14 19:40:00 +01:00
Denys Vlasenko
9967978551
renice: use BUILD_BUG_ON()
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-14 19:05:02 +01:00
Denys Vlasenko
6f1c942a31
NOFORK_NOEXEC.sh: a script to find "interesting" applets
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-14 14:44:30 +01:00
Denys Vlasenko
88663e481f
mv: make it NOEXEC
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-14 14:41:52 +01:00
Denys Vlasenko
cbdc37cae0
cal: make it NOEXEC
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-14 14:32:11 +01:00
Denys Vlasenko
586f1ee7cf
nandwrite: cope with old headers which have no MTD_FILE_MODE_RAW
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-14 13:43:31 +01:00
Denys Vlasenko
36495af81f
size_single_applets.sh: fix a bug which mishandles e.g. "udhcpc6" name
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-14 12:13:16 +01:00
Denys Vlasenko
38da4c4420
config: add size estimations for a few applets
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-14 12:03:33 +01:00
Denys Vlasenko
12714ffa27
tc: fix single-applet build
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-13 21:37:20 +01:00
Denys Vlasenko
aea52e7b2d
shell: echo ${?:0} was fixed sometime ago, enable it in tests
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-13 19:28:19 +01:00
Denys Vlasenko
9809a82b59
hush: fix raw ^C handlisg in single-quoted strings
...
function old new delta
parse_stream 2719 2754 +35
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-13 19:14:27 +01:00
Denys Vlasenko
6606c519ef
hush: add command2.tests from ash tests
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-12 17:58:20 +01:00
Denys Vlasenko
afb73a25ea
hush: tweak command -vV printing code, no logic changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-12 16:17:59 +01:00
Denys Vlasenko
5700029c65
hush: implement "command -v -V"
...
function old new delta
pseudo_exec_argv 231 374 +143
if_command_vV_print_and_exit - 127 +127
builtin_set 267 273 +6
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 2/0 up/down: 276/0) Total: 276 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-12 14:41:45 +01:00
Denys Vlasenko
cca7c611f2
which: fix TODO with NOFORK+malloc_failure misbehaving
...
function old new delta
find_executable 86 104 +18
which_main 202 194 -8
executable_exists 66 51 -15
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/2 up/down: 18/-23) Total: -5 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-12 13:21:33 +01:00
Denys Vlasenko
3bb3e1d0a1
hush: implement "command" builtin (no options are supported yet)
...
function old new delta
pseudo_exec_argv 194 231 +37
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-11 18:05:05 +01:00
Denys Vlasenko
1f1911239c
hush: fix handling of ^C in eval
...
function old new delta
run_list 1044 1259 +215
builtin_eval 45 126 +81
expand_strvec_to_string 91 - -91
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 2/0 up/down: 296/-91) Total: 205 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-11 13:17:30 +01:00
Denys Vlasenko
932b9971d0
hush: fix handling of raw ^C in scripts: "echo ^C"
...
function old new delta
expand_vars_to_list 1133 1187 +54
parse_stream 2690 2719 +29
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-11 12:39:48 +01:00
Denys Vlasenko
aaf7a2e24d
hush: remove dead code
...
function old new delta
done_word 761 711 -50
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-11 11:19:00 +01:00
Denys Vlasenko
03c36e0be1
ash: ALWAYS_INLINE grabstackblock()
...
function old new delta
grabstackblock 5 - -5
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-10 15:18:35 +01:00
Denys Vlasenko
f2539c78d2
init: stop using static data
...
function old new delta
init_action_list 4 - -4
new_init_action 148 142 -6
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 0/1 up/down: 0/-10) Total: -10 bytes
text data bss dec hex filename
927839 481 6832 935152 e44f0 busybox_old
927833 481 6824 935138 e44e2 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-10 13:32:20 +01:00
Denys Vlasenko
baa41c7855
ash: make ${v:N:M} more robust for very large M by clamping to MIN/MAX_INT
...
Before this patch, "${v:2:0x100000001}" = "${v:2:1}",
and similarly, constructs like "${v:2:9999999999}" may give wrong result
due to int overflows.
function old new delta
substr_atoi - 43 +43
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-10 13:22:25 +01:00
Denys Vlasenko
2c876774a9
dd: fixed partial count logic
...
$ busybox dd if=/dev/zero of=/dev/loop0 bs=100M count=8; echo $?
8+0 records in
7+0 records out <=========== FIXED, was 7+1
805220352 bytes (767.9MB) copied, 0.464010 seconds, 1.6GB/s
1
function old new delta
write_and_stats 97 99 +2
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-10 11:04:09 +01:00
Denys Vlasenko
5afd63a631
dd: exit with 1 if last write was incomplete
...
$ busybox dd if=/dev/zero of=/dev/loop0 bs=100M count=8; echo $?
8+0 records in
7+1 records out
805220352 bytes (767.9MB) copied, 0.464010 seconds, 1.6GB/s
1 <=========== FIXED
function old new delta
write_and_stats 96 97 +1
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-10 10:58:55 +01:00
Denys Vlasenko
d1df1a709f
ash: add comment explaining last change
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-09 17:25:58 +01:00
Denys Vlasenko
740058b42b
ash: fix var_bash5.tests - ${VAR/pattern/repl} construct
...
function old new delta
subevalvar 1198 1279 +81
rmescapes 308 330 +22
preglob 8 10 +2
parsefname 152 154 +2
expandarg 973 975 +2
argstr 1144 1146 +2
mklocal 290 288 -2
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 6/1 up/down: 111/-2) Total: 109 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-09 17:07:06 +01:00
Shawn Landden
4261341281
umount: ignore -c
...
"-c, --no-canonicalize: Do not canonicalize paths."
As busybox doesn't canonicalize paths in the first place it is safe to ignore
this option.
See https://github.com/systemd/systemd/issues/7786
Signed-off-by: Shawn Landden <slandden@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-08 13:31:58 +01:00
Denys Vlasenko
2f55404bbc
mknod: better --help, much clearer code
...
function old new delta
packed_usage 32066 32091 +25
mknod_main 173 174 +1
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-08 11:22:37 +01:00
Denys Vlasenko
83c99ab446
less: code shrink
...
function old new delta
less_main 2471 2464 -7
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-08 10:27:23 +01:00
Denys Vlasenko
562f63e9a4
dhcprelay: code shrink
...
function old new delta
dhcprelay_main 961 958 -3
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-08 10:14:17 +01:00
Denys Vlasenko
c9807d787d
nice: code shrink
...
function old new delta
nice_main 157 152 -5
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-08 10:13:11 +01:00
Denys Vlasenko
cb9c3894e5
*: make "argc UNUSED_PARAM" consistent
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-08 09:43:51 +01:00
Denys Vlasenko
844a6c5abd
awk: code shrink
...
function old new delta
awk_main 955 948 -7
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-07 14:39:34 +01:00
Ingo van Lil
9c8e94bc0a
ash: fail if 'shift' operand is out of range
...
If the numeric argument passed to ash's 'shift' built-in is greater than
'$#' the command performs no operation and exits successfully. It should
return a non-zero exit code instead:
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#shift
This is consistent with bash and hush.
function old new delta
shiftcmd 122 120 -2
Signed-off-by: Ingo van Lil <inguin@gmx.de>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-07 14:22:38 +01:00
Denys Vlasenko
6f4a785bd1
awk: fix 'delete array[var--]' decrementing var twice
...
function old new delta
evaluate 3395 3390 -5
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-07 01:19:08 +01:00
Denys Vlasenko
7367a949a6
libbb: compile obscure() only if FEATURE_PASSWD_WEAK_CHECK=y
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-04 15:21:25 +01:00
Yann E. MORIN
a47375de8c
build system: add rule to install without cloberring existing utilities
...
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-04 14:43:46 +01:00
Yann E. MORIN
952d5a6024
applets/install: accept more than one install option
...
Currently, it is impossible to pass more than one option to the isntall
script, so it totally prevents using --noclobber.
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-04 14:43:46 +01:00
Yann E. MORIN
84be5ce0d8
applets/install: respect noclobber for script wrappers too
...
Simplify the handling of --noclobber so that it applies to all types of
installation types, even to script wrappers.
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-04 14:36:17 +01:00