[PATCHv2 2/3] busybox: update to 1.33

Rosen Penev rosenp at gmail.com
Sun Jan 3 22:32:06 EST 2021


Remove stime backport.

Remove static libgcc patch as upstream fixed it with
BUSYBOX_DEFAULT_STATIC_LIBGCC which defauls to off.

Remove date -k patch as it no longer applies. It's also pointless as
busybox' hwclock utility can do the same thing.

Remove ntpd patch as that seems to have been applied upstream.

Add smalll patch fixing compilation with SELinux. Upstream commit
2496616b0a8d1c80cd1416b73a4847b59b9f969a renamed the variable without
renaming it in the SELinux path.

Refresh config and patches.

Signed-off-by: Rosen Penev <rosenp at gmail.com>
---
 v2: refreshed config and slight rewording.
 package/utils/busybox/Config-defaults.in      | 52 +++++++++--
 package/utils/busybox/Makefile                |  6 +-
 .../001-remove-stime-function-calls.patch     | 84 -----------------
 .../patches/010-fix-wrong-variable.patch      | 11 +++
 .../patches/110-no_static_libgcc.patch        | 11 ---
 .../busybox/patches/120-lto-jobserver.patch   |  6 +-
 .../patches/200-udhcpc_reduce_msgs.patch      |  4 +-
 .../patches/201-udhcpc_changed_ifindex.patch  |  2 +-
 .../203-udhcpc_renew_no_deconfig.patch        |  2 +-
 .../patches/230-add_nslookup_lede.patch       |  6 +-
 .../busybox/patches/250-date-k-flag.patch     | 92 -------------------
 .../500-move-traceroute-applets-to-bin.patch  |  2 +-
 ...520-loginutils-handle-crypt-failures.patch |  6 +-
 .../patches/600-allow-ntpd-non-root.patch     | 12 ---
 14 files changed, 71 insertions(+), 225 deletions(-)
 delete mode 100644 package/utils/busybox/patches/001-remove-stime-function-calls.patch
 create mode 100644 package/utils/busybox/patches/010-fix-wrong-variable.patch
 delete mode 100644 package/utils/busybox/patches/110-no_static_libgcc.patch
 delete mode 100644 package/utils/busybox/patches/250-date-k-flag.patch
 delete mode 100644 package/utils/busybox/patches/600-allow-ntpd-non-root.patch

diff --git a/package/utils/busybox/Config-defaults.in b/package/utils/busybox/Config-defaults.in
index 8d237ad181..04f6119d71 100644
--- a/package/utils/busybox/Config-defaults.in
+++ b/package/utils/busybox/Config-defaults.in
@@ -85,9 +85,6 @@ config BUSYBOX_DEFAULT_FEATURE_SYSLOG_INFO
 config BUSYBOX_DEFAULT_FEATURE_SYSLOG
 	bool
 	default y
-config BUSYBOX_DEFAULT_PLATFORM_LINUX
-	bool
-	default y
 config BUSYBOX_DEFAULT_STATIC
 	bool
 	default n
@@ -130,6 +127,9 @@ config BUSYBOX_DEFAULT_USE_PORTABLE_CODE
 config BUSYBOX_DEFAULT_STACK_OPTIMIZATION_386
 	bool
 	default n
+config BUSYBOX_DEFAULT_STATIC_LIBGCC
+	bool
+	default n
 config BUSYBOX_DEFAULT_INSTALL_APPLET_SYMLINKS
 	bool
 	default y
@@ -169,6 +169,9 @@ config BUSYBOX_DEFAULT_UNIT_TEST
 config BUSYBOX_DEFAULT_WERROR
 	bool
 	default n
+config BUSYBOX_DEFAULT_WARN_SIMPLE_MSG
+	bool
+	default n
 config BUSYBOX_DEFAULT_NO_DEBUG_LIB
 	bool
 	default y
@@ -846,7 +849,6 @@ config BUSYBOX_DEFAULT_TRUE
 	default y
 config BUSYBOX_DEFAULT_TRUNCATE
 	bool
-	default y if TARGET_bcm53xx
 	default n
 config BUSYBOX_DEFAULT_TTY
 	bool
