oweals/busybox.git
11 years agotail: track file size only in -f mode
Denys Vlasenko [Tue, 2 Jul 2013 18:09:15 +0000 (20:09 +0200)]
tail: track file size only in -f mode

This eliminates extra fstat and lseek calls on every read

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agofoo*sum: report I/O errors, don't merely exit with 1.
Denys Vlasenko [Tue, 2 Jul 2013 17:11:01 +0000 (19:11 +0200)]
foo*sum: report I/O errors, don't merely exit with 1.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agounicode: check $LC_ALL to detect Unicode mode, not only $LANG
Denys Vlasenko [Tue, 2 Jul 2013 15:30:23 +0000 (17:30 +0200)]
unicode: check $LC_ALL to detect Unicode mode, not only $LANG

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agowget: do not abort if "_" is encountered in a HTTP header
Denys Vlasenko [Mon, 1 Jul 2013 13:01:50 +0000 (15:01 +0200)]
wget: do not abort if "_" is encountered in a HTTP header

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agocryptpw: do not segfault on EOF. Closes 6350
Denys Vlasenko [Sun, 30 Jun 2013 19:28:55 +0000 (21:28 +0200)]
cryptpw: do not segfault on EOF. Closes 6350

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years ago*: change execl sentinels from NULL to (char*)0
Rich Felker [Sun, 30 Jun 2013 11:45:17 +0000 (13:45 +0200)]
*: change execl sentinels from NULL to (char*)0

Signed-off-by: Rich Felker <dalias@aerifal.cx>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoubi_tools: enhance -s option to allow size multiplier to match mtd-utils
Denys Vlasenko [Sun, 30 Jun 2013 00:47:45 +0000 (02:47 +0200)]
ubi_tools: enhance -s option to allow size multiplier to match mtd-utils

Based on patch by Paul B. Henson <henson@acm.org>

function                                             old     new   delta
static.size_suffixes                                   -      32     +32
ubi_tools_main                                      1141    1148      +7

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoubi_tools: add forgotten argv++
Denys Vlasenko [Sun, 30 Jun 2013 00:46:44 +0000 (02:46 +0200)]
ubi_tools: add forgotten argv++

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoubi_tools: extend supported volume size to 64 bits; shrink code
Denys Vlasenko [Sun, 30 Jun 2013 00:38:18 +0000 (02:38 +0200)]
ubi_tools: extend supported volume size to 64 bits; shrink code

function                                             old     new   delta
get_num_from_file                                      -      90     +90
packed_usage                                       29395   29377     -18
ubi_tools_main                                      1349    1141    -208
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/2 up/down: 90/-226)          Total: -136 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoubimkvol: add -m option to create volume of maximum size
Paul B. Henson [Mon, 3 Jun 2013 00:48:05 +0000 (17:48 -0700)]
ubimkvol: add -m option to create volume of maximum size

Signed-off-by: Paul B. Henson <henson@acm.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agopstree: fix theoretically unsafe code
Denys Vlasenko [Thu, 27 Jun 2013 23:59:25 +0000 (01:59 +0200)]
pstree: fix theoretically unsafe code

In practice, p->comm is never long enough to trigger the bug, but still.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoping: code shrink
Denys Vlasenko [Thu, 27 Jun 2013 23:33:47 +0000 (01:33 +0200)]
ping: code shrink

function                                             old     new   delta
unpack_tail                                          262     243     -19

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoMove create_icmp[6]_socket to its only user, and simplify it
Denys Vlasenko [Thu, 27 Jun 2013 22:30:46 +0000 (00:30 +0200)]
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>
11 years agolosetup: assorted fixes. Closes 6314
Denys Vlasenko [Thu, 27 Jun 2013 01:45:16 +0000 (03:45 +0200)]
losetup: assorted fixes. Closes 6314

"losetup -d" was not complaining that LOOPDEV is missing.
"losetup -a" was listing only up to /dev/loop9.
"losetup -f" looped forever if llop0 was taken, and never tried
anything after /dev/loop9.
"-o" with other options (say, -r) had no effect.

function                                             old     new   delta
losetup_main                                         376     419     +43

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agolsof: correct check for symbolic link
Thomas De Schampheleire [Fri, 21 Jun 2013 19:27:56 +0000 (21:27 +0200)]
lsof: correct check for symbolic link

