aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-04-19ash: catch error in arithmetic expansion in PS1Ron Yorston
Setting PS1 to: PS1='$((123+))' causes the shell to enter an infinite error loop: sh: arithmetic syntax error Catch any exception raised by expandarg() in expandstr() and allow processing to continue. function old new delta expandstr 262 344 +82 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/0 up/down: 82/0) Total: 82 bytes Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-19ash: prevent error in backquotes in PS1 from exiting shellRon Yorston
Setting PS1 to: PS1='`xxx(`' causes the shell to terminate with the error: sh: syntax error: unexpected end of file (expecting ")") This happens because old-style backquotes require the input to be reread and thus call setinputstring() a second time. Prevent the problem by unwinding all recently opened files in expandstr(). function old new delta unwindfiles - 22 +22 expandstr 247 262 +15 forkchild 631 625 -6 evalcommand 1694 1685 -9 ash_main 1346 1336 -10 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 1/3 up/down: 37/-25) Total: 12 bytes Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-19dc.tests: fix two test case to also depend on DC_BIGChen Qi
Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-18httpd: pass authorization header to CGI if not BasicAlexander Vickberg
Pass the Authorization header to CGI if not of type Basic. This will make it possible for CGI to verify authorization headers of type Bearer <token>. function old new delta handle_incoming_and_exit 2370 2379 +9 Signed-off-by: Alexander Vickberg <wickbergster@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-17httpd: When sending gzipped content use content-length headerAlexander Vickberg
Today for gzipped content httpd is using a header with name Transfer-Length. However I can't find a header with that name in the standards. Instead use Content-Length. function old new delta .rodata 157940 157936 -4 send_headers 980 939 -41 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-45) Total: -45 bytes Signed-off-by: Alexander Vickberg <wickbergster@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-16ash: add bash-compatible EPOCH variablesRon Yorston
Bash 5.0 added the dynamic variable EPOCHSECONDS and EPOCHREALTIME which return the number of seconds since the Unix Epoch as an integer or float. These are useful for logging or tracing. function old new delta change_epoch - 78 +78 .rodata 175167 175235 +68 varinit_data 264 312 +48 change_seconds - 24 +24 change_realtime - 24 +24 ------------------------------------------------------------------------------ (add/remove: 3/0 grow/shrink: 2/0 up/down: 242/0) Total: 242 bytes text data bss dec hex filename 938508 4203 1888 944599 e69d7 busybox_old 938702 4203 1888 944793 e6a99 busybox_unstripped v2: Cast tv_sec and tv_usec to unsigned quantities. Add brackets to macros. Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-16ash: an unset dynamic variable should not be dynamicRon Yorston
Commit b28d4c346 (ash: [VAR] Move unsetvar functionality into setvareq) dropped the code that caused dynamic variables to lose their special properties when unset. Add it back again. function old new delta setvareq 346 360 +14 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/0 up/down: 14/0) Total: 14 bytes Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-16hush: add bash-compatible EPOCH variablesRon Yorston
Bash 5.0 added the dynamic variable EPOCHSECONDS and EPOCHREALTIME which return the number of seconds since the Unix Epoch as an integer or float. These are useful for logging or tracing. function old new delta get_local_var_value 207 302 +95 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/0 up/down: 95/0) Total: 95 bytes text data bss dec hex filename 938702 4203 1888 944793 e6a99 busybox_old 938797 4203 1888 944888 e6af8 busybox_unstripped Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-16httpd: extract query string only after proxying checkDenys Vlasenko
function old new delta handle_incoming_and_exit 2398 2370 -28 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-16httpd: make rmt_ip variable localDenys Vlasenko
function old new delta handle_incoming_and_exit 2385 2398 +13 if_ip_denied_send_HTTP_FORBIDDEN_and_exit 51 54 +3 get_line 110 106 -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>
2019-04-16httpd: check denied IPs even before reading 1st query lineDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-16httpd: do not decode URL and headers if proxying - send all verbatimDenys Vlasenko
function old new delta handle_incoming_and_exit 2566 2385 -181 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-16httpd: remove duplicate "decode URL escape sequences" codeDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-16httpd: put all headers into environment as HTTP_UPPERCASED_HEADER=valDenys Vlasenko
Set up environment variables before running the CGI script. The variables will be named HTTP_<filtered_name> where the <filtered_name> is the header name capitalized and all characters not matching [a-z] | [A-Z] | [0-9] replaced with '_'. function old new delta http_response 80 88 +8 http_response_type 20 22 +2 send_headers 718 715 -3 parse_conf 1481 1478 -3 get_line 128 110 -18 cgi_io_loop_and_exit 599 569 -30 send_cgi_and_exit 882 738 -144 handle_incoming_and_exit 2793 2592 -201 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/6 up/down: 10/-399) Total: -389 bytes text data bss dec hex filename 982178 485 7296 989959 f1b07 busybox_old 981675 485 7296 989456 f1910 busybox_unstripped Signed-off-by: Alexander Vickberg <wickbergster@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-16httpd: fix handling of EOF in get_line()Denys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-16httpd: add missing {}Denys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-16httpd: do not percent-decode URI if proxyingDenys Vlasenko
The proxying is documented as follows: P:/url:[http://]hostname[:port]/new/path Howeverm urlcopy is not a true copy anymore when it is fdprint'ed to proxy_fd, this is because percent_decode_in_place() is called after the copy is created. This breaks reverse proxying all URIs containing percent encoded spaces, e.g. - because a decoded URI will be printed out to proxy_fd instead of the original. The fix keeps the logic in place to canonicalize the uri first, before reverse proxying (one could argue that the uri should be proxied completely unaltered, except for the prefix rewrite). function old new delta handle_incoming_and_exit 2752 2792 +40 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-14httpd: fix proxy headers passing - full_write() instead of write()Denys Vlasenko
function old new delta handle_incoming_and_exit 2763 2752 -11 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-14httpd: if remote IP is denied, send FORBIDDEN reply earlierDenys Vlasenko
While at it, fix sighup_handler to not clobber errno. function old new delta send_HTTP_FORBIDDEN_and_exit_if_denied_ip - 47 +47 sighup_handler 15 30 +15 handle_incoming_and_exit 2791 2763 -28 checkPermIP 48 - -48 ------------------------------------------------------------------------------ (add/remove: 1/1 grow/shrink: 1/1 up/down: 62/-76) Total: -14 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-14udhcpc6: code shrinkDenys Vlasenko
function old new delta d6_read_interface 593 582 -11 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-13udhcpc6: add a few comments, no code changes.Denys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-13udhcpc6: make it enabled in defconfigDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-13examples/udhcp/simple.script: fix resolv.conf update if it is a dangling symlinkRolf Eike Beer
If /etc/resolv.conf is a symlink to a tmpfs and the actual file does not already exist, "readlink -f" will not detect it as symlink. Explicitely check for that condition before and touch the file, making the other code work as intended. Signed-off-by: Rolf Eike Beer <eb@emlix.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-13udhcp: add 100 and 101 dhcp options for ipv4Antoine Girard-Vallée
Support for the IEEE timezone string and timezone database strings (100 and 101 options respectively) is added for ipv4, conforming to RFC-4833. The two options are passed to hook scripts in the variables tzstr and tzdbstr. function old new delta dhcp_option_strings 280 294 +14 dhcp_optflags 76 80 +4 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 18/0) Total: 18 bytes Signed-off-by: Antoine Girard-Vallée <antoine.girard-vallee@savoirfairelinux.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-13brctl: add TODO: "showmacs BR"Denys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-13brctl: simplify str_to_jiffies()Denys Vlasenko
function old new delta write_uint - 96 +96 brctl_main 721 678 -43 write_ulong 96 - -96 ------------------------------------------------------------------------------ (add/remove: 1/1 grow/shrink: 0/1 up/down: 96/-139) Total: -43 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-13brctl: convert remaining commands to work via /sysDenys Vlasenko
function old new delta write_ulong - 96 +96 show_bridge 310 338 +28 static.ops 3 - -3 arm_ioctl 20 - -20 packed_usage 33344 33315 -29 brctl_main 885 721 -164 ------------------------------------------------------------------------------ (add/remove: 1/2 grow/shrink: 1/2 up/down: 124/-216) Total: -92 bytes text data bss dec hex filename 982112 485 7296 989893 f1ac5 busybox_old 982157 485 7296 989938 f1af2 busybox_unstripped Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-12brctl: make "show" command retrieve data from /sysDenys Vlasenko
ioctl interface is obsolete and has no 32/64 compat shim, making "brctl show" fail for 32-bit userspace and 64-bit kernel. function old new delta show_bridge - 310 +310 read_file - 64 +64 if_indextoname 117 - -117 brctl_main 1183 885 -298 ------------------------------------------------------------------------------ (add/remove: 2/1 grow/shrink: 0/1 up/down: 374/-415) Total: -41 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-12stat: reduce storage for human-readable filesystem namesRon Yorston
function old new delta static.humanname - 236 +236 static.fstype - 140 +140 print_statfs 339 341 +2 static.humantypes 288 - -288 ------------------------------------------------------------------------------ (add/remove: 2/1 grow/shrink: 1/0 up/down: 378/-288) Total: 90 bytes text data bss dec hex filename 982183 485 7296 989964 f1b0c busybox_old 982152 485 7296 989933 f1aed busybox_unstripped Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-07ipaddress: remove unused variable no_linkBernhard Reutner-Fischer
ipaddress.c: In function ‘ipaddr_list_or_flush’: ipaddress.c:427:6: warning: variable ‘no_link’ set but not used [-Wunused-but-set-variable] Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2019-04-05service examples: if iface do not exist, retry upping itDenys Vlasenko
I've had a case of a machine where eth0 was appearing a bit later after the boot, and appearing _downed_. ifplugd then fails to detect "link up". Thus, depending on how service startup ("ip link set dev eth0 up") races with driver initialization, ethernet randomly fails to initialize on boot. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-05chrt: fix for SCHED_RESET_ON_FORK bitDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-05chrt: do not segfault if policy number is unknownDenys Vlasenko
While at it, improve help text function old new delta packed_usage 33319 33344 +25 policy_name - 22 +22 show_min_max 59 64 +5 chrt_main 432 429 -3 policies 72 - -72 ------------------------------------------------------------------------------ (add/remove: 1/1 grow/shrink: 2/1 up/down: 52/-75) Total: -23 bytes text data bss dec hex filename 982150 485 7296 989931 f1aeb busybox_old 982183 485 7296 989964 f1b0c busybox_unstripped Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-04telnetd: whitespace fixDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-04telnetd: better AYT handlingDenys Vlasenko
function old new delta telnetd_main 1792 1837 +45 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-04telnetd: Added support for AYT IAC command.Martin Lewis
Fixed a TODO in AYT IAC handling by replying back with a NOP. Signed-off-by: Martin Lewis <martin.lewis.x84@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-04top: provide cmdline argument '-H' to enable thread scanning by defaultThomas De Schampheleire
In particular useful when you want to evaluate the threads in batch mode: top -Hbn1 function old new delta top_main 928 941 +13 packed_usage 33317 33319 +2 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 15/0) Total: 15 bytes Signed-off-by: Philippe Belet <philippe.belet@nokia.com> Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-03vi: revert change in how "end of file list" is deteced - fixes 'q' in bare "vi"Denys Vlasenko
function old new delta vi_main 273 272 -1 colon 2853 2852 -1 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-2) Total: -2 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-03vi: code shrinkDenys Vlasenko
function old new delta new_screen 84 75 -9 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-03vi: avoid build failure in non-default caseRon Yorston
If vi is built with FEATURE_VI_USE_SIGNALS disabled and FEATURE_VI_WIN_RESIZE enabled new_screen() is used without a declaration. Move the function to avoid this. Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-02fsync,sync: merge into one source moduleDenys Vlasenko
With FEATURE_SYNC_FANCY not set: function old new delta fsync_main 130 123 -7 With FEATURE_SYNC_FANCY set, should be much larger code size savings. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-02fsync,sync: make them similarDenys Vlasenko
sync: add O_NOCTTY fsync: drop O_NOATIME, add O_NONBLOCK, set exitcode to 1 if fsync() fails, update --help message to be similar to sync. both: reformat code to minimize "diff -u sync.c fsync.c": in particular, they use same open() flags now function old new delta fsync_main 126 130 +4 packed_usage 33316 33317 +1 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 5/0) Total: 5 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-02ash: distinguish 'wait -n' from other bashismsRon Yorston
Add a specific define to indicate which bash compatibility code implements 'wait -n'. Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-02vi: rename save_argc -> cmdline_filecntDenys Vlasenko
function old new delta vi_main 272 273 +1 colon 2852 2853 +1 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-02vi: restore capability to remember insertion cmds for "."Denys Vlasenko
function old new delta modifying_cmds 17 22 +5 get_one_char 103 98 -5 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/1 up/down: 5/-5) Total: 0 bytes text data bss dec hex filename 982121 485 7296 989902 f1ace busybox_old 982094 485 7296 989875 f1ab3 busybox_unstripped Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-01vi: code shrinkDenys Vlasenko
function old new delta get_input_line 172 175 +3 char_insert 444 447 +3 rawmode 36 24 -12 edit_file 644 626 -18 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/2 up/down: 6/-30) Total: -24 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-01vi: convert more /**/ comments to //Denys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-01vi: code shrinkDenys Vlasenko
function old new delta get_one_char 108 103 -5 edit_file 651 644 -7 do_cmd 4696 4688 -8 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-20) Total: -20 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-01vi: use vsnprintf to format status lineDenys Vlasenko
This is the last use of "vsprintf" in busybox: function old new delta status_line_bold 72 77 +5 status_line 40 45 +5 vsprintf 23 - -23 ------------------------------------------------------------------------------ (add/remove: 0/2 grow/shrink: 2/0 up/down: 10/-23) Total: -13 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-01vi: rearrange functions, no logic changesDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>