diff options
Diffstat (limited to 'main/busybox')
24 files changed, 234 insertions, 577 deletions
diff --git a/main/busybox/0001-ash-add-support-for-command_not_found_handle-hook-fu.patch b/main/busybox/0001-ash-add-support-for-command_not_found_handle-hook-fu.patch deleted file mode 100644 index 929370b9d0..0000000000 --- a/main/busybox/0001-ash-add-support-for-command_not_found_handle-hook-fu.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 185ba65457e991ebd0f6e64266380df5e11cc489 Mon Sep 17 00:00:00 2001 -From: William Pitcock <nenolod@dereferenced.org> -Date: Thu, 19 Oct 2017 17:24:40 +0000 -Subject: [PATCH 01/16] ash: add support for command_not_found_handle hook - function, like bash - -This implements support for the command_not_found_handle hook function, which is -useful for allowing package managers to suggest packages which could provide the -command. - -Unlike bash, however, we ignore exit codes from the hook function and always return -the correct POSIX error code (EX_NOTFOUND). - -Signed-off-by: William Pitcock <nenolod@dereferenced.org> ---- - shell/ash.c | 24 ++++++++++++++++++++++-- - 1 file changed, 22 insertions(+), 2 deletions(-) - -diff --git a/shell/ash.c b/shell/ash.c -index b73a79975..7ceb91920 100644 ---- a/shell/ash.c -+++ b/shell/ash.c -@@ -132,6 +132,15 @@ - //config: you to run the specified command or builtin, - //config: even when there is a function with the same name. - //config: -+//config:config ASH_COMMAND_NOT_FOUND_HOOK -+//config: bool "command_not_found_handle hook support" -+//config: default y -+//config: depends on ASH || SH_IS_ASH || BASH_IS_ASH -+//config: help -+//config: Enable support for the 'command_not_found_handle' hook function, -+//config: from GNU bash, which allows for alternative command not found -+//config: handling. -+//config: - //config:endif # ash options - - //applet:IF_ASH(APPLET(ash, BB_DIR_BIN, BB_SUID_DROP)) -@@ -13166,8 +13175,19 @@ find_command(char *name, struct cmdentry *entry, int act, const char *path) - /* We failed. If there was an entry for this command, delete it */ - if (cmdp && updatetbl) - delete_cmd_entry(); -- if (act & DO_ERR) -- ash_msg("%s: %s", name, errmsg(e, "not found")); -+ if (act & DO_ERR) { -+#ifdef CONFIG_ASH_COMMAND_NOT_FOUND_HOOK -+#define HOOKFN_NAME "command_not_found_handle" -+ char hookfn_name[] = HOOKFN_NAME; -+ struct tblentry *hookp = cmdlookup(hookfn_name, 0); -+ if (hookp != NULL && hookp->cmdtype == CMDFUNCTION) { -+ evalfun(hookp->param.func, 2, (char *[]){ hookfn_name, name }, 0); -+ entry->cmdtype = CMDUNKNOWN; -+ return; -+ } else -+#endif -+ ash_msg("%s: %s", name, errmsg(e, "not found")); -+ } - entry->cmdtype = CMDUNKNOWN; - return; - --- -2.16.2 - diff --git a/main/busybox/0001-cat-fix-cat-e-and-cat-v-erroneously-numbering-1st-li.patch b/main/busybox/0001-cat-fix-cat-e-and-cat-v-erroneously-numbering-1st-li.patch deleted file mode 100644 index 4680b920e9..0000000000 --- a/main/busybox/0001-cat-fix-cat-e-and-cat-v-erroneously-numbering-1st-li.patch +++ /dev/null @@ -1,63 +0,0 @@ -From d80eecb86812c1fbda652f9b995060c26ba0b155 Mon Sep 17 00:00:00 2001 -From: Denys Vlasenko <vda.linux@googlemail.com> -Date: Sun, 29 Apr 2018 14:05:43 +0200 -Subject: [PATCH] cat: fix cat -e and cat -v erroneously numbering 1st line - -function old new delta -cat_main 418 421 +3 - -Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> ---- - coreutils/cat.c | 6 +++--- - testsuite/cat.tests | 21 +++++++++++++++++++++ - 2 files changed, 24 insertions(+), 3 deletions(-) - create mode 100755 testsuite/cat.tests - -diff --git a/coreutils/cat.c b/coreutils/cat.c -index 5f02233ca..fb735f994 100644 ---- a/coreutils/cat.c -+++ b/coreutils/cat.c -@@ -112,10 +112,10 @@ static int catv(unsigned opts, char **argv) - int retval = EXIT_SUCCESS; - int fd; - #if ENABLE_FEATURE_CATN -- unsigned lineno = 0; -- unsigned eol_char = (opts & (CAT_OPT_n|CAT_OPT_b)) ? '\n' : 0x100; -+ bool eol_seen = (opts & (CAT_OPT_n|CAT_OPT_b)); -+ unsigned eol_char = (eol_seen ? '\n' : 0x100); - unsigned skip_num_on = (opts & CAT_OPT_b) ? '\n' : 0x100; -- bool eol_seen = 1; -+ unsigned lineno = 0; - #endif - - BUILD_BUG_ON(CAT_OPT_e != VISIBLE_ENDLINE); -diff --git a/testsuite/cat.tests b/testsuite/cat.tests -new file mode 100755 -index 000000000..404ebedeb ---- /dev/null -+++ b/testsuite/cat.tests -@@ -0,0 +1,21 @@ -+#!/bin/sh -+ -+# Copyright 2018 by Denys Vlasenko <vda.linux@googlemail.com> -+# Licensed under GPLv2, see file LICENSE in this source tree. -+ -+. ./testing.sh -+ -+# testing "description" "command" "result" "infile" "stdin" -+testing 'cat -e' \ -+ 'cat -e' \ -+ 'foo$\n' \ -+ '' \ -+ 'foo\n' -+ -+testing 'cat -v' \ -+ 'cat -v' \ -+ 'foo\n' \ -+ '' \ -+ 'foo\n' -+ -+exit $FAILCOUNT --- -2.17.0 - diff --git a/main/busybox/external_ssl_client.patch b/main/busybox/0001-properly-fix-wget-https-support.patch index 8adb7b41be..2e94a0291e 100644 --- a/main/busybox/external_ssl_client.patch +++ b/main/busybox/0001-properly-fix-wget-https-support.patch @@ -1,16 +1,26 @@ +From a89f8ef7ddb7506636b535daaf4fb4cfc2f7f6af Mon Sep 17 00:00:00 2001 +From: Natanael Copa <ncopa@alpinelinux.org> +Date: Wed, 30 May 2018 09:52:20 +0000 +Subject: [PATCH] properly fix wget https support + +See: https://git.alpinelinux.org/cgit/aports/commit/?id=1d0560a9b6b5597b191e5aff69a31c2fe0aba273 +--- + networking/wget.c | 19 ++++++++++++------- + 1 file changed, 12 insertions(+), 7 deletions(-) + diff --git a/networking/wget.c b/networking/wget.c -index cd92b3a28..a12c921cd 100644 +index 33c93bad3..e296d241a 100644 --- a/networking/wget.c +++ b/networking/wget.c -@@ -50,7 +50,6 @@ - //config: bool "Support HTTPS using internal TLS code" +@@ -51,7 +51,6 @@ + //it also enables FTPS support, but it's not well tested yet //config: default y //config: depends on WGET -//config: select TLS //config: help //config: wget will use internal TLS code to connect to https:// URLs. //config: Note: -@@ -767,8 +766,8 @@ static void spawn_ssl_client(const char *host, int network_fd) +@@ -716,8 +715,8 @@ static void spawn_ssl_client(const char *host, int network_fd, int flags) int pid; char *servername, *p; @@ -21,7 +31,7 @@ index cd92b3a28..a12c921cd 100644 servername = xstrdup(host); p = strrchr(servername, ':'); -@@ -785,21 +784,25 @@ static void spawn_ssl_client(const char *host, int network_fd) +@@ -734,14 +733,14 @@ static void spawn_ssl_client(const char *host, int network_fd, int flags) close(sp[0]); xmove_fd(sp[1], 0); xdup2(0, 1); @@ -30,23 +40,28 @@ index cd92b3a28..a12c921cd 100644 tls_state_t *tls = new_tls_state(); tls->ifd = tls->ofd = network_fd; tls_handshake(tls, servername); - tls_run_copy_loop(tls); + tls_run_copy_loop(tls, flags); exit(0); } else { -- char *argv[5]; -+ char *argv[6]; +- char *argv[6]; ++ char *argv[7], **a; + xmove_fd(network_fd, 3); argv[0] = (char*)"ssl_client"; - argv[1] = (char*)"-s3"; +@@ -749,8 +748,14 @@ static void spawn_ssl_client(const char *host, int network_fd, int flags) //TODO: if (!is_ip_address(servername))... argv[2] = (char*)"-n"; argv[3] = servername; -- argv[4] = NULL; -+ if (!ENABLE_SSL_CLIENT &&(option_mask32 & WGET_OPT_NO_CHECK_CERT)) { -+ argv[4] = (char*)"-I"; -+ argv[5] = NULL; -+ } else -+ argv[4] = NULL; +- argv[4] = (flags & TLSLOOP_EXIT_ON_LOCAL_EOF ? (char*)"-e" : NULL); +- argv[5] = NULL; ++ ++ a = &argv[4]; ++ if (flags & TLSLOOP_EXIT_ON_LOCAL_EOF) ++ *a++ = (char*)"-e"; ++ if (!ENABLE_SSL_CLIENT && (option_mask32 & WGET_OPT_NO_CHECK_CERT)) ++ *a++= (char*)"-I"; ++ *a = NULL; ++ BB_EXECVP(argv[0], argv); bb_perror_msg_and_die("can't execute '%s'", argv[0]); } diff --git a/main/busybox/0001-wget-emit-a-message-that-certificate-verification-is.patch b/main/busybox/0001-wget-emit-a-message-that-certificate-verification-is.patch deleted file mode 100644 index 3780b039e2..0000000000 --- a/main/busybox/0001-wget-emit-a-message-that-certificate-verification-is.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 948090c675f8b60b74c7357fcafb1cc8c179e0a6 Mon Sep 17 00:00:00 2001 -From: Denys Vlasenko <vda.linux@googlemail.com> -Date: Mon, 28 May 2018 14:36:26 +0200 -Subject: [PATCH] wget: emit a message that certificate verification is not - implemented - -function old new delta -spawn_ssl_client 185 209 +24 - -Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> ---- - networking/wget.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git a/networking/wget.c b/networking/wget.c -index d1d85230c..cd92b3a28 100644 ---- a/networking/wget.c -+++ b/networking/wget.c -@@ -136,6 +136,7 @@ - //usage: "Retrieve files via HTTP or FTP\n" - //usage: IF_FEATURE_WGET_LONG_OPTIONS( - //usage: "\n --spider Only check URL existence: $? is 0 if exists" -+///////: "\n --no-check-certificate Don't validate the server's certificate" - //usage: ) - //usage: "\n -c Continue retrieval of aborted transfer" - //usage: "\n -q Quiet" -@@ -267,6 +268,7 @@ enum { - WGET_OPT_HEADER = (1 << 10) * ENABLE_FEATURE_WGET_LONG_OPTIONS, - WGET_OPT_POST_DATA = (1 << 11) * ENABLE_FEATURE_WGET_LONG_OPTIONS, - WGET_OPT_SPIDER = (1 << 12) * ENABLE_FEATURE_WGET_LONG_OPTIONS, -+ WGET_OPT_NO_CHECK_CERT = (1 << 13) * ENABLE_FEATURE_WGET_LONG_OPTIONS, - }; - - enum { -@@ -765,6 +767,9 @@ static void spawn_ssl_client(const char *host, int network_fd) - int pid; - char *servername, *p; - -+ if (!(option_mask32 & WGET_OPT_NO_CHECK_CERT)) -+ bb_error_msg("note: TLS certificate validation not implemented"); -+ - servername = xstrdup(host); - p = strrchr(servername, ':'); - if (p) *p = '\0'; -@@ -1353,10 +1358,9 @@ IF_DESKTOP( "tries\0" Required_argument "t") - "header\0" Required_argument "\xff" - "post-data\0" Required_argument "\xfe" - "spider\0" No_argument "\xfd" -+ "no-check-certificate\0" No_argument "\xfc" - /* Ignored (we always use PASV): */ - IF_DESKTOP( "passive-ftp\0" No_argument "\xf0") -- /* Ignored (we don't do ssl) */ --IF_DESKTOP( "no-check-certificate\0" No_argument "\xf0") - /* Ignored (we don't support caching) */ - IF_DESKTOP( "no-cache\0" No_argument "\xf0") - IF_DESKTOP( "no-verbose\0" No_argument "\xf0") -@@ -1416,6 +1420,7 @@ IF_DESKTOP( "no-parent\0" No_argument "\xf0") - if (option_mask32 & WGET_OPT_HEADER) bb_error_msg("--header"); - if (option_mask32 & WGET_OPT_POST_DATA) bb_error_msg("--post-data"); - if (option_mask32 & WGET_OPT_SPIDER) bb_error_msg("--spider"); -+ if (option_mask32 & WGET_OPT_NO_CHECK_CERT) bb_error_msg("--no-check-certificate"); - exit(0); - #endif - argv += optind; --- -2.17.0 - diff --git a/main/busybox/0002-fsck-resolve-LABEL-.-UUID-.-spec-to-device.patch b/main/busybox/0002-fsck-resolve-LABEL-.-UUID-.-spec-to-device.patch index 72df8ecf9c..fd2503e7b9 100644 --- a/main/busybox/0002-fsck-resolve-LABEL-.-UUID-.-spec-to-device.patch +++ b/main/busybox/0002-fsck-resolve-LABEL-.-UUID-.-spec-to-device.patch @@ -1,14 +1,14 @@ -From bce882404ab41d32d5d9def274e49264717135b2 Mon Sep 17 00:00:00 2001 +From 2e673aac06d661038001286fd389d1b45c511c66 Mon Sep 17 00:00:00 2001 From: Natanael Copa <ncopa@alpinelinux.org> Date: Tue, 28 Nov 2017 13:23:17 +0100 -Subject: [PATCH 02/16] fsck: resolve LABEL=.../UUID=... spec to device +Subject: [PATCH] fsck: resolve LABEL=.../UUID=... spec to device --- e2fsprogs/fsck.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/e2fsprogs/fsck.c b/e2fsprogs/fsck.c -index 1c285bb92..5af38c0aa 100644 +index f5aa3dbe4..e2edc9747 100644 --- a/e2fsprogs/fsck.c +++ b/e2fsprogs/fsck.c @@ -60,6 +60,7 @@ @@ -19,7 +19,7 @@ index 1c285bb92..5af38c0aa 100644 #include "common_bufsiz.h" /* "progress indicator" code is somewhat buggy and ext[23] specific. -@@ -523,12 +524,13 @@ static int wait_many(int flags) +@@ -524,12 +525,13 @@ static int wait_many(int flags) * Execute a particular fsck program, and link it into the list of * child processes we are waiting for. */ @@ -34,7 +34,7 @@ index 1c285bb92..5af38c0aa 100644 G.args[0] = xasprintf("fsck.%s", type); -@@ -543,7 +545,8 @@ static void execute(const char *type, const char *device, +@@ -544,7 +546,8 @@ static void execute(const char *type, const char *device, } #endif @@ -44,7 +44,7 @@ index 1c285bb92..5af38c0aa 100644 /* G.args[G.num_args - 1] = NULL; - already is */ if (G.verbose || G.noexecute) { -@@ -972,9 +975,6 @@ int fsck_main(int argc UNUSED_PARAM, char **argv) +@@ -973,9 +976,6 @@ int fsck_main(int argc UNUSED_PARAM, char **argv) /* "/dev/blk" or "/path" or "UUID=xxx" or "LABEL=xxx" */ if ((arg[0] == '/' && !opts_for_fsck) || strchr(arg, '=')) { @@ -54,6 +54,3 @@ index 1c285bb92..5af38c0aa 100644 devices = xrealloc_vector(devices, 2, num_devices); devices[num_devices++] = arg; continue; --- -2.16.2 - diff --git a/main/busybox/0003-ash-exec-busybox.static.patch b/main/busybox/0003-ash-exec-busybox.static.patch index 94239a2eb9..8247e357f8 100644 --- a/main/busybox/0003-ash-exec-busybox.static.patch +++ b/main/busybox/0003-ash-exec-busybox.static.patch @@ -1,17 +1,17 @@ -From 36b6cc36d1f259e4ac76a1c2de743113845ff4cd Mon Sep 17 00:00:00 2001 +From d06a13f4cd81aeda9b02d4da90ef2b941899d6c5 Mon Sep 17 00:00:00 2001 From: Natanael Copa <ncopa@alpinelinux.org> Date: Thu, 4 Aug 2016 11:03:07 +0200 -Subject: [PATCH 03/16] ash: exec busybox.static +Subject: [PATCH] ash: exec busybox.static --- shell/ash.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/shell/ash.c b/shell/ash.c -index 7ceb91920..d04096a9b 100644 +index 051cc671f..73470eab2 100644 --- a/shell/ash.c +++ b/shell/ash.c -@@ -7845,6 +7845,8 @@ tryexec(IF_FEATURE_SH_STANDALONE(int applet_no,) const char *cmd, char **argv, c +@@ -7991,6 +7991,8 @@ tryexec(IF_FEATURE_SH_STANDALONE(int applet_no,) const char *cmd, char **argv, c } /* re-exec ourselves with the new arguments */ execve(bb_busybox_exec_path, argv, envp); @@ -20,6 +20,3 @@ index 7ceb91920..d04096a9b 100644 /* If they called chroot or otherwise made the binary no longer * executable, fall through */ } --- -2.16.2 - diff --git a/main/busybox/0004-app-location-for-cpio-vi-and-lspci.patch b/main/busybox/0004-app-location-for-cpio-vi-and-lspci.patch index 7f105cb679..ca558f8afb 100644 --- a/main/busybox/0004-app-location-for-cpio-vi-and-lspci.patch +++ b/main/busybox/0004-app-location-for-cpio-vi-and-lspci.patch @@ -1,7 +1,7 @@ -From 9bbc93f12f7cff8fb51a0bf89907d9875f5c14e6 Mon Sep 17 00:00:00 2001 +From d4bc80ad7bf9b846b38c903a087c5ed318e848fb Mon Sep 17 00:00:00 2001 From: Natanael Copa <ncopa@alpinelinux.org> Date: Tue, 27 Dec 2016 20:46:59 +0100 -Subject: [PATCH 04/16] app location for cpio, vi and lspci +Subject: [PATCH] app location for cpio, vi and lspci Adjust location to where alpine linux installs them --- @@ -11,7 +11,7 @@ Adjust location to where alpine linux installs them 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/archival/cpio.c b/archival/cpio.c -index 1d6cbd1e2..0c14f79e7 100644 +index 221667112..a6d7630a4 100644 --- a/archival/cpio.c +++ b/archival/cpio.c @@ -39,7 +39,7 @@ @@ -24,7 +24,7 @@ index 1d6cbd1e2..0c14f79e7 100644 //kbuild:lib-$(CONFIG_CPIO) += cpio.o diff --git a/editors/vi.c b/editors/vi.c -index cdfb27cc5..20077727e 100644 +index f103e0dc0..89397710c 100644 --- a/editors/vi.c +++ b/editors/vi.c @@ -161,7 +161,7 @@ @@ -49,6 +49,3 @@ index 0000fbfda..34189d2b5 100644 //kbuild:lib-$(CONFIG_LSPCI) += lspci.o --- -2.16.2 - diff --git a/main/busybox/0005-udhcpc-set-default-discover-retries-to-5.patch b/main/busybox/0005-udhcpc-set-default-discover-retries-to-5.patch index 181acdb9a8..303b5cd860 100644 --- a/main/busybox/0005-udhcpc-set-default-discover-retries-to-5.patch +++ b/main/busybox/0005-udhcpc-set-default-discover-retries-to-5.patch @@ -1,7 +1,7 @@ -From b67940090709f3bbd868557dd4d5317cb807250d Mon Sep 17 00:00:00 2001 +From ed9d54e8920e6f90ddda8519c761217685c07044 Mon Sep 17 00:00:00 2001 From: Natanael Copa <ncopa@alpinelinux.org> Date: Thu, 4 Aug 2016 11:08:35 +0200 -Subject: [PATCH 05/16] udhcpc: set default discover retries to 5 +Subject: [PATCH] udhcpc: set default discover retries to 5 Some slower nics needs more attempts to get a lease --- @@ -9,10 +9,10 @@ Some slower nics needs more attempts to get a lease 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c -index 55f21c187..cc1d22c8e 100644 +index c2805a009..0b14b0332 100644 --- a/networking/udhcp/dhcpc.c +++ b/networking/udhcp/dhcpc.c -@@ -1203,7 +1203,7 @@ static void client_background(void) +@@ -1197,7 +1197,7 @@ static void client_background(void) //usage: "\n -p FILE Create pidfile" //usage: "\n -B Request broadcast replies" //usage: "\n -t N Send up to N discover packets (default 3)" @@ -21,7 +21,7 @@ index 55f21c187..cc1d22c8e 100644 //usage: "\n -A SEC Wait if lease is not obtained (default 20)" //usage: "\n -n Exit if lease is not obtained" //usage: "\n -q Exit after obtaining lease" -@@ -1247,7 +1247,7 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv) +@@ -1242,7 +1242,7 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv) llist_t *list_x = NULL; int tryagain_timeout = 20; int discover_timeout = 3; @@ -30,6 +30,3 @@ index 55f21c187..cc1d22c8e 100644 uint32_t server_addr = server_addr; /* for compiler */ uint32_t requested_ip = 0; uint32_t xid = xid; /* for compiler */ --- -2.16.2 - diff --git a/main/busybox/0006-ping-make-ping-work-without-root-privileges.patch b/main/busybox/0006-ping-make-ping-work-without-root-privileges.patch index 630619b4a8..9bdeb7208d 100644 --- a/main/busybox/0006-ping-make-ping-work-without-root-privileges.patch +++ b/main/busybox/0006-ping-make-ping-work-without-root-privileges.patch @@ -1,17 +1,17 @@ -From 21d74f2989d0046e5b7c586f5a052643d5da8dcc Mon Sep 17 00:00:00 2001 +From 9513a2daae84660f2ddd7d60d39bb49cd678adbe Mon Sep 17 00:00:00 2001 From: Natanael Copa <ncopa@alpinelinux.org> Date: Tue, 29 Mar 2016 18:59:22 +0200 -Subject: [PATCH 06/16] ping: make ping work without root privileges +Subject: [PATCH] ping: make ping work without root privileges --- - networking/ping.c | 103 +++++++++++++++++++++++++++++++++++++++++++++--------- + networking/ping.c | 103 +++++++++++++++++++++++++++++++++++++++------- 1 file changed, 87 insertions(+), 16 deletions(-) diff --git a/networking/ping.c b/networking/ping.c -index d1d59d545..c0ebc0f9a 100644 +index 8f85d3ec2..dc3f50968 100644 --- a/networking/ping.c +++ b/networking/ping.c -@@ -163,6 +163,7 @@ enum { +@@ -165,6 +165,7 @@ enum { pingsock = 0, }; @@ -19,7 +19,7 @@ index d1d59d545..c0ebc0f9a 100644 static void #if ENABLE_PING6 create_icmp_socket(len_and_sockaddr *lsa) -@@ -179,9 +180,23 @@ create_icmp_socket(void) +@@ -181,9 +182,23 @@ create_icmp_socket(void) #endif sock = socket(AF_INET, SOCK_RAW, 1); /* 1 == ICMP */ if (sock < 0) { @@ -46,7 +46,7 @@ index d1d59d545..c0ebc0f9a 100644 } xmove_fd(sock, pingsock); -@@ -234,10 +249,12 @@ static void ping4(len_and_sockaddr *lsa) +@@ -236,10 +251,12 @@ static void ping4(len_and_sockaddr *lsa) bb_perror_msg("recvfrom"); continue; } @@ -62,9 +62,9 @@ index d1d59d545..c0ebc0f9a 100644 if (pkt->icmp_id != G.myid) continue; /* not our ping */ if (pkt->icmp_type == ICMP_ECHOREPLY) -@@ -634,19 +651,21 @@ static void unpack_tail(int sz, uint32_t *tp, +@@ -636,19 +653,21 @@ static void unpack_tail(int sz, uint32_t *tp, } - static void unpack4(char *buf, int sz, struct sockaddr_in *from) + static int unpack4(char *buf, int sz, struct sockaddr_in *from) { - struct icmp *icmppkt; struct iphdr *iphdr; @@ -73,7 +73,7 @@ index d1d59d545..c0ebc0f9a 100644 /* discard if too short */ if (sz < (datalen + ICMP_MINLEN)) - return; + return 0; + if(!using_dgram) { + /* check IP header */ + iphdr = (struct iphdr *) buf; @@ -88,18 +88,18 @@ index d1d59d545..c0ebc0f9a 100644 - sz -= hlen; - icmppkt = (struct icmp *) (buf + hlen); if (icmppkt->icmp_id != myid) - return; /* not our ping */ + return 0; /* not our ping */ -@@ -658,7 +677,7 @@ static void unpack4(char *buf, int sz, struct sockaddr_in *from) +@@ -660,7 +679,7 @@ static int unpack4(char *buf, int sz, struct sockaddr_in *from) tp = (uint32_t *) icmppkt->icmp_data; unpack_tail(sz, tp, inet_ntoa(*(struct in_addr *) &from->sin_addr.s_addr), - recv_seq, iphdr->ttl); + recv_seq, using_dgram ? 42 : iphdr->ttl); - } else if (icmppkt->icmp_type != ICMP_ECHO) { - bb_error_msg("warning: got ICMP %d (%s)", - icmppkt->icmp_type, -@@ -702,11 +721,31 @@ static void ping4(len_and_sockaddr *lsa) + return 1; + } + if (icmppkt->icmp_type != ICMP_ECHO) { +@@ -710,11 +729,31 @@ static void ping4(len_and_sockaddr *lsa) int sockopt; pingaddr.sin = lsa->u.sin; @@ -132,7 +132,7 @@ index d1d59d545..c0ebc0f9a 100644 } /* enable broadcast pings */ -@@ -723,6 +762,15 @@ static void ping4(len_and_sockaddr *lsa) +@@ -731,6 +770,15 @@ static void ping4(len_and_sockaddr *lsa) setsockopt_int(pingsock, IPPROTO_IP, IP_MULTICAST_TTL, opt_ttl); } @@ -148,7 +148,7 @@ index d1d59d545..c0ebc0f9a 100644 signal(SIGINT, print_stats_and_exit); /* start the ping's going ... */ -@@ -756,10 +804,33 @@ static void ping6(len_and_sockaddr *lsa) +@@ -768,10 +816,33 @@ static void ping6(len_and_sockaddr *lsa) char control_buf[CMSG_SPACE(36)]; pingaddr.sin6 = lsa->u.sin6; @@ -183,15 +183,12 @@ index d1d59d545..c0ebc0f9a 100644 { struct icmp6_filter filt; if (!(option_mask32 & OPT_VERBOSE)) { -@@ -890,7 +961,7 @@ static int common_ping_main(int opt, char **argv) - if (opt & OPT_p) - G.pattern = xstrtou_range(str_p, 16, 0, 255); +@@ -911,7 +982,7 @@ static int common_ping_main(int opt, char **argv) + G.deadline_us = 1 | ((d * 1000000) + monotonic_us()); + } - myid = (uint16_t) getpid(); + if (!using_dgram) myid = (uint16_t) getpid(); hostname = argv[optind]; #if ENABLE_PING6 { --- -2.16.2 - diff --git a/main/busybox/0007-fbsplash-support-console-switching.patch b/main/busybox/0007-fbsplash-support-console-switching.patch index 7d76d4f1f4..8d1950587e 100644 --- a/main/busybox/0007-fbsplash-support-console-switching.patch +++ b/main/busybox/0007-fbsplash-support-console-switching.patch @@ -1,14 +1,14 @@ -From 377e2f20c1034de1195fd900fc637821952cfa49 Mon Sep 17 00:00:00 2001 +From 8fb815ec846d9ac64c89ac21cededc17f0b804c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> Date: Mon, 24 Sep 2012 07:58:29 +0300 -Subject: [PATCH 07/16] fbsplash: support console switching +Subject: [PATCH] fbsplash: support console switching --- - miscutils/fbsplash.c | 82 +++++++++++++++++++++++++++++++++++++++++++++++----- + miscutils/fbsplash.c | 82 ++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 75 insertions(+), 7 deletions(-) diff --git a/miscutils/fbsplash.c b/miscutils/fbsplash.c -index 5b2e5ac56..bc80f728c 100644 +index bc3c61055..1c206ef53 100644 --- a/miscutils/fbsplash.c +++ b/miscutils/fbsplash.c @@ -47,7 +47,7 @@ @@ -21,7 +21,7 @@ index 5b2e5ac56..bc80f728c 100644 //usage: " -s Image" //usage: "\n -c Hide cursor" @@ -57,11 +57,17 @@ - //usage: "\n BAR_R,BAR_G,BAR_B" + //usage: "\n BAR_R,BAR_G,BAR_B,IMG_LEFT,IMG_TOP" //usage: "\n -f Control pipe (else exit after drawing image)" //usage: "\n commands: 'NN' (% for progress bar) or 'exit'" +//usage: "\n -T Switch to TTY to hide all console messages" @@ -40,14 +40,14 @@ index 5b2e5ac56..bc80f728c 100644 @@ -75,6 +81,8 @@ struct globals { unsigned char *addr; // pointer to framebuffer memory - unsigned ns[7]; // n-parameters + unsigned ns[9]; // n-parameters const char *image_filename; + int silent_tty, fd_tty_s; + bool do_not_draw; struct fb_var_screeninfo scr_var; struct fb_fix_screeninfo scr_fix; unsigned bytes_per_pixel; -@@ -485,6 +493,11 @@ static void init(const char *cfg_filename) +@@ -488,6 +496,11 @@ static void init(const char *cfg_filename) config_close(parser); } @@ -59,7 +59,7 @@ index 5b2e5ac56..bc80f728c 100644 int fbsplash_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; int fbsplash_main(int argc UNUSED_PARAM, char **argv) -@@ -494,6 +507,9 @@ int fbsplash_main(int argc UNUSED_PARAM, char **argv) +@@ -497,6 +510,9 @@ int fbsplash_main(int argc UNUSED_PARAM, char **argv) char *num_buf; unsigned num; bool bCursorOff; @@ -69,7 +69,7 @@ index 5b2e5ac56..bc80f728c 100644 INIT_G(); -@@ -501,8 +517,9 @@ int fbsplash_main(int argc UNUSED_PARAM, char **argv) +@@ -504,8 +520,9 @@ int fbsplash_main(int argc UNUSED_PARAM, char **argv) fb_device = "/dev/fb0"; cfg_filename = NULL; fifo_filename = NULL; @@ -81,7 +81,7 @@ index 5b2e5ac56..bc80f728c 100644 // parse configuration file if (cfg_filename) -@@ -512,11 +529,43 @@ int fbsplash_main(int argc UNUSED_PARAM, char **argv) +@@ -515,11 +532,43 @@ int fbsplash_main(int argc UNUSED_PARAM, char **argv) if (!G.image_filename) bb_show_usage(); @@ -126,7 +126,7 @@ index 5b2e5ac56..bc80f728c 100644 } fb_drawimage(); -@@ -524,6 +573,7 @@ int fbsplash_main(int argc UNUSED_PARAM, char **argv) +@@ -527,6 +576,7 @@ int fbsplash_main(int argc UNUSED_PARAM, char **argv) if (!fifo_filename) return EXIT_SUCCESS; @@ -134,7 +134,7 @@ index 5b2e5ac56..bc80f728c 100644 fp = xfopen_stdin(fifo_filename); if (fp != stdin) { // For named pipes, we want to support this: -@@ -539,8 +589,9 @@ int fbsplash_main(int argc UNUSED_PARAM, char **argv) +@@ -542,8 +592,9 @@ int fbsplash_main(int argc UNUSED_PARAM, char **argv) // and become an additional writer :) open(fifo_filename, O_WRONLY); // errors are ignored } @@ -145,7 +145,7 @@ index 5b2e5ac56..bc80f728c 100644 // Block on read, waiting for some input. // Use of <stdio.h> style I/O allows to correctly // handle a case when we have many buffered lines -@@ -555,12 +606,29 @@ int fbsplash_main(int argc UNUSED_PARAM, char **argv) +@@ -558,12 +609,29 @@ int fbsplash_main(int argc UNUSED_PARAM, char **argv) #if DEBUG DEBUG_MESSAGE(itoa(num)); #endif @@ -177,6 +177,3 @@ index 5b2e5ac56..bc80f728c 100644 full_write(STDOUT_FILENO, ESC"[?25h", 6); return EXIT_SUCCESS; --- -2.16.2 - diff --git a/main/busybox/0008-fbsplash-support-image-and-bar-alignment-and-positio.patch b/main/busybox/0008-fbsplash-support-image-and-bar-alignment-and-positio.patch index b0cb5cc3d4..ab3421e22a 100644 --- a/main/busybox/0008-fbsplash-support-image-and-bar-alignment-and-positio.patch +++ b/main/busybox/0008-fbsplash-support-image-and-bar-alignment-and-positio.patch @@ -1,34 +1,31 @@ -From 97fcb49bfbe74fa17a52e63b2196d8a5c3b27d93 Mon Sep 17 00:00:00 2001 +From cc005e48ebd831199789d9dfb1a9307e743ecdaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> Date: Fri, 21 Nov 2014 16:06:34 +0200 -Subject: [PATCH 08/16] fbsplash: support image and bar alignment and - positioning +Subject: [PATCH] fbsplash: support image and bar alignment and positioning +Needed to center a splash screen image in the initramfs. --- - miscutils/fbsplash.c | 91 +++++++++++++++++++++++++++++++++++++++++++--------- - 1 file changed, 76 insertions(+), 15 deletions(-) + miscutils/fbsplash.c | 93 ++++++++++++++++++++++++++++++++------------ + 1 file changed, 69 insertions(+), 24 deletions(-) diff --git a/miscutils/fbsplash.c b/miscutils/fbsplash.c -index bc80f728c..9089131b8 100644 +index 1c206ef53..500e04fcc 100644 --- a/miscutils/fbsplash.c +++ b/miscutils/fbsplash.c -@@ -53,6 +53,7 @@ - //usage: "\n -c Hide cursor" +@@ -54,7 +54,7 @@ //usage: "\n -d Framebuffer device (default /dev/fb0)" //usage: "\n -i Config file (var=value):" -+//usage: "\n IMAGE_ALIGN" //usage: "\n BAR_LEFT,BAR_TOP,BAR_WIDTH,BAR_HEIGHT" - //usage: "\n BAR_R,BAR_G,BAR_B" +-//usage: "\n BAR_R,BAR_G,BAR_B,IMG_LEFT,IMG_TOP" ++//usage: "\n BAR_R,BAR_G,BAR_B,IMG_LEFT,IMG_TOP,IMG_ALIGN" //usage: "\n -f Control pipe (else exit after drawing image)" -@@ -73,13 +74,38 @@ + //usage: "\n commands: 'NN' (% for progress bar) or 'exit'" + //usage: "\n -T Switch to TTY to hide all console messages" +@@ -73,13 +73,39 @@ #define ESC "\033" +enum { -+ image_align, -+ -+ image_posx, -+ image_posy, + bar_width, + bar_height, + bar_posx, @@ -36,11 +33,13 @@ index bc80f728c..9089131b8 100644 + bar_colr, + bar_colg, + bar_colb, -+ -+ debug ++ nimg_posx, ++ nimg_posy, ++ nimg_align, ++ num_ns_opts, ++ debug = num_ns_opts, +}; + -+#define nimage_align ns[image_align] +#define nbar_width ns[bar_width] +#define nbar_height ns[bar_height] +#define nbar_posx ns[bar_posx] @@ -48,6 +47,9 @@ index bc80f728c..9089131b8 100644 +#define nbar_colr ns[bar_colr] +#define nbar_colg ns[bar_colg] +#define nbar_colb ns[bar_colb] ++#define img_posx ns[nimg_posx] ++#define img_posy ns[nimg_posy] ++#define img_align ns[nimg_align] + struct globals { #if DEBUG @@ -55,12 +57,12 @@ index bc80f728c..9089131b8 100644 FILE *logfile_fd; // log file #endif unsigned char *addr; // pointer to framebuffer memory -- unsigned ns[7]; // n-parameters -+ unsigned ns[debug+1]; // n-parameters +- unsigned ns[9]; // n-parameters ++ unsigned ns[num_ns_opts]; // n-parameters const char *image_filename; int silent_tty, fd_tty_s; bool do_not_draw; -@@ -96,14 +122,6 @@ struct globals { +@@ -96,16 +122,6 @@ struct globals { SET_PTR_TO_GLOBALS(xzalloc(sizeof(G))); \ } while (0) @@ -71,11 +73,13 @@ index bc80f728c..9089131b8 100644 -#define nbar_colr ns[4] // progress bar color red component -#define nbar_colg ns[5] // progress bar color green component -#define nbar_colb ns[6] // progress bar color blue component +-#define img_posx ns[7] // image horizontal position +-#define img_posy ns[8] // image vertical position - #if DEBUG #define DEBUG_MESSAGE(strMessage, args...) \ if (G.bdebug_messages) { \ -@@ -384,7 +402,7 @@ static void fb_drawimage(void) +@@ -386,7 +402,7 @@ static void fb_drawimage(void) FILE *theme_file; char *read_ptr; unsigned char *pixline; @@ -84,56 +88,54 @@ index bc80f728c..9089131b8 100644 if (LONE_DASH(G.image_filename)) { theme_file = stdin; -@@ -434,18 +452,46 @@ static void fb_drawimage(void) +@@ -436,18 +452,39 @@ static void fb_drawimage(void) line_size = width*3; pixline = xmalloc(line_size); -+#if 0 - if (width > G.scr_var.xres) - width = G.scr_var.xres; - if (height > G.scr_var.yres) - height = G.scr_var.yres; +- if ((width + G.img_posx) > G.scr_var.xres) +- width = G.scr_var.xres - G.img_posx; +- if ((height + G.img_posy) > G.scr_var.yres) +- height = G.scr_var.yres - G.img_posy; - for (j = 0; j < height; j++) { -+#endif -+ -+ xoffs = yoffs = 0; -+ switch (G.nimage_align % 3) { -+ case 1: xoffs = (G.scr_var.xres - width) / 2; break; -+ case 2: xoffs = G.scr_var.xres - width; break; ++ xoffs = G.img_posx; ++ switch (G.img_align % 3) { ++ case 1: xoffs += (G.scr_var.xres - width) / 2; break; ++ case 2: xoffs += G.scr_var.xres - width; break; + } + xstart = 0; + if (xoffs < 0) { + xstart = -xoffs; -+ width -= xstart; + xoffs = 0; + } -+ xoffs *= G.bytes_per_pixel; -+ if (width > G.scr_var.xres) -+ width = G.scr_var.xres; ++ if ((width + xoffs) > G.scr_var.xres) ++ width = G.scr_var.xres - xoffs; + -+ switch (G.nimage_align / 3) { -+ case 1: yoffs = (G.scr_var.yres - height) / 2; break; -+ case 2: yoffs = G.scr_var.yres - height; break; ++ yoffs = G.img_posy; ++ switch (G.img_align / 3) { ++ case 1: yoffs += (G.scr_var.yres - height) / 2; break; ++ case 2: yoffs += G.scr_var.yres - height; break; + } ++ if ((height + yoffs) > G.scr_var.yres) ++ height = G.scr_var.yres - yoffs; + -+ for (j = 0; j < height && yoffs < G.scr_var.yres; j++, yoffs++) { ++ for (j = 0; j < height; j++, yoffs++) { unsigned char *pixel; unsigned char *src; if (fread(pixline, 1, line_size, theme_file) != line_size) bb_error_msg_and_die("bad PPM file '%s'", G.image_filename); +- pixel = pixline; +- src = G.addr + (G.img_posy + j) * G.scr_fix.line_length + G.img_posx * G.bytes_per_pixel; + + if (yoffs < 0) + continue; + - pixel = pixline; -- src = G.addr + j * G.scr_fix.line_length; -+ src = G.addr + yoffs * G.scr_fix.line_length + xoffs; -+ ++ pixel = pixline + xstart * 3; ++ src = G.addr + yoffs * G.scr_fix.line_length + xoffs * G.bytes_per_pixel; for (i = 0; i < width; i++) { unsigned thispix = fb_pixel_value(pixel[0], pixel[1], pixel[2]); fb_write_pixel(src, thispix); -@@ -464,9 +510,17 @@ static void fb_drawimage(void) +@@ -466,11 +503,15 @@ static void fb_drawimage(void) */ static void init(const char *cfg_filename) { @@ -142,40 +144,33 @@ index bc80f728c..9089131b8 100644 + "LM\0" "CM\0" "RM\0" + "LB\0" "CB\0" "RB\0"; static const char param_names[] ALIGN1 = -+ "IMAGE_ALIGN\0" -+ -+ "IMAGE_X\0" "IMAGE_Y\0" "BAR_WIDTH\0" "BAR_HEIGHT\0" "BAR_LEFT\0" "BAR_TOP\0" -+ "BAR_R\0" "BAR_G\0" "BAR_B\0" +- "IMG_LEFT\0" "IMG_TOP\0" ++ "IMG_LEFT\0" "IMG_TOP\0" "IMG_ALIGN\0" #if DEBUG "DEBUG\0" -@@ -476,14 +530,21 @@ static void init(const char *cfg_filename) + #endif +@@ -479,14 +520,18 @@ static void init(const char *cfg_filename) parser_t *parser = config_open2(cfg_filename, xfopen_stdin); while (config_read(parser, token, 2, 2, "#=", (PARSE_NORMAL | PARSE_MIN_DIE) & ~(PARSE_TRIM | PARSE_COLLAPSE))) { - unsigned val = xatoi_positive(token[1]); + unsigned val; int i = index_in_strings(param_names, token[0]); -+ if (i < 0) bb_error_msg_and_die("syntax error: %s", token[0]); -- if (i >= 0 && i < 7) -+ -+ if (i <= image_align) +- if (i >= 0 && i < 9) ++ if (i == nimg_align) + val = index_in_strings(align_names, token[1]); + else + val = xatoi_positive(token[1]); -+ -+ if (i < debug) ++ if (i < num_ns_opts) G.ns[i] = val; #if DEBUG -- if (i == 7) { +- if (i == 9) { + if (i == debug) { G.bdebug_messages = val; if (G.bdebug_messages) G.logfile_fd = xfopen_for_write("/tmp/fbsplash.log"); --- -2.16.2 - diff --git a/main/busybox/0009-depmod-support-generating-kmod-binary-index-files.patch b/main/busybox/0009-depmod-support-generating-kmod-binary-index-files.patch index 2034f5c88c..a0a56a006d 100644 --- a/main/busybox/0009-depmod-support-generating-kmod-binary-index-files.patch +++ b/main/busybox/0009-depmod-support-generating-kmod-binary-index-files.patch @@ -1,7 +1,7 @@ -From d13cb44f10d730eeac83340f71ea95b6faa0c142 Mon Sep 17 00:00:00 2001 +From 24f932672e826e8f93955d0c6dd6bca140f3fa98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> Date: Sun, 25 Oct 2015 22:21:41 +0200 -Subject: [PATCH 09/16] depmod: support generating kmod binary index files +Subject: [PATCH] depmod: support generating kmod binary index files This allows to use busybox depmod, and run daemons using libkmod (or even kmod modprobe if needed). @@ -10,14 +10,14 @@ About +1500 bytes when enabled. This patch merges some depmod code paths, so when this is disabled it shrinks the code size a little bit. --- modutils/Config.src | 9 ++ - modutils/depmod.c | 281 ++++++++++++++++++++++++++++++++++++++++++---------- + modutils/depmod.c | 281 ++++++++++++++++++++++++++++++++++++-------- modutils/modprobe.c | 15 --- - modutils/modutils.c | 31 ++++++ + modutils/modutils.c | 31 +++++ modutils/modutils.h | 16 +++ 5 files changed, 286 insertions(+), 66 deletions(-) diff --git a/modutils/Config.src b/modutils/Config.src -index e413702bb..1be7434a5 100644 +index 188296814..7a4c037ad 100644 --- a/modutils/Config.src +++ b/modutils/Config.src @@ -152,6 +152,15 @@ config FEATURE_MODUTILS_ALIAS @@ -505,6 +505,3 @@ index 4a702e97c..73e816028 100644 int string_to_llist(char *string, llist_t **llist, const char *delim) FAST_FUNC; char *filename2modname(const char *filename, char *modname) FAST_FUNC; #if ENABLE_FEATURE_CMDLINE_MODULE_OPTIONS --- -2.16.2 - diff --git a/main/busybox/0010-Add-flag-for-not-following-symlinks-when-recursing.patch b/main/busybox/0010-Add-flag-for-not-following-symlinks-when-recursing.patch index a45c46d09d..da69e06e18 100644 --- a/main/busybox/0010-Add-flag-for-not-following-symlinks-when-recursing.patch +++ b/main/busybox/0010-Add-flag-for-not-following-symlinks-when-recursing.patch @@ -1,7 +1,7 @@ -From 1c8c2316f98c2e4894c4c1686f0aa7937fcc0a17 Mon Sep 17 00:00:00 2001 +From 73318f344e6e57821464068364e30edef18e747d Mon Sep 17 00:00:00 2001 From: Natanael Copa <ncopa@alpinelinux.org> Date: Fri, 25 Jul 2014 15:28:33 +0200 -Subject: [PATCH 10/16] Add flag for not following symlinks when recursing +Subject: [PATCH] Add flag for not following symlinks when recursing function old new delta .rodata 7934 7967 +33 @@ -54,6 +54,3 @@ index 1462a9b18..2c899578e 100644 ; # define GETOPT32 getopt32long # define LONGOPTS ,diff_longopts --- -2.16.2 - diff --git a/main/busybox/0011-sysklogd-add-Z-option-to-adjust-message-timezones.patch b/main/busybox/0011-sysklogd-add-Z-option-to-adjust-message-timezones.patch index b4ba240c4a..3ec1659259 100644 --- a/main/busybox/0011-sysklogd-add-Z-option-to-adjust-message-timezones.patch +++ b/main/busybox/0011-sysklogd-add-Z-option-to-adjust-message-timezones.patch @@ -1,7 +1,7 @@ -From 889a08dc0ae0d6b76692e6ed811f431c5b5db53c Mon Sep 17 00:00:00 2001 +From 7282c6ce8ec6cc3e817ed948d8ce2d0df2a08e5b Mon Sep 17 00:00:00 2001 From: Shiz <hi@shiz.me> Date: Mon, 8 May 2017 23:09:13 +0200 -Subject: [PATCH 11/16] sysklogd: add -Z option to adjust message timezones +Subject: [PATCH] sysklogd: add -Z option to adjust message timezones Some syslog() implementations like musl's[1] always send timestamps in UTC. This change adds a new option to syslogd, -Z, to assume incoming timestamps @@ -99,6 +99,3 @@ index 4265f4f90..eca955891 100644 #if ENABLE_FEATURE_ROTATE_LOGFILE if (opts & OPT_filesize) // -s G.logFileSize = xatou_range(opt_s, 0, INT_MAX/1024) * 1024; --- -2.16.2 - diff --git a/main/busybox/0012-udhcpc-Don-t-background-if-n-is-given.patch b/main/busybox/0012-udhcpc-Don-t-background-if-n-is-given.patch index 50719b0035..ba289a230b 100644 --- a/main/busybox/0012-udhcpc-Don-t-background-if-n-is-given.patch +++ b/main/busybox/0012-udhcpc-Don-t-background-if-n-is-given.patch @@ -1,7 +1,7 @@ -From 7f3d0620051c30e2047593092aa054565756b57f Mon Sep 17 00:00:00 2001 +From f945fb1489f7d285c7f17d64fbe259637d3ef790 Mon Sep 17 00:00:00 2001 From: Natanael Copa <ncopa@alpinelinux.org> Date: Thu, 6 Jul 2017 13:39:15 +0200 -Subject: [PATCH 12/16] udhcpc: Don't background if -n is given +Subject: [PATCH] udhcpc: Don't background if -n is given we need add -b to our udhcpc options to prevent boot forever if there are no dhcp server. We also need a way for users to disable this behavior by making @@ -11,10 +11,10 @@ it possible to set -n option at runtime. 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c -index cc1d22c8e..10b846b0a 100644 +index 0b14b0332..623b87fbb 100644 --- a/networking/udhcp/dhcpc.c +++ b/networking/udhcp/dhcpc.c -@@ -1479,19 +1479,19 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv) +@@ -1469,19 +1469,19 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv) } leasefail: udhcp_run_script(NULL, "leasefail"); @@ -40,6 +40,3 @@ index cc1d22c8e..10b846b0a 100644 /* wait before trying again */ timeout = tryagain_timeout; packet_num = 0; --- -2.16.2 - diff --git a/main/busybox/0013-testsuite-fix-cpio-tests.patch b/main/busybox/0013-testsuite-fix-cpio-tests.patch index a9ba0c4d0d..3b9c79e5dd 100644 --- a/main/busybox/0013-testsuite-fix-cpio-tests.patch +++ b/main/busybox/0013-testsuite-fix-cpio-tests.patch @@ -1,7 +1,7 @@ -From 495a53387a12bffe393dcd0d6de2bc64374d38d2 Mon Sep 17 00:00:00 2001 +From 69b954f128d397bbe44deb044313810c41cdcbbb Mon Sep 17 00:00:00 2001 From: Natanael Copa <ncopa@alpinelinux.org> Date: Thu, 6 Jul 2017 13:41:32 +0200 -Subject: [PATCH 13/16] testsuite: fix cpio tests +Subject: [PATCH] testsuite: fix cpio tests The cpio tests don't search for the right output line correctly, using a hardcoded tail offset. Instead, grep for the file entry @@ -77,6 +77,3 @@ index 39205242c..1d48e90be 100755 1 abc 123 --- -2.16.2 - diff --git a/main/busybox/0014-miscutils-microcom-Fixed-segfault.patch b/main/busybox/0014-miscutils-microcom-Fixed-segfault.patch index 59114460a2..85fb12f666 100644 --- a/main/busybox/0014-miscutils-microcom-Fixed-segfault.patch +++ b/main/busybox/0014-miscutils-microcom-Fixed-segfault.patch @@ -1,7 +1,7 @@ -From 2881266313824ed1c2d422ea905e25509f9bc924 Mon Sep 17 00:00:00 2001 +From 33c5d20fd0703b678f3c097c628026002b1fd0e3 Mon Sep 17 00:00:00 2001 From: Marian Buschsieweke <marian.buschsieweke@ovgu.de> Date: Wed, 2 Aug 2017 23:36:08 +0200 -Subject: [PATCH 14/16] miscutils/microcom: Fixed segfault +Subject: [PATCH] miscutils/microcom: Fixed segfault microcom did not check if required parameter TTY is present. Thus, bb_basename() was called with a NULL pointer if TTY was missing. @@ -26,6 +26,3 @@ index fa090057e..96ea02b16 100644 // try to create lock file in /var/lock device_lock_file = (char *)bb_basename(argv[0]); device_lock_file = xasprintf("/var/lock/LCK..%s", device_lock_file); --- -2.16.2 - diff --git a/main/busybox/0015-ash-introduce-a-config-option-to-search-current-dire.patch b/main/busybox/0015-ash-introduce-a-config-option-to-search-current-dire.patch deleted file mode 100644 index 9fc6f7e681..0000000000 --- a/main/busybox/0015-ash-introduce-a-config-option-to-search-current-dire.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 13c7e0cc7767b84e183ddbc3400171874478bf06 Mon Sep 17 00:00:00 2001 -From: Denys Vlasenko <vda.linux@googlemail.com> -Date: Fri, 26 Jan 2018 15:15:43 +0100 -Subject: [PATCH 15/16] ash: introduce a config option to search current - directory for sourced files - ---- - shell/ash.c | 13 ++++++++++++- - 1 file changed, 12 insertions(+), 1 deletion(-) - -diff --git a/shell/ash.c b/shell/ash.c -index d04096a9b..5dd184360 100644 ---- a/shell/ash.c -+++ b/shell/ash.c -@@ -132,6 +132,13 @@ - //config: you to run the specified command or builtin, - //config: even when there is a function with the same name. - //config: -+//config:config ASH_BASH_SOURCE_CURDIR -+//config: bool "'source' and '.' builtins search current directory after $PATH" -+//config: default n # do not encourage non-standard behavior -+//config: depends ASH_BASH_COMPAT -+//config: help -+//config: This is not compliant with standards. Avoid if possible. -+//config: - //config:config ASH_COMMAND_NOT_FOUND_HOOK - //config: bool "command_not_found_handle hook support" - //config: default y -@@ -12919,10 +12926,14 @@ find_dot_file(char *name) - if (fullname != name) - stunalloc(fullname); - } -+ /* not found in PATH */ - -- /* not found in the PATH */ -+#if ENABLE_ASH_BASH_SOURCE_CURDIR -+ return name; -+#else - ash_msg_and_raise_error("%s: not found", name); - /* NOTREACHED */ -+#endif - } - - static int FAST_FUNC --- -2.16.2 - diff --git a/main/busybox/0016-top-handle-much-larger-VSZ-values.patch b/main/busybox/0016-top-handle-much-larger-VSZ-values.patch deleted file mode 100644 index c8013403f0..0000000000 --- a/main/busybox/0016-top-handle-much-larger-VSZ-values.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 9d37e0e491d53e71c2e3ede1e002790e1026b9c6 Mon Sep 17 00:00:00 2001 -From: Denys Vlasenko <vda.linux@googlemail.com> -Date: Wed, 7 Mar 2018 03:59:52 +0100 -Subject: [PATCH 16/16] top: handle much larger VSZ values - -function old new delta -display_process_list 1018 999 -19 - -Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> ---- - procps/top.c | 12 +++++------- - 1 file changed, 5 insertions(+), 7 deletions(-) - -diff --git a/procps/top.c b/procps/top.c -index b777c494e..9bb3eed29 100644 ---- a/procps/top.c -+++ b/procps/top.c -@@ -607,7 +607,6 @@ static NOINLINE void display_process_list(int lines_rem, int scr_width) - }; - - top_status_t *s; -- char vsz_str_buf[8]; - unsigned long total_memory = display_header(scr_width, &lines_rem); /* or use total_vsz? */ - /* xxx_shift and xxx_scale variables allow us to replace - * expensive divides with multiply and shift */ -@@ -688,19 +687,18 @@ static NOINLINE void display_process_list(int lines_rem, int scr_width) - lines_rem = ntop - G_scroll_ofs; - s = top + G_scroll_ofs; - while (--lines_rem >= 0) { -+ char vsz_str_buf[8]; - unsigned col; -+ - CALC_STAT(pmem, (s->vsz*pmem_scale + pmem_half) >> pmem_shift); - #if ENABLE_FEATURE_TOP_CPU_USAGE_PERCENTAGE - CALC_STAT(pcpu, (s->pcpu*pcpu_scale + pcpu_half) >> pcpu_shift); - #endif - -- if (s->vsz >= 100000) -- sprintf(vsz_str_buf, "%6ldm", s->vsz/1024); -- else -- sprintf(vsz_str_buf, "%7lu", s->vsz); -+ smart_ulltoa5(s->vsz, vsz_str_buf, " mgtpezy"); - /* PID PPID USER STAT VSZ %VSZ [%CPU] COMMAND */ - col = snprintf(line_buf, scr_width, -- "\n" "%5u%6u %-8.8s %s%s" FMT -+ "\n" "%5u%6u %-8.8s %s %.5s" FMT - IF_FEATURE_TOP_SMP_PROCESS(" %3d") - IF_FEATURE_TOP_CPU_USAGE_PERCENTAGE(FMT) - " ", -@@ -710,7 +708,7 @@ static NOINLINE void display_process_list(int lines_rem, int scr_width) - IF_FEATURE_TOP_SMP_PROCESS(, s->last_seen_on_cpu) - IF_FEATURE_TOP_CPU_USAGE_PERCENTAGE(, SHOW_STAT(pcpu)) - ); -- if ((int)(col + 1) < scr_width) -+ if ((int)(scr_width - col) > 1) - read_cmdline(line_buf + col, scr_width - col, s->pid, s->comm); - fputs(line_buf, stdout); - /* printf(" %d/%d %lld/%lld", s->pcpu, total_pcpu, --- -2.16.2 - diff --git a/main/busybox/0017-ifupdown-do-not-fail-if-interface-disappears-during-.patch b/main/busybox/0017-ifupdown-do-not-fail-if-interface-disappears-during-.patch deleted file mode 100644 index bdf24b7838..0000000000 --- a/main/busybox/0017-ifupdown-do-not-fail-if-interface-disappears-during-.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 444a2f6be54186ae9ade1f2c3d4356cd62a720c5 Mon Sep 17 00:00:00 2001 -From: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> -Date: Fri, 23 Mar 2018 14:56:52 +0200 -Subject: [PATCH] ifupdown: do not fail if interface disappears during ifdown - -Interface may not exist because it got deleted by an ifdown hook script -earlier. This may happen when a virtual interface, such as VLAN, has multiple -iface blocks defined. - -Signed-off-by: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> ---- - networking/ifupdown.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/networking/ifupdown.c b/networking/ifupdown.c -index 534c9f0c7..35d13c5e1 100644 ---- a/networking/ifupdown.c -+++ b/networking/ifupdown.c -@@ -141,6 +141,7 @@ - #include "libbb.h" - #include "common_bufsiz.h" - /* After libbb.h, since it needs sys/types.h on some systems */ -+#include <net/if.h> - #include <sys/utsname.h> - #include <fnmatch.h> - -@@ -503,6 +504,7 @@ static int FAST_FUNC static_up6(struct interface_defn_t *ifd, execfn *exec) - - static int FAST_FUNC static_down6(struct interface_defn_t *ifd, execfn *exec) - { -+ if (!if_nametoindex(ifd->iface)) return 1; - # if ENABLE_FEATURE_IFUPDOWN_IP - return execute("ip link set %iface% down", ifd, exec); - # else -@@ -598,6 +600,7 @@ static int FAST_FUNC static_up(struct interface_defn_t *ifd, execfn *exec) - static int FAST_FUNC static_down(struct interface_defn_t *ifd, execfn *exec) - { - int result; -+ if (!if_nametoindex(ifd->iface)) return 2; - # if ENABLE_FEATURE_IFUPDOWN_IP - /* Optional "label LBL" is necessary if interface is an alias (eth0:0), - * otherwise "ip addr flush dev eth0:0" flushes all addresses on eth0. --- -2.14.3 - diff --git a/main/busybox/APKBUILD b/main/busybox/APKBUILD index c078b17cbe..3b02edea03 100644 --- a/main/busybox/APKBUILD +++ b/main/busybox/APKBUILD @@ -2,8 +2,8 @@ # Contributor: Oliver Smith <ollieparanoid@bitmessage.ch> # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=busybox -pkgver=1.28.4 -pkgrel=2 +pkgver=1.29.3 +pkgrel=0 pkgdesc="Size optimized toolbox of many common UNIX utilities" url=http://busybox.net arch="all" @@ -19,7 +19,7 @@ subpackages="$pkgname-static $pkgname-suid $pkgname-extras ssl_client" options="suid !check" triggers="busybox.trigger=/bin:/usr/bin:/sbin:/usr/sbin:/lib/modules/*" source="http://busybox.net/downloads/$pkgname-$pkgver.tar.bz2 - 0001-ash-add-support-for-command_not_found_handle-hook-fu.patch + 0001-properly-fix-wget-https-support.patch 0002-fsck-resolve-LABEL-.-UUID-.-spec-to-device.patch 0003-ash-exec-busybox.static.patch 0004-app-location-for-cpio-vi-and-lspci.patch @@ -33,14 +33,6 @@ source="http://busybox.net/downloads/$pkgname-$pkgver.tar.bz2 0012-udhcpc-Don-t-background-if-n-is-given.patch 0013-testsuite-fix-cpio-tests.patch 0014-miscutils-microcom-Fixed-segfault.patch - 0015-ash-introduce-a-config-option-to-search-current-dire.patch - 0016-top-handle-much-larger-VSZ-values.patch - 0017-ifupdown-do-not-fail-if-interface-disappears-during-.patch - - 0001-cat-fix-cat-e-and-cat-v-erroneously-numbering-1st-li.patch - - 0001-wget-emit-a-message-that-certificate-verification-is.patch - external_ssl_client.patch acpid.logrotate busyboxconfig @@ -201,31 +193,25 @@ ssl_client() { "$subpkgdir"/usr/bin/ssl_client } -sha512sums="92471617fcf3c1e28b468f3de2c83a1041f5ba5106580cc791e9c4cd602b7ccffabc51ce0807881ed734a89c3089113048265d6659a4d595528bd9150288d2ed busybox-1.28.4.tar.bz2 -51d4d58baff825a51d476bd4594cb8980ec2aa4d0c864a0eec39ccbbadd1ae9f1cd1b20f492a735ffcdf7c925573594f3c4363b0561c8aa7b91ef534bfc7b2e0 0001-ash-add-support-for-command_not_found_handle-hook-fu.patch -5d2fd3e521ee29d970f377363e3a3144eaf9f7714bc57494d743ded9e39c1ad93ea8759b2febd9c3786968b41e61b8d01ce2361aa997df177b644d63718470ba 0002-fsck-resolve-LABEL-.-UUID-.-spec-to-device.patch -cc5e5ce7a822ef51eb6b8065e1b802bc9d690857b8123cb4decf51b09c4ef655784401a68dd26e0a681fbb64bd2c0fed4001be6e33cac9049e516587ea53c17d 0003-ash-exec-busybox.static.patch -5f0611d21d1dc106d43ba23234babd41a2167d7032f3b09e825ae3dc9f9aaeb8d1882f59341daff99adecdfb8ba52a5c9fb423c8df3168b2e2304c5bd0ac4991 0004-app-location-for-cpio-vi-and-lspci.patch -bd4bb1f29f0287aa2ae4e43d791072802ba4f8863ea968612410a2819f7afaec5c0c731b4d91f360461ebfe26942f21e9ff69cbd5fb7d9800e62ef59fe954ab2 0005-udhcpc-set-default-discover-retries-to-5.patch -f03f852b97f3875d3051b225e6ffe52ed02ae8a8550287b3e09c2ef4d63914e1ab045ba5e2bc2dc2f3c8bf643485de4ebb36b97c74a8a6e49b6ba0261f2ddb94 0006-ping-make-ping-work-without-root-privileges.patch -b8d276dd84b996be9414e0215e2fd96a343346bf7584c252af138a579dc956366b690ea0888c35dfbcef43ed384ae94aebb3b4f2b11f89c27ba408ebdc0087eb 0007-fbsplash-support-console-switching.patch -f8655833f71715629a4a93997939ca295cacb35f17843a36cb6fda285213bdbd258b2f84e321f81859491971412a520f697748ebd6fb46808f830f4ccfa77af4 0008-fbsplash-support-image-and-bar-alignment-and-positio.patch -f69031d048aa5e087cb6597ad2f7b39b520a5ef3713731e9090c5b65680cd7075bdf3a9443725fac49dce4345bc3345dc702b95d618d45a6d3be8682844784f4 0009-depmod-support-generating-kmod-binary-index-files.patch -b558f3ceb63e39545c3219796da64a7962bb53515a4eedea2bf9d81057774096b429145f0cd98da2542e3bdadaf92fb11d710fb1879768c9980bf58ccd104b6e 0010-Add-flag-for-not-following-symlinks-when-recursing.patch -f81d7966133d40a5d79cab4a4edf695bf7cc1f06cf2382c4ed99eea3a72cd222fe36c7b92e427262f67a81fcc2e7f6bff5986b32362c38da3c5163a49fd1ecab 0011-sysklogd-add-Z-option-to-adjust-message-timezones.patch -a96aa81d2f0104b5c28f02e80b3f77dbce77af93c174c09015a34850474d69e42c160fc8061c62f03465b6f793ead109dde7b0cc367d1e87694805d823f19d7e 0012-udhcpc-Don-t-background-if-n-is-given.patch -40c125a2ba19bcfaec46084bef98acb775a7f2521d854df41411afcfbc3025a1bdd029b0baf74550923db2541c23c1e9df5d5ded799d1d46dd7cf86a495e4c57 0013-testsuite-fix-cpio-tests.patch -4cbd38a3c2730ae38e34c5973bb63e40609c32f700d4943cc0e922394e8ee522d1512eb19c7885f5cee49834ab22b2594cb07164cacffefa39964a3b863f4e50 0014-miscutils-microcom-Fixed-segfault.patch -832eb44c52d2caad4bf6ea79fb17f10c116de3e90ed79038dabe3736d8e74507d1e0cb6f4f7689b4dd506b92437d8df7862038fc0213ecda259e40baf9d9b3de 0015-ash-introduce-a-config-option-to-search-current-dire.patch -185f11578dc3c3637f1acd1285c71b9e31f4244c57cd85b0848912c085a7a8c833d4c935ab1cadcb9852cf3185c7ffb08db8ea728fb19ab6e6fa90d89f13c75b 0016-top-handle-much-larger-VSZ-values.patch -d90d6b3406760fe3df6dbed46a0f4d1c02a69d5184ebc86d8c1692bc4576532127283ba3ff9a81e64f3660c279b8ee324dac7a426350873c45957067648651c6 0017-ifupdown-do-not-fail-if-interface-disappears-during-.patch -0dbe3ee424c0a6e4aba4f551f6b6b9ee087655a03747a40906961b141d40b1cbb2345438f17887a1b78d880cb3a7ad0116936dd7c05e95160febfd299423e83b 0001-cat-fix-cat-e-and-cat-v-erroneously-numbering-1st-li.patch -90f9e95f6f953df2cf579f701b3135bad910f514e94b3e23b953acec12b10f33aa9200169dc7b454c6a04fbd992a370e6ca835406f9b5495951e0a8416137000 0001-wget-emit-a-message-that-certificate-verification-is.patch -27bd37af65f48b52fe6329f5ddf86ce9afdd1c156f94c6e868d35434298ec96c3b436097ced57f403940a29a9721b56e09bee66da3ee2cfc49c0d90d2e7a2d3d external_ssl_client.patch +sha512sums="bf90e24b4564071e0ac2785e2ee4ec4ea0e229a1ff330bb38befe7a27c5a529e7b0657354ce731473814325a27a0c181ab922e0a0a89d5023ba08a6d80472297 busybox-1.29.3.tar.bz2 +d09a5cca79b33a7ae05b2c52ba11028ef104aa8a2378c31ef1fa50c45d8e32c397906d4349d48fcbdf65f328b4875efde811704540bdc4c6981895921ef0e445 0001-properly-fix-wget-https-support.patch +d8694293edc8cd55cecafeb902f03c01af318e13966f399365cf792b840793891ac086bb67ef83e7a5a2e01b246497a6c6511cb6a856834f6672dee4bca76896 0002-fsck-resolve-LABEL-.-UUID-.-spec-to-device.patch +8c34dd5ce9a6e84279fa6494cbae0b254778976f341af1d0ccc2a3afb405fb22d374e9623ea83d1500da77c7463db2ed5218d2c9f49350a21114bd0bb17fd87d 0003-ash-exec-busybox.static.patch +e4be12a1453a306a58c4ea59cd8a0bf1f261514ae090ea962ac6f7609dc1e9dab0d4d8d351d7adf4f76bf52d37db9ad0102116635e437945c131f762d5750d19 0004-app-location-for-cpio-vi-and-lspci.patch +f96d66ce5a0295a2459a2c49c281b64e016de675ebd31a49af18cb06f3498fe27dfbc8667324b4391fdf8136aea8533dce643f1c740d10de811808985950bd15 0005-udhcpc-set-default-discover-retries-to-5.patch +136e35be699b6953e1b624c65bcc41fd096cf98fb00de4409855d0eda8b8a1ee830eb6eb1f0d0dd7d47ee940321e056b3765fd77747bf6a90a07d9cf84a9626c 0006-ping-make-ping-work-without-root-privileges.patch +7873b98c676a92faea61511d50c1efac1220354d20afd53de19e2c8f1472559cb333b9dd4e0d6432616d8c5f59885f1503c448c86a912e8031c9bfed628c2db1 0007-fbsplash-support-console-switching.patch +2c56906dac70dea6276e4c573707cb06c4c8b53defcd33b1e5a28f928e7dafe905a52ce40571de430e4af7e00a75ecc0f249d2fec02da5f3d9edd4e904919a35 0008-fbsplash-support-image-and-bar-alignment-and-positio.patch +907aef47c88f60e93bcd290eb43102721978ab6fc6eca52914172801ace7306ae8b11f38ed8b086452bbf46d75424740161e4f1e7840a485f0f78024455f902b 0009-depmod-support-generating-kmod-binary-index-files.patch +3b13ba6bd9b697e48864cb5376849c1ac95b30650e3e27605cc05edf4fdc1ecbb4c4503d4fe9012a581bcd660f6bb44d644575cf437d30423614cb83ee92c22c 0010-Add-flag-for-not-following-symlinks-when-recursing.patch +60863a5eca8b88189ee93822fb3f9d45dd5ff43022e64b8ec5394c129c0cfe9999075c3e9f187dff76aea280726e02e5329dd48e9eb21954b118aa454a5da331 0011-sysklogd-add-Z-option-to-adjust-message-timezones.patch +025ad19f4e0cd299f11eba4a0c852c166fc91787756838f9c755405dad924fd1fe3c08067b938e14f9d8c609881d2ce5915152810e855eaa5ca510a76650069e 0012-udhcpc-Don-t-background-if-n-is-given.patch +d8926f0e4ed7d2fe5af89ff2a944d781b45b109c9edf1ef2591e7bce2a8bbadd7c8ca814cb3c928ae09027d9603434fe70496f308d701f3d42260ebd1e9e9b29 0013-testsuite-fix-cpio-tests.patch +8cb91903f2be3620b5500a4e8f4190537c93601282510b82303c3b516141b36ab872aeff5a7f5ae00f270439abab862ceabda531bdf180643da165b2f3b35d9f 0014-miscutils-microcom-Fixed-segfault.patch a9b1403c844c51934637215307dd9e2adb9458921047acff0d86dcf229b6e0027f4b2c6cdaa25a58407aad9d098fb5685d58eb5ff8d2aa3de4912cdea21fe54c acpid.logrotate -d65dc165488a179ab19482ad74e350df9dfdccf2363b26424d2d145e27ab0819cd0cfdfb79b4a2bd0bd7c6eda3b95ea61f3c264357986e78c4675df94d487aec busyboxconfig -0efbe22e2fd56993d92b6542d4ccffb2b42d50495be085c98f417a71f503b4071e2f092afcec77f78064d33ffb0922c28daa3cb9958e6d7fb26d5a660abd90f4 busyboxconfig-extras +8fc1b81f39cb73430ebc9bca8706a71ae82b51efd2fee8ac15b4abe9b0899239075a46234cb7eae58f906c7499d1f75d11b29bcb9ca8dada8b34822df0948e73 busyboxconfig +1dc5c94708fc4d4129015c0cdd64fbe0edd2794bb10422ac2686db8a4ef06182d306ec89560d0310190c1ed86b8422c13594d2cc2b9281c8895145d5a233cc0c busyboxconfig-extras 0becc2186d6c32fb0c401cf7bc0e46268b38ce8892db33be1daf40273024c1c02d518283f44086a313a2ccef34230a1d945ec148cc173f26e6aa9d88a7426e54 bbsuid.c a1127c8a384294135e11500fde7ead33b73d24b11c21911b08447a4c4ef71d7a9965d6466f60f2da64e3b877213b0a3e924a5add3c5333ee3ecde8c2a91c5e02 dad.if-up 061f7417c1cbf0424a5fab77e2f5912aa1593f39b33ea294af4c03518ca712d793a77ea82ff1f36e9cb98751d9faacb9d0240cdf0894efd8f26c13c28a692404 nologin.c -d7e1409a7beba30bb8f30a04d2ef1aad6461c19d5ab3a09514e3698fe86c247c4cc10d4d94b85c1608e6401374964b705fa6982b3f7a2b2acc2d6f14ba91806d ssl_client.c" +646ad9aefe3596d0170d92c8506ca1846e43b5b83cbef97ae565f15ffa7b14665a8c7061bc69c608c043f834c134c5d63f042509f8999031e89163508a868e46 ssl_client.c" diff --git a/main/busybox/busyboxconfig b/main/busybox/busyboxconfig index d2ea6fd759..aa26fc8037 100644 --- a/main/busybox/busyboxconfig +++ b/main/busybox/busyboxconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Busybox version: 1.28.2 -# Wed Mar 28 12:24:02 2018 +# Busybox version: 1.29.2 +# Sat Aug 4 15:10:57 2018 # CONFIG_HAVE_DOT_CONFIG=y @@ -52,6 +52,7 @@ CONFIG_EXTRA_CFLAGS="" CONFIG_EXTRA_LDFLAGS="" CONFIG_EXTRA_LDLIBS="" # CONFIG_USE_PORTABLE_CODE is not set +CONFIG_STACK_OPTIMIZATION_386=y # # Installation Options ("make install" behavior) @@ -90,6 +91,7 @@ CONFIG_MD5_SMALL=0 CONFIG_SHA3_SMALL=0 CONFIG_FEATURE_FAST_TOP=y # CONFIG_FEATURE_ETC_NETWORKS is not set +# CONFIG_FEATURE_ETC_SERVICES is not set CONFIG_FEATURE_EDITING=y CONFIG_FEATURE_EDITING_MAX_LEN=1024 CONFIG_FEATURE_EDITING_VI=y @@ -100,6 +102,7 @@ CONFIG_FEATURE_REVERSE_SEARCH=y CONFIG_FEATURE_TAB_COMPLETION=y CONFIG_FEATURE_USERNAME_COMPLETION=y CONFIG_FEATURE_EDITING_FANCY_PROMPT=y +CONFIG_FEATURE_EDITING_WINCH=y CONFIG_FEATURE_EDITING_ASK_TERMINAL=y CONFIG_LOCALE_SUPPORT=y CONFIG_UNICODE_SUPPORT=y @@ -149,6 +152,7 @@ CONFIG_UNXZ=y CONFIG_XZCAT=y # CONFIG_XZ is not set CONFIG_BZIP2=y +CONFIG_BZIP2_SMALL=8 CONFIG_FEATURE_BZIP2_DECOMPRESS=y CONFIG_CPIO=y CONFIG_FEATURE_CPIO_O=y @@ -286,6 +290,7 @@ CONFIG_FEATURE_FANCY_SLEEP=y CONFIG_FEATURE_FLOAT_SLEEP=y CONFIG_SORT=y CONFIG_FEATURE_SORT_BIG=y +# CONFIG_FEATURE_SORT_OPTIMIZE_MEMORY is not set CONFIG_SPLIT=y # CONFIG_FEATURE_SPLIT_FANCY is not set CONFIG_STAT=y @@ -477,6 +482,7 @@ CONFIG_FEATURE_XARGS_SUPPORT_ARGS_FILE=y CONFIG_HALT=y CONFIG_POWEROFF=y CONFIG_REBOOT=y +CONFIG_FEATURE_WAIT_FOR_INIT=y # CONFIG_FEATURE_CALL_TELINIT is not set CONFIG_TELINIT_PATH="" CONFIG_INIT=y @@ -706,6 +712,7 @@ CONFIG_FEATURE_VOLUMEID_FAT=y # CONFIG_FEATURE_VOLUMEID_HFS is not set CONFIG_FEATURE_VOLUMEID_ISO9660=y CONFIG_FEATURE_VOLUMEID_JFS=y +CONFIG_FEATURE_VOLUMEID_LFS=y CONFIG_FEATURE_VOLUMEID_LINUXRAID=y CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y CONFIG_FEATURE_VOLUMEID_LUKS=y @@ -782,6 +789,8 @@ CONFIG_FEATURE_LESS_WINCH=y CONFIG_FEATURE_LESS_ASK_TERMINAL=y CONFIG_FEATURE_LESS_DASHCMD=y CONFIG_FEATURE_LESS_LINENUMS=y +CONFIG_FEATURE_LESS_RAW=y +CONFIG_FEATURE_LESS_ENV=y # CONFIG_LSSCSI is not set # CONFIG_MAKEDEVS is not set # CONFIG_FEATURE_MAKEDEVS_LEAF is not set @@ -901,6 +910,8 @@ CONFIG_NETSTAT=y CONFIG_FEATURE_NETSTAT_WIDE=y CONFIG_FEATURE_NETSTAT_PRG=y CONFIG_NSLOOKUP=y +# CONFIG_FEATURE_NSLOOKUP_BIG is not set +# CONFIG_FEATURE_NSLOOKUP_LONG_OPTIONS is not set CONFIG_NTPD=y CONFIG_FEATURE_NTPD_SERVER=y CONFIG_FEATURE_NTPD_CONF=y @@ -911,6 +922,8 @@ CONFIG_PSCAN=y CONFIG_ROUTE=y CONFIG_SLATTACH=y # CONFIG_SSL_CLIENT is not set +# CONFIG_TC is not set +# CONFIG_FEATURE_TC_INGRESS is not set # CONFIG_TCPSVD is not set # CONFIG_UDPSVD is not set # CONFIG_TELNET is not set @@ -958,6 +971,7 @@ CONFIG_UDHCPC6=y CONFIG_FEATURE_UDHCPC6_RFC3646=y CONFIG_FEATURE_UDHCPC6_RFC4704=y CONFIG_FEATURE_UDHCPC6_RFC4833=y +CONFIG_FEATURE_UDHCPC6_RFC5970=y # # Common options for DHCP applets @@ -1044,6 +1058,7 @@ CONFIG_WATCH=y # CONFIG_SV is not set CONFIG_SV_DEFAULT_SERVICE_DIR="" # CONFIG_SVC is not set +# CONFIG_SVOK is not set # CONFIG_SVLOGD is not set # CONFIG_CHCON is not set # CONFIG_GETENFORCE is not set @@ -1072,6 +1087,8 @@ CONFIG_ASH=y CONFIG_ASH_OPTIMIZE_FOR_SIZE=y CONFIG_ASH_INTERNAL_GLOB=y CONFIG_ASH_BASH_COMPAT=y +CONFIG_ASH_BASH_SOURCE_CURDIR=y +CONFIG_ASH_BASH_NOT_FOUND_HOOK=y CONFIG_ASH_JOB_CONTROL=y CONFIG_ASH_ALIAS=y CONFIG_ASH_RANDOM_SUPPORT=y @@ -1084,12 +1101,12 @@ CONFIG_ASH_TEST=y CONFIG_ASH_HELP=y CONFIG_ASH_GETOPTS=y CONFIG_ASH_CMDCMD=y -CONFIG_ASH_BASH_SOURCE_CURDIR=y -CONFIG_ASH_COMMAND_NOT_FOUND_HOOK=y # CONFIG_CTTYHACK is not set # CONFIG_HUSH is not set # CONFIG_HUSH_BASH_COMPAT is not set # CONFIG_HUSH_BRACE_EXPANSION is not set +# CONFIG_HUSH_LINENO_VAR is not set +# CONFIG_HUSH_BASH_SOURCE_CURDIR is not set # CONFIG_HUSH_INTERACTIVE is not set # CONFIG_HUSH_SAVEHISTORY is not set # CONFIG_HUSH_JOB is not set @@ -1110,6 +1127,7 @@ CONFIG_ASH_COMMAND_NOT_FOUND_HOOK=y # CONFIG_HUSH_READONLY is not set # CONFIG_HUSH_KILL is not set # CONFIG_HUSH_WAIT is not set +# CONFIG_HUSH_COMMAND is not set # CONFIG_HUSH_TRAP is not set # CONFIG_HUSH_TYPE is not set # CONFIG_HUSH_TIMES is not set diff --git a/main/busybox/busyboxconfig-extras b/main/busybox/busyboxconfig-extras index ed9c572a9d..a62a8c9437 100644 --- a/main/busybox/busyboxconfig-extras +++ b/main/busybox/busyboxconfig-extras @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Busybox version: 1.28.2 -# Wed Mar 28 12:24:25 2018 +# Busybox version: 1.29.2 +# Sat Aug 4 15:12:47 2018 # CONFIG_HAVE_DOT_CONFIG=y @@ -52,6 +52,7 @@ CONFIG_EXTRA_CFLAGS="" CONFIG_EXTRA_LDFLAGS="" CONFIG_EXTRA_LDLIBS="" # CONFIG_USE_PORTABLE_CODE is not set +CONFIG_STACK_OPTIMIZATION_386=y # # Installation Options ("make install" behavior) @@ -90,6 +91,7 @@ CONFIG_MD5_SMALL=1 CONFIG_SHA3_SMALL=1 # CONFIG_FEATURE_FAST_TOP is not set # CONFIG_FEATURE_ETC_NETWORKS is not set +# CONFIG_FEATURE_ETC_SERVICES is not set # CONFIG_FEATURE_EDITING is not set CONFIG_FEATURE_EDITING_MAX_LEN=0 # CONFIG_FEATURE_EDITING_VI is not set @@ -100,6 +102,7 @@ CONFIG_FEATURE_EDITING_HISTORY=0 # CONFIG_FEATURE_TAB_COMPLETION is not set # CONFIG_FEATURE_USERNAME_COMPLETION is not set # CONFIG_FEATURE_EDITING_FANCY_PROMPT is not set +# CONFIG_FEATURE_EDITING_WINCH is not set # CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set # CONFIG_LOCALE_SUPPORT is not set # CONFIG_UNICODE_SUPPORT is not set @@ -149,6 +152,7 @@ CONFIG_FEATURE_SEAMLESS_GZ=y # CONFIG_XZCAT is not set # CONFIG_XZ is not set # CONFIG_BZIP2 is not set +CONFIG_BZIP2_SMALL=0 # CONFIG_FEATURE_BZIP2_DECOMPRESS is not set # CONFIG_CPIO is not set # CONFIG_FEATURE_CPIO_O is not set @@ -282,6 +286,7 @@ CONFIG_GZIP_FAST=0 # CONFIG_FEATURE_FLOAT_SLEEP is not set # CONFIG_SORT is not set # CONFIG_FEATURE_SORT_BIG is not set +# CONFIG_FEATURE_SORT_OPTIMIZE_MEMORY is not set # CONFIG_SPLIT is not set # CONFIG_FEATURE_SPLIT_FANCY is not set # CONFIG_STAT is not set @@ -461,6 +466,7 @@ CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=0 # CONFIG_HALT is not set # CONFIG_POWEROFF is not set # CONFIG_REBOOT is not set +# CONFIG_FEATURE_WAIT_FOR_INIT is not set # CONFIG_FEATURE_CALL_TELINIT is not set CONFIG_TELINIT_PATH="" # CONFIG_INIT is not set @@ -682,6 +688,7 @@ CONFIG_DEFAULT_DEPMOD_FILE="" # CONFIG_FEATURE_VOLUMEID_HFS is not set # CONFIG_FEATURE_VOLUMEID_ISO9660 is not set # CONFIG_FEATURE_VOLUMEID_JFS is not set +# CONFIG_FEATURE_VOLUMEID_LFS is not set # CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set # CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set # CONFIG_FEATURE_VOLUMEID_LUKS is not set @@ -758,6 +765,8 @@ CONFIG_FEATURE_LESS_MAXLINES=0 # CONFIG_FEATURE_LESS_ASK_TERMINAL is not set # CONFIG_FEATURE_LESS_DASHCMD is not set # CONFIG_FEATURE_LESS_LINENUMS is not set +# CONFIG_FEATURE_LESS_RAW is not set +# CONFIG_FEATURE_LESS_ENV is not set # CONFIG_LSSCSI is not set # CONFIG_MAKEDEVS is not set # CONFIG_FEATURE_MAKEDEVS_LEAF is not set @@ -877,6 +886,8 @@ CONFIG_FAKEIDENTD=y # CONFIG_FEATURE_NETSTAT_WIDE is not set # CONFIG_FEATURE_NETSTAT_PRG is not set # CONFIG_NSLOOKUP is not set +# CONFIG_FEATURE_NSLOOKUP_BIG is not set +# CONFIG_FEATURE_NSLOOKUP_LONG_OPTIONS is not set # CONFIG_NTPD is not set # CONFIG_FEATURE_NTPD_SERVER is not set # CONFIG_FEATURE_NTPD_CONF is not set @@ -887,6 +898,8 @@ CONFIG_FAKEIDENTD=y # CONFIG_ROUTE is not set # CONFIG_SLATTACH is not set # CONFIG_SSL_CLIENT is not set +# CONFIG_TC is not set +# CONFIG_FEATURE_TC_INGRESS is not set # CONFIG_TCPSVD is not set # CONFIG_UDPSVD is not set CONFIG_TELNET=y @@ -938,6 +951,7 @@ CONFIG_UDHCPC_DEFAULT_SCRIPT="" # CONFIG_FEATURE_UDHCPC6_RFC3646 is not set # CONFIG_FEATURE_UDHCPC6_RFC4704 is not set # CONFIG_FEATURE_UDHCPC6_RFC4833 is not set +# CONFIG_FEATURE_UDHCPC6_RFC5970 is not set # # Common options for DHCP applets @@ -1024,6 +1038,7 @@ CONFIG_FEATURE_MIME_CHARSET="" # CONFIG_SV is not set CONFIG_SV_DEFAULT_SERVICE_DIR="" # CONFIG_SVC is not set +# CONFIG_SVOK is not set # CONFIG_SVLOGD is not set # CONFIG_CHCON is not set # CONFIG_GETENFORCE is not set @@ -1052,6 +1067,8 @@ CONFIG_BASH_IS_NONE=y # CONFIG_ASH_OPTIMIZE_FOR_SIZE is not set # CONFIG_ASH_INTERNAL_GLOB is not set # CONFIG_ASH_BASH_COMPAT is not set +# CONFIG_ASH_BASH_SOURCE_CURDIR is not set +# CONFIG_ASH_BASH_NOT_FOUND_HOOK is not set # CONFIG_ASH_JOB_CONTROL is not set # CONFIG_ASH_ALIAS is not set # CONFIG_ASH_RANDOM_SUPPORT is not set @@ -1064,12 +1081,12 @@ CONFIG_BASH_IS_NONE=y # CONFIG_ASH_HELP is not set # CONFIG_ASH_GETOPTS is not set # CONFIG_ASH_CMDCMD is not set -# CONFIG_ASH_BASH_SOURCE_CURDIR is not set -# CONFIG_ASH_COMMAND_NOT_FOUND_HOOK is not set # CONFIG_CTTYHACK is not set # CONFIG_HUSH is not set # CONFIG_HUSH_BASH_COMPAT is not set # CONFIG_HUSH_BRACE_EXPANSION is not set +# CONFIG_HUSH_LINENO_VAR is not set +# CONFIG_HUSH_BASH_SOURCE_CURDIR is not set # CONFIG_HUSH_INTERACTIVE is not set # CONFIG_HUSH_SAVEHISTORY is not set # CONFIG_HUSH_JOB is not set @@ -1090,6 +1107,7 @@ CONFIG_BASH_IS_NONE=y # CONFIG_HUSH_READONLY is not set # CONFIG_HUSH_KILL is not set # CONFIG_HUSH_WAIT is not set +# CONFIG_HUSH_COMMAND is not set # CONFIG_HUSH_TRAP is not set # CONFIG_HUSH_TYPE is not set # CONFIG_HUSH_TIMES is not set diff --git a/main/busybox/ssl_client.c b/main/busybox/ssl_client.c index 8aa558e70f..df7b5f9bfb 100644 --- a/main/busybox/ssl_client.c +++ b/main/busybox/ssl_client.c @@ -80,7 +80,7 @@ int do_poll(struct pollfd *fds, int nfds) return r; } -static void copy_loop(struct tls *ctx, int sfd) +static void copy_loop(struct tls *ctx, int sfd, int eofexit) { struct pollfd fds[2] = { { .fd = STDIN_FILENO, .events = POLLIN }, @@ -89,8 +89,11 @@ static void copy_loop(struct tls *ctx, int sfd) while (1) { int r = do_poll(fds, 2); - if (fds[0].revents) + if (fds[0].revents) { copy_from_stdin_to_tls(ctx, &fds[0].fd); + if (eofexit && fds[0].fd == -1) + break; + } if (fds[1].revents && copy_from_tls_to_stdout(ctx)) break; @@ -98,7 +101,7 @@ static void copy_loop(struct tls *ctx, int sfd) } void usage(const char *prog, int ret) { - printf("usage: %s [-s FD] [-I] -n SNI\n", prog); + printf("usage: %s [-s FD] [-I] [-e] -n SNI\n", prog); exit(ret); } @@ -109,9 +112,13 @@ int main(int argc, char *argv[]) struct tls_config *tc; struct tls *ctx; int insecure = 0; + int localeofexit = 0; - while ((c = getopt(argc, argv, "hs:n:I")) != -1) { + while ((c = getopt(argc, argv, "ehs:n:I")) != -1) { switch (c) { + case 'e': + localeofexit = 1; + break; case 'h': usage(argv[0], 0); break; @@ -152,7 +159,7 @@ int main(int argc, char *argv[]) if (tls_handshake(ctx) == -1) errx(1, "%s: %s", sni, tls_error(ctx)); - copy_loop(ctx, sfd); + copy_loop(ctx, sfd, localeofexit); tls_close(ctx); return 0; } |