349d72c19c
unzip: use printable_string() for printing filenames
...
function old new delta
unzip_main 2726 2792 +66
printable_string2 - 57 +57
identify 4329 4336 +7
expmeta 659 663 +4
add_interface 99 103 +4
beep_main 286 289 +3
changepath 192 194 +2
builtin_type 115 117 +2
devmem_main 469 470 +1
input_tab 1076 1074 -2
create_J 1821 1819 -2
poplocalvars 314 311 -3
doCommands 2222 2214 -8
do_load 918 902 -16
printable_string 57 9 -48
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 8/6 up/down: 146/-79) Total: 67 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2018-09-30 16:56:56 +02:00
abfa3ec059
move storage helpers to libbb.h
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2018-09-28 15:13:04 +02:00
1ab3899d49
fdisk: code shrink
...
function old new delta
get_nonexisting_partition 119 104 -15
fdisk_main 2640 2622 -18
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-33) Total: -33 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2018-07-25 14:42:53 +02:00
c104549b48
fdisk: sync up with some util-linux 2.31 behavior
...
= display default is no longer in cylinders
= +sizeC is no longer supported
= add +sizeT suffix - terabytes are here
= K,M,G,T and k,m,g,t suffixes all are binary, not decimal
= +sizeM results in last sector +(size * 1Mbyte - 1), not +(size * 1Mbyte)
= fix comparison to "YES" answer for sgi/sun
function old new delta
read_int 492 519 +27
fdisk_main 2644 2640 -4
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 27/-4) Total: 23 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2018-07-25 13:52:30 +02:00
163e637ffb
fdisk: use strtoul[l] instead of atoi, closes 11176
...
Couldn't create partitions bigger than 1TB (when using 512 bytes sectors,
on 32 bits architectures).
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2018-07-25 12:08:26 +02:00
4c201c00a3
whitespace fixes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2018-07-17 15:04:17 +02:00
8ef9effaa5
fdisk: placate warning of strncpy not copying NUL byte
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2018-06-26 15:44:58 +02:00
817a20296f
randomconfig fixes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2018-06-26 15:35:17 +02:00
43b17b1cd0
restore documentation on the build config language
...
Kconfig-language.txt was deleted in commit 4fa499a17b
back in 2006.
Move to docs/ as suggested by Xabier Oneca:
http://lists.busybox.net/pipermail/busybox/2014-May/080914.html
Also update references to it everywhere.
Signed-off-by: Kartik Agaram <akkartik@gmail.com >
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2018-06-06 15:16:48 +02:00
8bc418f07e
fdisk: remove "Partition N does not end on cylinder boundary" message
...
fdisk from util-linux 2.31 (maybe earlier) does not print this.
function old new delta
check_consistency 449 399 -50
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2018-05-26 18:51:18 +02:00
254e47372f
nsenter: fix parsing of -t, -S and -G options
...
-t, -S and -G each take mandatory integer arguments. getopt32long()'s
option string syntax for this type of argument is 'c:+', however nsenter's
opt_str uses 'c+', which specifies two options 'c' and '+' which do not
take arguments. This means that giving a target PID causes nsenter to
exit and print the usage string:
# nsenter -t1 sh
nsenter: unrecognized option: 1
BusyBox v1.27.2 (2017-12-12 10:41:50 GMT) multi-call binary.
...
The long form options are also broken:
# nsenter --setuid=1000 --setgid=1000 sh
BusyBox v1.29.0.git (2018-05-04 13:56:49 UTC) multi-call binary.
...
`nsenter --target=<pid> sh` parses correctly and appears to work, but
<pid> is ignored and set to 0. This doesn't raise an error unless one
of the namespace arguments is also given:
# ./busybox_unstripped nsenter --target=42 sh
# exit
# ./busybox_unstripped nsenter -n --target=42 sh
BusyBox v1.29.0.git (2018-05-04 13:56:49 UTC) multi-call binary.
...
This has caused problems in a couple of places:
https://github.com/linuxkit/linuxkit/issues/567
https://github.com/gliderlabs/docker-alpine/issues/359
https://github.com/kontena/pharos-cluster/pull/81
Signed-off-by: Euan Harris <euan.harris@docker.com >
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2018-05-13 20:14:07 +02:00
40394cb1c9
nsenter: Rename --network option to --net
...
In nsenter from util-linux, the long version of the -n option is
--net=<path>. BusyBox's version expects --network=<path>, so scripts
and examples written for util-linux's version cause BusyBox's version
to exit with the usage message.
Confusingly, until commit 036585a911
, the usage message erroneously
claimed that the long option was indeed called --net; after that commit
long options are not listed at all.
Signed-off-by: Euan Harris <euan.harris@docker.com >
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2018-05-13 18:58:23 +02:00
2aeb201c97
libbb: new option FEATURE_ETC_SERVICES: if off, /etc/services reads often avoided
...
In practice, "wget http://host.com/ " always uses port 80.
People explicitly set non-standard ports via options or parameters
("telnet 1.2.3.4 567" or "telnet 1.2.3.4 ftp") instead of modifying
/etc/services.
function old new delta
telnet_main 1466 1464 -2
rdate_main 215 198 -17
fakeidentd_main 269 252 -17
parse_url 459 392 -67
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/4 up/down: 0/-103) Total: -103 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2018-04-17 12:43:54 +02:00
7bcde5f00d
libbb.h: always include sys/resource.h
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2018-04-08 17:23:27 +02:00
3be4b9b0de
fstrim: do not check that specified file is on a block device
...
Kernel will surely inform us in FITRIM does not make sense on a given file.
function old new delta
fstrim_main 241 221 -20
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2018-03-29 16:05:10 +02:00
0e09ded2f1
readprofile: code shrink
...
function old new delta
defaultpro 14 - -14
defaultmap 17 - -17
readprofile_main 1762 1719 -43
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 0/1 up/down: 0/-74) Total: -74 bytes
text data bss dec hex filename
933081 473 6836 940390 e5966 busybox_old
933035 473 6836 940344 e5938 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2018-03-11 19:35:58 +01:00
7798282db2
ipcs: further code shrink
...
function old new delta
packed_usage 32543 32547 +4
ipcs_main 1014 980 -34
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 4/-34) Total: -30 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2018-03-08 13:23:06 +01:00
f7fa8001b7
ipcs: code shrink
...
function old new delta
packed_usage 32539 32543 +4
format 1 - -1
do_shm 883 880 -3
do_sem 636 633 -3
do_msg 782 779 -3
ipcs_main 1049 1014 -35
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 1/4 up/down: 4/-45) Total: -41 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2018-03-08 13:10:23 +01:00
2af5e3fac3
libbb: compile capability code only if FEATURE_SETPRIV_CAPABILITIES or RUN_INIT
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2018-02-21 20:13:39 +01:00
b083e8cc53
umount: fix "umount -t FSTYPE MNTPOINT" acting as if -a is specified
...
While at it, add -t to --help, and fix comments which say that -t is ignored
function old new delta
packed_usage 32427 32444 +17
umount_main 558 552 -6
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 17/-6) Total: 11 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2018-02-20 17:58:19 +01:00
7398892ac0
mkfs_ext2, mkfs_vfat: fix warnings in STORE_LE on big-endian platforms
...
"warning: large integer implicitly truncated to unsigned type [-Woverflow]"
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2018-02-15 13:46:34 +01:00
4892f3a4c7
inetd,mount: add comment with example of flags to build with libtirpc
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2018-02-13 18:20:28 +01:00
ddacb03e87
libbb: commonalize a bit of little-endian CRC32 table generation code
...
function old new delta
global_crc32_new_table_le - 11 +11
crc32_new_table_le - 9 +9
inflate_unzip_internal 560 556 -4
flash_eraseall_main 823 819 -4
unpack_xz_stream 2403 2394 -9
lzop_main 121 112 -9
gzip_main 187 178 -9
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 0/5 up/down: 20/-35) Total: -15 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2018-02-01 10:56:19 +01:00
a497231f53
chrt: code shrink
...
function old new delta
show_min_max 60 59 -1
policies 96 72 -24
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2018-01-25 09:34:23 +01:00
66ad9be603
chrt: use correct min/max priorities
...
function old new delta
chrt_main 369 432 +63
policies 48 96 +48
packed_usage 32239 32249 +10
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/0 up/down: 121/0) Total: 121 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2018-01-23 16:04:48 +01:00
0f6e4350b3
chrt: add support for SCHED_IDLE
...
Signed-off-by: Povilas Kanapickas <povilas@radix.lt >
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2018-01-23 16:04:48 +01:00
1616fb8aca
chrt: add support for SCHED_BATCH
...
Signed-off-by: Povilas Kanapickas <povilas@radix.lt >
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2018-01-23 16:04:48 +01:00
e411cd071a
volume_id: add LittleFS detection
...
Add support for LittleFS to blkid. Not included if FEATURE_BLKID_TYPE
is not selected (neither UUID nor label).
LittleFS is a small fail-safe filesystem designed for embedded
systems. It has strong copy-on-write guarantees and storage on disk
is always kept in a valid state. It also provides a form of dynamic
wear levelling for systems that can not fit a full flash translation
layer. (https://github.com/geky/littlefs )
ARM has introduced it in its Mbed OS 5.7, so it starts to gain focus.
(https://os.mbed.com/blog/entry/littlefs-high-integrity-embedded-fs/ )
function old new delta
volume_id_probe_lfs - 62 +62
fs1 20 24 +4
Signed-off-by: Sven-Göran Bergh <sgb@systemaxion.se >
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2018-01-19 20:37:13 +01:00
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
9967978551
renice: use BUILD_BUG_ON()
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2018-01-14 19:05:02 +01:00
cbdc37cae0
cal: make it NOEXEC
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2018-01-14 14:32:11 +01:00
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
1b510900e2
unshare: -r should map root to user, not the other way around
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-11-09 16:06:33 +01:00
b5a0d9d867
unshare: -r implies -U, not -u
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-11-09 15:59:22 +01:00
f1fdda4542
Fix build failures if MAXHOSTNAMELEN or MAXPATHLEN is not defined
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-10-31 15:59:19 +01:00
160d027c21
blkdiscard: Only build on Linux
...
Signed-off-by: James Clarke <jrtc27@jrtc27.com >
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-10-30 14:55:01 +01:00
2ab9403119
whitespace and comment format fixes, no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-10-05 15:33:28 +02:00
ebe6d9d875
whitespace and comment format fixes, no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-10-05 14:40:24 +02:00
0c4dbd481a
regularize format of source file headers, no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-09-18 16:28:43 +02:00
0180b57aaf
setpriv: placete "declaration of 'index' shadows a global declaration" warning
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-08-29 15:34:38 +02:00
7d834c9bb4
run-init: if doing dry run, do not require pid==1
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-08-22 11:40:27 +02:00
bbc26c6934
run-init: implement -n "dry run"
...
function old new delta
switch_root_main 637 706 +69
packed_usage 31743 31757 +14
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 83/0) Total: 83 bytes
text data bss dec hex filename
915247 563 5844 921654 e1036 busybox_old
915303 563 5844 921710 e106e busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-08-22 10:37:30 +02:00
200bcc851a
run-init: new applet
...
function old new delta
switch_root_main 354 637 +283
drop_usermodehelper - 157 +157
cap_name_to_number - 77 +77
packed_usage 31707 31743 +36
applet_names 2665 2674 +9
applet_main 1544 1548 +4
applet_install_loc 193 194 +1
setpriv_main 933 928 -5
getcaps 131 122 -9
parse_cap 117 29 -88
------------------------------------------------------------------------------
(add/remove: 3/0 grow/shrink: 5/3 up/down: 567/-102) Total: 465 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-08-21 19:30:01 +02:00
44b3f2ffbc
libbb: move capability names code to libbb
...
function old new delta
cap_name_to_number - 77 +77
parse_cap 117 29 -88
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 0/1 up/down: 77/-88) Total: -11 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-08-21 02:14:19 +02:00
ec2482e966
setpriv: code shrink
...
function old new delta
parse_cap 125 117 -8
setpriv_main 949 933 -16
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-24) Total: -24 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-08-20 20:21:31 +02:00
79747415d6
setpriv: accept any case in capability names
...
This should work: setpriv --inh-caps -SyS_ReSOuRCE sh
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-08-18 19:11:57 +02:00
dce39c9894
fsck_minix,mkfs_minix: fix "strict-aliasing" warnings
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-08-16 11:53:48 +02:00
c4367d7227
uevent: placate gcc
...
How sizeof() can be an aliasing problem?
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-08-16 11:45:09 +02:00
647d8afe86
build system: remove unused CONFIG_FEATURE_HAVE_RPC
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-08-14 12:25:55 +02:00
c52dc0e836
fdisk: typo fix
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-08-10 15:12:11 +02:00