diff --git a/package/lean/shortcut-fe/fast-classifier/Makefile b/package/lean/shortcut-fe/fast-classifier/Makefile
index 75fdb5d7b7f3a3..ccd659f20a916e 100644
--- a/package/lean/shortcut-fe/fast-classifier/Makefile
+++ b/package/lean/shortcut-fe/fast-classifier/Makefile
@@ -11,50 +11,50 @@
 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
 # OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 #
- 
+
 include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=fast-classifier
 PKG_RELEASE:=1
-PKG_CONFIG_DEPENDS := CONFIG_IPV6
 
 include $(INCLUDE_DIR)/package.mk
 
-define KernelPackage/$(PKG_NAME)/Default
+define KernelPackage/fast-classifier/Default
   SECTION:=kernel
   CATEGORY:=Kernel modules
   SUBMENU:=Network Support
   DEPENDS:=+kmod-ipt-conntrack +kmod-shortcut-fe
   TITLE:=Kernel driver for FAST Classifier
   FILES:=$(PKG_BUILD_DIR)/fast-classifier.ko
-  KCONFIG:=CONFIG_NF_CONNTRACK_EVENTS=y \
-  	   CONFIG_NF_CONNTRACK_CHAIN_EVENTS=y \
-  	   CONFIG_NF_CONNTRACK_MARK=y \
-  	   CONFIG_XFRM=y
+  KCONFIG:= \
+	   CONFIG_NF_CONNTRACK_EVENTS=y \
+	   CONFIG_NF_CONNTRACK_CHAIN_EVENTS=y \
+	   CONFIG_NF_CONNTRACK_MARK=y \
+	   CONFIG_XFRM=y
   CONFLICTS:=kmod-shortcut-fe-drv kmod-shortcut-fe-cm
 endef
 
-define KernelPackage/$(PKG_NAME)
-  $(call KernelPackage/$(PKG_NAME)/Default)
+define KernelPackage/fast-classifier
+  $(call KernelPackage/fast-classifier/Default)
 endef
 
-define KernelPackage/$(PKG_NAME)-noload
-  $(call KernelPackage/$(PKG_NAME)/Default)
+define KernelPackage/fast-classifier-noload
+  $(call KernelPackage/fast-classifier/Default)
 endef
 
-define KernelPackage/$(PKG_NAME)/Default/description
+define KernelPackage/fast-classifier/Default/description
 FAST Classifier talks to SFE to make decisions about offloading connections
 endef
 
-define KernelPackage/$(PKG_NAME)/description
-$(call KernelPackage/$(PKG_NAME)/Default/description)
+define KernelPackage/fast-classifier/description
+$(call KernelPackage/fast-classifier/Default/description)
 endef
 
-define KernelPackage/$(PKG_NAME)-noload/description
-$(call KernelPackage/$(PKG_NAME)/Default/description)
+define KernelPackage/fast-classifier-noload/description
+$(call KernelPackage/fast-classifier/Default/description)
 
-This package does not load $(PKG_NAME) at boot by default
+This package does not load fast-classifier at boot by default
 endef
 
 define Package/fast-classifier-example
@@ -67,18 +67,16 @@ Example user space program that communicates with fast
 classifier kernel module
 endef
 
-SFE_MAKE_OPTS:=SFE_SUPPORT_IPV6=$(if $(CONFIG_IPV6),y,n)
 HAVE_ECM:=$(CONFIG_PACKAGE_kmod-qca-nss-ecm-premium)$(CONFIG_PACKAGE_kmod-qca-nss-ecm-noload)$(CONFIG_PACKAGE_kmod-qca-nss-ecm-premium-noload)$(CONFIG_PACKAGE_kmod-qca-nss-ecm-standard)
 
-
 define Build/Compile/kmod
-	+$(MAKE) $(PKG_JOBS) -C "$(LINUX_DIR)" $(SFE_MAKE_OPTS) \
+	+$(MAKE) $(PKG_JOBS) -C "$(LINUX_DIR)" \
 		$(KERNEL_MAKE_FLAGS) \
 		$(PKG_MAKE_FLAGS) \
 		M="$(PKG_BUILD_DIR)" \
 		CONFIG_FAST_CLASSIFIER=m \
+		EXTRA_CFLAGS+="-DSFE_SUPPORT_IPV6" \
 		$(if $(HAVE_ECM),EXTRA_CFLAGS+="-DCONFIG_SFE_ECM" CONFIG_SFE_ECM=y,) \
-		EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \
 		modules
 endef
 
@@ -101,12 +99,11 @@ define Build/InstallDev
 	$(CP) $(PKG_BUILD_DIR)/fast-classifier.h $(1)/usr/include/
 endef
 
-
 define Package/fast-classifier-example/install
 	$(INSTALL_DIR) $(1)/sbin
 	$(CP) $(PKG_BUILD_DIR)/userspace_fast_classifier $(1)/sbin/
 endef
 
-$(eval $(call KernelPackage,$(PKG_NAME)))
-$(eval $(call KernelPackage,$(PKG_NAME)-noload))
+$(eval $(call KernelPackage,fast-classifier))
+#$(eval $(call KernelPackage,fast-classifier-noload))
 #$(eval $(call BuildPackage,fast-classifier-example))
diff --git a/package/lean/shortcut-fe/shortcut-fe/Makefile b/package/lean/shortcut-fe/shortcut-fe/Makefile
index f326e59c9cdfe9..842e6a8f6929d0 100644
--- a/package/lean/shortcut-fe/shortcut-fe/Makefile
+++ b/package/lean/shortcut-fe/shortcut-fe/Makefile
@@ -11,6 +11,7 @@
 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
 # OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 #
+
 include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
@@ -23,10 +24,13 @@ define KernelPackage/shortcut-fe
   SECTION:=kernel
   CATEGORY:=Kernel modules
   SUBMENU:=Network Support
-  DEPENDS:=@IPV6
+  DEPENDS:=@IPV6 +kmod-nf-conntrack
   TITLE:=Kernel driver for SFE
-  FILES:=$(PKG_BUILD_DIR)/shortcut-fe.ko $(if $(CONFIG_IPV6),$(PKG_BUILD_DIR)/shortcut-fe-ipv6.ko,)
-  KCONFIG:=CONFIG_NF_CONNTRACK_EVENTS=y \
+  FILES:= \
+	   $(PKG_BUILD_DIR)/shortcut-fe.ko \
+	   $(PKG_BUILD_DIR)/shortcut-fe-ipv6.ko
+  KCONFIG:= \
+	   CONFIG_NF_CONNTRACK_EVENTS=y \
 	   CONFIG_NF_CONNTRACK_TIMEOUT=y \
 	   CONFIG_SHORTCUT_FE=y \
 	   CONFIG_XFRM=y
@@ -54,9 +58,10 @@ define KernelPackage/shortcut-fe-cm
   DEPENDS:=+kmod-ipt-conntrack +kmod-shortcut-fe
   TITLE:=Kernel driver for SFE
   FILES:=$(PKG_BUILD_DIR)/shortcut-fe-cm.ko