Busybox lsof used the d_type field of a 'struct dirent' to verify whether the
entry is a symbolic link. This field, however, is not portable. On at least
one board [1] I have seen, that field is 0, and the check fails even though
the entry is a link.

The explicit check for a symbolic link is really only needed to skip the
default directory entries '.' and '..'. The directory /proc/<pid>/fd/
should not contain anything else but these two and symbolic links.
With these assumptions, this patch replaces the explicit link check with a
basic check for '.' and '..' (and any hidden file). In the unlikely case that
there are other file types, xmalloc_readlink() will return NULL, and we can
skip the entry.

[1] A MIPS-based board with glibc 2.9, Linux 2.6.32.27.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agonslookup: set default DNS server again. Hopefully helps with 675
Denys Vlasenko [Wed, 26 Jun 2013 23:09:51 +0000 (01:09 +0200)]
nslookup: set default DNS server again. Hopefully helps with 675

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agomd5/sha512: a better fix for strict aliasing warnings
Denys Vlasenko [Wed, 26 Jun 2013 23:03:19 +0000 (01:03 +0200)]
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>
11 years agomd5/sha512: fix strict aliasing warnings
Mike Frysinger [Wed, 19 Jun 2013 15:45:05 +0000 (11:45 -0400)]
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>
11 years agopstree: stop truncating thread names
Mike Frysinger [Wed, 19 Jun 2013 15:29:57 +0000 (11:29 -0400)]
pstree: stop truncating thread names

This also fixes a minor buffer overflow when displaying threads as
add_proc() only expects COMM_LEN bytes, but we give it one more than
that.

Reported-by: Dag Wieers <dag@wieers.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
11 years agontpd: set offset to 0.0 in "usync" event
Denys Vlasenko [Thu, 23 May 2013 14:06:59 +0000 (16:06 +0200)]
ntpd: set offset to 0.0 in "usync" event

function                                             old     new   delta
ntpd_main                                           1030    1026      -4

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agontpd: set G.last_script_run even if script isn't configured
Denys Vlasenko [Wed, 22 May 2013 16:18:51 +0000 (18:18 +0200)]
ntpd: set G.last_script_run even if script isn't configured

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agontpd: make "unsync" code actually work.
Denys Vlasenko [Wed, 22 May 2013 16:16:34 +0000 (18:16 +0200)]
ntpd: make "unsync" code actually work.

While at it: don't run "periodic" if interrupted by a signal.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agontpd: drop delay outliers; run "unsync" handler if no replies for some time
Denys Vlasenko [Wed, 22 May 2013 15:48:19 +0000 (17:48 +0200)]
ntpd: drop delay outliers; run "unsync" handler if no replies for some time

function                                             old     new   delta
ntpd_main                                            960    1029     +69
recv_and_process_peer_pkt                            834     892     +58
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 127/0)             Total: 127 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agosulogin: allow system maintenance login if root password is empty
Jonathan Liu [Tue, 21 May 2013 15:01:55 +0000 (17:01 +0200)]
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>
11 years agosulogin: correct lying comment
Denys Vlasenko [Tue, 21 May 2013 14:47:36 +0000 (16:47 +0200)]
sulogin: correct lying comment

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoinit: remove special-case code for machines with less tham 1 MB of RAM.
Denys Vlasenko [Tue, 21 May 2013 14:36:51 +0000 (16:36 +0200)]
init: remove special-case code for machines with less tham 1 MB of RAM.

function                                             old     new   delta
init_main                                            920     781    -139

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agostty: disable CIBAUD leak check - it is not necessary on Linux
Denys Vlasenko [Fri, 17 May 2013 18:08:12 +0000 (20:08 +0200)]
stty: disable CIBAUD leak check - it is not necessary on Linux

function                                             old     new   delta
stty_main                                           1233    1196     -37

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agostty: code shrink
Denys Vlasenko [Fri, 17 May 2013 16:06:49 +0000 (18:06 +0200)]
stty: code shrink

function                                             old     new   delta
set_mode                                             759     725     -34

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoudhcp: code shrink
Denys Vlasenko [Fri, 17 May 2013 13:19:47 +0000 (15:19 +0200)]
udhcp: code shrink

