aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* fsync: enable in default configurationRon Yorston2018-02-223-2/+5
|
* win32: tailor inet_pton.c for use in busybox-w32Ron Yorston2018-02-221-11/+8
|
* win32: import inet_pton.c from ISC BINDRon Yorston2018-02-221-231/+182
| | | | | | | | The copy of inet_pton.c imported from gnulib was licensed under GPL3 which is incompatible with the GPL2-only licence of BusyBox. Import an MPL2-licensed version of this file from ISC BIND git master as of this date.
* win32: import fsync(2) implementation from gnulibRon Yorston2018-02-214-1/+78
|
* ash: use correct size for tblentryRon Yorston2018-02-191-2/+2
| | | | | | | | | | As noted in cmdlookup the size of a tblentry instance, *t, is sizeof(struct tblentry) + strlen(t->cmdname) because the structure includes one byte for the cmdname array. Apply the same logic in tblentry_size and tblentry_copy.
* win32: use built-in shell for popen, if possibleRon Yorston2018-02-181-2/+12
| | | | | | | | | | | | | | | popen uses the shell to run the command provided. If BusyBox has been configured appropriately use the built-in shell for this. - Currently the only user of popen in busybox-w32 is awk, which uses it when piping to or from commands. - If the command is available as an applet the shell will use it. If a different version of the program is required the command will need to specify the full path. - This change means that popen will work even if no shell is present on the path. - Since the binary may have been run as sh.exe or awk.exe it's necessary to use the magic --busybox option.
* ash: allow waitpid_child to blockRon Yorston2018-02-171-1/+1
| | | | | The wrong sort of boolean operator resulted in waitpid_child always being nonblocking.
* win32: add dummy sys/select.h required for pollRon Yorston2018-02-141-0/+0
|
* win32: update poll implementation to match latest gnulib versionRon Yorston2018-02-131-209/+207
|
* du: use Windows-compatible print formatsRon Yorston2018-02-132-4/+4
| | | | | | | | Commit 18afed0f9 replaced %ll* formats with Windows equivalents to silence compiler warnings. Some format strings in du were missed because they weren't compiled or weren't string literals. These fixes make 'du -h' work as expected on Windows XP.
* win32: always use safe API calls to manipulate environmentRon Yorston2018-02-135-118/+26
| | | | | | | | | | | It turns out that with the new toolchain safe API calls work on all all platforms. Even the original code from commit fa147bd7e works on Windows XP when built with the new tools. - Remove the unsafe environment manipulation via the environ array - Microsoft's putenv takes a copy of its argument so the string can be freed - Rewrite some routines and add more error checking
* which: treat busybox as a special caseRon Yorston2018-02-131-1/+8
| | | | | | | Busybox knows the path to its own executable even if it isn't on PATH. Treat this as a special case and print the path. `which busybox` is used in testsuite/busybox.tests
* Merge branch 'busybox' into mergeRon Yorston2018-02-13146-2127/+2827
|\
| * wget: more thorough sanitization of other side's dataDenys Vlasenko2018-02-121-31/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | function old new delta get_sanitized_hdr - 156 +156 fgets_trim_sanitize - 128 +128 ftpcmd 129 133 +4 parse_url 461 454 -7 sanitize_string 14 - -14 wget_main 2431 2381 -50 fgets_and_trim 119 - -119 gethdr 163 - -163 ------------------------------------------------------------------------------ (add/remove: 2/3 grow/shrink: 1/2 up/down: 288/-353) Total: -65 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * testsuite: update busybox and bzcat testsRon Yorston2018-02-122-14/+12
| | | | | | | | | | | | | | | | | | | | | | Test scripts that use CONFIG_* variables need to source .config. Since this wasn't being done for busybox many tests were skipped. As a result new failures due to changes in help output were missed. Also remove some unnecessary echos in the bzcat script. Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * cp: fix option handling in non-longopt configDenys Vlasenko2018-02-111-1/+5
| | | | | | | | | | | | | | | | | | | | | | the patch getopt32: remove opt_complementary 22542eca18e5807b72ddc78999f5101e33f17a53 introduced a regressed in the cp command since it removed all aliases of arguments if long_opts is not configured. Patch by Sebastian Gottschall <s.gottschall@dd-wrt.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * arping: code shrinkDenys Vlasenko2018-02-111-19/+20
| | | | | | | | | | | | | | | | function old new delta catcher 310 309 -1 arping_main 1668 1641 -27 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb: introduce and use bb_getsockname()Denys Vlasenko2018-02-116-20/+29
| | | | | | | | | | | | | | | | | | | | | | | | function old new delta bb_getsockname - 18 +18 xrtnl_open 88 83 -5 do_iplink 1216 1209 -7 arping_main 1686 1668 -18 ------------------------------------------------------------------------------ (add/remove: 2/0 grow/shrink: 0/3 up/down: 18/-30) Total: -12 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * arping: move packet buffer, sigset and struct ifreq to malloced "globals"Denys Vlasenko2018-02-111-41/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This way, we can zero them all in one go. We do malloc() anyway, thus nothing is lost by mallocing "globals" function old new delta arping_main 1683 1686 +3 finish 100 86 -14 catcher 350 310 -40 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/2 up/down: 3/-54) Total: -51 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * arping: fix the case when inherited signal mask masks out ALRMDenys Vlasenko2018-02-111-7/+16
| | | | | | | | | | | | | | function old new delta arping_main 1629 1635 +6 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * arping: change a few message strings to be closer to iputils arpingDenys Vlasenko2018-02-111-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ARPING 192.168.1.1 from 192.168.1.172 wlan0 Unicast reply from 192.168.1.1 [F4:F2:6D:52:A8:DE] 1.672ms Sent 1 probes (1 broadcast(s)) Received 1 response(s) ARPING 192.168.1.1 from 192.168.1.172 wlan0 Unicast reply from 192.168.1.1 [f4:f2:6d:52:a8:de] 1.152ms Sent 1 probe(s) (1 broadcast(s)) Received 1 response(s) (0 request(s), 0 broadcast(s)) function old new delta finish 120 100 -20 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * arping: code shrinkDenys Vlasenko2018-02-111-28/+28
| | | | | | | | | | | | | | | | | | | | Do not clear extra bits on option_mask32, it's not necessary. Move DAD bit to 2, this makes exit logic simpler. function old new delta arping_main 1655 1629 -26 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * svlogd: improve --help textDenys Vlasenko2018-02-091-6/+13
| | | | | | | | | | | | | | function old new delta packed_usage 32278 32367 +89 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * hush: probably fixing a bug in last LINENO fixDenys Vlasenko2018-02-081-11/+6
| | | | | | | | | | | | | | | | | | | | I don't have an example of mishandled script, but the logic looked wrong: it could sometimes treat newlines as if they are spaces. function old new delta parse_stream 2788 2787 -1 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * hush: LINENO fixDenys Vlasenko2018-02-081-24/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Script triggering the bug: t=0 echo "at line ${LINENO}" while [ ${t} -lt 10 ]; do echo "at line ${LINENO}" # LINENO was 3 instead of 4 here t=$((t+1)) done function old new delta parse_stream 2754 2788 +34 done_word 711 738 +27 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 61/0) Total: 61 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * ip: fix crash in "ip neigh show"Denys Vlasenko2018-02-087-20/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | parse_rtattr() was using tb[] array without initializing it. Based on patch by Balaji Punnuru <balaji_punnuru@cable.comcast.com> function old new delta parse_rtattr 85 107 +22 print_route 1630 1617 -13 print_linkinfo 807 794 -13 iproute_get 835 822 -13 print_rule 680 665 -15 ll_remember_index 263 248 -15 print_addrinfo 1223 1197 -26 ipaddr_list_or_flush 1253 1223 -30 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/7 up/down: 22/-125) Total: -103 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * wget: do not ask for TLS-encrypted downloads on plain ftp:// URLsDenys Vlasenko2018-02-081-5/+7
| | | | | | | | | | | | | | function old new delta wget_main 2422 2431 +9 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb: shrink wget/tftp progress indicator code a bit moreDenys Vlasenko2018-02-071-29/+27
| | | | | | | | | | | | | | | | | | | | This makes size display 5-char wide instead of 6-char, but now it's smarter (can show sizes in "12.3M" format). function old new delta bb_progress_update 654 622 -32 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * libbb: shrink wget/tftp progress indicator code for 32-bitDenys Vlasenko2018-02-071-40/+38
| | | | | | | | | | | | | | function old new delta bb_progress_update 756 654 -102 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * udhcp: do not setlinebuf(stdout), we don't print to stdout anymoreDenys Vlasenko2018-02-073-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | Since bb_info_msg() was eliminated type of buffering on stdout is not important function old new delta udhcpd_main 1463 1451 -12 udhcpc_main 2735 2723 -12 setlinebuf 19 - -19 ------------------------------------------------------------------------------ (add/remove: 0/2 grow/shrink: 0/2 up/down: 0/-43) Total: -43 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * bzip2: expose tuning knob for faster/smaller codeDenys Vlasenko2018-02-075-20/+41
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * wget: attempt to negotiate encrypted data ftps stream ("PROT P")Denys Vlasenko2018-02-061-3/+7
| | | | | | | | | | | | | | function old new delta wget_main 2382 2422 +40 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * fix compile failure in previous commitDenys Vlasenko2018-02-061-1/+1
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * unzip: do not set directory mode to 0777Denys Vlasenko2018-02-062-7/+13
| | | | | | | | | | | | https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=882177 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * ar: hopefully fix out-of-bounds read in get_header_ar()Denys Vlasenko2018-02-061-2/+2
| | | | | | | | | | | | https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=882175 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * fix a thinko in parse_pasv_epsv.cDenys Vlasenko2018-02-061-2/+2
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * wget: add EPSV supportDenys Vlasenko2018-02-064-61/+82
| | | | | | | | | | | | | | | | | | | | | | function old new delta parse_pasv_epsv - 151 +151 wget_main 2440 2382 -58 xconnect_ftpdata 223 94 -129 ------------------------------------------------------------------------------ (add/remove: 2/0 grow/shrink: 0/2 up/down: 151/-187) Total: -36 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * wget: initial support for ftps://Denys Vlasenko2018-02-064-16/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | function old new delta spawn_ssl_client - 185 +185 parse_url 409 461 +52 packed_usage 32259 32278 +19 tls_run_copy_loop 293 306 +13 ssl_client_main 128 138 +10 showmode 330 338 +8 P_FTPS - 5 +5 filter_datapoints 177 179 +2 deflate 907 905 -2 decode_one_format 723 716 -7 wget_main 2591 2440 -151 ------------------------------------------------------------------------------ (add/remove: 2/0 grow/shrink: 6/3 up/down: 294/-160) Total: 134 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * wget: preparations for ftps:// support (block move, no code changes)Denys Vlasenko2018-02-061-81/+81
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * tls: fix hash calculations if client cert is requested and sentDenys Vlasenko2018-02-061-40/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Symptoms: connecting to openssl s_server -cert vsftpd.pem -port 990 -debug -cipher AES128-SHA works, but with "-verify 1" option added it does not. function old new delta tls_xread_record 474 499 +25 tls_handshake 1582 1607 +25 bad_record_die 98 110 +12 tls_run_copy_loop 282 293 +11 tls_xread_handshake_block 58 51 -7 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 4/1 up/down: 73/-7) Total: 66 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * ftpd: handle restarts past 2147483647 bytes. closes 10741Denys Vlasenko2018-02-051-1/+1
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * bzip2: work around bad compiler optimizationDenys Vlasenko2018-02-051-32/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gc-6.1.1 x86_64: function old new delta generateMTFValues 380 367 -13 gcc-4.3.1 386: function old new delta inner_loop - 41 +41 generateMTFValues 357 294 -63 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 0/1 up/down: 41/-63) Total: -22 bytes gcc-6.3.0 386: function old new delta inner_loop - 36 +36 generateMTFValues 363 250 -113 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 0/1 up/down: 36/-113) Total: -77 bytes The last case, gcc-6.3.0, runs almost 3 times faster after this change. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * ftpd: fix aliasing warning from gcc-6.1.1Denys Vlasenko2018-02-041-2/+2
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * ftpgetput: add EPSV support (PASV-like thing for IPv6)Denys Vlasenko2018-02-041-6/+16
| | | | | | | | | | | | | | | | | | Based on a patch by Kev Kitchens. function old new delta xconnect_ftpdata 149 223 +74 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * ftpgetput: preparations for ESPV support, no code changesDenys Vlasenko2018-02-041-15/+16
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * ftpd: switch to mallced "globals"Denys Vlasenko2018-02-041-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | function old new delta cmdio_write_ok 45 49 +4 cmdio_write_error 45 49 +4 handle_dir_common 360 363 +3 handle_cwd 40 43 +3 port_or_pasv_was_seen 37 39 +2 pasv_active 13 15 +2 cmdio_write_raw 34 36 +2 cmdio_write 78 80 +2 get_remote_transfer_fd 94 93 -1 port_pasv_cleanup 50 45 -5 bind_for_passive_mode 124 119 -5 cmdio_get_cmd_and_arg 237 230 -7 timeout_handler 104 93 -11 ftpd_main 2222 2152 -70 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 8/6 up/down: 22/-99) Total: -77 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * gunzip: fix from gzip-1.3.12 for gzip file with all zero length codesDenys Vlasenko2018-02-041-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Corresponding changelog from gzip-1.3.12 reads: """ 2006-12-20 Paul Eggert <eggert@cs.ucla.edu> * inflate.c (huft_build): Fix regression that caused gzip to refuse to uncompress null input (all zero length codes). Problem reported by Yiorgos Adamopoulos. This regression was caused by the security patch installed 2006-11-20, which in turn came from Debian, which in turn apparently came from Thomas Biege of SuSe. """ function old new delta huft_build 1176 1216 +40 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * bzip2: move runningOrder[] back to stack - 256 bytes is not muchDenys Vlasenko2018-02-032-6/+8
| | | | | | | | | | | | | | function old new delta mainSort 1119 1108 -11 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * bzip2: move ->origPtr out of struct EState, make a few members smallerDenys Vlasenko2018-02-033-27/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | function old new delta BZ2_compressBlock 223 228 +5 BZ2_blockSort 85 88 +3 generateMTFValues 356 357 +1 handle_compress 355 349 -6 compressStream 538 531 -7 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 3/2 up/down: 9/-13) Total: -4 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * bzip2: pass sorting params through EState* pointerDenys Vlasenko2018-02-033-67/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | function old new delta mainGtU 499 515 +16 sendMTFValues 2085 2094 +9 mainSort 1116 1119 +3 generateMTFValues 357 356 -1 fallbackSort 1719 1705 -14 mainQSort3 1163 1141 -22 BZ2_blockSort 118 85 -33 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 3/4 up/down: 28/-70) Total: -42 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>