mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-18 21:28:02 +00:00
busybox: update to version 1.34.0
Update busybox to version 1.34.0 * Remove upstreamed patches (205, 530, 540) * Remove one old patch that does not apply any more. (203) That was originally introduced in 2008 with563d23459
, but does not apply after busybox restructuring with https://git.busybox.net/busybox/commit/networking/udhcp/dhcpc.c?h=1_34_stable&id=e6007c4911c3ea26925f9473b9f156a692585f30 and https://git.busybox.net/busybox/commit/networking/udhcp/dhcpc.c?h=1_34_stable&id=1c7253726fcbab09917f143f0b703efbd2df55c3 * Refresh config and patches. * Backport upstream fixes for - MIPS compilation breakage and - process substitution regression Config refresh: Refresh commands, run after busybox is first built once: cd utils/busybox/ cd config/ ../convert_menuconfig.pl ../../../../build_dir/target-aarch64_cortex-a53_musl/busybox-default/busybox-1.34.0 cd .. ./convert_defaults.pl < ../../../build_dir/target-aarch64_cortex-a53_musl/busybox-default/busybox-1.34.0/.config > Config-defaults.in Manual edits needed afterward: * Config-defaults.in: OpenWrt config symbol IPV6 logic applied to BUSYBOX_DEFAULT_FEATURE_IPV6 * Config-defaults.in: OpenWrt configTARGET_bcm53xx logic applied to BUSYBOX_DEFAULT_TRUNCATE (commit547f1ec
) * Config-defaults.in: OpenWrt logic applied to BUSYBOX_DEFAULT_LOGIN_SESSION_AS_CHILD (commitdc92917
) BUSYBOX_DEFAULT_UDHCPC_DEFAULT_INTERFACE (just "") * config/editors/Config.in: Add USE_GLIBC dependency to BUSYBOX_CONFIG_FEATURE_VI_REGEX_SEARCH (commitf141090
) * config/shell/Config.in : change at "Options common to all shells" the symbol SHELL_ASH --> BUSYBOX_CONFIG_SHELL_ASH (discussion in http://lists.openwrt.org/pipermail/openwrt-devel/2021-January/033140.html Apparently our script does not see the hidden option while prepending config options with "BUSYBOX_CONFIG_" which leads to a missed dependency when the options are later evaluated.) * Edit Config.in files by adding quotes to sourced items in config/Config.in, config/networking/Config.in and config/util-linux/Config.in (commit1da014f
) Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
This commit is contained in:
parent
43f0e386d4
commit
b6cbbbb6ef
@ -381,7 +381,7 @@ config BUSYBOX_DEFAULT_BZIP2_SMALL
|
||||
default 0
|
||||
config BUSYBOX_DEFAULT_FEATURE_BZIP2_DECOMPRESS
|
||||
bool
|
||||
default y
|
||||
default n
|
||||
config BUSYBOX_DEFAULT_CPIO
|
||||
bool
|
||||
default n
|
||||
@ -514,6 +514,9 @@ config BUSYBOX_DEFAULT_CHROOT
|
||||
config BUSYBOX_DEFAULT_CKSUM
|
||||
bool
|
||||
default n
|
||||
config BUSYBOX_DEFAULT_CRC32
|
||||
bool
|
||||
default n
|
||||
config BUSYBOX_DEFAULT_COMM
|
||||
bool
|
||||
default n
|
||||
@ -529,6 +532,9 @@ config BUSYBOX_DEFAULT_FEATURE_CP_REFLINK
|
||||
config BUSYBOX_DEFAULT_CUT
|
||||
bool
|
||||
default y
|
||||
config BUSYBOX_DEFAULT_FEATURE_CUT_REGEX
|
||||
bool
|
||||
default n
|
||||
config BUSYBOX_DEFAULT_DATE
|
||||
bool
|
||||
default y
|
||||
@ -829,9 +835,6 @@ config BUSYBOX_DEFAULT_TIMEOUT
|
||||
config BUSYBOX_DEFAULT_TOUCH
|
||||
bool
|
||||
default y
|
||||
config BUSYBOX_DEFAULT_FEATURE_TOUCH_NODEREF
|
||||
bool
|
||||
default n
|
||||
config BUSYBOX_DEFAULT_FEATURE_TOUCH_SUSV3
|
||||
bool
|
||||
default y
|
||||
@ -1058,6 +1061,9 @@ config BUSYBOX_DEFAULT_FEATURE_VI_8BIT
|
||||
config BUSYBOX_DEFAULT_FEATURE_VI_COLON
|
||||
bool
|
||||
default y
|
||||
config BUSYBOX_DEFAULT_FEATURE_VI_COLON_EXPAND
|
||||
bool
|
||||
default n
|
||||
config BUSYBOX_DEFAULT_FEATURE_VI_YANKMARK
|
||||
bool
|
||||
default y
|
||||
@ -1097,6 +1103,9 @@ config BUSYBOX_DEFAULT_FEATURE_VI_UNDO_QUEUE
|
||||
config BUSYBOX_DEFAULT_FEATURE_VI_UNDO_QUEUE_MAX
|
||||
int
|
||||
default 0
|
||||
config BUSYBOX_DEFAULT_FEATURE_VI_VERBOSE_STATUS
|
||||
bool
|
||||
default n
|
||||
config BUSYBOX_DEFAULT_FEATURE_ALLOW_EXEC
|
||||
bool
|
||||
default y
|
||||
@ -1895,6 +1904,9 @@ config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_XFS
|
||||
config BUSYBOX_DEFAULT_ADJTIMEX
|
||||
bool
|
||||
default n
|
||||
config BUSYBOX_DEFAULT_ASCII
|
||||
bool
|
||||
default n
|
||||
config BUSYBOX_DEFAULT_BBCONFIG
|
||||
bool
|
||||
default n
|
||||
@ -2183,6 +2195,9 @@ config BUSYBOX_DEFAULT_VOLNAME
|
||||
config BUSYBOX_DEFAULT_WATCHDOG
|
||||
bool
|
||||
default n
|
||||
config BUSYBOX_DEFAULT_FEATURE_WATCHDOG_OPEN_TWICE
|
||||
bool
|
||||
default n
|
||||
config BUSYBOX_DEFAULT_FEATURE_IPV6
|
||||
bool
|
||||
default y if IPV6
|
||||
@ -2589,6 +2604,9 @@ config BUSYBOX_DEFAULT_FEATURE_WGET_LONG_OPTIONS
|
||||
config BUSYBOX_DEFAULT_FEATURE_WGET_STATUSBAR
|
||||
bool
|
||||
default n
|
||||
config BUSYBOX_DEFAULT_FEATURE_WGET_FTP
|
||||
bool
|
||||
default n
|
||||
config BUSYBOX_DEFAULT_FEATURE_WGET_AUTHENTICATION
|
||||
bool
|
||||
default n
|
||||
@ -2652,6 +2670,9 @@ config BUSYBOX_DEFAULT_FEATURE_UDHCPC6_RFC4833
|
||||
config BUSYBOX_DEFAULT_FEATURE_UDHCPC6_RFC5970
|
||||
bool
|
||||
default n
|
||||
config BUSYBOX_DEFAULT_UDHCPC_DEFAULT_INTERFACE
|
||||
string
|
||||
default ""
|
||||
config BUSYBOX_DEFAULT_FEATURE_UDHCP_PORT
|
||||
bool
|
||||
default n
|
||||
@ -2985,10 +3006,10 @@ config BUSYBOX_DEFAULT_HUSH_BASH_COMPAT
|
||||
config BUSYBOX_DEFAULT_HUSH_BRACE_EXPANSION
|
||||
bool
|
||||
default n
|
||||
config BUSYBOX_DEFAULT_HUSH_LINENO_VAR
|
||||
config BUSYBOX_DEFAULT_HUSH_BASH_SOURCE_CURDIR
|
||||
bool
|
||||
default n
|
||||
config BUSYBOX_DEFAULT_HUSH_BASH_SOURCE_CURDIR
|
||||
config BUSYBOX_DEFAULT_HUSH_LINENO_VAR
|
||||
bool
|
||||
default n
|
||||
config BUSYBOX_DEFAULT_HUSH_INTERACTIVE
|
||||
|
@ -5,14 +5,14 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=busybox
|
||||
PKG_VERSION:=1.33.1
|
||||
PKG_VERSION:=1.34.0
|
||||
PKG_RELEASE:=$(AUTORELEASE)
|
||||
PKG_FLAGS:=essential
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_SOURCE_URL:=https://www.busybox.net/downloads \
|
||||
http://sources.buildroot.net
|
||||
PKG_HASH:=12cec6bd2b16d8a9446dd16130f2b92982f1819f6e1c5f5887b6db03f5660d28
|
||||
PKG_HASH:=ec8d1615edb045b83b81966604759c4d4ac921434ab4011da604f629c06074ce
|
||||
|
||||
PKG_BUILD_DEPENDS:=BUSYBOX_CONFIG_PAM:libpam
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
@ -63,8 +63,10 @@ config BUSYBOX_CONFIG_CHROOT
|
||||
config BUSYBOX_CONFIG_CKSUM
|
||||
bool "cksum (4.1 kb)"
|
||||
default BUSYBOX_DEFAULT_CKSUM
|
||||
help
|
||||
cksum is used to calculate the CRC32 checksum of a file.
|
||||
|
||||
config BUSYBOX_CONFIG_CRC32
|
||||
bool "crc32 (4.1 kb)"
|
||||
default BUSYBOX_DEFAULT_CRC32
|
||||
config BUSYBOX_CONFIG_COMM
|
||||
bool "comm (4.2 kb)"
|
||||
default BUSYBOX_DEFAULT_COMM
|
||||
@ -95,6 +97,13 @@ config BUSYBOX_CONFIG_CUT
|
||||
help
|
||||
cut is used to print selected parts of lines from
|
||||
each file to stdout.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_CUT_REGEX
|
||||
bool "cut -F"
|
||||
default BUSYBOX_DEFAULT_FEATURE_CUT_REGEX
|
||||
depends on BUSYBOX_CONFIG_CUT
|
||||
help
|
||||
Allow regex based delimiters.
|
||||
config BUSYBOX_CONFIG_DATE
|
||||
bool "date (7 kb)"
|
||||
default BUSYBOX_DEFAULT_DATE
|
||||
@ -739,16 +748,8 @@ config BUSYBOX_CONFIG_TOUCH
|
||||
touch is used to create or change the access and/or
|
||||
modification timestamp of specified files.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TOUCH_NODEREF
|
||||
bool "Add support for -h"
|
||||
default BUSYBOX_DEFAULT_FEATURE_TOUCH_NODEREF
|
||||
depends on BUSYBOX_CONFIG_TOUCH
|
||||
help
|
||||
Enable touch to have the -h option.
|
||||
This requires libc support for lutimes() function.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TOUCH_SUSV3
|
||||
bool "Add support for SUSV3 features (-d -t -r)"
|
||||
bool "Add support for SUSV3 features (-a -d -m -t -r)"
|
||||
default BUSYBOX_DEFAULT_FEATURE_TOUCH_SUSV3
|
||||
depends on BUSYBOX_CONFIG_TOUCH
|
||||
help
|
||||
|
@ -110,6 +110,14 @@ config BUSYBOX_CONFIG_FEATURE_VI_COLON
|
||||
Enable a limited set of colon commands. This does not
|
||||
provide an "ex" mode.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VI_COLON_EXPAND
|
||||
bool "Expand \"%\" and \"#\" in colon commands"
|
||||
default BUSYBOX_DEFAULT_FEATURE_VI_COLON_EXPAND
|
||||
depends on BUSYBOX_CONFIG_FEATURE_VI_COLON
|
||||
help
|
||||
Expand the special characters \"%\" (current filename)
|
||||
and \"#\" (alternate filename) in colon commands.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VI_YANKMARK
|
||||
bool "Enable yank/put commands and mark cmds"
|
||||
default BUSYBOX_DEFAULT_FEATURE_VI_YANKMARK
|
||||
@ -126,7 +134,7 @@ config BUSYBOX_CONFIG_FEATURE_VI_SEARCH
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VI_REGEX_SEARCH
|
||||
bool "Enable regex in search and replace"
|
||||
default BUSYBOX_DEFAULT_FEATURE_VI_REGEX_SEARCH
|
||||
default BUSYBOX_DEFAULT_FEATURE_VI_REGEX_SEARCH # Uses GNU regex, which may be unavailable. FIXME
|
||||
depends on BUSYBOX_CONFIG_FEATURE_VI_SEARCH
|
||||
depends on USE_GLIBC
|
||||
help
|
||||
@ -218,6 +226,14 @@ config BUSYBOX_CONFIG_FEATURE_VI_UNDO_QUEUE_MAX
|
||||
Unless you want more (or less) frequent "undo points" while typing,
|
||||
you should probably leave this unchanged.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VI_VERBOSE_STATUS
|
||||
bool "Enable verbose status reporting"
|
||||
default BUSYBOX_DEFAULT_FEATURE_VI_VERBOSE_STATUS
|
||||
depends on BUSYBOX_CONFIG_VI
|
||||
help
|
||||
Enable more verbose reporting of the results of yank, change,
|
||||
delete, undo and substitution commands.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_ALLOW_EXEC
|
||||
bool "Allow vi and awk to execute shell commands"
|
||||
default BUSYBOX_DEFAULT_FEATURE_ALLOW_EXEC
|
||||
|
@ -13,7 +13,7 @@ config BUSYBOX_CONFIG_MINIPS
|
||||
Alias to "ps".
|
||||
config BUSYBOX_CONFIG_NUKE
|
||||
bool "nuke (2.9 kb)"
|
||||
default BUSYBOX_DEFAULT_NUKE
|
||||
default BUSYBOX_DEFAULT_NUKE # off by default: too "accidentally destructive"
|
||||
help
|
||||
Alias to "rm -rf".
|
||||
config BUSYBOX_CONFIG_RESUME
|
||||
|
@ -12,6 +12,12 @@ config BUSYBOX_CONFIG_ADJTIMEX
|
||||
help
|
||||
Adjtimex reads and optionally sets adjustment parameters for
|
||||
the Linux clock adjustment algorithm.
|
||||
config BUSYBOX_CONFIG_ASCII
|
||||
bool "ascii"
|
||||
default BUSYBOX_DEFAULT_ASCII
|
||||
help
|
||||
Print ascii table.
|
||||
|
||||
config BUSYBOX_CONFIG_BBCONFIG
|
||||
bool "bbconfig (9.7 kb)"
|
||||
default BUSYBOX_DEFAULT_BBCONFIG
|
||||
@ -788,4 +794,19 @@ config BUSYBOX_CONFIG_WATCHDOG
|
||||
certain amount of time, the watchdog device assumes the system has
|
||||
hung, and will cause the hardware to reboot.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_WATCHDOG_OPEN_TWICE
|
||||
bool "Open watchdog device twice, closing it gracefully in between"
|
||||
depends on BUSYBOX_CONFIG_WATCHDOG
|
||||
default BUSYBOX_DEFAULT_FEATURE_WATCHDOG_OPEN_TWICE # this behavior was essentially a hack for a broken driver
|
||||
help
|
||||
When enabled, the watchdog device is opened and then immediately
|
||||
magic-closed, before being opened a second time. This may be necessary
|
||||
for some watchdog devices, but can cause spurious warnings in the
|
||||
kernel log if the nowayout feature is enabled. If this workaround
|
||||
is really needed for you machine to work properly, consider whether
|
||||
it should be fixed in the kernel driver instead. Even when disabled,
|
||||
the behaviour is easily emulated with a "printf 'V' > /dev/watchdog"
|
||||
immediately before starting the busybox watchdog daemon. Say n unless
|
||||
you know that you absolutely need this.
|
||||
|
||||
endmenu
|
||||
|
@ -1092,6 +1092,13 @@ config BUSYBOX_CONFIG_FEATURE_WGET_STATUSBAR
|
||||
default BUSYBOX_DEFAULT_FEATURE_WGET_STATUSBAR
|
||||
depends on BUSYBOX_CONFIG_WGET
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_WGET_FTP
|
||||
bool "Enable FTP protocol (+1k)"
|
||||
default BUSYBOX_DEFAULT_FEATURE_WGET_FTP
|
||||
depends on BUSYBOX_CONFIG_WGET
|
||||
help
|
||||
To support FTPS, enable FEATURE_WGET_HTTPS as well.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_WGET_AUTHENTICATION
|
||||
bool "Enable HTTP authentication"
|
||||
default BUSYBOX_DEFAULT_FEATURE_WGET_AUTHENTICATION
|
||||
@ -1120,6 +1127,7 @@ config BUSYBOX_CONFIG_FEATURE_WGET_HTTPS
|
||||
select BUSYBOX_CONFIG_TLS
|
||||
help
|
||||
wget will use internal TLS code to connect to https:// URLs.
|
||||
It also enables FTPS support, but it's not well tested yet.
|
||||
Note:
|
||||
On NOMMU machines, ssl_helper applet should be available
|
||||
in the $PATH for this to work. Make sure to select that applet.
|
||||
|
@ -142,6 +142,14 @@ config BUSYBOX_CONFIG_FEATURE_UDHCPC6_RFC5970
|
||||
comment "Common options for DHCP applets"
|
||||
depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC || BUSYBOX_CONFIG_UDHCPC6 || BUSYBOX_CONFIG_DHCPRELAY
|
||||
|
||||
config BUSYBOX_CONFIG_UDHCPC_DEFAULT_INTERFACE
|
||||
string "Default interface name"
|
||||
default BUSYBOX_DEFAULT_UDHCPC_DEFAULT_INTERFACE
|
||||
depends on BUSYBOX_CONFIG_UDHCPC || BUSYBOX_CONFIG_UDHCPC6
|
||||
help
|
||||
The interface that will be used if no other interface is
|
||||
specified on the commandline.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_UDHCP_PORT
|
||||
bool "Enable '-P port' option for udhcpd and udhcpc"
|
||||
default BUSYBOX_DEFAULT_FEATURE_UDHCP_PORT
|
||||
|
@ -299,11 +299,6 @@ config BUSYBOX_CONFIG_HUSH_BRACE_EXPANSION
|
||||
help
|
||||
Enable {abc,def} extension.
|
||||
|
||||
config BUSYBOX_CONFIG_HUSH_LINENO_VAR
|
||||
bool "$LINENO variable"
|
||||
default BUSYBOX_DEFAULT_HUSH_LINENO_VAR
|
||||
depends on BUSYBOX_CONFIG_HUSH_BASH_COMPAT
|
||||
|
||||
config BUSYBOX_CONFIG_HUSH_BASH_SOURCE_CURDIR
|
||||
bool "'source' and '.' builtins search current directory after $PATH"
|
||||
default BUSYBOX_DEFAULT_HUSH_BASH_SOURCE_CURDIR # do not encourage non-standard behavior
|
||||
@ -311,6 +306,11 @@ config BUSYBOX_CONFIG_HUSH_BASH_SOURCE_CURDIR
|
||||
help
|
||||
This is not compliant with standards. Avoid if possible.
|
||||
|
||||
config BUSYBOX_CONFIG_HUSH_LINENO_VAR
|
||||
bool "$LINENO variable (bashism)"
|
||||
default BUSYBOX_DEFAULT_HUSH_LINENO_VAR
|
||||
depends on BUSYBOX_CONFIG_SHELL_HUSH
|
||||
|
||||
config BUSYBOX_CONFIG_HUSH_INTERACTIVE
|
||||
bool "Interactive mode"
|
||||
default BUSYBOX_DEFAULT_HUSH_INTERACTIVE
|
||||
|
@ -0,0 +1,37 @@
|
||||
From 00adcdb64a5487f0ea6b400d912dcf7c58637696 Mon Sep 17 00:00:00 2001
|
||||
From: Denys Vlasenko <vda.linux@googlemail.com>
|
||||
Date: Fri, 20 Aug 2021 13:33:50 +0200
|
||||
Subject: udhcp: fix build breakage on MIPS
|
||||
|
||||
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
||||
---
|
||||
networking/udhcp/common.h | 12 ------------
|
||||
1 file changed, 12 deletions(-)
|
||||
|
||||
diff --git a/networking/udhcp/common.h b/networking/udhcp/common.h
|
||||
index 8c678dd32..ca778dab8 100644
|
||||
--- a/networking/udhcp/common.h
|
||||
+++ b/networking/udhcp/common.h
|
||||
@@ -304,18 +304,6 @@ void udhcp_dump_packet(struct dhcp_packet *packet) FAST_FUNC;
|
||||
# define log3s(msg) ((void)0)
|
||||
#endif
|
||||
|
||||
-#if defined(__mips__)
|
||||
-/*
|
||||
- * The 'simple' message functions have a negative impact on the size of the
|
||||
- * DHCP code when compiled for MIPS, so don't use them in this case.
|
||||
- */
|
||||
-#define bb_simple_info_msg bb_info_msg
|
||||
-#define bb_simple_error_msg bb_error_msg
|
||||
-#define bb_simple_perror_msg_and_die bb_perror_msg_and_die
|
||||
-#undef log1s
|
||||
-#define log1s log1
|
||||
-#endif
|
||||
-
|
||||
/*** Other shared functions ***/
|
||||
|
||||
/* 2nd param is "uint32_t*" */
|
||||
--
|
||||
cgit v1.2.3
|
||||
|
||||
|
@ -0,0 +1,77 @@
|
||||
Stacy Harper reports that this script:
|
||||
|
||||
test() { . /tmp/bb_test; }
|
||||
echo "export TEST=foo" >/tmp/bb_test
|
||||
test 2>/dev/null
|
||||
echo "$TEST"
|
||||
|
||||
correctly prints 'foo' in BusyBox 1.33 but hangs in 1.34.
|
||||
|
||||
Bisection suggested the problem was caused by commit a1b0d3856 (ash: add
|
||||
process substitution in bash-compatibility mode). Removing the call to
|
||||
unwindredir() in cmdloop() introduced in that commit makes the script
|
||||
work again.
|
||||
|
||||
Additionally, these examples of process substitution:
|
||||
|
||||
while true; do cat <(echo hi); done
|
||||
f() { while true; do cat <(echo hi); done }
|
||||
f
|
||||
|
||||
result in running out of file descriptors. This is a regression from
|
||||
v5 of the process substitution patch caused by changes to evalcommand()
|
||||
not being transferred to v6.
|
||||
|
||||
function old new delta
|
||||
static.pushredir - 99 +99
|
||||
evalcommand 1729 1750 +21
|
||||
exitreset 69 86 +17
|
||||
cmdloop 372 365 -7
|
||||
unwindredir 28 - -28
|
||||
pushredir 112 - -112
|
||||
------------------------------------------------------------------------------
|
||||
(add/remove: 1/2 grow/shrink: 2/1 up/down: 137/-147) Total: -10 bytes
|
||||
|
||||
Signed-off-by: Ron Yorston <rmy at pobox.com>
|
||||
---
|
||||
shell/ash.c | 10 +++++++---
|
||||
1 file changed, 7 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/shell/ash.c b/shell/ash.c
|
||||
index b5947147a..53c140930 100644
|
||||
--- a/shell/ash.c
|
||||
+++ b/shell/ash.c
|
||||
@@ -10278,6 +10278,9 @@ evalcommand(union node *cmd, int flags)
|
||||
|
||||
/* First expand the arguments. */
|
||||
TRACE(("evalcommand(0x%lx, %d) called\n", (long)cmd, flags));
|
||||
+#if BASH_PROCESS_SUBST
|
||||
+ redir_stop = redirlist;
|
||||
+#endif
|
||||
file_stop = g_parsefile;
|
||||
back_exitstatus = 0;
|
||||
|
||||
@@ -10356,7 +10359,11 @@ evalcommand(union node *cmd, int flags)
|
||||
lastarg = nargv[-1];
|
||||
|
||||
expredir(cmd->ncmd.redirect);
|
||||
+#if !BASH_PROCESS_SUBST
|
||||
redir_stop = pushredir(cmd->ncmd.redirect);
|
||||
+#else
|
||||
+ pushredir(cmd->ncmd.redirect);
|
||||
+#endif
|
||||
preverrout_fd = 2;
|
||||
if (BASH_XTRACEFD && xflag) {
|
||||
/* NB: bash closes fd == $BASH_XTRACEFD when it is changed.
|
||||
@@ -13476,9 +13483,6 @@ cmdloop(int top)
|
||||
#if JOBS
|
||||
if (doing_jobctl)
|
||||
showjobs(SHOW_CHANGED|SHOW_STDERR);
|
||||
-#endif
|
||||
-#if BASH_PROCESS_SUBST
|
||||
- unwindredir(NULL);
|
||||
#endif
|
||||
inter = 0;
|
||||
if (iflag && top) {
|
||||
--
|
||||
2.31.1
|
@ -1,18 +1,18 @@
|
||||
--- a/networking/udhcp/dhcpc.c
|
||||
+++ b/networking/udhcp/dhcpc.c
|
||||
@@ -712,6 +712,7 @@ static int bcast_or_ucast(struct dhcp_pa
|
||||
static NOINLINE int send_discover(uint32_t xid, uint32_t requested)
|
||||
@@ -722,6 +722,7 @@ static int bcast_or_ucast(struct dhcp_pa
|
||||
static NOINLINE int send_discover(uint32_t requested)
|
||||
{
|
||||
struct dhcp_packet packet;
|
||||
+ static int msgs = 0;
|
||||
|
||||
/* Fill in: op, htype, hlen, cookie, chaddr fields,
|
||||
* random xid field (we override it below),
|
||||
@@ -729,6 +730,7 @@ static NOINLINE int send_discover(uint32
|
||||
* xid field, message type option:
|
||||
@@ -736,6 +737,7 @@ static NOINLINE int send_discover(uint32
|
||||
*/
|
||||
add_client_options(&packet);
|
||||
|
||||
+ if (msgs++ < 3)
|
||||
bb_info_msg("sending %s", "discover");
|
||||
bb_simple_info_msg("broadcasting discover");
|
||||
return raw_bcast_from_client_data_ifindex(&packet, INADDR_ANY);
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
--- a/networking/udhcp/dhcpc.c
|
||||
+++ b/networking/udhcp/dhcpc.c
|
||||
@@ -1415,6 +1415,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c
|
||||
/* silence "uninitialized!" warning */
|
||||
unsigned timestamp_before_wait = timestamp_before_wait;
|
||||
@@ -1384,6 +1384,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c
|
||||
struct pollfd pfds[2];
|
||||
struct dhcp_packet packet;
|
||||
|
||||
+ /* When running on a bridge, the ifindex may have changed (e.g. if
|
||||
+ * member interfaces were added/removed or if the status of the
|
||||
|
@ -1,10 +0,0 @@
|
||||
--- a/networking/udhcp/dhcpc.c
|
||||
+++ b/networking/udhcp/dhcpc.c
|
||||
@@ -1125,7 +1125,6 @@ static void perform_renew(void)
|
||||
client_data.state = RENEW_REQUESTED;
|
||||
break;
|
||||
case RENEW_REQUESTED: /* impatient are we? fine, square 1 */
|
||||
- udhcp_run_script(NULL, "deconfig");
|
||||
case REQUESTING:
|
||||
case RELEASED:
|
||||
change_listen_mode(LISTEN_RAW);
|
@ -1,49 +0,0 @@
|
||||
From 7eed119b84b0f7efb7ef351940dd895dc2379eb3 Mon Sep 17 00:00:00 2001
|
||||
From: Russell Senior <russell@personaltelco.net>
|
||||
Date: Mon, 15 Mar 2021 23:27:58 -0700
|
||||
Subject: [PATCH v2] udhcpc: ignore zero-length DHCP options
|
||||
|
||||
Discovered that the DHCP server on a TrendNet router (unknown model)
|
||||
provides a zero-length option 12 (Host Name) in the DHCP ACK message. This
|
||||
has the effect of causing udhcpc to drop the rest of the options, including
|
||||
option 51 (IP Address Lease Time), 3 (Router), and 6 (Domain Name Server),
|
||||
most importantly leaving the OpenWrt device with no default gateway.
|
||||
|
||||
The TrendNet behavior violates RFC 2132, which in Section 3.14 declares that
|
||||
option 12 has a miniumum length of 1 octet. It is perhaps not a cosmic coincidence
|
||||
that I found this behavior on Pi Day.
|
||||
|
||||
This patch allows zero length options without bailing out, by simply skipping them.
|
||||
|
||||
v2 changelog:
|
||||
* advance the optionptr by two bytes, not one;
|
||||
* add a message to warn about the rfc violation;
|
||||
|
||||
Signed-off-by: Russell Senior <russell@personaltelco.net>
|
||||
---
|
||||
networking/udhcp/common.c | 9 +++++++--
|
||||
1 file changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/networking/udhcp/common.c b/networking/udhcp/common.c
|
||||
index 4bc719001..a16fd85d0 100644
|
||||
--- a/networking/udhcp/common.c
|
||||
+++ b/networking/udhcp/common.c
|
||||
@@ -277,8 +277,13 @@ uint8_t* FAST_FUNC udhcp_scan_options(struct dhcp_packet *packet, struct dhcp_sc
|
||||
goto complain; /* complain and return NULL */
|
||||
len = 2 + scan_state->optionptr[OPT_LEN];
|
||||
scan_state->rem -= len;
|
||||
- /* So far no valid option with length 0 known. */
|
||||
- if (scan_state->rem < 0 || scan_state->optionptr[OPT_LEN] == 0)
|
||||
+ /* skip any options with zero length */
|
||||
+ if (scan_state->optionptr[OPT_LEN] == 0) {
|
||||
+ scan_state->optionptr += 2;
|
||||
+ bb_simple_error_msg("warning: zero length DHCP option violates rfc2132, skipping");
|
||||
+ continue;
|
||||
+ }
|
||||
+ if (scan_state->rem < 0)
|
||||
goto complain; /* complain and return NULL */
|
||||
|
||||
if (scan_state->optionptr[OPT_CODE] == DHCP_OPTION_OVERLOAD) {
|
||||
--
|
||||
2.30.1
|
||||
|
@ -1,80 +0,0 @@
|
||||
From 59f773ee81a8945321f4aa20abc5e9577e6483e4 Mon Sep 17 00:00:00 2001
|
||||
From: Paul Spooren <mail@aparcar.org>
|
||||
Date: Thu, 13 May 2021 11:25:34 +0200
|
||||
Subject: [PATCH] use SOURCE_DATE_EPOCH for timestamp if available
|
||||
|
||||
The SOURCE_DATE_EPOCH is an effort of the Reproducible Builds
|
||||
organization to make timestamps/build dates in compiled tools
|
||||
deterministic over several repetitive builds.
|
||||
|
||||
Busybox shows by default the build date timestamp which changes whenever
|
||||
compiled. To have a reasonable accurate build date while staying
|
||||
reproducible, it's possible to use the *date of last source
|
||||
modification* rather than the current time and date.
|
||||
|
||||
Further information on SOURCE_DATE_EPOCH are available online [1].
|
||||
|
||||
This patch modifies `confdata.c` so that the content of the
|
||||
SOURCE_DATE_EPOCH env variable is used as timestamp.
|
||||
|
||||
To be independent of different timezones between builds, whenever
|
||||
SOURCE_DATE_EPOCH is defined the GMT time is used.
|
||||
|
||||
[1]: https://reproducible-builds.org/docs/source-date-epoch/
|
||||
|
||||
Signed-off-by: Paul Spooren <mail@aparcar.org>
|
||||
---
|
||||
scripts/kconfig/confdata.c | 17 ++++++++++++++---
|
||||
1 file changed, 14 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
|
||||
index b05b96e45..73c25e3a8 100644
|
||||
--- a/scripts/kconfig/confdata.c
|
||||
+++ b/scripts/kconfig/confdata.c
|
||||
@@ -342,6 +342,8 @@ int conf_write(const char *name)
|
||||
time_t now;
|
||||
int use_timestamp = 1;
|
||||
char *env;
|
||||
+ char *source_date_epoch;
|
||||
+ struct tm *build_time;
|
||||
|
||||
dirname[0] = 0;
|
||||
if (name && name[0]) {
|
||||
@@ -378,7 +380,16 @@ int conf_write(const char *name)
|
||||
}
|
||||
sym = sym_lookup("KERNELVERSION", 0);
|
||||
sym_calc_value(sym);
|
||||
- time(&now);
|
||||
+
|
||||
+ source_date_epoch = getenv("SOURCE_DATE_EPOCH");
|
||||
+ if (source_date_epoch && *source_date_epoch) {
|
||||
+ now = strtoull(source_date_epoch, NULL, 10);
|
||||
+ build_time = gmtime(&now);
|
||||
+ } else {
|
||||
+ time(&now);
|
||||
+ build_time = localtime(&now);
|
||||
+ }
|
||||
+
|
||||
env = getenv("KCONFIG_NOTIMESTAMP");
|
||||
if (env && *env)
|
||||
use_timestamp = 0;
|
||||
@@ -398,14 +409,14 @@ int conf_write(const char *name)
|
||||
if (use_timestamp) {
|
||||
size_t ret = \
|
||||
strftime(buf, sizeof(buf), "#define AUTOCONF_TIMESTAMP "
|
||||
- "\"%Y-%m-%d %H:%M:%S %Z\"\n", localtime(&now));
|
||||
+ "\"%Y-%m-%d %H:%M:%S %Z\"\n", build_time);
|
||||
/* if user has Factory timezone or some other odd install, the
|
||||
* %Z above will overflow the string leaving us with undefined
|
||||
* results ... so let's try again without the timezone.
|
||||
*/
|
||||
if (ret == 0)
|
||||
strftime(buf, sizeof(buf), "#define AUTOCONF_TIMESTAMP "
|
||||
- "\"%Y-%m-%d %H:%M:%S\"\n", localtime(&now));
|
||||
+ "\"%Y-%m-%d %H:%M:%S\"\n", build_time);
|
||||
} else { /* bbox */
|
||||
strcpy(buf, "#define AUTOCONF_TIMESTAMP \"\"\n");
|
||||
}
|
||||
--
|
||||
2.30.2
|
||||
|
@ -1,30 +0,0 @@
|
||||
From a0136f24f788e8bfc4ab74a647b27e115a25d9fb Mon Sep 17 00:00:00 2001
|
||||
From: Paul Spooren <mail@aparcar.org>
|
||||
Date: Wed, 19 May 2021 00:55:21 +0200
|
||||
Subject: [PATCH] nslookup: mention QUERY_TYPE SRV
|
||||
|
||||
SRV lookups are supported since "6b4960155 nslookup: implement support
|
||||
for SRV records" and should therefore be mentioned as a possible
|
||||
QUERY_TYPE in the help message.
|
||||
|
||||
Signed-off-by: Paul Spooren <mail@aparcar.org>
|
||||
---
|
||||
networking/nslookup.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/networking/nslookup.c b/networking/nslookup.c
|
||||
index dda22de0e..2ae8d391c 100644
|
||||
--- a/networking/nslookup.c
|
||||
+++ b/networking/nslookup.c
|
||||
@@ -25,7 +25,7 @@
|
||||
//usage:#define nslookup_full_usage "\n\n"
|
||||
//usage: "Query DNS about HOST"
|
||||
//usage: IF_FEATURE_NSLOOKUP_BIG("\n")
|
||||
-//usage: IF_FEATURE_NSLOOKUP_BIG("\nQUERY_TYPE: soa,ns,a,"IF_FEATURE_IPV6("aaaa,")"cname,mx,txt,ptr,any")
|
||||
+//usage: IF_FEATURE_NSLOOKUP_BIG("\nQUERY_TYPE: soa,ns,a,"IF_FEATURE_IPV6("aaaa,")"cname,mx,txt,ptr,srv,any")
|
||||
//usage:#define nslookup_example_usage
|
||||
//usage: "$ nslookup localhost\n"
|
||||
//usage: "Server: default\n"
|
||||
--
|
||||
2.30.2
|
||||
|
Loading…
Reference in New Issue
Block a user