Denys Vlasenko
8403b01217
iproute: more string reuse
...
text data bss dec hex filename
936892 932 17676 955500 e946c busybox_old
936843 932 17676 955451 e943b busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-08 17:15:08 +02:00
Christoph J. Thompson
d1eea8db92
iproute: don't hardcode the path to config files
...
Allows using an alternate path for config files.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: Christoph J. Thompson <cjsthompson@gmail.com>
Signed-off-by: Michael Bestas <mikeioannina@gmail.com>
2015-10-08 17:06:06 +02:00
Denys Vlasenko
413feca279
ip: increased max ID for /etc/iproute2/rt_tables to 1023
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-08 15:10:10 +02:00
Denys Vlasenko
3d8d5e8ad4
libiproute: use itoa() where appropriate
...
function old new delta
rtnl_rtprot_a2n 31 88 +57
print_tunnel 647 640 -7
print_route 1865 1858 -7
print_linkinfo 820 812 -8
print_addrinfo 1241 1227 -14
rtnl_rttable_n2a 53 38 -15
rtnl_rtscope_n2a 53 38 -15
rtnl_rtrealm_n2a 53 38 -15
rtnl_dsfield_n2a 61 38 -23
rtnl_rtntype_n2a 118 89 -29
print_rule 724 689 -35
ipaddr_list_or_flush 1293 1253 -40
rtnl_rtprot_n2a 53 - -53
rtnl_rtprot_initialize 63 - -63
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 1/11 up/down: 57/-324) Total: -267 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-08 13:02:28 +02:00
Denys Vlasenko
7f3a2a2256
join some common strings, -400 bytes
...
function old new delta
print_intel_cstates 499 511 +12
file_insert 355 364 +9
dpkg_main 2944 2940 -4
ifenslave_main 645 640 -5
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/2 up/down: 21/-9) Total: 12 bytes
text data bss dec hex filename
937564 932 17676 956172 e970c busybox_old
937164 932 17676 955772 e957c busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-08 11:24:44 +02:00
Denys Vlasenko
d60752f8c9
build system: -fno-builtin-printf
...
Benefits are: drops reference to out-of-line putchar(), fixes a few cases
of failed string merge.
function old new delta
i2cdump_main 1488 1502 +14
sha256_process_block64 423 433 +10
sendmail_main 1183 1185 +2
list_table 1114 1116 +2
i2cdetect_main 1235 1237 +2
fdisk_main 2852 2854 +2
builtin_type 119 121 +2
unicode_conv_to_printable2 325 324 -1
scan_recursive 380 378 -2
mkfs_minix_main 2687 2684 -3
buffer_fill_and_print 178 169 -9
putchar 152 - -152
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 7/4 up/down: 34/-167) Total: -133 bytes
text data bss dec hex filename
937788 932 17676 956396 e97ec busybox_old
937564 932 17676 956172 e970c busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-07 22:42:45 +02:00
Denys Vlasenko
8c0708a329
find: support "find . -delete" idiom - do not try rmdir(".")
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-07 21:01:47 +02:00
Denys Vlasenko
305958dbd4
md5sum: code shrink
...
For CONFIG_MD5_SMALL=1:
function old new delta
md5_process_block64 925 881 -44
For CONFIG_MD5_SMALL=0:
function old new delta
md5_process_block64 1603 1586 -17
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-07 19:17:01 +02:00
Denys Vlasenko
ec046f74a3
ash: use a more typical form of "print four octal digits" format
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-07 17:57:53 +02:00
Denys Vlasenko
5711a2a4ad
libbb: more compact API for bb_parse_mode()
...
function old new delta
make_device 2182 2188 +6
parse_command 1440 1443 +3
parse_params 1497 1499 +2
install_main 773 769 -4
mkdir_main 168 160 -8
getoptscmd 641 632 -9
builtin_umask 158 147 -11
bb_parse_mode 431 410 -21
umaskcmd 286 258 -28
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/6 up/down: 11/-81) Total: -70 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-07 17:55:33 +02:00
Denys Vlasenko
c1e2e005b4
ash: shrink "umask -S" code
...
function old new delta
umaskcmd 279 286 +7
static.permmode 3 - -3
static.permmask 18 - -18
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-07 17:32:56 +02:00
Denys Vlasenko
6283f98283
hush: fix umask: umask(022) was setting umask(755)
...
Based on the patch by Rich Felker <dalias@libc.org>
function old new delta
builtin_umask 121 161 +40
umaskcmd 318 279 -39
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-07 16:56:20 +02:00
Denys Vlasenko
9c5410023a
ash: a bunch of trivial simplifications
...
Also, in a few places made code more reliable wrt large sizeof(int)
and sizeof(arith_t)..
function old new delta
sprint_status48 - 143 +143
newline_and_flush - 56 +56
showjob 365 382 +17
parse_command 1440 1443 +3
cmdputs 334 332 -2
cmdloop 434 429 -5
showjobs 70 64 -6
fg_bgcmd 296 290 -6
ash_vmsg 159 153 -6
ash_main 1487 1481 -6
jobscmd 94 82 -12
getoptscmd 687 632 -55
outcslow 56 - -56
sprint_status 156 - -156
------------------------------------------------------------------------------
(add/remove: 2/2 grow/shrink: 2/8 up/down: 219/-310) Total: -91 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-07 15:44:36 +02:00
Denys Vlasenko
2007ef5c3c
wget: make it possible to have both SSL helpers configured
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-07 02:40:53 +02:00
Denys Vlasenko
4271698fea
ifplugd: discovered why it needed net/ethernet.h: just for ETH_ALEN
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-07 02:02:56 +02:00
Denys Vlasenko
78fb6ea63a
ssl_helper: tweaks discovered while building 32-bit version
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-07 02:00:11 +02:00
Denys Vlasenko
1c6c670ed4
wget: make openssl/ssl_helper choice configurable
...
I got sick of not being able to wget a https file...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-07 01:39:40 +02:00
Denys Vlasenko
3b650c1e7b
qemu testing: extract_od_binary.sh: support huge files (and broken od)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-05 16:46:29 +02:00
Denys Vlasenko
2b48c38be6
uudecode: tolerate text input with CR+LF line ends
...
function old new delta
read_stduu 265 308 +43
uudecode_main 313 317 +4
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-05 15:10:44 +02:00
Denys Vlasenko
e6b578761a
qemu testing: Do build brctl and ifplugd; force mips32 dialect
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-05 12:43:04 +02:00
Denys Vlasenko
a779c6d63b
qemu testing: fix hexdumping of binary
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-05 12:34:24 +02:00
Denys Vlasenko
5fa6d1a632
Aboriginal linux/musl build fixes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-05 11:15:43 +02:00
Denys Vlasenko
12efcf3285
Add qemu_multiarch_testing/
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-05 09:04:04 +02:00
Denys Vlasenko
28b00ce6ff
awk: support "length" form of "length()". Closes 8371
...
function old new delta
parse_expr 805 848 +43
tokenlist 447 448 +1
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-02 02:41:39 +02:00
Denys Vlasenko
c919d561ad
umount: always use umount2 syscall with specified flags
...
Make umount -f more compatible with util-linux 2.22.2.
Before:
* 'umount -f': calls umount syscall,
if it fails calls umount2 with 'MNT_FORCE'
* 'mount -f -l': calls umount syscall,
if it fails calls umount2 with 'MNT_LAZY'. 'MNT_FORCE' dropped
After:
* 'umount -f': calls umount2 syscall with 'MNT_FORCE'
* 'mount -f -l': calls umount2 syscall with 'MNT_LAZY' and 'MNT_FORCE'
function old new delta
umount 45 - -45
umount_main 610 555 -55
Signed-off-by: Anton Bondarenko <anton.bondarenko@axis.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-01 18:50:06 +02:00
Denys Vlasenko
c65a7596df
adduser: fix help text
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-09-21 21:11:12 +02:00
Bernhard Reutner-Fischer
65db14ec50
adduser: Add -k /path/to/skel
...
function old new delta
.rodata 157069 157133 +64
adduser_main 921 936 +15
adduser_longopts 103 110 +7
packed_usage 30230 30236 +6
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/0 up/down: 92/0) Total: 92 bytes
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-09-21 21:09:18 +02:00
Bartosz Golaszewski
2beb52499e
i2c-tools: rename remaining defines
...
Rename the defines not present in linux UAPI headers to better reflect
their purpose.
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-09-21 13:15:01 +02:00
Bartosz Golaszewski
d9892fa0c3
i2c-tools: remove duplicate definitions
...
Most applets include linux' user API headers instead of duplicating
the definitions. Make it the case for i2c-tools as well.
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-09-21 13:15:00 +02:00
Denys Vlasenko
8aa7cf305b
sort: fix -kN,M handling (was including last separator into the comparison)
...
Testcase:
$ printf '%s\n' a/a:a a:b | sort -t: -k1,1
a:b
a/a:a
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-09-19 22:06:40 +02:00
Tito Ragusa
f085344d5c
libbb: another unit test for is_suffixed_with
...
Suggested by Bartosz Golaszewski.
Signed-off-by: Tito Ragusa <farmatito@tiscali.it>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-09-15 23:38:01 +02:00
Peter Korsgaard
875297378c
modprobe: handle module arguments containing spaces
...
Modprobe wasn't correctly parsing module arguments containing spaces from
/proc/cmdline - E.G. module.property="some text".
Extend the parsing to correctly handle quoted text.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-09-09 14:55:07 +02:00
Ron Yorston
ca25af9b06
ash: fix slash treatment in expmeta
...
Commit 549deab
caused this sequence of commands:
mkdir foo
cd foo
touch a b
echo "./"*
to return './*' instead of the expected './a ./b'. The problem
was caused by the backport of commit 880d952 from dash. In dash
the issue was fixed by two further commits by Herbert Xu:
<d6d06ff> [EXPAND] Fixed non-leading slash treatment in expmeta
<36f0fa8> [EXPAND] Fix slash treatment in expmeta
(See git://git.kernel.org/pub/scm/utils/dash/dash.git)
Apply these fixes to BusyBox ash, thus causing the new test
glob3.tests to succeed.
function old new delta
expmeta 469 528 +59
Reported-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-09-04 22:23:54 +02:00
Denys Vlasenko
b5be13ccd9
hush: fix a nommu bug where a part of function body is lost if run in a pipe
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-09-04 06:22:10 +02:00
Denys Vlasenko
2156e22853
Makefile.flags: survive a build system which has no pthread
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-09-04 04:20:51 +02:00
Denys Vlasenko
26c423d9a8
ash,hush: add a test which fails for ash since commit 549deab
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-09-04 03:33:02 +02:00
Denys Vlasenko
66a781acb9
ash: add tests adapted from hush glob tests. glob2.tests currently fails
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-09-04 03:27:08 +02:00
Denys Vlasenko
68acc0f835
libbb: make is_suffixed_with() return pointer inside string, not key.
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-08-25 21:47:33 +02:00
Bartosz Golaszewski
7448b513c8
libbb: add is_suffixed_with() function
...
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-08-25 16:36:43 +02:00
Denys Vlasenko
5b865deb3f
ping: fix recently introduced build breakage for non-optimizing builds
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-08-25 16:26:31 +02:00
Bartosz Golaszewski
0a4d0e8fbf
libbb: add a comment describing the way is_prefixed_with() works
...
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-08-25 15:04:16 +02:00
Bartosz Golaszewski
b432923e29
libbb: add unit tests for is_prefixed_with()
...
Test corner cases too like looking for an empty prefix etc.
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-08-25 15:00:24 +02:00
Sören Tempel
d862717328
login: don't print motd if .hushlogin exists in users home
...
function old new delta
login_main 978 996 +18
Signed-off-by: Sören Tempel <soeren@soeren-tempel.net>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-08-24 22:16:48 +02:00
Peter Korsgaard
864d1b7a15
dmesg: add -r option to print raw format even when FEATURE_DMESG_PRETTY is enabled
...
Similar to the "big" util-linux version. For !DMESG_PRETTY, the option is accepted
(but ignored) as well, for compatibility reasons.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-08-24 21:08:02 +02:00
Alex Dowad
65c501a093
ifupdown: 'prio' should have been 'metric' in static_up and static_up6
...
When a static interface with explicit gateway and metric in /etc/network/interfaces
is enabled using 'ifup', and further, the BusyBox 'ip' applet is enabled, the
following error message appears at the console (and no default route is added):
ip: either "to" is duplicate, or "prio" is garbage
Tracing ifup reveals that it is attempting to run the following shell command:
ip route add default via <GW> dev <DEVICE> prio <METRIC>
'ip' does not understand the 'prio' argument, causing this error. With 'metric',
it works fine.
Signed-off-by: Alex Dowad <alexinbeijing@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-08-24 20:18:36 +02:00
Denys Vlasenko
c52cbea2bb
libbb: add setsockopt_foo helpers
...
function old new delta
setsockopt_int - 23 +23
do_load 918 934 +16
setsockopt_SOL_SOCKET_int - 14 +14
setsockopt_keepalive - 10 +10
setsockopt_SOL_SOCKET_1 - 10 +10
buffer_fill_and_print 169 178 +9
setsockopt_1 - 8 +8
nfsmount 3560 3566 +6
redirect 1277 1282 +5
tcpudpsvd_main 1782 1786 +4
d6_send_kernel_packet 272 275 +3
i2cget_main 380 382 +2
ed_main 2544 2545 +1
scan_recursive 380 378 -2
nbdclient_main 492 490 -2
hash_find 235 233 -2
cmdputs 334 332 -2
parse_command 1443 1440 -3
static.two 4 - -4
ntpd_main 1039 1035 -4
const_int_1 4 - -4
const_IPTOS_LOWDELAY 4 - -4
RCVBUF 4 - -4
ntp_init 474 469 -5
change_listen_mode 316 310 -6
uevent_main 416 409 -7
arping_main 1697 1690 -7
telnet_main 1612 1603 -9
socket_want_pktinfo 42 33 -9
setsockopt_reuseaddr 21 10 -11
setsockopt_broadcast 21 10 -11
httpd_main 772 757 -15
get_remote_transfer_fd 109 94 -15
make_new_session 503 487 -16
ftpd_main 2177 2160 -17
read_bunzip 1896 1866 -30
common_traceroute_main 4099 4058 -41
common_ping_main 1836 1783 -53
------------------------------------------------------------------------------
(add/remove: 5/4 grow/shrink: 8/21 up/down: 111/-283) Total: -172 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-08-24 20:00:17 +02:00
Denys Vlasenko
2db782bc7b
Merge setsockopt error messages
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-08-24 20:00:17 +02:00
Denys Vlasenko
729b70646c
traceroute: fix help text
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-08-24 20:00:17 +02:00
Bartosz Golaszewski
bb2fd67d0b
Makefile: add missing libraries to LDLIBS
...
Static build with CONFIG_PAM fails on Debian Jessie due to undefined
references to libdl and libaudit.
Static build without pam, but with libcrypt required fails as well due
to undefined references to libpthread.
Fix these two cases by adding the missing libraries to LDLIBS when
appropriate.
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-08-17 17:05:55 +02:00
Bartosz Golaszewski
718e228adc
unit-tests: remove code depending on WANT_TIMING
...
Since there is no interest in merging a config option for WANT_TIMING,
remove the parts of code depending on it altogether.
While we're at it: add some newlines to improve readability.
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-08-17 17:01:49 +02:00