Denys Vlasenko
12fc869560
libpwdgrp: getgrXXX: empty string is not a member name, do not store it
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-01-03 21:16:18 +01:00
Denys Vlasenko
402451aa19
fix a SEGV in previous commit
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-01-03 21:11:27 +01:00
Denys Vlasenko
f9936676bb
libpwdgrp: fix counting of commas in group list
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-01-03 21:03:39 +01:00
Denys Vlasenko
134c53098b
libpwdgrp: store getXXnam result in a single malloc block
...
This saves a bit of memory but more importantly, allows to create
xmalloc_getpwnam() API where result can be deleted simply using free().
function old new delta
getXXnam 134 173 +39
parse_common 188 212 +24
convert_to_struct 277 290 +13
get_S 90 88 -2
tokenize 129 126 -3
bb_internal_getpwent_r 175 172 -3
getXXnam_r 208 198 -10
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/4 up/down: 76/-18) Total: 58 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-01-03 20:47:47 +01:00
Denys Vlasenko
20c0a16334
libpwdgrp: make db->def[] one byte shorter
...
In the future I will need another uint8_t, want to fit it
w/o using another word on 32 bits.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-01-03 19:12:49 +01:00
Denys Vlasenko
5e62a3d016
libpwdgrp: use a better estimate of max struct size
...
Previous code's trick with bitwise OR was giving this on 32-bit x86:
sizeof(struct passwd):28
sizeof(struct group):16
sizeof(struct spwd):36
sizeof(struct_result):60
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-01-03 17:53:49 +01:00
Denys Vlasenko
9dca6acaac
libpwdgrp: reinstate Tito's optional atexit freeing
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-01-03 16:09:05 +01:00
Denys Vlasenko
8d547aca75
libpwdgrp: fix a memory leak in getXXnam (we did not save address of string buf)
...
function old new delta
convert_to_struct 261 269 +8
const_sp_db 20 24 +4
const_pw_db 20 24 +4
const_gr_db 20 24 +4
tokenize 144 147 +3
parse_common 185 188 +3
get_S 82 85 +3
bb_internal_getpwent_r 188 185 -3
gr_off 4 - -4
getXXnam 171 165 -6
pw_off 7 - -7
getgrouplist_internal 237 229 -8
getXXnam_r 215 207 -8
sp_off 9 - -9
------------------------------------------------------------------------------
(add/remove: 0/3 grow/shrink: 7/4 up/down: 29/-45) Total: -16 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-01-03 15:54:04 +01:00
Denys Vlasenko
31d6734457
libpwdgrp: tweak comments, replace one xmalloc with xzalloc
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-01-03 15:15:47 +01:00
Denys Vlasenko
908b6e5dfd
libpwdgrp: use FAST_FUNC to make "matching ABI" optimization more likely to succeed
...
See bb_internal_get*nam_r size reduction:
function old new delta
bb_internal_getpwent_r 167 176 +9
getXXnam_r 204 206 +2
sulogin_main 326 325 -1
su_main 471 470 -1
read_line_input 3832 3831 -1
print_stat 865 864 -1
prepare_socket_fd 283 282 -1
load_crontab 777 776 -1
fork_job 456 455 -1
do_shm 884 883 -1
do_sem 637 636 -1
do_msg 783 782 -1
complete_username 124 123 -1
bb_internal_getgrouplist 71 70 -1
xgetpwuid 27 25 -2
xgetpwnam 27 25 -2
xgetgrnam 27 25 -2
xgetgrgid 27 25 -2
uid2uname 18 16 -2
login_main 980 978 -2
gid2group 18 16 -2
get_shell_name 54 52 -2
change_identity 50 48 -2
bb_internal_initgroups 50 48 -2
argstr 1261 1259 -2
print_perms 177 174 -3
inetd_main 2077 2074 -3
run_applet_no_and_exit 446 442 -4
fileaction_setowngrp 89 85 -4
deluser_main 312 308 -4
bb_internal_getpwuid 19 15 -4
bb_internal_getpwnam 11 7 -4
bb_internal_getgrnam 14 10 -4
bb_internal_getgrgid 19 15 -4
adduser_main 865 861 -4
passwd_main 989 984 -5
get_passwd 97 92 -5
data_extract_all 887 882 -5
check_user_passwd 490 485 -5
get_groups 81 75 -6
ftpd_main 2178 2171 -7
bb_internal_getspnam_r 42 18 -24
bb_internal_getpwnam_r 39 15 -24
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/41 up/down: 11/-153) Total: -142 bytes
text data bss dec hex filename
923167 928 17676 941771 e5ecb busybox_old
923023 928 17676 941627 e5e3b busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-01-02 22:31:07 +01:00
Denys Vlasenko
78854520eb
modprobe: revert checking for /, stop doing basename() on modprobe args
...
function old new delta
process_module 726 719 -7
filename2modname 81 67 -14
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-21) Total: -21 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-01-01 19:02:40 +01:00
Denys Vlasenko
c76236fd7d
ash: fix a SEGV in ${#1}
...
function old new delta
varvalue 760 805 +45
evalvar 648 603 -45
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-12-29 00:04:18 +01:00
Denys Vlasenko
b9965077e5
Start 1.24.0 development cycle
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-12-24 02:06:02 +01:00
Denys Vlasenko
6968e08123
Bump version to 1.23.0
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-12-24 01:48:20 +01:00
Denys Vlasenko
ca9c4653a9
libbb: add sanity check in bb_arg_max()
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-12-24 01:46:29 +01:00
Denys Vlasenko
11775edbfc
randomconfig fixes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-12-22 19:37:05 +01:00
Denys Vlasenko
28634924f0
udhcpc: account for script run time
...
Based on the following user report:
I ran into an issue where I was seeing a long delay in the scripts called
in udhcp_run_script. I was using an old version of OpenWrt (kamikaze)
and a satellite modem. An NTP script was being called and the modem
would sometimes take a long time to respond to the DNS lookup when
it was offline.
This delay started affecting my lease time. The lease that I would
get from my satellite modem before it was online would be short:
only 60 seconds. The delay with NTP and the modem would typically
be about 18 seconds. This would cause the first DHCP renew request
from dhcpc to be a little late. Under certain circumstances,
I could even see the first DHCP renew to occur after the lease
had expired!
function old new delta
udhcpc_main 2816 2837 +21
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-12-21 16:10:22 +01:00
Denys Vlasenko
acb8be7217
tar: fix "tar -cJ" ignoring -J option. closes 7706
...
function old new delta
tar_main 895 938 +43
vfork_compressor 206 191 -15
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 43/-15) Total: 28 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-12-11 15:34:02 +01:00
Denys Vlasenko
d598a8d4e6
lineedit: don't fall back to simple line input if tty is in raw mode
...
Testcase: shell command input after python ^Z should still work
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-12-10 17:22:13 +01:00
Denys Vlasenko
cfcd2399b2
make xmalloc_open_zipped_read_close result NUL terminated
...
Compat with xmalloc_open_read_close
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-12-07 00:49:55 +01:00
Denys Vlasenko
b4c11c1397
libarchive: add capability to unpack to mem.buffer
...
The performance and number of processes for a "depmod -a" with gzipped
modules was abysmal. This patch adds a code path without fork,
benefiting all users of xmalloc_open_zipped_read_close.
"modinfo radeon.ko.gz", a single-file reader, got 30% faster.
"depmod -a", which used to fork over 800 times, got 20% faster.
Heavily based on a patch by Lauri Kasanen <curaga@operamail.com >
function old new delta
setup_transformer_on_fd - 159 +159
transformer_write - 122 +122
fork_transformer - 112 +112
xmalloc_open_zipped_read_close 63 118 +55
read_bunzip 1866 1896 +30
xtransformer_write - 19 +19
unzip_main 2449 2462 +13
bbunpack 755 766 +11
unpack_lzma_stream 2717 2723 +6
unpack_xz_stream 2393 2397 +4
unpack_Z_stream 1173 1175 +2
inflate_unzip 111 105 -6
check_signature16 70 63 -7
unpack_bz2_stream 359 349 -10
unpack_unxz 12 - -12
unpack_unlzma 12 - -12
unpack_uncompress 12 - -12
unpack_gunzip 12 - -12
unpack_bunzip2 12 - -12
open_transformer 106 92 -14
inflate_unzip_internal 1945 1916 -29
unpack_gz_stream 693 655 -38
open_zipped 89 47 -42
setup_unzip_on_fd 142 53 -89
------------------------------------------------------------------------------
(add/remove: 4/5 grow/shrink: 7/8 up/down: 533/-295) Total: 238 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-12-07 00:44:00 +01:00
Denys Vlasenko
e7800f351a
Rename transformer_aux_data_t -> transformer_state_t
...
No code changes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-12-07 00:42:49 +01:00
Denys Vlasenko
476654cdbe
man: do not mangle $MANPATH in memory
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-11-30 19:39:58 +01:00
Denys Vlasenko
ee41094b80
man: accept a list of dirs in $MANPATH
...
function old new delta
add_MANPATH - 143 +143
man_main 852 731 -121
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/1 up/down: 143/-121) Total: 22 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-11-27 00:40:08 +01:00
Denys Vlasenko
04c1417602
libbb: use ARG_MAX for bb_arg_max() only if it's 60k+
...
Sometimes ARG_MAX is small (like 32k) yet sysconf(_SC_ARG_MAX)
is big, and people prefer using the bigger value.
OTOH, with sufficiently large ARG_MAX, further wins from
sysconf(_SC_ARG_MAX) being bigger are exponentially smaller:
you can see 4 times fewer fork+execs when you run find, but
when each execed process already takes a thousand parameters
it's likely execution time is dominated by what that process
does with each parameter.
Thus, with this change ARG_MAX is used if it's sufficiently big,
otherwise sysconf(_SC_ARG_MAX) is used.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-11-26 15:17:59 +01:00
Denys Vlasenko
2835a224cd
bbunit: fix WANT_TIMING compilation
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-11-26 14:04:51 +01:00
Denys Vlasenko
298fabaefc
udhcpd: if a lease from lease file coincides with a static one, ignore it
...
function old new delta
read_leases 269 328 +59
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-11-25 18:49:14 +01:00
Denys Vlasenko
2bba9ad67a
init: do not run shutdown/reexec actions from signal handler
...
this is racy wrt various libc functions such as syslog()
function old new delta
check_delayed_sigs 182 352 +170
init_main 772 728 -44
restart_handler 74 - -74
halt_reboot_pwoff 79 - -79
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 1/1 up/down: 170/-197) Total: -27 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-11-21 20:10:57 +01:00
Denys Vlasenko
4e314faa0a
modprobe,rmmod: reject module names with slashes
...
function old new delta
add_probe 86 113 +27
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-11-20 18:24:33 +01:00
Denys Vlasenko
f5add44981
typo fix in comment
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-11-20 01:43:30 +01:00
Denys Vlasenko
8a475def9e
ash,hush: do not segfault on $((2**63 / -1))
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-11-18 14:32:58 +01:00
Denys Vlasenko
08a5dab181
ash: fix handling of negative start value in ${v:start:len}
...
function old new delta
subevalvar 1140 1168 +28
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-11-17 20:27:18 +01:00
Denys Vlasenko
628f134fe7
exit with 127 if appled name wasn't found - it's more POSIXy
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-11-17 17:03:47 +01:00
Denys Vlasenko
cd73871178
sed: fix "sed CMD -i nonexistent_file". Closes 7484
...
function old new delta
sed_main 643 676 +33
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-10-05 02:44:34 +02:00
Denys Vlasenko
cf76b5ce12
getty: set tty attrs so that control chars are shown as ^c
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-10-02 13:45:21 +02:00
Denys Vlasenko
d3fe960271
ntpd: be less eager to use shorter poll intervals
...
* on step, poll interval drops to 8.5 mins instead of 32 seconds
* on total loss of all replies (no replies from any peer
for last 8 requests), also drop poll interval to 8.5 mins
instead of 32 seconds
* on send abd recv errors, RETRY_INTERVAL is now 32 seconds,
not 5 seconds
* on timing out listening to reply, instead of unconditional
shortening poll interval by x4, clamp it to NOREPLY_INTERVAL
(512 seconds)
* if a largish offset is seen, clamp nexp poll interval
to 128 seconds, not 64 seconds
function old new delta
clamp_pollexp_and_set_MAXSTRAT - 37 +37
recv_and_process_peer_pkt 861 869 +8
poll_interval 52 48 -4
update_local_clock 762 752 -10
ntpd_main 1063 1050 -13
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/3 up/down: 45/-27) Total: 18 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-09-27 22:56:09 +02:00
Denys Vlasenko
186b98a86f
ubiupdatevol: fix -t to not require an option. Closes 7466
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-09-25 22:10:32 +02:00
Denys Vlasenko
054f5a5b0d
install: fix help text
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-09-24 22:16:24 +02:00
Denys Vlasenko
865814a617
less: trivial code shrink
...
function old new delta
read_lines 715 695 -20
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-09-22 21:17:24 +02:00
Denys Vlasenko
d6e7672545
less: move "retry-on-EAGAIN" logic closer to read ops
...
This makes "G" (goto end of input) command work as well as
/search_for_nonexistent_string: both will read to EOF now
even from somewhat slow input (such as kernel's "git log").
function old new delta
ndelay_on 35 43 +8
ndelay_off 35 43 +8
read_lines 695 691 -4
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/1 up/down: 16/-4) Total: 12 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-09-22 21:14:02 +02:00
Denys Vlasenko
15943c886d
less: disable "suppress empty wraparound" optimization
...
It is buggy wrt another use case...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-09-21 22:10:55 +02:00
Denys Vlasenko
cd7a38a87d
false: make "false --help" exit with 1
...
function old new delta
run_applet_no_and_exit 447 445 -2
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-09-18 00:47:05 +02:00
Denys Vlasenko
9caea2448e
sed: fix a buglet in s///NUM handling
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-09-16 01:11:13 +02:00
Denys Vlasenko
7666fa1d02
ftpd: make LIST command show dotfiles too
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-09-15 23:35:58 +02:00
Denys Vlasenko
05399fc53d
vi: fix incorrect memory access on brace matching. Closes 7256
...
While at it, fix brace matching to actually show the match
(missed fflush was causing cursor positioning to be buffered);
shorten brace matching code; remove unused macro indirection
in indicate_error().
Custom linker script 'busybox_ldscript' found, using it
function old new delta
indicate_error - 61 +61
mysleep 43 56 +13
char_insert 483 486 +3
find_pair 167 124 -43
Indicate_Error 61 - -61
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 2/1 up/down: 77/-104) Total: -27 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-09-15 17:06:10 +02:00
Denys Vlasenko
26a8b9f196
mdev: treat zero-length /dev/mdev.seq the same as "\n" one. Closes 7334
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-09-08 18:19:15 +02:00
Denys Vlasenko
07f7ea70ed
ash: fix off-by-one in "jobs %4" handling. closes 7310
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-09-08 17:21:52 +02:00
Denys Vlasenko
2ec34969e7
ash: factor out ASH_HELP config option
...
It used to be aliased to !FEATURE_SH_EXTRA_QUIET for ash,
while hush had it separate from FEATURE_SH_EXTRA_QUIET.
Bring ash in line with hush.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-09-08 16:52:39 +02:00
Denys Vlasenko
3e9b13e4c5
find: support -perm /BITS. Closes 7340
...
function old new delta
parse_params 1487 1497 +10
func_perm 57 61 +4
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 14/0) Total: 14 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-09-05 12:16:15 +02:00
Denys Vlasenko
4eb1e425fe
tftpd: tweak HP PA-RISC firmware bug compatibility
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-09-04 12:24:03 +02:00
Denys Vlasenko
67e01fecce
tftpd: support full 512-byte requests
...
Some HP PA-RISC firmware always sends fixed 512-byte requests,
with trailing garbage.
function old new delta
tftpd_main 578 572 -6
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-09-03 18:35:38 +02:00
Denys Vlasenko
f02c52bcde
taskset: fix logic error in "if it doesn't start with 0x..."
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-08-31 01:35:45 +02:00
Denys Vlasenko
34cc6c91a2
grep: fix "grep -r PATTRN SYMLINK_TO_DIR"
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-08-28 15:50:09 +02:00
Denys Vlasenko
962c4e8220
taskset: support CPU masks for more than 64 CPUs
...
function old new delta
taskset_main 522 631 +109
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-08-17 19:36:22 +02:00
Denys Vlasenko
fb8d1ef2d0
addgroup: mention -S in the help text
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-08-15 14:29:43 +02:00
Denys Vlasenko
e9ab07c211
ash: make ${#var} unicode-aware
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-08-13 18:00:08 +02:00
Denys Vlasenko
841f8331d7
ash,hush: run reinit_unicode() only if makes sense
...
With static Unicode support, no need to check $LANG et al.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-08-13 10:09:49 +02:00
Denys Vlasenko
c538d5bcc3
hush: make ${#var} unicode-aware
...
This mimics bash
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-08-13 09:57:44 +02:00
Denys Vlasenko
45b4ecc868
init: if libc-based Unicode support is on, run setlocale(LC_ALL, "") at startup
...
It is not clear why we were excluding init from this.
The "getpid() != 1" clause was there from the beginning (2001)
but not explained.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-08-11 20:33:18 +02:00
Denys Vlasenko
09a0e2223f
sha3: tweak comments and indentation
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-07-30 16:26:09 +02:00
Denys Vlasenko
4ff933c0e7
sha3: code shrink (and speedup for SHA3_SMALL=0)
...
function old new delta
sha3_process_block72 1454 1359 -95
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-07-30 14:18:57 +02:00
Denys Vlasenko
6c6d37ee45
top: fix memset length (sizeof(ptr) vs sizeof(array) problem)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-07-29 17:00:30 +02:00
Denys Vlasenko
2a563ea49a
sha3: add 32-bit optimized bit-sliced implementation
...
It is an interesting trick, but so far I only managed to make it work
correctly, not to make it faster and/or smaller.
The code is ifdefed out for now.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-07-25 17:24:13 +02:00
Denys Vlasenko
278842dd72
ntpd: add support for -I IFACE
...
function old new delta
packed_usage 29908 29947 +39
ntp_init 428 460 +32
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 71/0) Total: 71 bytes
Signed-off-by: Nikolaus Froehlich <nikolaus@mathematik.uni-marburg.de >
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-07-15 15:06:54 +02:00
Denys Vlasenko
03e17bfa8d
fatattr: use the standard type for 32-bit int
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-07-04 15:16:46 +02:00
Denys Vlasenko
6e17766c33
setlogcons: fix help text
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-07-04 13:58:57 +02:00
Denys Vlasenko
a28c1b21e1
syslogd: make "-O -" log to stdout
...
function old new delta
packed_usage 29871 29908 +37
log_locally 404 440 +36
syslogd_main 1966 1956 -10
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/1 up/down: 73/-10) Total: 63 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-07-02 15:21:30 +02:00
Denys Vlasenko
98654b995b
test: fix mishandling of "test '(' = '('" and similar
...
function old new delta
test_main 246 350 +104
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-07-01 14:16:28 +02:00
Denys Vlasenko
d32fc647d7
libbb: fix bb_ask() to flush input before prompt, not after. Closes 7190
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-07-01 13:20:22 +02:00
Denys Vlasenko
184b266917
cpio: reinstate "options:" line in help text
...
Otherwise, help text is confusing: where do operation modes end
and where options start?
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-06-30 17:19:17 +02:00
Denys Vlasenko
a9dc7c2f59
lzop: add overflow check
...
See CVE-2014-4607
http://www.openwall.com/lists/oss-security/2014/06/26/20
function old new delta
lzo1x_decompress_safe 1010 1031 +21
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-06-30 10:14:34 +02:00
Denys Vlasenko
9d7cbdeee3
ftpd: do not use root_fd if we are not in chroot
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-06-27 13:53:35 +02:00
Denys Vlasenko
27c290f7f2
ftpd: for LIST, open current directory *in the child*
...
Last change introduced an open fd leak. This is the fix.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-06-27 12:37:00 +02:00
Denys Vlasenko
a6ae999b3b
ftpd: escape chroot prior to re-executing ls helper
...
When we merely chdir to saved "real" root fd,
exec("proc/self/exe") works for static executables but not
for dynamic ones (they can't find their interpreter).
With this patch, we also *chroot* to real root.
As a bonus, this gives us proper usernames, timezone conversion
etc.
function old new delta
popen_ls 203 259 +56
ftpd_main 2362 2366 +4
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-06-27 12:24:39 +02:00
Denys Vlasenko
5f8daefb83
awk: fix handling of "if ... break ; else ..." - closes 7226
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-06-26 16:40:28 +02:00
Denys Vlasenko
0b0ccd4570
ftpd: optimize writes of LIST results a bit
...
function old new delta
handle_dir_common 201 207 +6
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-06-26 12:07:48 +02:00
Denys Vlasenko
de3cae1348
ftpd: support deprecated XPWD command
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-06-25 16:23:59 +02:00
Denys Vlasenko
5aeae36e2b
libbb: fix compile failure if both ARG_MAX and _SC_ARG_MAX are defined
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-06-25 15:39:27 +02:00
Denys Vlasenko
f92f1d0181
find: use sysconf(_SC_ARG_MAX) to determine the command-line size limit
...
The find utility uses a hardcoded value of 32 * 1024 as the limit of
the command-line length when calling 'find -exec ... {} +'. This results
in over 4 times more execve() calls than in coreutils' find.
This patch uses the limit defined in system headers.
Based on the patch by Bartosz Golaszewski <bartekgola@gmail.com >.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-06-22 13:54:40 +02:00
Denys Vlasenko
6be3a5242c
find: exit code fixes for find -exec
...
function old new delta
func_exec 127 100 -27
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-06-19 11:32:11 +02:00
Denys Vlasenko
85090c162b
udhcpc: make hostname sanitization optional. Closes 3979
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-06-16 00:17:00 +02:00
Denys Vlasenko
fd0640e5a1
modprobe-small: fix safe_strncpy truncating last char of module name
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-05-26 15:01:13 +02:00
Denys Vlasenko
17f8418ea7
Add conditional support for -v / --verbose
...
With FEATURE_VERBOSE off, practically no size change.
With it on:
function old new delta
remove_file 493 556 +63
install_main 719 765 +46
bb_make_directory 383 419 +36
rmdir_main 162 191 +29
copy_file 1516 1544 +28
mv_main 502 525 +23
cmp_main 677 693 +16
bbconfig_config_bz2 5264 5279 +15
mkdir_main 158 168 +10
install_longopts 66 76 +10
rm_main 167 175 +8
nexpr 840 846 +6
scan_tree 275 280 +5
fsck_main 1807 1811 +4
ed_main 2541 2545 +4
expand_one_var 1574 1575 +1
swap_on_off_main 420 418 -2
parse_command 1443 1440 -3
redirect 1279 1274 -5
do_load 946 918 -28
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 16/4 up/down: 304/-38) Total: 266 bytes
Based on the patch by Igor Živković.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-05-19 16:23:50 +02:00
Denys Vlasenko
539e2802eb
getty: explain when setsid() fails. no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-05-11 00:00:52 +02:00
Denys Vlasenko
62a40a0448
Merge branch 'master' of git+ssh://vda@busybox.net/var/lib/git/busybox
2014-05-11 00:00:51 +02:00
Denys Vlasenko
d257608a84
trylink: emit names of linked executables
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-05-04 17:35:31 +02:00
Denys Vlasenko
e3366d696c
trylink: emit names of linked executables
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-05-03 16:35:15 +02:00
Denys Vlasenko
e765b5ac34
libbb: rename execable -> executable. No code changes
...
English speakers complained that it sounded awfully broken.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-05-02 17:15:58 +02:00
Denys Vlasenko
15a357e596
libbb: fix empty PATH components handling
...
function old new delta
find_execable 81 86 +5
exists_execable 71 66 -5
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-05-02 17:08:29 +02:00
Denys Vlasenko
a4476eb654
rtcwake: fix incorrect (reversed) rtc/sys adjuestment; code shrink
...
function old new delta
rtcwake_main 482 462 -20
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-05-02 12:46:15 +02:00
Denys Vlasenko
d8290c2ef0
libbb: fix thinko in rtc_xopen()
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-05-02 09:07:16 +02:00
Denys Vlasenko
528808fa7b
libbb: make rtc_xopen try harder on EBUSY
...
function old new delta
rtc_xopen 77 139 +62
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-05-02 09:05:03 +02:00
Denys Vlasenko
fe33683c8b
Fix compile failures
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-05-02 07:18:55 +02:00
Denys Vlasenko
43b8a1cc38
crond: implement "SHELL=prog" in crontab. Export LOGNAME as POSIX wants
...
function old new delta
fork_job 343 456 +113
load_crontab 688 777 +89
crond_main 1456 1434 -22
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/1 up/down: 202/-22) Total: 180 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-04-30 17:38:27 +02:00
Denys Vlasenko
d5929d602e
crond: simplify logging code
...
Slight change in behavior: now -l 5 will enable the same messages
formerly only enabled for -d 5. (Old behavior was non-sensical).
function old new delta
reopen_logfile_to_stderr - 34 +34
log8 - 26 +26
log7 - 26 +26
log5 - 26 +26
load_crontab 706 688 -18
rescan_crontab_dir 157 137 -20
crond_main 1486 1456 -30
fork_job 389 343 -46
crondlog 108 38 -70
------------------------------------------------------------------------------
(add/remove: 4/0 grow/shrink: 0/5 up/down: 112/-184) Total: -72 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-04-30 14:49:52 +02:00
Denys Vlasenko
3dfe0ae5a8
libbb: make syslog level for bb_error_msg's configurable. use it in crond
...
function old new delta
bb_verror_msg 380 386 +6
syslog_level - 1 +1
crondlog 165 108 -57
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-04-30 14:48:28 +02:00
Denys Vlasenko
01a1a967c9
crond: tweak help text, make course less cryptic
...
function old new delta
packed_usage 29736 29740 +4
crond_main 1485 1486 +1
load_crontab 712 706 -6
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-04-30 14:47:28 +02:00
Denys Vlasenko
07e5555a8f
modprobe-small: (un)load all modules which match the alias, not only first one
...
Closes 627 and 7034.
Commonly seen case is (un)loading of an alias
which matches ata_generic and a more specific ata module.
For example:
modprobe [-r] pci:v00008086d00007010sv00000000sd00000000bc01sc01i80
(ata_generic and pata_acpi)
modprobe [-r] pci:v00001106d00000571sv00001509sd00009022bc01sc01i8a
(ata_generic and pata_via)
function old new delta
process_module 615 728 +113
parse_module 309 395 +86
find_alias 621 653 +32
pathname_matches_modname 78 79 +1
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/0 up/down: 232/0) Total: 232 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-04-21 16:59:36 +02:00
Denys Vlasenko
5a21c8550e
ntpd: fix wrong delay value in one of the printed messages
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-04-20 13:04:23 +02:00
Denys Vlasenko
d531f93f64
ntpd: truly ignore high delay packet
...
Before this cahnge, sometimes they were used after the next packet
from another peer was received, because we did updare some peer stats
from high delay packet before dropping it.
function old new delta
recv_and_process_peer_pkt 922 966 +44
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2014-04-19 19:00:16 +02:00