libnetlink: fix alignment of netlink messagesA padding to align a message should not only be added between
different attributes of a netlink message, but also at the end of the
message to pad it to the correct size.
Without this patch the following command does not work and returns an
error code:
ip link add type nlmon
Without this ip from busybox sends this:
sendmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000},
m...
ash: exit after subshell error when errexit option is setWhen "set -e" option is on, shell must exit when any command fails,
including compound commands of the form (compound-list) executed in a
subshell. Bash and dash shells have this behaviour.
Also add a corresponding testcase.
Signed-off-by: Rostislav Skudnov <rostislav@tuxera.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
svlogd: strip leading '!' from processor linesWhen using svlogd's processor functionality to run arbitrary commands
on log rotation, the line in the config is executed verbatim, i.e. the
exclamation mark is included.
For example, if the config file contains:
s100
!cat
then when it's time to rotate the log files after each 100 bytes, sh -c
"!cat" will be run, instead of sh -c "cat" as intended. The result is
svlogd logging
/...
modutils: support finit_module syscallOn some systems like Chromium OS, loading modules from non-verified
filesystems is denied. Only finit_module is allowed because an open
fd is passed which can be checked against a verified location.
Change the module loading code to first attempt finit_module and if
that fails for whatever reason, fall back to the existing logic.
On x86_64, this adds ~80 bytes to modutils/modutils.o and ~68 ...
less: switch off nonblock on kbd_fd before exitThis is only necessary if we use stdout fd.
function old new delta
less_exit 32 51 +19
less_main 2540 2543 +3
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 22/0) ...
less: fall back to using fd #1 for keyboard reading. Closes 9231function old new delta
less_main 2535 2540 +5
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
mdev: create devices from /sys/devCurrently some new devices that have a bus but no class will
be missed by mdev coldplug device creation after boot. This
happens because mdev recursively searches /sys/class which will
by definition only find class devices.
Some important devices such as iio and gpiochip does not have
a class. But users will need them.
This switches from using /sys/class as the place to look for
devices to cr...
sendmail: make it possible to pause after connection helper is startedIf a non-starttls helper is in use, initial 220 response is processed by us,
not by helper.
Some servers consider us to be a spammer if we don't wait for it.
It is not in protocol, but it is a real-life problem.
The workaround in this patch is a magic envvar, $SMTP_ANTISPAM_DELAY:
...
-H 'PROG ARGS' Run connection helper. Examples:
openssl s_client -quiet -tls1 -starttls smtp -connect smt...
libbb/xwrite: print errno on "short write" errorsLauri Kasanen:
:: Over at TinyCore, we receive a huge number of questions of the type "I
:: got "short write", what does it mean?". Mostly for the rpi port and when
:: using bb wget.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
libbb/speed_table.c: survive B115200 and B230400 not fitting into 16 bitsSeen on OSX.
While at it, expand baud table with B500000..B4000000
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
sed: fix "sed n (flushes pattern space, terminates early)" testcase failurePatch based on work by Dengke Du <dengke.du@windriver.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
sha3: fix to conform to final SHA3 padding standard, add -a BITS optionfunction old new delta
hash_file 331 396 +65
md5_sha1_sum_main 485 538 +53
packed_usage 30423 30464 +41
sha3_begin 17 31 +14
sha3_hash ...
udhcpc: Unconditionally call deconfig script, not only if lease is activeThe udhcpc script may be used to setup fallback configuration (E.G. IPv4LL,
fixed IP address, ..) that also needs to be cleaned up on release (E.G.
when SIGUSR2 is called or on shutdown with -R), so unconditionally call
deconfig.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
build system: always rewrite NUM_APPLETS.hConditional rewrite can keep NUM_APPLETS.h mtime old,
this causes make to try to regenerate it at every invocation.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
fdisk: tweak some messages"Total allocated sectors 2021315 greater than the maximum 2020356"
maximum what?
Turns out, that's the CHS size of the disk.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
fdisk: print much less cryptic partition tableBefore:
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 998 255471+ 6 FAT16
What are "blocks"? What is that "+"?
How big is this partition?
Is start/end shown came from LBA fields or CHS fields?
Why are we torturing the user??
After:
Device Boot StartCHS EndCHS StartLBA EndLBA Sectors Size Id Type
/dev/sdb1 * 0,1,1 ...
docs: Update filenames in keep_data_small.txtThe filenames in docs/keep_data_small.txt are a little bit outdated.
It's better to change it to the current name.
decompress_unzip.c -> decompress_gunzip.c
(since commit 774bce8e8ba1e424c953e8f13aee8f0778c8a911)
libbb/messages.c -> libbb/ptr_to_globals.c
(since commit 574f2f43948bb21d6e4187936ba5a5afccba25f6)
Signed-off-by: Kang-Che Sung <explorer09@gmail.com>
Signed-off-by: Denys Vlasenko <...
hush: do not leak script fds into NOEXEC childrenWe set all opened script fds to CLOEXEC, thus making then go away
after fork+exec.
Unfortunately, CLOFORK does not exist. NOEXEC children will still see those fds open.
For one, "ls" applet is NOEXEC. Therefore running "ls -l /proc/self/fd"
in a script from standalone shell shows this:
lrwx------ 1 root root 64 Aug 20 15:17 0 -> /dev/pts/3
lrwx------ 1 root root ...
hush: `cmd` and arithmetic also need the fix for FILE rewindDiscovered by running testsuite with a newest glibc
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
hush: fix a bug in FEATURE_SH_STANDALONE=y config. Closes 9186Run this in a "sh SCRIPT":
sha256sum /dev/null
echo END
sha256sum is a NOEXEC applet. It runs in a forked child. Then child exit()s.
By this time, entire script is read, and buffered in a FILE object
from fopen("SCRIPT"). But fgetc() did not consume entire input.
exit() lseeks back by -9 bytes, from <eof> to 'e' in 'echo'.
(this may be libc-specific).
This change of fd position *is shared wit...
top: move free(prev_hist) out of signal pathIt was seen being called recursively on repeated signals,
leading to double free
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
ifplugd: if SIOCSIFFLAGS fails with ENODEV, don't dieSome user managed to hit a race where iface is gone between SIOCGIFFLAGS
and SIOCSIFFLAGS (!). If SIOCSIFFLAGS fails, treat it the same as failed
SIOCGIFFLAGS
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
gzip: add test that checks that -9 compresses better than -1Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
gzip: fix compression level bug. Closes 9131fix broken logic to get the gzip_level_config value from options -1 to
-9.
This fixes an off-by-one bug that caused gzip -9 output bigger files
than the other compression levels.
It fixes so that compression level 1 to 3 are actually mapped to level 4
as comments say.
It also fixes that levels -4 to -9 is mapped to correct level and avoids
out-of-bounds access.
Signed-off-by: Natanael Copa ...
lineedit: trivial codeshrink for vi-modeIntroduce and use BB_isalnum_or_underscore().
function old new delta
BB_isalnum_or_underscore - 43 +43
vi_word_motion 162 150 -12
vi_end_motion 163 145 -18
vi_back_motion 198 ...
build system: fix include/NUM_APPLETS.h generationTBH, it's more like "work around my bad makefile-fu" than "fix"...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>