-  KCONFIG:=CONFIG_NF_CONNTRACK_CHAIN_EVENTS=y \
-  	   CONFIG_NF_CONNTRACK_EVENTS=y \
-  	   CONFIG_XFRM=y
+  KCONFIG:= \
+	   CONFIG_NF_CONNTRACK_CHAIN_EVENTS=y \
+	   CONFIG_NF_CONNTRACK_EVENTS=y \
+	   CONFIG_XFRM=y
   CONFLICTS:=kmod-shortcut-fe-drv
 endef
 
@@ -69,7 +74,7 @@ define Build/Compile
 		$(KERNEL_MAKE_FLAGS) \
 		$(PKG_MAKE_FLAGS) \
 		M="$(PKG_BUILD_DIR)" \
-		$(if $(CONFIG_IPV6),EXTRA_CFLAGS+="-DSFE_SUPPORT_IPV6" SFE_SUPPORT_IPV6=y,) \
+		EXTRA_CFLAGS+="-DSFE_SUPPORT_IPV6" SFE_SUPPORT_IPV6=y \
 		$(if $(HAVE_ECM),EXTRA_CFLAGS+="-DCONFIG_SFE_ECM" CONFIG_SFE_ECM=y,) \
 		modules
 endef
diff --git a/package/lean/shortcut-fe/shortcut-fe/src/sfe_cm.c b/package/lean/shortcut-fe/shortcut-fe/src/sfe_cm.c
index cf146fdb114380..d042c740e7bc37 100644
--- a/package/lean/shortcut-fe/shortcut-fe/src/sfe_cm.c
+++ b/package/lean/shortcut-fe/shortcut-fe/src/sfe_cm.c
@@ -305,11 +305,11 @@ static unsigned int sfe_cm_post_routing(struct sk_buff *skb, int is_v4)
 	struct net_device *dest_dev;
 	struct net_device *src_dev_tmp;
 	struct net_device *dest_dev_tmp;
-	struct sk_buff *tmp_skb = NULL;
 	struct net_device *src_br_dev = NULL;
 	struct net_device *dest_br_dev = NULL;
 	struct nf_conntrack_tuple orig_tuple;
 	struct nf_conntrack_tuple reply_tuple;