function                                             old     new   delta
attach_option                                        416     413      -3
allocate_tempopt_if_needed                            74       -     -74

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoudhcpc: fix a problem with binary-encoded options #2
Denys Vlasenko [Fri, 17 May 2013 13:13:38 +0000 (15:13 +0200)]
udhcpc: fix a problem with binary-encoded options #2

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agofind:: get rid of nested function (it's a gcc-ism)
Denys Vlasenko [Thu, 16 May 2013 16:36:42 +0000 (18:36 +0200)]
find:: get rid of nested function (it's a gcc-ism)

function                                             old     new   delta
alloc_action                                           -      80     +80
parse_params                                        1459    1445     -14
static.alloc_action                                   98       -     -98
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 0/1 up/down: 80/-112)           Total: -32 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agogrep: fix grep -x to not set REG_NOSUB
James Hogan [Tue, 7 May 2013 11:32:21 +0000 (12:32 +0100)]
grep: fix grep -x to not set REG_NOSUB

When -F isn't specified (and !ENABLE_EXTRA_COMPAT), grep -x uses
regexec's regmatch_t output to determine if the match was the entire
line. However it also set the REG_NOSUB flag which makes it ignore the
regmatch_t argument.

Add an exception to the setting of REG_NOSUB for OPT_x and add some test
cases to test the behaviour of -x.

Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: Natanael Copa <ncopa@alpinelinux.org>
Cc: Denys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agovolume_id_internal.h: drop unoptimized byteswap routines
Denys Vlasenko [Wed, 15 May 2013 07:36:40 +0000 (09:36 +0200)]
volume_id_internal.h: drop unoptimized byteswap routines

function                                             old     new   delta
volume_id_probe_hfs_hfsplus                          802     627    -175

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agogrep: don't bail out on first mismatch if '-w' option is set
Bartosz Golaszewski [Wed, 15 May 2013 01:53:26 +0000 (03:53 +0200)]
grep: don't bail out on first mismatch if '-w' option is set

Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoFix build failures caused by not compiling open_transformer.c (#2)
Denys Vlasenko [Wed, 15 May 2013 01:23:30 +0000 (03:23 +0200)]
Fix build failures caused by not compiling open_transformer.c (#2)

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agofind: support -HLP
Denys Vlasenko [Tue, 14 May 2013 15:20:35 +0000 (17:20 +0200)]
find: support -HLP

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agomdev: use $DEVNAME in uevent sysfs file for device node name
Nikolaus Voss [Mon, 13 May 2013 01:55:11 +0000 (03:55 +0200)]
mdev: use $DEVNAME in uevent sysfs file for device node name

516530c932bd17d87c9eb4347a490be051e495f4 uses $DEVNAME variable
for device node name. This is fine, but only works for hotplugging,
"mdev -s" will behave differently when DEVNAME and basename(path)
differ.

This patch extracts the DEVNAME from the uevent sysfs file in
make_device(), thus works for hot- and coldplugging; so using
the environment DEVNAME on hotplug events is no longer necessary.

Signed-off-by: Nikolaus Voss <n.voss@weinmann.de>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agohush: fix build failure if FEATURE_EDITING=y && !HUSH_INTERACTIVE
Denys Vlasenko [Sun, 12 May 2013 00:45:23 +0000 (02:45 +0200)]
hush: fix build failure if FEATURE_EDITING=y && !HUSH_INTERACTIVE

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoFix build failures caused by not compiling open_transformer.c
Denys Vlasenko [Sun, 12 May 2013 00:34:38 +0000 (02:34 +0200)]
Fix build failures caused by not compiling open_transformer.c

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agotelnet: code shrink
Denys Vlasenko [Sun, 12 May 2013 00:13:24 +0000 (02:13 +0200)]
telnet: code shrink

function                                             old     new   delta
telnet_main                                         1519    1515      -4
con_escape                                           296     285     -11

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agovolume_id: fix ntfs attribute search
Oliver Metz [Wed, 8 May 2013 18:21:29 +0000 (20:21 +0200)]
volume_id: fix ntfs attribute search

len is declared as uint32_t but le16_to_cpu macro is used

Signed-off-by: Oliver Metz <oliver.metz@gmx.de>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agovi: make regexp search case-insensitive if ":set ignorecase" is active
Denys Vlasenko [Sun, 21 Apr 2013 13:51:41 +0000 (15:51 +0200)]
vi: make regexp search case-insensitive if ":set ignorecase" is active

Reported by Dan Moinescu <dan@moinescu.net>.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoash,hush: history builtin
Flemming Madsen [Sun, 7 Apr 2013 16:47:24 +0000 (18:47 +0200)]
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>
11 years agohush: fix for "while false && true; do echo BUG; break; done". closes 6170
Denys Vlasenko [Sun, 7 Apr 2013 16:16:58 +0000 (18:16 +0200)]
hush: fix for "while false && true; do echo BUG; break; done". closes 6170

function                                             old     new   delta
run_list                                             959     941     -18

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agomdev: call index_in_strings on $ACTION only after we checked it for NULL
Denys Vlasenko [Tue, 2 Apr 2013 12:37:06 +0000 (14:37 +0200)]
mdev: call index_in_strings on $ACTION only after we checked it for NULL

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoexamples/mdev.conf.change_blockdev.sh: update
Denys Vlasenko [Tue, 2 Apr 2013 11:26:24 +0000 (13:26 +0200)]
examples/mdev.conf.change_blockdev.sh: update

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoexamples: add mdev example for Android phone
Denys Vlasenko [Sat, 30 Mar 2013 15:23:12 +0000 (16:23 +0100)]
examples: add mdev example for Android phone

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoexamples/inittab: fix a few incorrect statements about init
Denys Vlasenko [Fri, 29 Mar 2013 13:35:44 +0000 (14:35 +0100)]
examples/inittab: fix a few incorrect statements about init

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agolineedit: \W on "/bin" should show "bin", not "/bin"
Denys Vlasenko [Fri, 29 Mar 2013 12:21:53 +0000 (13:21 +0100)]
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>
11 years agolineedit: implement \T \t \A \@ prompts escapes, fix \W escape, drop \!
Denys Vlasenko [Fri, 29 Mar 2013 12:09:05 +0000 (13:09 +0100)]
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>
11 years agolibbb: introduce and use strftime_[YYYYMMDD]HHMMSS()
Denys Vlasenko [Fri, 29 Mar 2013 11:30:33 +0000 (12:30 +0100)]
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>
11 years agolineedit: add handling of \H in prompt
Denys Vlasenko [Thu, 28 Mar 2013 12:20:12 +0000 (13:20 +0100)]
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>
11 years agohexdump: need to use xstrtoull for off_t
Denys Vlasenko [Wed, 27 Mar 2013 14:18:32 +0000 (15:18 +0100)]
hexdump: need to use xstrtoull for off_t

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agohexdump: don't unconditionally limit the usable address range
Denys Vlasenko [Wed, 27 Mar 2013 14:15:33 +0000 (15:15 +0100)]
hexdump: don't unconditionally limit the usable address range

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoman: install to /usr/bin, not /sbin
Denys Vlasenko [Wed, 27 Mar 2013 13:30:18 +0000 (14:30 +0100)]
man: install to /usr/bin, not /sbin

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agohttpd: don't allow tabs and multiple spaces in request string
Denys Vlasenko [Mon, 25 Mar 2013 22:27:00 +0000 (23:27 +0100)]
httpd: don't allow tabs and multiple spaces in request string

HTTP standard doesn't allow it and no sane clients should ever use it.

function                                             old     new   delta
handle_incoming_and_exit                            2795    2785     -10

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agosetserial: Fix typo: s/baund_rate/baud_rate/g
Bernhard Reutner-Fischer [Fri, 22 Mar 2013 16:04:51 +0000 (17:04 +0100)]
setserial: Fix typo: s/baund_rate/baud_rate/g

as noted by Christoph Handel opensource at macht-blau.org

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
11 years agosendmail: code shrink on top of previous patches
Denys Vlasenko [Mon, 18 Mar 2013 17:47:16 +0000 (18:47 +0100)]
sendmail: code shrink on top of previous patches

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agosendmail: don't add multiple To: headers
Aaro Koskinen [Sun, 24 Feb 2013 22:45:12 +0000 (00:45 +0200)]
sendmail: don't add multiple To: headers

When adding To: header, add only a single header. If there are multiple
addresses, make it multiline.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agosendmail: don't add To: header if it already exists
Aaro Koskinen [Sun, 24 Feb 2013 22:45:11 +0000 (00:45 +0200)]
sendmail: don't add To: header if it already exists

If the message we are sending already has To: header, don't add a new one.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agosendmail: support long header fields for recipients
Aaro Koskinen [Sun, 24 Feb 2013 22:45:10 +0000 (00:45 +0200)]
sendmail: support long header fields for recipients

Support long header fields in To:, Cc: and Bcc: headers.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agosendmail: support address lists
Aaro Koskinen [Sun, 24 Feb 2013 22:45:09 +0000 (00:45 +0200)]
sendmail: support address lists

Headers To:, Cc: and Bcc: may have a list of comma-separated
addresses. Add support for that. Commas inside double quotes are ignored.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agosendmail: support addresses inside angle brackets
Aaro Koskinen [Sun, 24 Feb 2013 22:45:08 +0000 (00:45 +0200)]
sendmail: support addresses inside angle brackets

When we extract addresses from the e-mail, try to first check for an
address inside angle brackets.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agosendmail: don't mangle e-mail headers
Aaro Koskinen [Sun, 24 Feb 2013 22:45:07 +0000 (00:45 +0200)]
sendmail: don't mangle e-mail headers

Leave the original To: and Cc: headers untouched, when we try to extract
addresses from them.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agosendmail: avoid sending mail to wrong addresses
Aaro Koskinen [Sun, 24 Feb 2013 22:45:06 +0000 (00:45 +0200)]
sendmail: avoid sending mail to wrong addresses

If we get an address we cannot parse properly, we currently just strip
the unknown characters and still try to send it. This is considered
harmful as the resulting address may still be valid but different from
what the user originally intended.

Instead, skip sending to an address we cannot fully understand and
print the characters what we have scanned so far. Leading and trailing
whitespace is allowed and silently stripped.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agomkfs_minix: use get_volume_size_in_bytes instead of local version
Denys Vlasenko [Mon, 18 Mar 2013 01:26:58 +0000 (02:26 +0100)]
mkfs_minix: use get_volume_size_in_bytes instead of local version

Hopefully this also closes 4730

function                                             old     new   delta
valid_offset                                          55       -     -55
mkfs_minix_main                                     2925    2674    -251
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 0/1 up/down: 0/-306)           Total: -306 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agomdev: fix build failure
Denys Vlasenko [Sun, 17 Mar 2013 22:01:17 +0000 (23:01 +0100)]
mdev: fix build failure

The error was "error: 'struct globals' has no member named 'parser'"

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agonc: fix build failure ("subscripted value is neither array nor pointer")
Denys Vlasenko [Sun, 17 Mar 2013 21:59:51 +0000 (22:59 +0100)]
nc: fix build failure ("subscripted value is neither array nor pointer")

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoash: add comment about failures in source builtin. No code changes.
Denys Vlasenko [Sun, 17 Mar 2013 13:25:22 +0000 (14:25 +0100)]
ash: add comment about failures in source builtin. No code changes.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agohush: source builtin should override $N only if it has args
Denys Vlasenko [Sun, 17 Mar 2013 13:11:04 +0000 (14:11 +0100)]
hush: source builtin should override $N only if it has args

function                                             old     new   delta
builtin_source                                       174     184     +10

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoash: read $HOME/.profile instead of $(pwd)/.profile
Stefan Hellermann [Fri, 15 Mar 2013 01:45:50 +0000 (02:45 +0100)]
ash: read $HOME/.profile instead of $(pwd)/.profile

ash --login should read ~/.profile instead of .profile in the current
directory. I noticed it while trying to figure out why /root/.profile
is only read sometimes.

function                                             old     new   delta
ash_main                                            1374    1398     +24

Signed-off-by: Stefan Hellermann <stefan@the2masters.de>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoash: move code to allow setting $HOME in /etc/profile
Stefan Hellermann [Sun, 3 Mar 2013 14:29:32 +0000 (15:29 +0100)]
ash: move code to allow setting $HOME in /etc/profile

move HISTFILE=$HOME/.ash_history below reading /etc/profile,
so that /etc/profile can set $HOME. HOME can be unset when
directly invoking ash --login from init without going through
getty.

Signed-off-by: Stefan Hellermann <stefan@the2masters.de>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agovi: code shrink
Denys Vlasenko [Fri, 15 Mar 2013 01:17:29 +0000 (02:17 +0100)]
vi: code shrink

function                                             old     new   delta
status_line_bold_errno                                 -      32     +32
colon                                               2891    2873     -18
file_insert                                          354     313     -41
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/2 up/down: 32/-59)            Total: -27 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agovi: fix adjustment of buffer on partial file read
Ron Yorston [Thu, 7 Mar 2013 20:37:23 +0000 (20:37 +0000)]
vi: fix adjustment of buffer on partial file read

The second argument to text_hole_delete was incorrect: it should
be a pointer to the end of the hole.

Signed-off-by: Ron Yorston <rmy@tigress.co.uk>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agosysklogd: trim help text
Denys Vlasenko [Fri, 15 Mar 2013 00:50:35 +0000 (01:50 +0100)]
sysklogd: trim help text

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agotraceroute: free some memory allocated by xzalloc()
Guilherme Maciel Ferreira [Fri, 8 Mar 2013 19:50:51 +0000 (16:50 -0300)]
traceroute: free some memory allocated by xzalloc()

Signed-off-by: Guilherme Maciel Ferreira <guilherme.maciel.ferreira@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoflash_eraseall: implement -N
Alexander Shiyan [Thu, 14 Mar 2013 23:42:39 +0000 (00:42 +0100)]
flash_eraseall: implement -N

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agonanddump: fix build if nandwrite isn't enabled
Alexander Shiyan [Thu, 14 Mar 2013 23:27:41 +0000 (00:27 +0100)]
nanddump: fix build if nandwrite isn't enabled

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoping[6]: accept and ignore -n. Code shrink
Denys Vlasenko [Thu, 14 Mar 2013 23:11:35 +0000 (00:11 +0100)]
ping[6]: accept and ignore -n. Code shrink

function                                             old     new   delta
print_stats_and_exit                                 270     232     -38

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoudhcpd: also add -I ADDR to help text
Denys Vlasenko [Thu, 14 Mar 2013 01:18:52 +0000 (02:18 +0100)]
udhcpd: also add -I ADDR to help text

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoudhcpd: add -I LOCAL_ADDR option
Denys Vlasenko [Wed, 13 Mar 2013 21:27:37 +0000 (22:27 +0100)]
udhcpd: add -I LOCAL_ADDR option

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoawk: Fix handling of functions with empty body
Bernhard Reutner-Fischer [Wed, 6 Mar 2013 20:01:05 +0000 (21:01 +0100)]
awk: Fix handling of functions with empty body

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
11 years agolosetup: fix util-linux compatibility
Mandeep Singh Baines [Tue, 5 Mar 2013 00:33:12 +0000 (16:33 -0800)]
losetup: fix util-linux compatibility

Added -a support. Also made sure -f works as follows:

losetup [-r] [-o offset] {-f|loopdev} file

Removed support for 'losetup -r' with no arguments.

Signed-off-by: Mandeep Singh Baines <msb@chromium.org>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
11 years agoreadlink: note that our -f is really -e
Mike Frysinger [Tue, 12 Mar 2013 15:38:03 +0000 (11:38 -0400)]
readlink: note that our -f is really -e

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
11 years agoreadlink: uClibc supports automatic allocation too now
Mike Frysinger [Tue, 12 Mar 2013 15:14:24 +0000 (11:14 -0400)]
readlink: uClibc supports automatic allocation too now

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
11 years agoplatform: use KERNEL_VERSION to simplify uClibc version checking
Mike Frysinger [Tue, 12 Mar 2013 15:13:22 +0000 (11:13 -0400)]
platform: use KERNEL_VERSION to simplify uClibc version checking

This makes reading the logic (as well as adding new code) a lot simpler,
and fixes one or two cases that were broken due to incorrect sub-version
tests.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
11 years agoudhcpc: use readlink rather than realpath
Mike Frysinger [Tue, 12 Mar 2013 14:48:09 +0000 (10:48 -0400)]
udhcpc: use readlink rather than realpath

The realpath utility requires all paths exist when canonicalizing
symlinks.  If /etc/resolv.conf points to a tmpfs, then it might
not exist initially.  Use `readlink -f` so that we follow all
symlinks that are available.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
11 years agohostid: do not output sign-extended host id. Closes 6056
Denys Vlasenko [Mon, 4 Mar 2013 02:04:38 +0000 (03:04 +0100)]
hostid: do not output sign-extended host id. Closes 6056

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agoarchival: note implicit dependencies between lzop & bbunzip
Mike Frysinger [Sun, 3 Mar 2013 05:48:53 +0000 (00:48 -0500)]
archival: note implicit dependencies between lzop & bbunzip

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
11 years agodecompress_unlzma: move function, no code changes
Denys Vlasenko [Fri, 1 Mar 2013 13:48:10 +0000 (14:48 +0100)]
decompress_unlzma: move function, no code changes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agodecompress_unlzma: 10% speedup in "small" code
Denys Vlasenko [Fri, 1 Mar 2013 13:43:07 +0000 (14:43 +0100)]
decompress_unlzma: 10% speedup in "small" code

   text    data     bss     dec     hex filename
   1796       0       0    1796     704 decompress_unlzma.o
   1801       0       0    1801     709 decompress_unlzma.o

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agodecompress_unlzma: make "fast" version a bit smaller
Denys Vlasenko [Fri, 1 Mar 2013 13:37:58 +0000 (14:37 +0100)]
decompress_unlzma: make "fast" version a bit smaller

It is not slower. In fact it seems a tiny bit faster too.

   text    data     bss     dec     hex filename
   2827       0       0    2827     b0b decompress_unlzma.o
   2797       0       0    2797     aed decompress_unlzma.o

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agolzop: fiq -q and OPTION_DECOMPRESS mismatch
Denys Vlasenko [Fri, 1 Mar 2013 07:25:45 +0000 (08:25 +0100)]
lzop: fiq -q and OPTION_DECOMPRESS mismatch

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agobbunzip: fix order of flags vs bit defines
Mike Frysinger [Fri, 1 Mar 2013 02:28:21 +0000 (21:28 -0500)]
bbunzip: fix order of flags vs bit defines

Too much code shuffling.

Reported-by: Mandeep Singh Baines <msb@chromium.org>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
11 years agobbunzip: ignore the -q flag with the decompressors
Mike Frysinger [Thu, 28 Feb 2013 22:21:50 +0000 (17:21 -0500)]
bbunzip: ignore the -q flag with the decompressors

The -q flag is used in shell scripts for suppressing output.
Have our applets swallow the flag for compatibility.

Reported-by: Mandeep Singh Baines <msb@chromium.org>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
11 years agoifupdown: support "source" stanza in /etc/network/interfaces
Denys Vlasenko [Thu, 28 Feb 2013 18:01:28 +0000 (19:01 +0100)]
ifupdown: support "source" stanza in /etc/network/interfaces

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agozcat: fix "zcat FILE" trying to do detection twice
Denys Vlasenko [Thu, 28 Feb 2013 17:37:04 +0000 (18:37 +0100)]
zcat: fix "zcat FILE" trying to do detection twice

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agozcat: if seamless uncompressors are defined, autodetect file's format
Denys Vlasenko [Thu, 28 Feb 2013 17:06:09 +0000 (18:06 +0100)]
zcat: if seamless uncompressors are defined, autodetect file's format

function                                             old     new   delta
bbunpack                                             526     622     +96
packed_usage                                       29335   29341      +6
gunzip_main                                           64      67      +3

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agofix error message on failure to oen /dev/null; fix zcat's help text
Denys Vlasenko [Thu, 28 Feb 2013 17:04:22 +0000 (18:04 +0100)]
fix error message on failure to oen /dev/null; fix zcat's help text

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
11 years agocode shrink in check_errors_in_children()
Denys Vlasenko [Thu, 28 Feb 2013 15:38:25 +0000 (16:38 +0100)]
code shrink in check_errors_in_children()

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>