Denys Vlasenko
259b3c047a
sed: open input files sequentially to avoid EMFILE
...
Currently, sed pre-opens all files, which may cause EMFILE errors
on systems with low ulimit -n. Change sed to open one file at a time.
function old new delta
get_next_line 177 235 +58
sed_main 682 652 -30
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 58/-30) Total: 28 bytes
Based on the patch by Daniel Borca <dborca@yahoo.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-11-28 03:14:16 +01:00
Denys Vlasenko
cffe28ef87
libbb: add sketch of tentative 'better' passwd/group API
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-11-26 13:46:18 +01:00
Denys Vlasenko
8b59b2c13e
libbb: move nuke_str() from passwd into libbb
...
function old new delta
nuke_str - 15 +15
ask_and_check_password_extended 215 206 -9
init_main 781 771 -10
nuke_str 27 - -27
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 0/2 up/down: 15/-46) Total: -31 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-11-19 13:36:45 +01:00
Denys Vlasenko
6ef7729112
comment tweak
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-11-19 13:16:44 +01:00
Denys Vlasenko
9c1c605b1a
sulogin: use common password-checking routine.
...
This needed some extensions correct_passwd() function,
which got renamed ask_and_check_password() to better describe what it does.
function old new delta
ask_and_check_password_extended - 215 +215
ask_and_check_password - 12 +12
vlock_main 394 397 +3
sulogin_main 494 326 -168
correct_password 207 - -207
------------------------------------------------------------------------------
(add/remove: 2/1 grow/shrink: 1/1 up/down: 230/-375) Total: -145 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-11-19 13:09:06 +01:00
Ryan Mallon
5906a5c26c
libbb: Add xsetegid(), xseteuid(), xopen_as_uid_gid() functions
...
Signed-off-by: Ryan Mallon <rmallon@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-10-08 14:52:49 +02:00
Denys Vlasenko
a407cf74cc
Make smart_ulltoa return pointer to end (allows for code shink in callers)
...
function old new delta
smart_ulltoa5 405 408 +3
smart_ulltoa4 273 276 +3
list_table 1113 1114 +1
scale 36 34 -2
put_lu 55 53 -2
ulltoa6_and_space 19 14 -5
powertop_main 1470 1461 -9
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-09-06 12:53:14 +02:00
Denys Vlasenko
1b9ac21166
lineedit: use unicode_strwidth instead of unicode_strlen
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-20 16:13:05 +02:00
Denys Vlasenko
e66a56de23
lineedit: fix multi-line PS1 handling: calculate PS1 length from last \n
...
function old new delta
parse_and_put_prompt 755 774 +19
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-19 16:45:04 +02:00
Denys Vlasenko
7a18043a96
lineedit: improve Unicode handling (still buggy though)
...
function old new delta
unicode_strlen - 31 +31
read_line_input 3876 3879 +3
lineedit_read_key 255 246 -9
parse_and_put_prompt 785 755 -30
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/2 up/down: 34/-39) Total: -5 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-19 16:44:05 +02:00
Denys Vlasenko
543efd7b4b
libbb: code shrink
...
function old new delta
xmalloc_ttyname 46 42 -4
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-06 00:41:06 +02:00
Denys Vlasenko
982e87f2fb
Whitespace fixes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-07-30 11:52:58 +02:00
Bartosz Golaszewski
79c618c411
Refactor catv. Move visible() from stty to libbb.
...
Fixes the following TODO:
stty's visible() function and catv's guts are identical. Merge them into
an appropriate libbb function.
Also makes catv behave exactly like coreutils' cat -v e.g. it'll print 'M-^I'
instead of 'M- '.
function old new delta
visible - 70 +70
do_display 431 379 -52
catv_main 306 250 -56
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/2 up/down: 70/-108) Total: -38 bytes
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-07-30 06:29:42 +02:00
Bartosz Golaszewski
688a7e3f04
date: accept 'yyyy-mm-dd HH' and 'yyyy-mm-dd' date formats
...
function old new delta
parse_datestr 794 885 +91
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-07-25 05:10:01 +02:00
Bartosz Golaszewski
c19be75d57
networking: code shrink
...
function old new delta
in_ether - 124 +124
hexchar2int 42 - -42
ifconfig_main 1237 1106 -131
ether_input 141 - -141
------------------------------------------------------------------------------
(add/remove: 2/2 grow/shrink: 0/1 up/down: 124/-314) Total: -190 bytes
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-07-25 04:39:04 +02:00
Denys Vlasenko
c72b43c2f0
Commonalize typical [b,]k,m suffix struct
...
function old new delta
bkm_suffixes - 32 +32
static.km_suffixes 24 - -24
suffixes 32 - -32
static.bkm 32 - -32
head_tail_suffixes 32 - -32
------------------------------------------------------------------------------
(add/remove: 2/6 grow/shrink: 0/0 up/down: 72/-160) Total: -88 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-07-13 23:49:45 +02:00
Denys Vlasenko
d8f6d8c627
Call setlocale("") , not "C", if we want to set the default one
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-07-07 14:41:58 +02:00
Denys Vlasenko
2301d127a2
unicode: check $LC_CTYPE too to detect Unicode mode
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-07-05 22:00:57 +02:00
Denys Vlasenko
3e7ecb179b
unicode: check $LC_ALL to detect Unicode mode, not only $LANG
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-07-02 17:30:23 +02:00
Denys Vlasenko
59f46676a9
Move create_icmp[6]_socket to its only user, and simplify it
...
function old new delta
run_applet_and_exit 711 714 +3
sendping_tail 239 236 -3
common_ping_main 1798 1770 -28
create_icmp_socket 65 - -65
create_icmp6_socket 65 - -65
------------------------------------------------------------------------------
(add/remove: 0/4 grow/shrink: 1/2 up/down: 3/-161) Total: -158 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-06-28 00:30:46 +02:00
Denys Vlasenko
1f5e81f8f8
md5/sha512: a better fix for strict aliasing warnings
...
The locations *are* well-aligned for direct stores
on any architecture.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-06-27 01:03:19 +02:00
Mike Frysinger
f6205c6ab7
md5/sha512: fix strict aliasing warnings
...
If the target can tolerate these issues, then gcc is smart enough
to generate the same code (x86_64 produces the same code). If the
target can't, then it needs the memcpy anyways.
libbb/hash_md5_sha.c: In function 'common64_end':
libbb/hash_md5_sha.c:87:4: warning:
dereferencing type-punned pointer will break strict-aliasing rules
*(uint64_t *) (&ctx->wbuffer[64 - 8]) = t;
libbb/hash_md5_sha.c: In function 'sha512_end':
libbb/hash_md5_sha.c:886:4: warning:
dereferencing type-punned pointer will break strict-aliasing rules
*(uint64_t *) (&ctx->wbuffer[128 - 8]) = t;
libbb/hash_md5_sha.c:889:4: warning:
dereferencing type-punned pointer will break strict-aliasing rules
*(uint64_t *) (&ctx->wbuffer[128 - 16]) = t;
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-06-19 11:49:15 -04:00
Jonathan Liu
b6dc13c2d3
sulogin: allow system maintenance login if root password is empty
...
The current password checking is unable to distinguish between the user
entering an empty password or pressing Control-D. As a result, an empty
password always results in normal startup.
We modify bb_ask to return NULL if Control-D is pressed without entering
a password. The sulogin applet is then modified to only proceed to
normal startup if bb_ask returns NULL. This covers EOF with no password,
interrupt by timeout and ^C.
Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-05-21 17:01:55 +02:00
Flemming Madsen
d96ffda62e
ash,hush: history builtin
...
function old new delta
show_history - 39 +39
builtin_history - 16 +16
historycmd - 13 +13
bltins1 312 324 +12
builtintab 336 344 +8
popstring 134 140 +6
hush_main 1048 1046 -2
ash_main 1398 1396 -2
size_from_HISTFILESIZE 44 40 -4
------------------------------------------------------------------------------
(add/remove: 3/0 grow/shrink: 3/3 up/down: 94/-8) Total: 86 bytes
Signed-off-by: Flemming Madsen <busybox@themadsens.dk>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-04-07 18:47:24 +02:00
Denys Vlasenko
8172d054db
lineedit: \W on "/bin" should show "bin", not "/bin"
...
function old new delta
parse_and_put_prompt 793 785 -8
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-03-29 13:21:53 +01:00
Denys Vlasenko
1d14569a66
lineedit: implement \T \t \A \@ prompts escapes, fix \W escape, drop \!
...
function old new delta
parse_and_put_prompt 742 793 +51
read_line_input 3836 3826 -10
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-03-29 13:10:23 +01:00
Denys Vlasenko
8f2cb7ab26
libbb: introduce and use strftime_[YYYYMMDD]HHMMSS()
...
function old new delta
strftime_fmt - 53 +53
strftime_YYYYMMDDHHMMSS - 12 +12
strftime_HHMMSS - 12 +12
human_time 44 43 -1
fmtstr_t 9 - -9
step_time 361 345 -16
watch_main 261 232 -29
------------------------------------------------------------------------------
(add/remove: 3/1 grow/shrink: 0/3 up/down: 77/-55) Total: 22 bytes
text data bss dec hex filename
919203 932 17692 937827 e4f63 busybox_old
919209 932 17692 937833 e4f69 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-03-29 12:30:33 +01:00
Denys Vlasenko
6c852bfcad
lineedit: add handling of \H in prompt
...
Based on the patch by Arnaud Rébillout <rebillout@syscom.ch>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-03-28 13:20:12 +01:00
Denys Vlasenko
ef6747e290
hexdump: don't unconditionally limit the usable address range
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-03-27 15:15:33 +01:00
Mike Frysinger
af9e70b8cb
readlink: uClibc supports automatic allocation too now
...
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-03-12 11:14:24 -04:00
Denys Vlasenko
efd0698f74
make --help return exitcode 0. Closes 5612
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-28 12:34:18 +01:00
Shawn J. Goff
46031da862
lineedit: initialize delptr
...
In vi mode, the 'p' and 'P' commands caused a segfault when nothing had
been put in the buffer yet because the delptr was not initialized.
Signed-off-by: Shawn J. Goff <shawn7400@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-27 18:30:05 +01:00
Denys Vlasenko
1961aea305
move endofname() to libbb
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-26 00:36:53 +01:00
Denys Vlasenko
272d85cc85
vasprintf: return -1 on strdup failure
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-10 23:03:38 +01:00
Denys Vlasenko
b5fc51198b
vasprintf: do not use xmalloc, it will deadlock on OOM
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-07 16:06:54 +01:00
Denys Vlasenko
2cfcc9e9d7
sha3: code shrink
...
function old new delta
sha3_hash 155 101 -54
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-01-20 00:38:09 +01:00
Denys Vlasenko
5d78355d5a
code shrink
...
function old new delta
applet_name_compare 36 31 -5
find_applet_by_name 43 25 -18
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-01-17 11:02:43 +01:00
Denys Vlasenko
e4f0f26bad
sha3: s/sha3_process_block76/sha3_process_block72/
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-01-16 12:23:23 +01:00
Denys Vlasenko
5368fe541c
sha3: rename KeccakF->sha3_process_block76.
...
This brings the naming more in line with other hashes.
Pulled most statics and constants into it.
Also noticed that two byte arrays are 1 element too big.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-01-16 02:20:31 +01:00
Denys Vlasenko
970aa6b5bd
sha3: cache ctx->bytes_queued
...
function old new delta
sha3_hash 171 155 -16
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-01-15 22:19:24 +01:00
Denys Vlasenko
8fb3ab528e
sha3: remove two "small code" codepaths: I can't reproduce code size win on them anymore
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-01-15 22:07:48 +01:00
Denys Vlasenko
8e7312e12f
sha3: tweak choice of a fast code path for 64-bit
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-01-15 21:50:41 +01:00
Denys Vlasenko
5b7f50f372
sha3: cosmetic tweaks to various names, comments. No logic changes.
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-01-15 19:52:30 +01:00
Denys Vlasenko
ac4100e103
sha3: code shrink
...
function old new delta
KeccakF 1053 1078 +25
KeccakF_RoundConstants 192 48 -144
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-01-15 16:27:39 +01:00
Denys Vlasenko
a55df27936
sha3: code shrink
...
function old new delta
KeccakF 1064 1053 -11
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-01-15 15:22:30 +01:00
Denys Vlasenko
07a54e21dd
sha3: another speedup for SHA3_SMALL=0 case
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-01-15 14:47:05 +01:00
Denys Vlasenko
6830ade6aa
whitespace fixes. no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-01-15 13:58:01 +01:00
Denys Vlasenko
30a8652fbf
sha3: make size/speed optimization decision configurable
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-01-15 01:12:26 +01:00
Denys Vlasenko
60cb48ca50
whitespace cleanup. no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-01-14 15:57:44 +01:00
Lauri Kasanen
b8173b603f
sha3sum: new applet
...
function old new delta
KeccakF - 496 +496
KeccakF_RoundConstants - 192 +192
sha3_hash - 171 +171
sha3_end - 40 +40
hash_file 274 299 +25
KeccakF_RotationConstants - 25 +25
KeccakF_PiLane - 25 +25
packed_usage 29213 29232 +19
sha3_begin - 18 +18
KeccakF_Mod5 - 10 +10
applet_names 2445 2453 +8
applet_main 1420 1424 +4
applet_nameofs 710 712 +2
------------------------------------------------------------------------------
(add/remove: 8/0 grow/shrink: 9/7 up/down: 1049/-54) Total: ~995 bytes
Signed-off-by: Lauri Kasanen <curaga@operamail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-01-14 05:20:50 +01:00