+	struct sk_buff *tmp_skb = NULL;
 	SFE_NF_CONN_ACCT(acct);
 
 	/*
@@ -527,7 +527,7 @@ static unsigned int sfe_cm_post_routing(struct sk_buff *skb, int is_v4)
 			return NF_ACCEPT;
 		}
 		spin_unlock_bh(&ct->lock);
-		
+
 		/*
 		 * Somehow, SFE is not playing nice with IPSec traffic.
 		 * Do not accelerate for now.
@@ -934,7 +934,7 @@ static void sfe_cm_sync_rule(struct sfe_connection_sync *sis)
 #else
 				timeouts = nf_ct_timeout_lookup(ct);
 				if (!timeouts) {
-					timeouts = udp_get_timeouts(nf_ct_net(ct));
+					timeouts = nf_udp_pernet(nf_ct_net(ct))->timeouts;
 				}
 
 				spin_lock_bh(&ct->lock);
diff --git a/package/lean/shortcut-fe/simulated-driver/Makefile b/package/lean/shortcut-fe/simulated-driver/Makefile
index 1adeb943d76c90..ecf9c41bda8336 100644
--- a/package/lean/shortcut-fe/simulated-driver/Makefile
+++ b/package/lean/shortcut-fe/simulated-driver/Makefile
@@ -17,7 +17,6 @@ include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=shortcut-fe-simulated-driver
 PKG_RELEASE:=1
-PKG_CONFIG_DEPENDS := CONFIG_IPV6
 
 PKG_SOURCE_URL:=https://source.codeaurora.org/quic/qsdk/oss/lklm/shortcut-fe
 PKG_SOURCE_PROTO:=git
@@ -32,14 +31,16 @@ define KernelPackage/shortcut-fe-drv
   CATEGORY:=Kernel modules
   SUBMENU:=Network Support
   DEPENDS:=@TARGET_ipq806x||TARGET_ipq807x +kmod-shortcut-fe
-  KCONFIG:=CONFIG_NET_CLS_ACT=y \
-   	    CONFIG_XFRM=y
+  KCONFIG:= \
+	   CONFIG_NET_CLS_ACT=y \
+	   CONFIG_XFRM=y
   TITLE:=Simulated sfe driver for ECM
   FILES:=$(PKG_BUILD_DIR)/simulated-driver/shortcut-fe-drv.ko
 endef
 
 define KernelPackage/shortcut-fe-drv/Description
-Simulated sfe driver which act as an adapter to convert message between a connection manager and the SFE core engine.
+Simulated sfe driver which act as an adapter to convert message
+between a connection manager and the SFE core engine.
 endef
 
 define Build/Compile
@@ -47,8 +48,7 @@ define Build/Compile
 		$(KERNEL_MAKE_FLAGS) \
 		$(PKG_MAKE_FLAGS) \
 		M="$(PKG_BUILD_DIR)/simulated-driver" \
-		$(if $(CONFIG_IPV6),EXTRA_CFLAGS+="-DSFE_SUPPORT_IPV6" SFE_SUPPORT_IPV6=y,) \
-		EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \
+		EXTRA_CFLAGS="-DSFE_SUPPORT_IPV6" \
 		modules
 endef
 
diff --git a/package/utils/busybox/Config-defaults.in b/package/utils/busybox/Config-defaults.in
index f9028620a18d71..940b32d689d598 100644
--- a/package/utils/busybox/Config-defaults.in
+++ b/package/utils/busybox/Config-defaults.in
@@ -211,15 +211,24 @@ config BUSYBOX_DEFAULT_MD5_SMALL
 config BUSYBOX_DEFAULT_SHA3_SMALL
 	int
 	default 1
-config BUSYBOX_DEFAULT_FEATURE_FAST_TOP
+config BUSYBOX_DEFAULT_FEATURE_NON_POSIX_CP
 	bool
 	default y
-config BUSYBOX_DEFAULT_FEATURE_ETC_NETWORKS
+config BUSYBOX_DEFAULT_FEATURE_VERBOSE_CP_MESSAGE
 	bool
 	default n
-config BUSYBOX_DEFAULT_FEATURE_ETC_SERVICES
+config BUSYBOX_DEFAULT_FEATURE_USE_SENDFILE
 	bool
-	default n
+	default y
+config BUSYBOX_DEFAULT_FEATURE_COPYBUF_KB
+	int
+	default 4
+config BUSYBOX_DEFAULT_MONOTONIC_SYSCALL
+	bool
+	default y
+config BUSYBOX_DEFAULT_IOCTL_HEX2STR_ERROR
+	bool
+	default y
 config BUSYBOX_DEFAULT_FEATURE_EDITING
 	bool
 	default y
@@ -289,30 +298,6 @@ config BUSYBOX_DEFAULT_UNICODE_NEUTRAL_TABLE
 config BUSYBOX_DEFAULT_UNICODE_PRESERVE_BROKEN
 	bool
 	default n
-config BUSYBOX_DEFAULT_FEATURE_NON_POSIX_CP
-	bool
-	default y
-config BUSYBOX_DEFAULT_FEATURE_VERBOSE_CP_MESSAGE
-	bool
-	default n
-config BUSYBOX_DEFAULT_FEATURE_USE_SENDFILE
-	bool
-	default y
-config BUSYBOX_DEFAULT_FEATURE_COPYBUF_KB
-	int
-	default 4
-config BUSYBOX_DEFAULT_FEATURE_SKIP_ROOTFS
-	bool
-	default n
-config BUSYBOX_DEFAULT_MONOTONIC_SYSCALL
-	bool
-	default y
-config BUSYBOX_DEFAULT_IOCTL_HEX2STR_ERROR
-	bool
-	default y
-config BUSYBOX_DEFAULT_FEATURE_HWIB
-	bool
-	default n
 config BUSYBOX_DEFAULT_FEATURE_SEAMLESS_XZ
 	bool
 	default n
@@ -381,7 +366,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
@@ -391,6 +376,12 @@ config BUSYBOX_DEFAULT_FEATURE_CPIO_O
 config BUSYBOX_DEFAULT_FEATURE_CPIO_P
 	bool
 	default n
+config BUSYBOX_DEFAULT_FEATURE_CPIO_IGNORE_DEVNO
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_CPIO_RENUMBER_INODES
+	bool
+	default n
 config BUSYBOX_DEFAULT_DPKG
 	bool
 	default n
@@ -484,6 +475,18 @@ config BUSYBOX_DEFAULT_FEATURE_UNZIP_XZ
 config BUSYBOX_DEFAULT_FEATURE_LZMA_FAST
 	bool
 	default n
+config BUSYBOX_DEFAULT_FEATURE_VERBOSE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_TIMEZONE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_PRESERVE_HARDLINKS
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_HUMAN_READABLE
+	bool
+	default y
 config BUSYBOX_DEFAULT_BASENAME
 	bool
 	default y
@@ -514,6 +517,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 +535,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
@@ -562,6 +571,9 @@ config BUSYBOX_DEFAULT_DF
 config BUSYBOX_DEFAULT_FEATURE_DF_FANCY
 	bool
 	default n
+config BUSYBOX_DEFAULT_FEATURE_SKIP_ROOTFS
+	bool
+	default n
 config BUSYBOX_DEFAULT_DIRNAME
 	bool
 	default y
@@ -829,9 +841,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
@@ -905,15 +914,6 @@ config BUSYBOX_DEFAULT_WHOAMI
 config BUSYBOX_DEFAULT_YES
 	bool
 	default y
-config BUSYBOX_DEFAULT_FEATURE_VERBOSE
-	bool
-	default n
-config BUSYBOX_DEFAULT_FEATURE_PRESERVE_HARDLINKS
-	bool
-	default y
-config BUSYBOX_DEFAULT_FEATURE_HUMAN_READABLE
-	bool
-	default y
 config BUSYBOX_DEFAULT_CHVT
 	bool
 	default n
@@ -1058,6 +1058,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 +1100,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
@@ -1109,9 +1115,21 @@ config BUSYBOX_DEFAULT_FEATURE_FIND_PRINT0
 config BUSYBOX_DEFAULT_FEATURE_FIND_MTIME
 	bool
 	default y
+config BUSYBOX_DEFAULT_FEATURE_FIND_ATIME
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_FIND_CTIME
+	bool
+	default n
 config BUSYBOX_DEFAULT_FEATURE_FIND_MMIN
 	bool
 	default y
+config BUSYBOX_DEFAULT_FEATURE_FIND_AMIN
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_FIND_CMIN
+	bool
+	default n
 config BUSYBOX_DEFAULT_FEATURE_FIND_PERM
 	bool
 	default y
@@ -1133,6 +1151,9 @@ config BUSYBOX_DEFAULT_FEATURE_FIND_NEWER
 config BUSYBOX_DEFAULT_FEATURE_FIND_INUM
 	bool
 	default n
+config BUSYBOX_DEFAULT_FEATURE_FIND_SAMEFILE
+	bool
+	default n
 config BUSYBOX_DEFAULT_FEATURE_FIND_EXEC
 	bool
 	default y
@@ -1895,6 +1916,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 +2207,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
@@ -2196,6 +2223,15 @@ config BUSYBOX_DEFAULT_FEATURE_PREFER_IPV4_ADDRESS
 config BUSYBOX_DEFAULT_VERBOSE_RESOLUTION_ERRORS
 	bool
 	default y
+config BUSYBOX_DEFAULT_FEATURE_ETC_NETWORKS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_ETC_SERVICES
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_HWIB
+	bool
+	default n
 config BUSYBOX_DEFAULT_FEATURE_TLS_SHA1
 	bool
 	default n
@@ -2250,6 +2286,9 @@ config BUSYBOX_DEFAULT_DNSDOMAINNAME
 config BUSYBOX_DEFAULT_HTTPD
 	bool
 	default n
+config BUSYBOX_DEFAULT_FEATURE_HTTPD_PORT_DEFAULT
+	int
+	default 80
 config BUSYBOX_DEFAULT_FEATURE_HTTPD_RANGES
 	bool
 	default n
@@ -2529,6 +2568,9 @@ config BUSYBOX_DEFAULT_TELNETD
 config BUSYBOX_DEFAULT_FEATURE_TELNETD_STANDALONE
 	bool
 	default n
+config BUSYBOX_DEFAULT_FEATURE_TELNETD_PORT_DEFAULT
+	int
+	default 23
 config BUSYBOX_DEFAULT_FEATURE_TELNETD_INETD_WAIT
 	bool
 	default n
@@ -2589,6 +2631,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 +2697,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
@@ -2679,6 +2727,9 @@ config BUSYBOX_DEFAULT_LPR
 config BUSYBOX_DEFAULT_LPQ
 	bool
 	default n
+config BUSYBOX_DEFAULT_FEATURE_MIME_CHARSET
+	string
+	default ""
 config BUSYBOX_DEFAULT_MAKEMIME
 	bool
 	default n
@@ -2697,9 +2748,12 @@ config BUSYBOX_DEFAULT_FEATURE_REFORMIME_COMPAT
 config BUSYBOX_DEFAULT_SENDMAIL
 	bool
 	default n
-config BUSYBOX_DEFAULT_FEATURE_MIME_CHARSET
-	string
-	default ""
+config BUSYBOX_DEFAULT_FEATURE_FAST_TOP
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_SHOW_THREADS
+	bool
+	default n
 config BUSYBOX_DEFAULT_FREE
 	bool
 	default y
@@ -2814,9 +2868,6 @@ config BUSYBOX_DEFAULT_FEATURE_UPTIME_UTMP_SUPPORT
 config BUSYBOX_DEFAULT_WATCH
 	bool
 	default n
-config BUSYBOX_DEFAULT_FEATURE_SHOW_THREADS
-	bool
-	default n
 config BUSYBOX_DEFAULT_CHPST
 	bool
 	default n
@@ -2985,10 +3036,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
diff --git a/package/utils/busybox/Makefile b/package/utils/busybox/Makefile
index 963b7dd0bd3c0b..2861e7d2e942e3 100644
--- a/package/utils/busybox/Makefile
+++ b/package/utils/busybox/Makefile
@@ -5,22 +5,19 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=busybox
-PKG_VERSION:=1.33.2
+PKG_VERSION:=1.35.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:=6843ba7977081e735fa0fdb05893e3c002c8c5ad7c9c80da206e603cc0ac47e7
+PKG_HASH:=faeeb244c35a348a334f4a59e44626ee870fb07b6884d68c10ae8bc19f83a694
 
 PKG_BUILD_DEPENDS:=BUSYBOX_CONFIG_PAM:libpam
 PKG_BUILD_PARALLEL:=1
 PKG_CHECK_FORMAT_SECURITY:=0
 
-#Busybox use it's own PIE config flag and LDFLAGS are used with ld, not gcc.
-PKG_ASLR_PIE:=0
-
 PKG_LICENSE:=GPL-2.0
 PKG_LICENSE_FILES:=LICENSE archival/libarchive/bz/LICENSE
 PKG_CPE_ID:=cpe:/a:busybox:busybox
diff --git a/package/utils/busybox/config/archival/Config.in b/package/utils/busybox/config/archival/Config.in
index ea167a46af97b9..ac2b3d20562e03 100644
--- a/package/utils/busybox/config/archival/Config.in
+++ b/package/utils/busybox/config/archival/Config.in
@@ -204,6 +204,20 @@ config BUSYBOX_CONFIG_FEATURE_CPIO_P
 	depends on BUSYBOX_CONFIG_FEATURE_CPIO_O
 	help
 	Passthrough mode. Rarely used.
+
+config BUSYBOX_CONFIG_FEATURE_CPIO_IGNORE_DEVNO
+	bool "Support --ignore-devno like GNU cpio"
+	default BUSYBOX_DEFAULT_FEATURE_CPIO_IGNORE_DEVNO
+	depends on BUSYBOX_CONFIG_FEATURE_CPIO_O && BUSYBOX_CONFIG_LONG_OPTS
+	help
+	Optionally ignore device numbers when creating archives.
+
+config BUSYBOX_CONFIG_FEATURE_CPIO_RENUMBER_INODES
+	bool "Support --renumber-inodes like GNU cpio"
+	default BUSYBOX_DEFAULT_FEATURE_CPIO_RENUMBER_INODES
+	depends on BUSYBOX_CONFIG_FEATURE_CPIO_O && BUSYBOX_CONFIG_LONG_OPTS
+	help
+	Optionally renumber inodes when creating archives.
 config BUSYBOX_CONFIG_DPKG
 	bool "dpkg (43 kb)"
 	default BUSYBOX_DEFAULT_DPKG
diff --git a/package/utils/busybox/config/coreutils/Config.in b/package/utils/busybox/config/coreutils/Config.in
index e256ca36f5e4fd..835ce7950a2b51 100644
--- a/package/utils/busybox/config/coreutils/Config.in
+++ b/package/utils/busybox/config/coreutils/Config.in
@@ -6,6 +6,47 @@
 
 menu "Coreutils"
 
+config BUSYBOX_CONFIG_FEATURE_VERBOSE
+	bool "Support verbose options (usually -v) for various applets"
+	default BUSYBOX_DEFAULT_FEATURE_VERBOSE
+	help
+	Enable cp -v, rm -v and similar messages.
+	Also enables long option (--verbose) if it exists.
+	Without this option, -v is accepted but ignored.
+
+comment "Common options for date and touch"
+
+config BUSYBOX_CONFIG_FEATURE_TIMEZONE
+	bool "Allow timezone in dates"
+	default BUSYBOX_DEFAULT_FEATURE_TIMEZONE
+	depends on BUSYBOX_CONFIG_DESKTOP
+	help
+	Permit the use of timezones when parsing user-provided data
+	strings, e.g. '1996-04-09 12:45:00 -0500'.
+
+	This requires support for the '%z' extension to strptime() which
+	may not be available in all implementations.
+
+comment "Common options for cp and mv"
+	depends on BUSYBOX_CONFIG_CP || BUSYBOX_CONFIG_MV
+
+config BUSYBOX_CONFIG_FEATURE_PRESERVE_HARDLINKS
+	bool "Preserve hard links"
+	default BUSYBOX_DEFAULT_FEATURE_PRESERVE_HARDLINKS
+	depends on BUSYBOX_CONFIG_CP || BUSYBOX_CONFIG_MV
+	help
+	Allow cp and mv to preserve hard links.
+
+comment "Common options for df, du, ls"
+	depends on BUSYBOX_CONFIG_DF || BUSYBOX_CONFIG_DU || BUSYBOX_CONFIG_LS
+
+config BUSYBOX_CONFIG_FEATURE_HUMAN_READABLE
+	bool "Support human readable output (example 13k, 23M, 235G)"
+	default BUSYBOX_DEFAULT_FEATURE_HUMAN_READABLE
+	depends on BUSYBOX_CONFIG_DF || BUSYBOX_CONFIG_DU || BUSYBOX_CONFIG_LS
+	help
+	Allow df, du, and ls to have human readable output.
+
 config BUSYBOX_CONFIG_BASENAME
 	bool "basename (438 bytes)"
 	default BUSYBOX_DEFAULT_BASENAME
@@ -63,8 +104,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 +138,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
@@ -191,6 +241,26 @@ config BUSYBOX_CONFIG_FEATURE_DF_FANCY
 	-a Show all filesystems
 	-i Inodes
 	-B <SIZE> Blocksize
+
+config BUSYBOX_CONFIG_FEATURE_SKIP_ROOTFS
+	bool "Skip rootfs in mount table"
+	default BUSYBOX_DEFAULT_FEATURE_SKIP_ROOTFS
+	depends on BUSYBOX_CONFIG_DF
+	help
+	Ignore rootfs entry in mount table.
+
+	In Linux, kernel has a special filesystem, rootfs, which is initially
+	mounted on /. It contains initramfs data, if kernel is configured
+	to have one. Usually, another file system is mounted over / early
+	in boot process, and therefore most tools which manipulate
+	mount table, such as df, will skip rootfs entry.
+
+	However, some systems do not mount anything on /.
+	If you need to configure busybox for one of these systems,
+	you may find it useful to turn this option off to make df show
+	initramfs statistics.
+
+	Otherwise, choose Y.
 config BUSYBOX_CONFIG_DIRNAME
 	bool "dirname (329 bytes)"
 	default BUSYBOX_DEFAULT_DIRNAME
@@ -739,16 +809,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
@@ -895,34 +957,4 @@ config BUSYBOX_CONFIG_YES
 	yes is used to repeatedly output a specific string, or
 	the default string 'y'.
 
-comment "Common options"
-
-config BUSYBOX_CONFIG_FEATURE_VERBOSE
-	bool "Support verbose options (usually -v) for various applets"
-	default BUSYBOX_DEFAULT_FEATURE_VERBOSE
-	help
-	Enable cp -v, rm -v and similar messages.
-	Also enables long option (--verbose) if it exists.
-	Without this option, -v is accepted but ignored.
-
-comment "Common options for cp and mv"
-	depends on BUSYBOX_CONFIG_CP || BUSYBOX_CONFIG_MV
-
-config BUSYBOX_CONFIG_FEATURE_PRESERVE_HARDLINKS
-	bool "Preserve hard links"
-	default BUSYBOX_DEFAULT_FEATURE_PRESERVE_HARDLINKS
-	depends on BUSYBOX_CONFIG_CP || BUSYBOX_CONFIG_MV
-	help
-	Allow cp and mv to preserve hard links.
-
-comment "Common options for df, du, ls"
-	depends on BUSYBOX_CONFIG_DF || BUSYBOX_CONFIG_DU || BUSYBOX_CONFIG_LS
-
-config BUSYBOX_CONFIG_FEATURE_HUMAN_READABLE
-	bool "Support human readable output (example 13k, 23M, 235G)"
-	default BUSYBOX_DEFAULT_FEATURE_HUMAN_READABLE
-	depends on BUSYBOX_CONFIG_DF || BUSYBOX_CONFIG_DU || BUSYBOX_CONFIG_LS
-	help
-	Allow df, du, and ls to have human readable output.
-
 endmenu
diff --git a/package/utils/busybox/config/editors/Config.in b/package/utils/busybox/config/editors/Config.in
index 16d08bc0f85205..dc80a4ec0df6f6 100644
--- a/package/utils/busybox/config/editors/Config.in
+++ b/package/utils/busybox/config/editors/Config.in
@@ -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
diff --git a/package/utils/busybox/config/findutils/Config.in b/package/utils/busybox/config/findutils/Config.in
index 89901ca59d003f..805d44f149e35c 100644
--- a/package/utils/busybox/config/findutils/Config.in
+++ b/package/utils/busybox/config/findutils/Config.in
@@ -23,21 +23,53 @@ config BUSYBOX_CONFIG_FEATURE_FIND_PRINT0
 	interpreted by other programs.
 
 config BUSYBOX_CONFIG_FEATURE_FIND_MTIME
-	bool "Enable -mtime: modified time matching"
+	bool "Enable -mtime: modification time matching"
 	default BUSYBOX_DEFAULT_FEATURE_FIND_MTIME
 	depends on BUSYBOX_CONFIG_FIND
 	help
 	Allow searching based on the modification time of
 	files, in days.
 
+config BUSYBOX_CONFIG_FEATURE_FIND_ATIME
+	bool "Enable -atime: access time matching"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_ATIME
+	depends on BUSYBOX_CONFIG_FEATURE_FIND_MTIME
+	help
+	Allow searching based on the access time of
+	files, in days.
+
+config BUSYBOX_CONFIG_FEATURE_FIND_CTIME
+	bool "Enable -ctime: status change timestamp matching"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_CTIME
+	depends on BUSYBOX_CONFIG_FEATURE_FIND_MTIME
+	help
+	Allow searching based on the status change timestamp of
+	files, in days.
+
 config BUSYBOX_CONFIG_FEATURE_FIND_MMIN
-	bool "Enable -mmin: modified time matching by minutes"
+	bool "Enable -mmin: modification time matching by minutes"
 	default BUSYBOX_DEFAULT_FEATURE_FIND_MMIN
 	depends on BUSYBOX_CONFIG_FIND
 	help
 	Allow searching based on the modification time of
 	files, in minutes.
 
+config BUSYBOX_CONFIG_FEATURE_FIND_AMIN
+	bool "Enable -amin: access time matching by minutes"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_AMIN
+	depends on BUSYBOX_CONFIG_FEATURE_FIND_MMIN
+	help
+	Allow searching based on the access time of
+	files, in minutes.
+
+config BUSYBOX_CONFIG_FEATURE_FIND_CMIN
+	bool "Enable -cmin: status change timestamp matching by minutes"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_CMIN
+	depends on BUSYBOX_CONFIG_FEATURE_FIND_MMIN
+	help
+	Allow searching based on the status change timestamp of
+	files, in minutes.
+
 config BUSYBOX_CONFIG_FEATURE_FIND_PERM
 	bool "Enable -perm: permissions matching"
 	default BUSYBOX_DEFAULT_FEATURE_FIND_PERM
@@ -79,6 +111,13 @@ config BUSYBOX_CONFIG_FEATURE_FIND_INUM
 	default BUSYBOX_DEFAULT_FEATURE_FIND_INUM
 	depends on BUSYBOX_CONFIG_FIND
 
+config BUSYBOX_CONFIG_FEATURE_FIND_SAMEFILE
+	bool "Enable -samefile: reference file matching"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_SAMEFILE
+	depends on BUSYBOX_CONFIG_FIND
+	help
+	Support the 'find -samefile' option for searching by a reference file.
+
 config BUSYBOX_CONFIG_FEATURE_FIND_EXEC
 	bool "Enable -exec: execute commands"
 	default BUSYBOX_DEFAULT_FEATURE_FIND_EXEC
diff --git a/package/utils/busybox/config/klibc-utils/Config.in b/package/utils/busybox/config/klibc-utils/Config.in
index 408c9f695d4069..06b9681bc92833 100644
--- a/package/utils/busybox/config/klibc-utils/Config.in
+++ b/package/utils/busybox/config/klibc-utils/Config.in
@@ -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
diff --git a/package/utils/busybox/config/libbb/Config.in b/package/utils/busybox/config/libbb/Config.in
index 906649c5c9aa4f..e050c4a9150a38 100644
--- a/package/utils/busybox/config/libbb/Config.in
+++ b/package/utils/busybox/config/libbb/Config.in
@@ -117,32 +117,73 @@ config BUSYBOX_CONFIG_SHA3_SMALL
 	64-bit x86: +270 bytes of code, 45% faster
 	32-bit x86: +450 bytes of code, 75% faster
 
-config BUSYBOX_CONFIG_FEATURE_FAST_TOP
-	bool "Faster /proc scanning code (+100 bytes)"
-	default BUSYBOX_DEFAULT_FEATURE_FAST_TOP  # all "fast or small" options default to small
+config BUSYBOX_CONFIG_FEATURE_NON_POSIX_CP
+	bool "Non-POSIX, but safer, copying to special nodes"
+	default BUSYBOX_DEFAULT_FEATURE_NON_POSIX_CP
 	help
-	This option makes top and ps ~20% faster (or 20% less CPU hungry),
-	but code size is slightly bigger.
+	With this option, "cp file symlink" will delete symlink
+	and create a regular file. This does not conform to POSIX,
+	but prevents a symlink attack.
+	Similarly, "cp file device" will not send file's data
+	to the device. (To do that, use "cat file >device")
 
-config BUSYBOX_CONFIG_FEATURE_ETC_NETWORKS
-	bool "Support /etc/networks"
-	default BUSYBOX_DEFAULT_FEATURE_ETC_NETWORKS
+config BUSYBOX_CONFIG_FEATURE_VERBOSE_CP_MESSAGE
+	bool "Give more precise messages when copy fails (cp, mv etc)"
+	default BUSYBOX_DEFAULT_FEATURE_VERBOSE_CP_MESSAGE
 	help
-	Enable support for network names in /etc/networks. This is
-	a rarely used feature which allows you to use names
-	instead of IP/mask pairs in route command.
+	Error messages with this feature enabled:
 
-config BUSYBOX_CONFIG_FEATURE_ETC_SERVICES
-	bool "Consult /etc/services even for well-known ports"
-	default BUSYBOX_DEFAULT_FEATURE_ETC_SERVICES
+	$ cp file /does_not_exist/file
+	cp: cannot create '/does_not_exist/file': Path does not exist
+	$ cp file /vmlinuz/file
+	cp: cannot stat '/vmlinuz/file': Path has non-directory component
+
+	If this feature is not enabled, they will be, respectively:
+
+	cp: cannot create '/does_not_exist/file': No such file or directory
+	cp: cannot stat '/vmlinuz/file': Not a directory
+
+	This will cost you ~60 bytes.
+
+config BUSYBOX_CONFIG_FEATURE_USE_SENDFILE
+	bool "Use sendfile system call"
+	default BUSYBOX_DEFAULT_FEATURE_USE_SENDFILE
 	help
-	Look up e.g. "telnet" and "http" in /etc/services file
-	instead of assuming ports 23 and 80.
-	This is almost never necessary (everybody uses standard ports),
-	and it makes sense to avoid reading this file.
-	If you disable this option, in the cases where port is explicitly
-	specified as a service name (e.g. "telnet HOST PORTNAME"),
-	it will still be looked up in /etc/services.
+	When enabled, busybox will use the kernel sendfile() function
+	instead of read/write loops to copy data between file descriptors
+	(for example, cp command does this a lot).
+	If sendfile() doesn't work, copying code falls back to read/write
+	loop. sendfile() was originally implemented for faster I/O
+	from files to sockets, but since Linux 2.6.33 it was extended
+	to work for many more file types.
+
+config BUSYBOX_CONFIG_FEATURE_COPYBUF_KB
+	int "Copy buffer size, in kilobytes"
+	range 1 1024
+	default BUSYBOX_DEFAULT_FEATURE_COPYBUF_KB
+	help
+	Size of buffer used by cp, mv, install, wget etc.
+	Buffers which are 4 kb or less will be allocated on stack.
+	Bigger buffers will be allocated with mmap, with fallback to 4 kb
+	stack buffer if mmap fails.
+
+config BUSYBOX_CONFIG_MONOTONIC_SYSCALL
+	bool "Use clock_gettime(CLOCK_MONOTONIC) syscall"
+	default BUSYBOX_DEFAULT_MONOTONIC_SYSCALL
+	help
+	Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring
+	time intervals (time, ping, traceroute etc need this).
+	Probably requires Linux 2.6+. If not selected, gettimeofday
+	will be used instead (which gives wrong results if date/time
+	is reset).
+
+config BUSYBOX_CONFIG_IOCTL_HEX2STR_ERROR
+	bool "Use ioctl names rather than hex values in error messages"
+	default BUSYBOX_DEFAULT_IOCTL_HEX2STR_ERROR
+	help
+	Use ioctl names rather than hex values in error messages
+	(e.g. VT_DISALLOCATE rather than 0x5608). If disabled this
+	saves about 1400 bytes.
 
 config BUSYBOX_CONFIG_FEATURE_EDITING
 	bool "Command line editing"
@@ -358,96 +399,3 @@ config BUSYBOX_CONFIG_UNICODE_PRESERVE_BROKEN
 	For example, this means that entering 'l', 's', ' ', 0xff, [Enter]
 	at shell prompt will list file named 0xff (single char name
 	with char value 255), not file named '?'.
-
-config BUSYBOX_CONFIG_FEATURE_NON_POSIX_CP
-	bool "Non-POSIX, but safer, copying to special nodes"
-	default BUSYBOX_DEFAULT_FEATURE_NON_POSIX_CP
-	help
-	With this option, "cp file symlink" will delete symlink
-	and create a regular file. This does not conform to POSIX,
-	but prevents a symlink attack.
-	Similarly, "cp file device" will not send file's data
-	to the device. (To do that, use "cat file >device")
-
-config BUSYBOX_CONFIG_FEATURE_VERBOSE_CP_MESSAGE
-	bool "Give more precise messages when copy fails (cp, mv etc)"
-	default BUSYBOX_DEFAULT_FEATURE_VERBOSE_CP_MESSAGE
-	help
-	Error messages with this feature enabled:
-
-	$ cp file /does_not_exist/file
-	cp: cannot create '/does_not_exist/file': Path does not exist
-	$ cp file /vmlinuz/file
-	cp: cannot stat '/vmlinuz/file': Path has non-directory component
-
-	If this feature is not enabled, they will be, respectively:
-
-	cp: cannot create '/does_not_exist/file': No such file or directory
-	cp: cannot stat '/vmlinuz/file': Not a directory
-
-	This will cost you ~60 bytes.
-
-config BUSYBOX_CONFIG_FEATURE_USE_SENDFILE
-	bool "Use sendfile system call"
-	default BUSYBOX_DEFAULT_FEATURE_USE_SENDFILE
-	help
-	When enabled, busybox will use the kernel sendfile() function
-	instead of read/write loops to copy data between file descriptors
-	(for example, cp command does this a lot).
-	If sendfile() doesn't work, copying code falls back to read/write
-	loop. sendfile() was originally implemented for faster I/O
-	from files to sockets, but since Linux 2.6.33 it was extended
-	to work for many more file types.
-
-config BUSYBOX_CONFIG_FEATURE_COPYBUF_KB
-	int "Copy buffer size, in kilobytes"
-	range 1 1024
-	default BUSYBOX_DEFAULT_FEATURE_COPYBUF_KB
-	help
-	Size of buffer used by cp, mv, install, wget etc.
-	Buffers which are 4 kb or less will be allocated on stack.
-	Bigger buffers will be allocated with mmap, with fallback to 4 kb
-	stack buffer if mmap fails.
-
-config BUSYBOX_CONFIG_FEATURE_SKIP_ROOTFS
-	bool "Skip rootfs in mount table"
-	default BUSYBOX_DEFAULT_FEATURE_SKIP_ROOTFS
-	help
-	Ignore rootfs entry in mount table.
-
-	In Linux, kernel has a special filesystem, rootfs, which is initially
-	mounted on /. It contains initramfs data, if kernel is configured
-	to have one. Usually, another file system is mounted over / early
-	in boot process, and therefore most tools which manipulate
-	mount table, such as df, will skip rootfs entry.
-
-	However, some systems do not mount anything on /.
-	If you need to configure busybox for one of these systems,
-	you may find it useful to turn this option off to make df show
-	initramfs statistics.
-
-	Otherwise, choose Y.
-
-config BUSYBOX_CONFIG_MONOTONIC_SYSCALL
-	bool "Use clock_gettime(CLOCK_MONOTONIC) syscall"
-	default BUSYBOX_DEFAULT_MONOTONIC_SYSCALL
-	help
-	Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring
-	time intervals (time, ping, traceroute etc need this).
-	Probably requires Linux 2.6+. If not selected, gettimeofday
-	will be used instead (which gives wrong results if date/time
-	is reset).
-
-config BUSYBOX_CONFIG_IOCTL_HEX2STR_ERROR
-	bool "Use ioctl names rather than hex values in error messages"
-	default BUSYBOX_DEFAULT_IOCTL_HEX2STR_ERROR
-	help
-	Use ioctl names rather than hex values in error messages
-	(e.g. VT_DISALLOCATE rather than 0x5608). If disabled this
-	saves about 1400 bytes.
-
-config BUSYBOX_CONFIG_FEATURE_HWIB
-	bool "Support infiniband HW"
-	default BUSYBOX_DEFAULT_FEATURE_HWIB
-	help
-	Support for printing infiniband addresses in network applets.
diff --git a/package/utils/busybox/config/mailutils/Config.in b/package/utils/busybox/config/mailutils/Config.in
index a8632471a86e97..ea7ae6d6495f71 100644
--- a/package/utils/busybox/config/mailutils/Config.in
+++ b/package/utils/busybox/config/mailutils/Config.in
@@ -1,6 +1,13 @@
 # DO NOT EDIT. This file is generated from Config.src
 menu "Mail Utilities"
 
+config BUSYBOX_CONFIG_FEATURE_MIME_CHARSET
+	string "Default charset"
+	default BUSYBOX_DEFAULT_FEATURE_MIME_CHARSET
+	depends on BUSYBOX_CONFIG_MAKEMIME || BUSYBOX_CONFIG_REFORMIME || BUSYBOX_CONFIG_SENDMAIL
+	help
+	Default charset of the message.
+
 config BUSYBOX_CONFIG_MAKEMIME
 	bool "makemime (5.4 kb)"
 	default BUSYBOX_DEFAULT_MAKEMIME
@@ -41,11 +48,4 @@ config BUSYBOX_CONFIG_SENDMAIL
 	help
 	Barebones sendmail.
 
-config BUSYBOX_CONFIG_FEATURE_MIME_CHARSET
-	string "Default charset"
-	default BUSYBOX_DEFAULT_FEATURE_MIME_CHARSET
-	depends on BUSYBOX_CONFIG_MAKEMIME || BUSYBOX_CONFIG_REFORMIME || BUSYBOX_CONFIG_SENDMAIL
-	help
-	Default charset of the message.
-
 endmenu
diff --git a/package/utils/busybox/config/miscutils/Config.in b/package/utils/busybox/config/miscutils/Config.in
index f3b29787d1d005..ecb83d9647aed8 100644
--- a/package/utils/busybox/config/miscutils/Config.in
+++ b/package/utils/busybox/config/miscutils/Config.in
@@ -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
diff --git a/package/utils/busybox/config/networking/Config.in b/package/utils/busybox/config/networking/Config.in
index 3e1c4c4c04b8c7..861e4f9bbfa966 100644
--- a/package/utils/busybox/config/networking/Config.in
+++ b/package/utils/busybox/config/networking/Config.in
@@ -47,6 +47,32 @@ config BUSYBOX_CONFIG_VERBOSE_RESOLUTION_ERRORS
 	"can't resolve 'hostname.com'" and want to know more.
 	This may increase size of your executable a bit.
 
+config BUSYBOX_CONFIG_FEATURE_ETC_NETWORKS
+	bool "Support /etc/networks"
+	default BUSYBOX_DEFAULT_FEATURE_ETC_NETWORKS
+	help
+	Enable support for network names in /etc/networks. This is
+	a rarely used feature which allows you to use names
+	instead of IP/mask pairs in route command.
+
+config BUSYBOX_CONFIG_FEATURE_ETC_SERVICES
+	bool "Consult /etc/services even for well-known ports"
+	default BUSYBOX_DEFAULT_FEATURE_ETC_SERVICES
+	help
+	Look up e.g. "telnet" and "http" in /etc/services file
+	instead of assuming ports 23 and 80.
+	This is almost never necessary (everybody uses standard ports),
+	and it makes sense to avoid reading this file.
+	If you disable this option, in the cases where port is explicitly
+	specified as a service name (e.g. "telnet HOST PORTNAME"),
+	it will still be looked up in /etc/services.
+
+config BUSYBOX_CONFIG_FEATURE_HWIB
+	bool "Support infiniband HW"
+	default BUSYBOX_DEFAULT_FEATURE_HWIB
+	help
+	Support for printing infiniband addresses in network applets.
+
 config BUSYBOX_CONFIG_FEATURE_TLS_SHA1
 	bool "In TLS code, support ciphers which use deprecated SHA1"
 	depends on BUSYBOX_CONFIG_TLS
@@ -173,6 +199,12 @@ config BUSYBOX_CONFIG_HTTPD
 	help
 	HTTP server.
 
+config BUSYBOX_CONFIG_FEATURE_HTTPD_PORT_DEFAULT
+	int "Default port"
+	default BUSYBOX_DEFAULT_FEATURE_HTTPD_PORT_DEFAULT
+	range 1 65535
+	depends on BUSYBOX_CONFIG_HTTPD
+
 config BUSYBOX_CONFIG_FEATURE_HTTPD_RANGES
 	bool "Support 'Ranges:' header"
 	default BUSYBOX_DEFAULT_FEATURE_HTTPD_RANGES
@@ -774,7 +806,6 @@ config BUSYBOX_CONFIG_FEATURE_NSLOOKUP_LONG_OPTIONS
 	bool "Enable long options"
 	default BUSYBOX_DEFAULT_FEATURE_NSLOOKUP_LONG_OPTIONS
 	depends on BUSYBOX_CONFIG_FEATURE_NSLOOKUP_BIG && BUSYBOX_CONFIG_LONG_OPTS
-
 config BUSYBOX_CONFIG_NTPD
 	bool "ntpd (22 kb)"
 	default BUSYBOX_DEFAULT_NTPD
@@ -945,6 +976,12 @@ config BUSYBOX_CONFIG_FEATURE_TELNETD_STANDALONE
 	help
 	Selecting this will make telnetd able to run standalone.
 
+config BUSYBOX_CONFIG_FEATURE_TELNETD_PORT_DEFAULT
+	int "Default port"
+	default BUSYBOX_DEFAULT_FEATURE_TELNETD_PORT_DEFAULT
+	range 1 65535
+	depends on BUSYBOX_CONFIG_FEATURE_TELNETD_STANDALONE
+
 config BUSYBOX_CONFIG_FEATURE_TELNETD_INETD_WAIT
 	bool "Support -w SEC option (inetd wait mode)"
 	default BUSYBOX_DEFAULT_FEATURE_TELNETD_INETD_WAIT
@@ -1092,6 +1129,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 +1164,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.
diff --git a/package/utils/busybox/config/networking/udhcp/Config.in b/package/utils/busybox/config/networking/udhcp/Config.in
index 9bede614991ed2..ecfa283e23ae34 100644
--- a/package/utils/busybox/config/networking/udhcp/Config.in
+++ b/package/utils/busybox/config/networking/udhcp/Config.in
@@ -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
diff --git a/package/utils/busybox/config/procps/Config.in b/package/utils/busybox/config/procps/Config.in
index e6c3271254079b..0501daf8fd2de1 100644
--- a/package/utils/busybox/config/procps/Config.in
+++ b/package/utils/busybox/config/procps/Config.in
@@ -6,6 +6,21 @@
 
 menu "Process Utilities"
 
+config BUSYBOX_CONFIG_FEATURE_FAST_TOP
+	bool "Faster /proc scanning code (+100 bytes)"
+	default BUSYBOX_DEFAULT_FEATURE_FAST_TOP  # all "fast or small" options default to small
+	help
+	This option makes top and ps ~20% faster (or 20% less CPU hungry),
+	but code size is slightly bigger.
+
+config BUSYBOX_CONFIG_FEATURE_SHOW_THREADS
+	bool "Support thread display in ps/pstree/top"
+	default BUSYBOX_DEFAULT_FEATURE_SHOW_THREADS
+	depends on BUSYBOX_CONFIG_PS || BUSYBOX_CONFIG_TOP || BUSYBOX_CONFIG_PSTREE
+	help
+	Enables the ps -T option, showing of threads in pstree,
+	and 'h' command in top.
+
 config BUSYBOX_CONFIG_FREE
 	bool "free (3.1 kb)"
 	default BUSYBOX_DEFAULT_FREE
@@ -259,12 +274,4 @@ config BUSYBOX_CONFIG_WATCH
 	watch is used to execute a program periodically, showing
 	output to the screen.
 
-config BUSYBOX_CONFIG_FEATURE_SHOW_THREADS
-	bool "Support thread display in ps/pstree/top"
-	default BUSYBOX_DEFAULT_FEATURE_SHOW_THREADS
-	depends on BUSYBOX_CONFIG_PS || BUSYBOX_CONFIG_TOP || BUSYBOX_CONFIG_PSTREE
-	help
-	Enables the ps -T option, showing of threads in pstree,
-	and 'h' command in top.
-
 endmenu
diff --git a/package/utils/busybox/config/shell/Config.in b/package/utils/busybox/config/shell/Config.in
index cb43bcd84c89c0..2b07812109c443 100644
--- a/package/utils/busybox/config/shell/Config.in
+++ b/package/utils/busybox/config/shell/Config.in
@@ -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
diff --git a/package/utils/busybox/files/cron b/package/utils/busybox/files/cron
index 4efdfa52cad32b..28985ff18e2cd2 100755
--- a/package/utils/busybox/files/cron
+++ b/package/utils/busybox/files/cron
@@ -4,7 +4,7 @@
 START=50
 
 USE_PROCD=1
-PROG=/usr/sbin/crond
+PROG=crond
 
 validate_cron_section() {
 	uci_validate_section system system "${1}" \
diff --git a/package/utils/busybox/files/sysntpd b/package/utils/busybox/files/sysntpd
index 074f14b8f8a9f0..03f3e506db0922 100755
--- a/package/utils/busybox/files/sysntpd
+++ b/package/utils/busybox/files/sysntpd
@@ -4,7 +4,7 @@
 START=98
 
 USE_PROCD=1
-PROG=/usr/sbin/ntpd
+PROG=ntpd
 HOTPLUG_SCRIPT=/usr/sbin/ntpd-hotplug
 
 get_dhcp_ntp_servers() {
diff --git a/package/utils/busybox/patches/200-udhcpc_reduce_msgs.patch b/package/utils/busybox/patches/200-udhcpc_reduce_msgs.patch
index 2e67009224f7e3..c0f234ee421ecb 100644
--- a/package/utils/busybox/patches/200-udhcpc_reduce_msgs.patch
+++ b/package/utils/busybox/patches/200-udhcpc_reduce_msgs.patch
@@ -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);
  }
diff --git a/package/utils/busybox/patches/201-udhcpc_changed_ifindex.patch b/package/utils/busybox/patches/201-udhcpc_changed_ifindex.patch
index 875f2ce5fc401a..a4bda992c42b22 100644
--- a/package/utils/busybox/patches/201-udhcpc_changed_ifindex.patch
+++ b/package/utils/busybox/patches/201-udhcpc_changed_ifindex.patch
@@ -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
diff --git a/package/utils/busybox/patches/203-udhcpc_renew_no_deconfig.patch b/package/utils/busybox/patches/203-udhcpc_renew_no_deconfig.patch
deleted file mode 100644
index 88a98c0a1c81bf..00000000000000
--- a/package/utils/busybox/patches/203-udhcpc_renew_no_deconfig.patch
+++ /dev/null
@@ -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);
diff --git a/package/utils/busybox/patches/205-udhcpc_allow_zero_length_options.patch b/package/utils/busybox/patches/205-udhcpc_allow_zero_length_options.patch
deleted file mode 100644
index abe8baf54f3916..00000000000000
--- a/package/utils/busybox/patches/205-udhcpc_allow_zero_length_options.patch
+++ /dev/null
@@ -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
-
diff --git a/package/utils/busybox/patches/301-ip-link-fix-netlink-msg-size.patch b/package/utils/busybox/patches/301-ip-link-fix-netlink-msg-size.patch
index f7cd2322c909a7..f4c0a8092257e9 100644
--- a/package/utils/busybox/patches/301-ip-link-fix-netlink-msg-size.patch
+++ b/package/utils/busybox/patches/301-ip-link-fix-netlink-msg-size.patch
@@ -1,6 +1,6 @@
 --- a/networking/libiproute/iplink.c
 +++ b/networking/libiproute/iplink.c
-@@ -652,7 +652,7 @@ static int do_add_or_delete(char **argv,
+@@ -683,7 +683,7 @@ static int do_add_or_delete(char **argv,
  	}
  	xrtnl_open(&rth);
  	ll_init_map(&rth);
diff --git a/package/utils/busybox/patches/530-use-SOURCE_DATE_EPOCH-for-timestamp-if-available.patch b/package/utils/busybox/patches/530-use-SOURCE_DATE_EPOCH-for-timestamp-if-available.patch
deleted file mode 100644
index af473622ed216d..00000000000000
--- a/package/utils/busybox/patches/530-use-SOURCE_DATE_EPOCH-for-timestamp-if-available.patch
+++ /dev/null
@@ -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
-
diff --git a/package/utils/busybox/patches/540-nslookup-mention-QUERY_TYPE-SRV.patch b/package/utils/busybox/patches/540-nslookup-mention-QUERY_TYPE-SRV.patch
deleted file mode 100644
index ac9afa34ef7a5e..00000000000000
--- a/package/utils/busybox/patches/540-nslookup-mention-QUERY_TYPE-SRV.patch
+++ /dev/null
@@ -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
-