@@ -872,6 +874,9 @@ config BUSYBOX_DEFAULT_USLEEP
 config BUSYBOX_DEFAULT_UUDECODE
 	bool
 	default n
+config BUSYBOX_DEFAULT_BASE32
+	bool
+	default n
 config BUSYBOX_DEFAULT_BASE64
 	bool
 	default n
@@ -1160,6 +1165,9 @@ config BUSYBOX_DEFAULT_FEATURE_FIND_QUIT
 config BUSYBOX_DEFAULT_FEATURE_FIND_DELETE
 	bool
 	default n
+config BUSYBOX_DEFAULT_FEATURE_FIND_EMPTY
+	bool
+	default n
 config BUSYBOX_DEFAULT_FEATURE_FIND_PATH
 	bool
 	default y
@@ -1565,9 +1573,6 @@ config BUSYBOX_DEFAULT_FEATURE_GETOPT_LONG
 config BUSYBOX_DEFAULT_HEXDUMP
 	bool
 	default y
-config BUSYBOX_DEFAULT_FEATURE_HEXDUMP_REVERSE
-	bool
-	default n
 config BUSYBOX_DEFAULT_HD
 	bool
 	default n
@@ -1778,6 +1783,9 @@ config BUSYBOX_DEFAULT_TASKSET
 config BUSYBOX_DEFAULT_FEATURE_TASKSET_FANCY
 	bool
 	default n
+config BUSYBOX_DEFAULT_FEATURE_TASKSET_CPULIST
+	bool
+	default n
 config BUSYBOX_DEFAULT_UEVENT
 	bool
 	default n
@@ -1814,6 +1822,9 @@ config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_BTRFS
 config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_CRAMFS
 	bool
 	default n
+config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_EROFS
+	bool
+	default n
 config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_EXFAT
 	bool
 	default n
@@ -2096,6 +2107,9 @@ config BUSYBOX_DEFAULT_MAN
 config BUSYBOX_DEFAULT_MICROCOM
 	bool
 	default n
+config BUSYBOX_DEFAULT_MIM
+	bool
+	default n
 config BUSYBOX_DEFAULT_MT
 	bool
 	default n
@@ -2170,8 +2184,7 @@ config BUSYBOX_DEFAULT_WATCHDOG
 	default n
 config BUSYBOX_DEFAULT_FEATURE_IPV6
 	bool
-	default y if IPV6
-	default n
+	default y
 config BUSYBOX_DEFAULT_FEATURE_UNIX_LOCAL
 	bool
 	default n
@@ -2268,6 +2281,18 @@ config BUSYBOX_DEFAULT_FEATURE_HTTPD_PROXY
 config BUSYBOX_DEFAULT_FEATURE_HTTPD_GZIP
 	bool
 	default n
+config BUSYBOX_DEFAULT_FEATURE_HTTPD_ETAG
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_HTTPD_LAST_MODIFIED
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_HTTPD_DATE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_HTTPD_ACL_IP
+	bool
+	default n
 config BUSYBOX_DEFAULT_IFCONFIG
 	bool
 	default y
@@ -2892,6 +2917,9 @@ config BUSYBOX_DEFAULT_BASH_IS_HUSH
 config BUSYBOX_DEFAULT_BASH_IS_NONE
 	bool
 	default y
+config BUSYBOX_DEFAULT_SHELL_ASH
+	bool
+	default y
 config BUSYBOX_DEFAULT_ASH
 	bool
 	default y
@@ -2952,6 +2980,9 @@ config BUSYBOX_DEFAULT_CTTYHACK
 config BUSYBOX_DEFAULT_HUSH
 	bool
 	default n
+config BUSYBOX_DEFAULT_SHELL_HUSH
+	bool
+	default n
 config BUSYBOX_DEFAULT_HUSH_BASH_COMPAT
 	bool
 	default n
@@ -3114,6 +3145,9 @@ config BUSYBOX_DEFAULT_FEATURE_SYSLOGD_DUP
 config BUSYBOX_DEFAULT_FEATURE_SYSLOGD_CFG
 	bool
 	default n
+config BUSYBOX_DEFAULT_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS
+	bool
+	default n
 config BUSYBOX_DEFAULT_FEATURE_SYSLOGD_READ_BUFFER_SIZE
 	int
 	default 0
