Commit Graph

13198 Commits

Author SHA1 Message Date
Denys Vlasenko
fbe250db76 httpd: treat errors from stdin correctly.
Fron bug report:

If a CGI or proxied connection is rudely aborted (SIG_{KILL,BUS,SEGV})
then httpd will spin madly the poll loop in:

networking/httpd.c:1080
cgi_io_loop_and_exit()

Upon investigation I found that pfd[0].revents == 0x0018 (POLLHUP|POLLERR),
which leads to empty read, but the pfd[0].fd (STDIN_FILENO) is left open,
and in the FD list given to poll() which immediately returns to once
again inform the loop of (POLLHUP|POLLERR) condition of pfd[0].fd.
This continues until pfd[FROM_CGI].revents != 0

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-09-11 14:59:21 +02:00
Denys Vlasenko
b5352078a7 touch: add conditional support for -h
Based on a patch by Andy <andy.padavan@gmail.com>

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-09-11 11:58:33 +02:00
Denys Vlasenko
a613aa1b4c ar: better comment
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-09-10 16:27:08 +02:00
Peter Korsgaard
2a053a2430 ar: read_num(): fix reading fields using the entire width
ar fields are fixed length text strings (padded with spaces). Ensure
bb_strtou doesn't read past the field in case the full width is used.

The fields are only read once, so the simplest/smallest solution to me
seems to be to just pass the length to read_num() and then zero terminate
the string before passing it to bb_strtou. This does mean that the fields
MUST be read in reverse order, so some minor reshuffling was needed.

Bloat-o-meter:
function                                             old     new   delta
get_header_ar                                        394     414     +20
read_num                                              29      36      +7
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 27/0)               Total: 27 bytes

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-09-10 16:22:12 +02:00
Denys Vlasenko
dc57294485 top: fix breakage introduced by previous commit
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-09-06 12:59:48 +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
John Spencer
d6ae4fb446 man: find posix man pages
Add the 0p/1p/3p sections to the search.

Signed-off-by: John Spencer <maillist-busybox@barfooze.de>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-08-25 17:38:25 -04:00
Jody Bruchon
deebdf59b5 fdisk: fix GPT size math errors
Signed-off-by: Jody Bruchon <jody@jodybruchon.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-20 17:42:06 +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
0ff0b320a2 dd: code shrink
function                                             old     new   delta
dd_main                                             1475    1469      -6

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-20 12:49:28 +02:00
Denys Vlasenko
1b57fe108f dd: code shrink
function                                             old     new   delta
dd_main                                             1487    1475     -12

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-20 12:45:05 +02:00
Denys Vlasenko
f3114a3bd0 dd: code shrink
function                                             old     new   delta
write_and_stats                                       78      99     +21
dd_main                                             1496    1487      -9
full_write_or_warn                                    42       -     -42
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 1/1 up/down: 21/-51)            Total: -30 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-20 12:40:29 +02:00
Denys Vlasenko
90e9cfd218 dd: remove FIXME comment which is fixed now. No code changes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-20 12:27:19 +02:00
Denys Vlasenko
4502bb1f21 dd: code shrink
function                                             old     new   delta
dd_main                                             1001     961     -40

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-20 12:08:46 +02:00
Denys Vlasenko
5b9910f0a4 dd: fail if swab is attempted on odd-sized block
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-20 02:50:49 +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
8395bd3f52 dd: fix example in a comment. No code changes.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-19 10:30:55 +02:00
Denys Vlasenko
b941316ae5 dd: support conv=swab
function                                             old     new   delta
dd_main                                             1482    1520     +38
static.conv_words                                     28      33      +5
packed_usage                                       29377   29375      -2

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-19 09:01:39 +02:00
Denys Vlasenko
4b1896cd2c dd: do not reuse local variables for unrelated values.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-19 09:00:08 +02:00
Denys Vlasenko
ec2bef11a7 iplink: comment out include <net/if_packet.h>
iplink.c includes net/if_packet.h, which (on GLIBC)
only defines struct sockaddr_pkt. this struct is not
used anywhere in the code, and removing the #include
makes compilation succeed with musl libc.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-16 12:20:25 +02:00
Paulius Zaleckas
9f07af6156 init: don't srop unterminated processes' entries during inittab reload
This feature was removed in 72c99af

It is useful when process is removed from inittab and later added
back, but never terminated. It prevents init from spawning duplicate.

function                                             old     new   delta
check_delayed_sigs                                   176     182      +6

Signed-off-by: Paulius Zaleckas <paulius.zaleckas@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-16 12:01:58 +02:00
Denys Vlasenko
d2e07bc16c init: don't use fixed size buffer for command
We store init actions forever. 256 bytes per action means that
a typical inittab of ~10 commands uses 2.5k just to remember
command strings - which are usually _much_ shorter than 256 bytes.

At a cost of a bit more code, it's possible to allocate
only actually needed amount.

function                                             old     new   delta
init_exec                                            224     248     +24
new_init_action                                      140     142      +2

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-16 11:48:48 +02:00
SASAKI Suguru
73fbe9dc86 tar: fix tar -T to add entries in the exact order as the input list
This fixes tar to order files in tarball correctly in this case:

