aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSören Tempel <soeren+git@soeren-tempel.net>2018-08-04 00:11:42 +0200
committerNatanael Copa <ncopa@alpinelinux.org>2018-09-27 10:29:07 +0000
commitbb3bc00f304cb4f0611d45555d124221d365bdce (patch)
tree1f96878a551b23276542247f90cd195fc4754643
parent4ecb921f61d14dab2ac6ed518325df376138aa9b (diff)
downloadaports-bb3bc00f304cb4f0611d45555d124221d365bdce.tar.gz
aports-bb3bc00f304cb4f0611d45555d124221d365bdce.tar.bz2
aports-bb3bc00f304cb4f0611d45555d124221d365bdce.tar.xz
main/busybox: upgrade to 1.29.3
* Remove all patches already applied upstream * 0001-ash-add-support-for-command_not_found_handle-hook-fu.patch * 0001-cat-fix-cat-e-and-cat-v-erroneously-numbering-1st-li.patch * 0001-wget-emit-a-message-that-certificate-verification-is.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 * Rename config option for command_not_found hook * upstream patch adding this hook slightly differs from our downstream patch in this regard * Rebase some patches manually: * external_ssl_client.patch * 0006-ping-make-ping-work-without-root-privileges.patch * 0007-fbsplash-support-image-and-bar-alignment-and-positio.patch * Add support for `-e` to our ssl_client * See https://git.busybox.net/busybox/commit/?id=403f2999f94937ba3f37db6d093832f636815bb9 * Update the configuration file * Regenerate all patches using `git format-patch --no-numbered --no-signature` to reduce the diff for future upgrades.
-rw-r--r--main/busybox/0001-ash-add-support-for-command_not_found_handle-hook-fu.patch63
-rw-r--r--main/busybox/0001-cat-fix-cat-e-and-cat-v-erroneously-numbering-1st-li.patch63
-rw-r--r--main/busybox/0001-properly-fix-wget-https-support.patch (renamed from main/busybox/external_ssl_client.patch)45
-rw-r--r--main/busybox/0001-wget-emit-a-message-that-certificate-verification-is.patch67
-rw-r--r--main/busybox/0002-fsck-resolve-LABEL-.-UUID-.-spec-to-device.patch15
-rw-r--r--main/busybox/0003-ash-exec-busybox.static.patch11
-rw-r--r--main/busybox/0004-app-location-for-cpio-vi-and-lspci.patch11
-rw-r--r--main/busybox/0005-udhcpc-set-default-discover-retries-to-5.patch13
-rw-r--r--main/busybox/0006-ping-make-ping-work-without-root-privileges.patch45
-rw-r--r--main/busybox/0007-fbsplash-support-console-switching.patch29
-rw-r--r--main/busybox/0008-fbsplash-support-image-and-bar-alignment-and-positio.patch119
-rw-r--r--main/busybox/0009-depmod-support-generating-kmod-binary-index-files.patch13
-rw-r--r--main/busybox/0010-Add-flag-for-not-following-symlinks-when-recursing.patch7
-rw-r--r--main/busybox/0011-sysklogd-add-Z-option-to-adjust-message-timezones.patch7
-rw-r--r--main/busybox/0012-udhcpc-Don-t-background-if-n-is-given.patch11
-rw-r--r--main/busybox/0013-testsuite-fix-cpio-tests.patch7
-rw-r--r--main/busybox/0014-miscutils-microcom-Fixed-segfault.patch7
-rw-r--r--main/busybox/0015-ash-introduce-a-config-option-to-search-current-dire.patch47
-rw-r--r--main/busybox/0016-top-handle-much-larger-VSZ-values.patch61
-rw-r--r--main/busybox/0017-ifupdown-do-not-fail-if-interface-disappears-during-.patch45
-rw-r--r--main/busybox/APKBUILD56
-rw-r--r--main/busybox/busyboxconfig26
-rw-r--r--main/busybox/busyboxconfig-extras26
-rw-r--r--main/busybox/ssl_client.c17
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;
}