diff --git a/package/utils/busybox/Makefile b/package/utils/busybox/Makefile
index e62cef0713..ac921b69ec 100644
--- a/package/utils/busybox/Makefile
+++ b/package/utils/busybox/Makefile
@@ -8,14 +8,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=busybox
-PKG_VERSION:=1.31.1
-PKG_RELEASE:=8
+PKG_VERSION:=1.33.0
+PKG_RELEASE:=1
 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:=d0f940a72f648943c1f2211e0e3117387c31d765137d92bd8284a3fb9752a998
+PKG_HASH:=d568681c91a85edc6710770cebc1e80e042ad74d305b5c2e6d57a5f3de3b8fbd
 
 PKG_BUILD_DEPENDS:=BUSYBOX_CONFIG_PAM:libpam
 PKG_BUILD_PARALLEL:=1
diff --git a/package/utils/busybox/patches/001-remove-stime-function-calls.patch b/package/utils/busybox/patches/001-remove-stime-function-calls.patch
deleted file mode 100644
index ccf9bef356..0000000000
--- a/package/utils/busybox/patches/001-remove-stime-function-calls.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From d3539be8f27b8cbfdfee460fe08299158f08bcd9 Mon Sep 17 00:00:00 2001
-From: Alistair Francis <alistair.francis at wdc.com>
-Date: Tue, 19 Nov 2019 13:06:40 +0100
-Subject: Remove stime() function calls
-
-stime() has been deprecated in glibc 2.31 and replaced with
-clock_settime(). Let's replace the stime() function calls with
-clock_settime() in preperation.
-
-function                                             old     new   delta
-rdate_main                                           197     224     +27
-clock_settime                                          -      27     +27
-date_main                                            926     941     +15
-stime                                                 37       -     -37
-------------------------------------------------------------------------------
-(add/remove: 2/2 grow/shrink: 2/0 up/down: 69/-37)             Total: 32 bytes
-
-Signed-off-by: Alistair Francis <alistair.francis at wdc.com>
-Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
----
- coreutils/date.c         | 6 +++++-
- libbb/missing_syscalls.c | 8 --------
- util-linux/rdate.c       | 8 ++++++--
- 3 files changed, 11 insertions(+), 11 deletions(-)
-
---- a/coreutils/date.c
-+++ b/coreutils/date.c
-@@ -279,6 +279,9 @@ int date_main(int argc UNUSED_PARAM, cha
- 		time(&ts.tv_sec);
- #endif
- 	}
-+#if !ENABLE_FEATURE_DATE_NANO
-+	ts.tv_nsec = 0;
-+#endif
- 	localtime_r(&ts.tv_sec, &tm_time);
- 
- 	/* If date string is given, update tm_time, and maybe set date */
-@@ -301,9 +304,10 @@ int date_main(int argc UNUSED_PARAM, cha
- 		if (date_str[0] != '@')
- 			tm_time.tm_isdst = -1;
- 		ts.tv_sec = validate_tm_time(date_str, &tm_time);
-+		ts.tv_nsec = 0;
- 
- 		/* if setting time, set it */
--		if ((opt & OPT_SET) && stime(&ts.tv_sec) < 0) {
-+		if ((opt & OPT_SET) && clock_settime(CLOCK_REALTIME, &ts) < 0) {
- 			bb_perror_msg("can't set date");
- 		}
- 	}
---- a/libbb/missing_syscalls.c
-+++ b/libbb/missing_syscalls.c
-@@ -15,14 +15,6 @@ pid_t getsid(pid_t pid)
- 	return syscall(__NR_getsid, pid);
- }
- 
--int stime(const time_t *t)
--{
--	struct timeval tv;
--	tv.tv_sec = *t;
--	tv.tv_usec = 0;
--	return settimeofday(&tv, NULL);
--}
--
- int sethostname(const char *name, size_t len)
- {
- 	return syscall(__NR_sethostname, name, len);
---- a/util-linux/rdate.c
-+++ b/util-linux/rdate.c
-@@ -95,9 +95,13 @@ int rdate_main(int argc UNUSED_PARAM, ch
- 	if (!(flags & 2)) { /* no -p (-s may be present) */
- 		if (time(NULL) == remote_time)
- 			bb_error_msg("current time matches remote time");
--		else
--			if (stime(&remote_time) < 0)
-+		else {
-+			struct timespec ts;
-+			ts.tv_sec = remote_time;
-+			ts.tv_nsec = 0;
-+			if (clock_settime(CLOCK_REALTIME, &ts) < 0)
- 				bb_perror_msg_and_die("can't set time of day");
-+		}
- 	}
- 
- 	if (flags != 1) /* not lone -s */
diff --git a/package/utils/busybox/patches/010-fix-wrong-variable.patch b/package/utils/busybox/patches/010-fix-wrong-variable.patch
new file mode 100644
index 0000000000..7491461eed
--- /dev/null
+++ b/package/utils/busybox/patches/010-fix-wrong-variable.patch
@@ -0,0 +1,11 @@
+--- a/libbb/update_passwd.c
++++ b/libbb/update_passwd.c
+@@ -48,7 +48,7 @@ static void check_selinux_update_passwd(const char *username)
+ 			bb_simple_error_msg_and_die("SELinux: access denied");
+ 	}
+ 	if (ENABLE_FEATURE_CLEAN_UP)
+-		freecon(context);
++		freecon(seuser);
+ }
+ #else
+ # define check_selinux_update_passwd(username) ((void)0)
diff --git a/package/utils/busybox/patches/110-no_static_libgcc.patch b/package/utils/busybox/patches/110-no_static_libgcc.patch
deleted file mode 100644
index 2148a09e00..0000000000
--- a/package/utils/busybox/patches/110-no_static_libgcc.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Makefile.flags
-+++ b/Makefile.flags
-@@ -51,7 +51,7 @@ CFLAGS += $(call cc-option,-fno-builtin-
- # -fno-guess-branch-probability: prohibit pseudo-random guessing
- # of branch probabilities (hopefully makes bloatcheck more stable):
- CFLAGS += $(call cc-option,-fno-guess-branch-probability,)
--CFLAGS += $(call cc-option,-funsigned-char -static-libgcc,)
-+CFLAGS += $(call cc-option,-funsigned-char,)
- CFLAGS += $(call cc-option,-falign-functions=1 -falign-jumps=1 -falign-labels=1 -falign-loops=1,)
- # Defeat .eh_frame bloat (gcc 4.6.3 x86-32 defconfig: 20% smaller busybox binary):
- CFLAGS += $(call cc-option,-fno-unwind-tables,)
diff --git a/package/utils/busybox/patches/120-lto-jobserver.patch b/package/utils/busybox/patches/120-lto-jobserver.patch
index 99c5b51201..d4f997e6d8 100644
--- a/package/utils/busybox/patches/120-lto-jobserver.patch
+++ b/package/utils/busybox/patches/120-lto-jobserver.patch
@@ -1,6 +1,6 @@
 --- a/scripts/Kbuild.include
 +++ b/scripts/Kbuild.include
-@@ -130,7 +130,7 @@ make-cmd = $(subst \#,\\\#,$(subst $$,$$
+@@ -131,7 +131,7 @@ make-cmd = $(subst \#,\\\#,$(subst $$,$$
  #
  if_changed = $(if $(strip $(filter-out $(PHONY),$?)          \
  		$(call arg-check, $(cmd_$(1)), $(cmd_$@)) ), \
@@ -9,7 +9,7 @@
  	$(echo-cmd) $(cmd_$(1)); \
  	echo 'cmd_$@ := $(make-cmd)' > $(@D)/.$(@F).cmd)
  
-@@ -139,7 +139,7 @@ if_changed = $(if $(strip $(filter-out $
+@@ -140,7 +140,7 @@ if_changed = $(if $(strip $(filter-out $
  if_changed_dep = $(if $(strip $(filter-out $(PHONY),$?)  \
  		$(filter-out FORCE $(wildcard $^),$^)    \
  	$(call arg-check, $(cmd_$(1)), $(cmd_$@)) ),     \
@@ -18,7 +18,7 @@
  	$(echo-cmd) $(cmd_$(1)); \
  	scripts/basic/fixdep $(depfile) $@ '$(make-cmd)' > $(@D)/.$(@F).tmp; \
  	rm -f $(depfile); \
-@@ -150,5 +150,5 @@ if_changed_dep = $(if $(strip $(filter-o
+@@ -151,5 +151,5 @@ if_changed_dep = $(if $(strip $(filter-o
  # and if so will execute $(rule_foo)
  if_changed_rule = $(if $(strip $(filter-out $(PHONY),$?)            \
  			$(call arg-check, $(cmd_$(1)), $(cmd_$@)) ),\
diff --git a/package/utils/busybox/patches/200-udhcpc_reduce_msgs.patch b/package/utils/busybox/patches/200-udhcpc_reduce_msgs.patch
index 4bab25a8d5..2e67009224 100644
--- a/package/utils/busybox/patches/200-udhcpc_reduce_msgs.patch
+++ b/package/utils/busybox/patches/200-udhcpc_reduce_msgs.patch
@@ -1,6 +1,6 @@
 --- a/networking/udhcp/dhcpc.c
 +++ b/networking/udhcp/dhcpc.c
-@@ -713,6 +713,7 @@ static int bcast_or_ucast(struct dhcp_pa
+@@ -712,6 +712,7 @@ static int bcast_or_ucast(struct dhcp_pa
  static NOINLINE int send_discover(uint32_t xid, uint32_t requested)
  {
  	struct dhcp_packet packet;
@@ -8,7 +8,7 @@
  
  	/* Fill in: op, htype, hlen, cookie, chaddr fields,
  	 * random xid field (we override it below),
-@@ -730,6 +731,7 @@ static NOINLINE int send_discover(uint32
+@@ -729,6 +730,7 @@ static NOINLINE int send_discover(uint32
  	 */
  	add_client_options(&packet);
  
diff --git a/package/utils/busybox/patches/201-udhcpc_changed_ifindex.patch b/package/utils/busybox/patches/201-udhcpc_changed_ifindex.patch
index 256b049d9e..875f2ce5fc 100644
--- a/package/utils/busybox/patches/201-udhcpc_changed_ifindex.patch
+++ b/package/utils/busybox/patches/201-udhcpc_changed_ifindex.patch
@@ -1,6 +1,6 @@
 --- a/networking/udhcp/dhcpc.c
 +++ b/networking/udhcp/dhcpc.c
-@@ -1416,6 +1416,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c
+@@ -1415,6 +1415,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c
  		/* silence "uninitialized!" warning */
  		unsigned timestamp_before_wait = timestamp_before_wait;
  
diff --git a/package/utils/busybox/patches/203-udhcpc_renew_no_deconfig.patch b/package/utils/busybox/patches/203-udhcpc_renew_no_deconfig.patch
index 3d3c0cc403..88a98c0a1c 100644
--- a/package/utils/busybox/patches/203-udhcpc_renew_no_deconfig.patch
+++ b/package/utils/busybox/patches/203-udhcpc_renew_no_deconfig.patch
@@ -1,6 +1,6 @@
 --- a/networking/udhcp/dhcpc.c
 +++ b/networking/udhcp/dhcpc.c
-@@ -1126,7 +1126,6 @@ static void perform_renew(void)
+@@ -1125,7 +1125,6 @@ static void perform_renew(void)
  		client_data.state = RENEW_REQUESTED;
  		break;
  	case RENEW_REQUESTED: /* impatient are we? fine, square 1 */
diff --git a/package/utils/busybox/patches/230-add_nslookup_lede.patch b/package/utils/busybox/patches/230-add_nslookup_lede.patch
index f0ac4b51c1..446b01c3f1 100644
--- a/package/utils/busybox/patches/230-add_nslookup_lede.patch
+++ b/package/utils/busybox/patches/230-add_nslookup_lede.patch
@@ -19,9 +19,9 @@ Signed-off-by: Jo-Philipp Wich <jo at mein.io>
 
 --- a/Makefile.flags
 +++ b/Makefile.flags
-@@ -134,6 +134,12 @@ else
- LDLIBS += m
- endif
+@@ -158,6 +158,12 @@ endif
+ # libm may be needed for dc, awk, ntpd
+ # librt may be needed for clock_gettime()
  
 +# nslookup_lede might need the resolv library
 +RESOLV_AVAILABLE := $(shell echo 'int main(void){res_init();return 0;}' >resolvtest.c; $(CC) $(CFLAGS) -include resolv.h -lresolv -o /dev/null resolvtest.c >/dev/null 2>&1 && echo "y"; rm resolvtest.c)
diff --git a/package/utils/busybox/patches/250-date-k-flag.patch b/package/utils/busybox/patches/250-date-k-flag.patch
deleted file mode 100644
index 5aadbb233c..0000000000
--- a/package/utils/busybox/patches/250-date-k-flag.patch
+++ /dev/null
@@ -1,92 +0,0 @@
---- a/coreutils/date.c
-+++ b/coreutils/date.c
-@@ -123,6 +123,7 @@
- //usage:	IF_FEATURE_DATE_ISOFMT(
- //usage:     "\n	-D FMT		Use FMT (strptime format) for -d TIME conversion"
- //usage:	)
-+//usage:     "\n	-k		Set Kernel timezone from localtime and exit"
- //usage:     "\n"
- //usage:     "\nRecognized TIME formats:"
- //usage:     "\n	hh:mm[:ss]"
-@@ -139,9 +140,8 @@
- 
- #include "libbb.h"
- #include "common_bufsiz.h"
--#if ENABLE_FEATURE_DATE_NANO
--# include <sys/syscall.h>
--#endif
-+#include <sys/time.h>
-+#include <sys/syscall.h>
- 
- enum {
- 	OPT_RFC2822   = (1 << 0), /* R */
-@@ -149,8 +149,9 @@ enum {
- 	OPT_UTC       = (1 << 2), /* u */
- 	OPT_DATE      = (1 << 3), /* d */
- 	OPT_REFERENCE = (1 << 4), /* r */
--	OPT_TIMESPEC  = (1 << 5) * ENABLE_FEATURE_DATE_ISOFMT, /* I */
--	OPT_HINT      = (1 << 6) * ENABLE_FEATURE_DATE_ISOFMT, /* D */
-+	OPT_KERNELTZ  = (1 << 5), /* k */
-+	OPT_TIMESPEC  = (1 << 6) * ENABLE_FEATURE_DATE_ISOFMT, /* I */
-+	OPT_HINT      = (1 << 7) * ENABLE_FEATURE_DATE_ISOFMT, /* D */
- };
- 
- #if ENABLE_LONG_OPTS
-@@ -162,6 +163,7 @@ static const char date_longopts[] ALIGN1
- 	/*	"universal\0" No_argument       "u" */
- 		"date\0"      Required_argument "d"
- 		"reference\0" Required_argument "r"
-+		"set-kernel-tz\0" No_argument   "k"
- 		;
- #endif
- 
-@@ -181,6 +183,8 @@ static void maybe_set_utc(int opt)
- int date_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
- int date_main(int argc UNUSED_PARAM, char **argv)
- {
-+	time_t tt;
-+	struct timezone tz;
- 	struct timespec ts;
- 	struct tm tm_time;
- 	char buf_fmt_dt2str[64];
-@@ -193,7 +197,7 @@ int date_main(int argc UNUSED_PARAM, cha
- 	char *isofmt_arg = NULL;
- 
- 	opt = getopt32long(argv, "^"
--			"Rs:ud:r:"
-+			"Rs:ud:r:k"
- 			IF_FEATURE_DATE_ISOFMT("I::D:")
- 			"\0"
- 			"d--s:s--d"
-@@ -256,6 +260,31 @@ int date_main(int argc UNUSED_PARAM, cha
- 	if (*argv)
- 		bb_show_usage();
- 
-+	/* Setting of kernel timezone was requested */
-+	if (opt & OPT_KERNELTZ) {
-+		tt = time(NULL);
-+		localtime_r(&tt, &tm_time);
-+
-+		/* workaround warp_clock() on first invocation */
-+		memset(&tz, 0, sizeof(tz));
-+		syscall(SYS_settimeofday, NULL, &tz);
-+
-+		memset(&tz, 0, sizeof(tz));
-+#ifdef __USE_MISC
-+		tz.tz_minuteswest = -(tm_time.tm_gmtoff / 60);
-+#else
-+		tz.tz_minuteswest = -(tm_time.__tm_gmtoff / 60);
-+#endif
-+
-+		if (syscall(SYS_settimeofday, NULL, &tz))
-+		{
-+			bb_perror_msg("can't set kernel time zone");
-+			return EXIT_FAILURE;
-+		}
-+
-+		return EXIT_SUCCESS;
-+	}
-+
- 	/* Now we have parsed all the information except the date format
- 	 * which depends on whether the clock is being set or read */
- 
diff --git a/package/utils/busybox/patches/500-move-traceroute-applets-to-bin.patch b/package/utils/busybox/patches/500-move-traceroute-applets-to-bin.patch
index 3741e25c3f..0389eed5da 100644
--- a/package/utils/busybox/patches/500-move-traceroute-applets-to-bin.patch
+++ b/package/utils/busybox/patches/500-move-traceroute-applets-to-bin.patch
@@ -1,6 +1,6 @@
 --- a/networking/traceroute.c
 +++ b/networking/traceroute.c
-@@ -237,8 +237,8 @@
+@@ -236,8 +236,8 @@
  //config:	depends on TRACEROUTE || TRACEROUTE6
  
  /* Needs socket(AF_INET, SOCK_RAW, IPPROTO_ICMP), therefore BB_SUID_MAYBE: */
diff --git a/package/utils/busybox/patches/520-loginutils-handle-crypt-failures.patch b/package/utils/busybox/patches/520-loginutils-handle-crypt-failures.patch
index d44375426f..91340d46e6 100644
--- a/package/utils/busybox/patches/520-loginutils-handle-crypt-failures.patch
+++ b/package/utils/busybox/patches/520-loginutils-handle-crypt-failures.patch
@@ -1,6 +1,6 @@
 --- a/loginutils/chpasswd.c
 +++ b/loginutils/chpasswd.c
-@@ -97,6 +97,11 @@ int chpasswd_main(int argc UNUSED_PARAM,
+@@ -89,6 +89,11 @@ int chpasswd_main(int argc UNUSED_PARAM,
  
  			crypt_make_pw_salt(salt, algo);
  			free_me = pass = pw_encrypt(pass, salt, 0);
@@ -14,7 +14,7 @@
  		/* This is rather complex: if user is not found in /etc/shadow,
 --- a/loginutils/cryptpw.c
 +++ b/loginutils/cryptpw.c
-@@ -95,7 +95,7 @@ int cryptpw_main(int argc UNUSED_PARAM,
+@@ -87,7 +87,7 @@ int cryptpw_main(int argc UNUSED_PARAM,
  	/* Supports: cryptpw -m sha256 PASS 'rounds=999999999$SALT' */
  	char salt[MAX_PW_SALT_LEN + sizeof("rounds=999999999$")];
  	char *salt_ptr;
@@ -23,7 +23,7 @@
  	const char *opt_m, *opt_S;
  	int fd;
  
-@@ -140,8 +140,12 @@ int cryptpw_main(int argc UNUSED_PARAM,
+@@ -132,8 +132,12 @@ int cryptpw_main(int argc UNUSED_PARAM,
  		/* may still be NULL on EOF/error */
  	}
  
diff --git a/package/utils/busybox/patches/600-allow-ntpd-non-root.patch b/package/utils/busybox/patches/600-allow-ntpd-non-root.patch
deleted file mode 100644
index b5d4c2a07d..0000000000
--- a/package/utils/busybox/patches/600-allow-ntpd-non-root.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/networking/ntpd.c
-+++ b/networking/ntpd.c
-@@ -2414,9 +2414,6 @@ static NOINLINE void ntp_init(char **arg
- 
- 	srand(getpid());
- 
--	if (getuid())
--		bb_error_msg_and_die(bb_msg_you_must_be_root);
--
- 	/* Set some globals */
- 	G.discipline_jitter = G_precision_sec;
- 	G.stratum = MAXSTRAT;
-- 
2.29.2




More information about the openwrt-devel mailing list