$ touch 1 2 3; echo -e '1\n2\n3' | tar -T- -c | tar t
1
2
3

Signed-off-by: SASAKI Suguru <suguru@sonik.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-15 12:19:29 +02:00
Denys Vlasenko
fc364ba9e3 fix build error with musl libc due to if_slip.h
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-15 09:54:51 +02:00
Nicolas Dichtel
6761d7da83 networking: fix potential overflow in ife_print6()
devname is used by fscanf to store a string specified by '%20s'.

Extract from the man for the '%s' specifier:
Matches a sequence of non-white-space characters; the next pointer must be a
pointer to character array that is long enough to hold the input sequence and
the terminating null byte ('\0'), which is added automatically. The input
string stops at white space or at the maximum field width, whichever occurs
first.

Hence, the right length is 20 + 1 for the '\0'.

Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-14 17:43:05 +02:00
Denys Vlasenko
9ae6d79307 udhcpc: tweak help text more
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-08 12:45:45 +02:00
Denys Vlasenko
456687fff1 udhcpc: tweak help text
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-08 12:33:18 +02:00
Tito Ragusa
8c7fcbd752 swapon: support "pri=NNN" in fstab
function                                             old     new   delta
swap_on_off_main                                     244     365    +121

Signed-off-by: Tito Ragusa <farmatito@tiscali.it>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-08 10:21:27 +02:00
Denys Vlasenko
a5e6c6cd3b setsid: code shrink, expanded comments
function                                             old     new   delta
setsid_main                                           56      53      -3

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-07 18:49:51 +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
aadb485bd0 udhcpc: tweak help text
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-05 02:21:36 +02:00
Cédric Cabessa
adc30b4cf9 syslogd: use _PATH_LOG when available
Signed-off-by: Cédric Cabessa <ccabessa@genymobile.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-05 02:09:16 +02:00
Paul B. Henson
985345d002 ubi_tools: fix typo in strcpy
Signed-off-by: Paul B. Henson <henson@acm.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-04 21:07:20 +02:00
Tito Ragusa
da331d779c ifplugd: use a larger netlink buffer
function                                             old     new   delta
check_existence_through_netlink                      310     321     +11

Signed-off-by: Tito Ragusa <farmatito@tiscali.it>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-04 18:10:26 +02:00
Denys Vlasenko
cc1c9ca6f8 less: support "less 1<>TTY"
function                                             old     new   delta
less_main                                           2466    2507     +41
xmalloc_ttyname                                       46      42      -4

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-04 17:41:19 +02:00
Sven-Göran Bergh
9369634167 volume_id: add f2fs detection
function                                             old     new   delta
volume_id_probe_f2fs                                   -      98     +98

Signed-off-by: Sven-Göran Bergh <sgb@systemasis.org>

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-01 11:05:08 +02:00
Bernhard Reutner-Fischer
a060a1ad96 awk: Fix handling of functions with empty body
ammend b79a0fef99 to properly
handle functions defined in another scope.

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2013-07-31 21:51:14 +02:00
Sven-Göran Bergh
e418b2e7bb volume_id: nilfs config description.
Config description for nilfs added.

No code change.

Signed-off-by: Sven-Göran Bergh <sgb@systemasis.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-07-31 18:30:34 +02:00
Sven-Göran Bergh
15d0a860e9 volume_id: Adopt to new config style.
Config instructions for util-linux/volume_id are moved into the
source files according to the new config feature.

No code change.

Signed-off-by: Sven-Göran Bergh <sgb@systemasis.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-07-31 15:57:59 +02:00
Sven-Göran Bergh
3b45801dc6 volume_id: Adopt to new kbuild style.
Kbuild instructions for util-linux/volume_id are moved into the
source files according to the new build feature.

No code change.

Signed-off-by: Sven-Göran Bergh <sgb@systemasis.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-07-31 15:45:20 +02:00
Denys Vlasenko
982e87f2fb Whitespace fixes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-07-30 11:52:58 +02:00
Denys Vlasenko
bfa6ed1bf4 catv: code shrink
catv_main                                            250     227     -23

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-07-30 11:41: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
Denys Vlasenko
d0bc708cb5 unpackers: by users' request, print compression percentage if -v and DESKTOP
function                                             old     new   delta
bbunpack                                             634     731     +97

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-07-30 05:41:11 +02:00
Denys Vlasenko
05965cbb75 nc: remove unnecessary "errno = 0"
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-07-29 14:18:32 +02:00
Denys Vlasenko
2ead5316b4 iplink: fix build error (IFLA_VLAN_PROTOCOL defined before include)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-07-28 23:24:55 +02:00
Denys Vlasenko
2641426187 logread: intercept all fatal signals, not just SIGINT
function                                             old     new   delta
interrupted                                           27      20      -7

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-07-28 23:17:00 +02:00
Denys Vlasenko
fd3ac96c0f nc: remove some dead code
function                                             old     new   delta
readwrite                                            887     841     -46

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-07-28 22:24:51 +02:00
Denys Vlasenko
ffeeb7a96c nc: exit when both stdin and network are closed.
function                                             old     new   delta
nc_main                                             1051    1042      -9
readwrite                                            943     887     -56

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-07-28 22:23:12 +02:00