busybox: update to 1.28.2

Update busybox to 1.28.2, refresh patches and default config.

* modify 230-add_nslookup_lede.patch as opt_complementary was removed
    Also move nslookup_longopts variable declaration to be inside
    the same conditional as the function itself.
* modify 250-date-k-flag.patch to match upstream (opt_complementary)
* remove 600-cve-2017-16544.patch that is upstreamed

Notes about config changes:
* Some applet-specific LONG_OPTIONS config options were removed
* Config help text indentation changed, caused lots of
  text formatting changes for convert_menuconfig.pl
* convert_defaults.pl moved lots of defaults around, summary of
  actual changes below

New applets/features:
---------------------
ARCH
HEXEDIT
MINIPS
NETCAT
NUKE
RESUME
RUN_INIT
SETFATTR

New options:
------------
FEATURE_CATN
FEATURE_CROND_SPECIAL_TIMES
FEATURE_LIBBUSYBOX_STATIC
FEATURE_SETPRIV_CAPABILITIES
FEATURE_SETPRIV_CAPABILITY_NAMES
FEATURE_SETPRIV_DUMP
FEATURE_SH_READ_FRAC
FEATURE_SWAPONOFF_LABEL
FEATURE_VOLUMEID_MINIX
FEATURE_XARGS_SUPPORT_ARGS_FILE
FEATURE_XARGS_SUPPORT_PARALLEL
HUSH_GETOPTS
HUSH_READONLY
HUSH_TIMES

Removed:
--------
FEATURE_HAVE_RPC
MSH

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
This commit is contained in:
Hannu Nyman 2018-03-27 20:06:38 +03:00 committed by Hauke Mehrtens
parent a74fd570a2
commit d674422a81
10 changed files with 570 additions and 586 deletions

View file

@ -13,10 +13,7 @@ config BUSYBOX_DEFAULT_FEDORA_COMPAT
config BUSYBOX_DEFAULT_INCLUDE_SUSv2
bool
default y
config BUSYBOX_DEFAULT_USE_PORTABLE_CODE
bool
default n
config BUSYBOX_DEFAULT_PLATFORM_LINUX
config BUSYBOX_DEFAULT_LONG_OPTS
bool
default y
config BUSYBOX_DEFAULT_SHOW_USAGE
@ -28,27 +25,15 @@ config BUSYBOX_DEFAULT_FEATURE_VERBOSE_USAGE
config BUSYBOX_DEFAULT_FEATURE_COMPRESS_USAGE
bool
default y
config BUSYBOX_DEFAULT_BUSYBOX
config BUSYBOX_DEFAULT_LFS
bool
default n
config BUSYBOX_DEFAULT_FEATURE_INSTALLER
bool
default n
config BUSYBOX_DEFAULT_INSTALL_NO_USR
bool
default n
default y
config BUSYBOX_DEFAULT_PAM
bool
default n
config BUSYBOX_DEFAULT_LONG_OPTS
bool
default y
config BUSYBOX_DEFAULT_FEATURE_DEVPTS
bool
default y
config BUSYBOX_DEFAULT_FEATURE_CLEAN_UP
bool
default n
config BUSYBOX_DEFAULT_FEATURE_UTMP
bool
default n
@ -61,6 +46,15 @@ config BUSYBOX_DEFAULT_FEATURE_PIDFILE
config BUSYBOX_DEFAULT_PID_FILE_PATH
string
default "/var/run"
config BUSYBOX_DEFAULT_BUSYBOX
bool
default n
config BUSYBOX_DEFAULT_FEATURE_INSTALLER
bool
default n
config BUSYBOX_DEFAULT_INSTALL_NO_USR
bool
default n
config BUSYBOX_DEFAULT_FEATURE_SUID
bool
default y
@ -70,21 +64,24 @@ config BUSYBOX_DEFAULT_FEATURE_SUID_CONFIG
config BUSYBOX_DEFAULT_FEATURE_SUID_CONFIG_QUIET
bool
default n
config BUSYBOX_DEFAULT_SELINUX
bool
default n
config BUSYBOX_DEFAULT_FEATURE_PREFER_APPLETS
bool
default y
config BUSYBOX_DEFAULT_BUSYBOX_EXEC_PATH
string
default "/proc/self/exe"
config BUSYBOX_DEFAULT_SELINUX
bool
default n
config BUSYBOX_DEFAULT_FEATURE_CLEAN_UP
bool
default n
config BUSYBOX_DEFAULT_FEATURE_SYSLOG
bool
default y
config BUSYBOX_DEFAULT_FEATURE_HAVE_RPC
config BUSYBOX_DEFAULT_PLATFORM_LINUX
bool
default n
default y
config BUSYBOX_DEFAULT_STATIC
bool
default n
@ -97,15 +94,15 @@ config BUSYBOX_DEFAULT_NOMMU
config BUSYBOX_DEFAULT_BUILD_LIBBUSYBOX
bool
default n
config BUSYBOX_DEFAULT_FEATURE_LIBBUSYBOX_STATIC
bool
default n
config BUSYBOX_DEFAULT_FEATURE_INDIVIDUAL
bool
default n
config BUSYBOX_DEFAULT_FEATURE_SHARED_BUSYBOX
bool
default n
config BUSYBOX_DEFAULT_LFS
bool
default y
config BUSYBOX_DEFAULT_CROSS_COMPILER_PREFIX
string
default ""
@ -121,6 +118,9 @@ config BUSYBOX_DEFAULT_EXTRA_LDFLAGS
config BUSYBOX_DEFAULT_EXTRA_LDLIBS
string
default ""
config BUSYBOX_DEFAULT_USE_PORTABLE_CODE
bool
default n
config BUSYBOX_DEFAULT_INSTALL_APPLET_SYMLINKS
bool
default y
@ -340,9 +340,6 @@ config BUSYBOX_DEFAULT_LZCAT
config BUSYBOX_DEFAULT_LZMA
bool
default n
config BUSYBOX_DEFAULT_FEATURE_LZMA_FAST
bool
default n
config BUSYBOX_DEFAULT_UNXZ
bool
default n
@ -409,6 +406,9 @@ config BUSYBOX_DEFAULT_RPM2CPIO
config BUSYBOX_DEFAULT_TAR
bool
default y
config BUSYBOX_DEFAULT_FEATURE_TAR_LONG_OPTIONS
bool
default n
config BUSYBOX_DEFAULT_FEATURE_TAR_CREATE
bool
default y
@ -427,9 +427,6 @@ config BUSYBOX_DEFAULT_FEATURE_TAR_OLDSUN_COMPATIBILITY
config BUSYBOX_DEFAULT_FEATURE_TAR_GNU_EXTENSIONS
bool
default y
config BUSYBOX_DEFAULT_FEATURE_TAR_LONG_OPTIONS
bool
default n
config BUSYBOX_DEFAULT_FEATURE_TAR_TO_COMMAND
bool
default n
@ -457,12 +454,18 @@ config BUSYBOX_DEFAULT_FEATURE_UNZIP_LZMA
config BUSYBOX_DEFAULT_FEATURE_UNZIP_XZ
bool
default n
config BUSYBOX_DEFAULT_FEATURE_LZMA_FAST
bool
default n
config BUSYBOX_DEFAULT_BASENAME
bool
default y
config BUSYBOX_DEFAULT_CAT
bool
default y
config BUSYBOX_DEFAULT_FEATURE_CATN
bool
default n
config BUSYBOX_DEFAULT_FEATURE_CATV
bool
default n
@ -553,21 +556,12 @@ config BUSYBOX_DEFAULT_FEATURE_FANCY_ECHO
config BUSYBOX_DEFAULT_ENV
bool
default y
config BUSYBOX_DEFAULT_FEATURE_ENV_LONG_OPTIONS
bool
default n
config BUSYBOX_DEFAULT_EXPAND
bool
default n
config BUSYBOX_DEFAULT_FEATURE_EXPAND_LONG_OPTIONS
bool
default n
config BUSYBOX_DEFAULT_UNEXPAND
bool
default n
config BUSYBOX_DEFAULT_FEATURE_UNEXPAND_LONG_OPTIONS
bool
default n
config BUSYBOX_DEFAULT_EXPR
bool
default y
@ -667,21 +661,18 @@ config BUSYBOX_DEFAULT_FEATURE_MD5_SHA1_SUM_CHECK
config BUSYBOX_DEFAULT_MKDIR
bool
default y
config BUSYBOX_DEFAULT_FEATURE_MKDIR_LONG_OPTIONS
bool
default n
config BUSYBOX_DEFAULT_MKFIFO
bool
default y
config BUSYBOX_DEFAULT_MKNOD
bool
default y
config BUSYBOX_DEFAULT_MKTEMP
bool
default y
config BUSYBOX_DEFAULT_MV
bool
default y
config BUSYBOX_DEFAULT_FEATURE_MV_LONG_OPTIONS
bool
default n
config BUSYBOX_DEFAULT_NICE
bool
default y
@ -724,9 +715,6 @@ config BUSYBOX_DEFAULT_RM
config BUSYBOX_DEFAULT_RMDIR
bool
default y
config BUSYBOX_DEFAULT_FEATURE_RMDIR_LONG_OPTIONS
bool
default n
config BUSYBOX_DEFAULT_SEQ
bool
default y
@ -805,6 +793,9 @@ config BUSYBOX_DEFAULT_TEST2
config BUSYBOX_DEFAULT_FEATURE_TEST_64
bool
default y
config BUSYBOX_DEFAULT_TIMEOUT
bool
default n
config BUSYBOX_DEFAULT_TOUCH
bool
default y
@ -838,6 +829,9 @@ config BUSYBOX_DEFAULT_UNAME
config BUSYBOX_DEFAULT_UNAME_OSNAME
string
default "GNU/Linux"
config BUSYBOX_DEFAULT_BB_ARCH
bool
default n
config BUSYBOX_DEFAULT_UNIQ
bool
default y
@ -952,9 +946,6 @@ config BUSYBOX_DEFAULT_SETLOGCONS
config BUSYBOX_DEFAULT_SHOWKEY
bool
default n
config BUSYBOX_DEFAULT_MKTEMP
bool
default y
config BUSYBOX_DEFAULT_PIPE_PROGRESS
bool
default n
@ -970,15 +961,27 @@ config BUSYBOX_DEFAULT_FEATURE_RUN_PARTS_FANCY
config BUSYBOX_DEFAULT_START_STOP_DAEMON
bool
default y
config BUSYBOX_DEFAULT_FEATURE_START_STOP_DAEMON_FANCY
config BUSYBOX_DEFAULT_FEATURE_START_STOP_DAEMON_LONG_OPTIONS
bool
default n
config BUSYBOX_DEFAULT_FEATURE_START_STOP_DAEMON_LONG_OPTIONS
config BUSYBOX_DEFAULT_FEATURE_START_STOP_DAEMON_FANCY
bool
default n
config BUSYBOX_DEFAULT_WHICH
bool
default y
config BUSYBOX_DEFAULT_MINIPS
bool
default n
config BUSYBOX_DEFAULT_NUKE
bool
default n
config BUSYBOX_DEFAULT_RESUME
bool
default n
config BUSYBOX_DEFAULT_RUN_INIT
bool
default n
config BUSYBOX_DEFAULT_AWK
bool
default y
@ -1165,6 +1168,12 @@ config BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_ZERO_TERM
config BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_REPL_STR
bool
default n
config BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_PARALLEL
bool
default n
config BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_ARGS_FILE
bool
default n
config BUSYBOX_DEFAULT_BOOTCHARTD
bool
default n
@ -1222,12 +1231,6 @@ config BUSYBOX_DEFAULT_INIT_TERMINAL_TYPE
config BUSYBOX_DEFAULT_FEATURE_INIT_MODIFY_CMDLINE
bool
default n
config BUSYBOX_DEFAULT_MESG
bool
default n
config BUSYBOX_DEFAULT_FEATURE_MESG_ENABLE_ONLY_GROUP
bool
default n
config BUSYBOX_DEFAULT_FEATURE_SHADOWPASSWDS
bool
default y
@ -1252,18 +1255,12 @@ config BUSYBOX_DEFAULT_REMOVE_SHELL
config BUSYBOX_DEFAULT_ADDGROUP
bool
default n
config BUSYBOX_DEFAULT_FEATURE_ADDGROUP_LONG_OPTIONS
bool
default n
config BUSYBOX_DEFAULT_FEATURE_ADDUSER_TO_GROUP
bool
default n
config BUSYBOX_DEFAULT_ADDUSER
bool
default n
config BUSYBOX_DEFAULT_FEATURE_ADDUSER_LONG_OPTIONS
bool
default n
config BUSYBOX_DEFAULT_FEATURE_CHECK_NAMES
bool
default n
@ -1441,12 +1438,21 @@ config BUSYBOX_DEFAULT_BLOCKDEV
config BUSYBOX_DEFAULT_CAL
bool
default n
config BUSYBOX_DEFAULT_CHRT
bool
default n
config BUSYBOX_DEFAULT_DMESG
bool
default y
config BUSYBOX_DEFAULT_FEATURE_DMESG_PRETTY
bool
default y
config BUSYBOX_DEFAULT_EJECT
bool
default n
config BUSYBOX_DEFAULT_FEATURE_EJECT_SCSI
bool
default n
config BUSYBOX_DEFAULT_FALLOCATE
bool
default n
@ -1534,10 +1540,10 @@ config BUSYBOX_DEFAULT_XXD
config BUSYBOX_DEFAULT_HWCLOCK
bool
default y
config BUSYBOX_DEFAULT_FEATURE_HWCLOCK_LONG_OPTIONS
config BUSYBOX_DEFAULT_FEATURE_HWCLOCK_ADJTIME_FHS
bool
default n
config BUSYBOX_DEFAULT_FEATURE_HWCLOCK_ADJTIME_FHS
config BUSYBOX_DEFAULT_IONICE
bool
default n
config BUSYBOX_DEFAULT_IPCRM
@ -1546,6 +1552,12 @@ config BUSYBOX_DEFAULT_IPCRM
config BUSYBOX_DEFAULT_IPCS
bool
default n
config BUSYBOX_DEFAULT_LAST
bool
default n
config BUSYBOX_DEFAULT_FEATURE_LAST_FANCY
bool
default n
config BUSYBOX_DEFAULT_LOSETUP
bool
default n
@ -1573,6 +1585,12 @@ config BUSYBOX_DEFAULT_FEATURE_MDEV_EXEC
config BUSYBOX_DEFAULT_FEATURE_MDEV_LOAD_FIRMWARE
bool
default n
config BUSYBOX_DEFAULT_MESG
bool
default n
config BUSYBOX_DEFAULT_FEATURE_MESG_ENABLE_ONLY_GROUP
bool
default n
config BUSYBOX_DEFAULT_MKE2FS
bool
default n
@ -1633,10 +1651,10 @@ config BUSYBOX_DEFAULT_FEATURE_MOUNT_FSTAB
config BUSYBOX_DEFAULT_FEATURE_MOUNT_OTHERTAB
bool
default n
config BUSYBOX_DEFAULT_NSENTER
config BUSYBOX_DEFAULT_MOUNTPOINT
bool
default n
config BUSYBOX_DEFAULT_FEATURE_NSENTER_LONG_OPTS
config BUSYBOX_DEFAULT_NSENTER
bool
default n
config BUSYBOX_DEFAULT_PIVOT_ROOT
@ -1651,6 +1669,9 @@ config BUSYBOX_DEFAULT_RDEV
config BUSYBOX_DEFAULT_READPROFILE
bool
default n
config BUSYBOX_DEFAULT_RENICE
bool
default n
config BUSYBOX_DEFAULT_REV
bool
default n
@ -1675,6 +1696,18 @@ config BUSYBOX_DEFAULT_LINUX64
config BUSYBOX_DEFAULT_SETPRIV
bool
default n
config BUSYBOX_DEFAULT_FEATURE_SETPRIV_DUMP
bool
default n
config BUSYBOX_DEFAULT_FEATURE_SETPRIV_CAPABILITIES
bool
default n
config BUSYBOX_DEFAULT_FEATURE_SETPRIV_CAPABILITY_NAMES
bool
default n
config BUSYBOX_DEFAULT_SETSID
bool
default n
config BUSYBOX_DEFAULT_SWAPON
bool
default n
@ -1687,9 +1720,18 @@ config BUSYBOX_DEFAULT_FEATURE_SWAPON_PRI
config BUSYBOX_DEFAULT_SWAPOFF
bool
default n
config BUSYBOX_DEFAULT_FEATURE_SWAPONOFF_LABEL
bool
default n
config BUSYBOX_DEFAULT_SWITCH_ROOT
bool
default y
config BUSYBOX_DEFAULT_TASKSET
bool
default n
config BUSYBOX_DEFAULT_FEATURE_TASKSET_FANCY
bool
default n
config BUSYBOX_DEFAULT_UEVENT
bool
default n
@ -1702,6 +1744,9 @@ config BUSYBOX_DEFAULT_FEATURE_UMOUNT_ALL
config BUSYBOX_DEFAULT_UNSHARE
bool
default n
config BUSYBOX_DEFAULT_WALL
bool
default n
config BUSYBOX_DEFAULT_FEATURE_MOUNT_LOOP
bool
default y
@ -1753,6 +1798,9 @@ config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_LINUXSWAP
config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_LUKS
bool
default n
config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_MINIX
bool
default n
config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_NILFS
bool
default n
@ -1825,9 +1873,6 @@ config BUSYBOX_DEFAULT_FEATURE_CHAT_VAR_ABORT_LEN
config BUSYBOX_DEFAULT_FEATURE_CHAT_CLR_ABORT
bool
default n
config BUSYBOX_DEFAULT_CHRT
bool
default n
config BUSYBOX_DEFAULT_CONSPY
bool
default n
@ -1840,6 +1885,9 @@ config BUSYBOX_DEFAULT_FEATURE_CROND_D
config BUSYBOX_DEFAULT_FEATURE_CROND_CALL_SENDMAIL
bool
default n
config BUSYBOX_DEFAULT_FEATURE_CROND_SPECIAL_TIMES
bool
default n
config BUSYBOX_DEFAULT_FEATURE_CROND_DIR
string
default "/etc"
@ -1870,12 +1918,6 @@ config BUSYBOX_DEFAULT_FEATURE_DEVFS
config BUSYBOX_DEFAULT_DEVMEM
bool
default n
config BUSYBOX_DEFAULT_EJECT
bool
default n
config BUSYBOX_DEFAULT_FEATURE_EJECT_SCSI
bool
default n
config BUSYBOX_DEFAULT_FBSPLASH
bool
default n
@ -1912,6 +1954,9 @@ config BUSYBOX_DEFAULT_FEATURE_HDPARM_HDIO_TRISTATE_HWIF
config BUSYBOX_DEFAULT_FEATURE_HDPARM_HDIO_GETSET_DMA
bool
default n
config BUSYBOX_DEFAULT_HEXEDIT
bool
default n
config BUSYBOX_DEFAULT_I2CGET
bool
default n
@ -1927,15 +1972,6 @@ config BUSYBOX_DEFAULT_I2CDETECT
config BUSYBOX_DEFAULT_INOTIFYD
bool
default n
config BUSYBOX_DEFAULT_IONICE
bool
default n
config BUSYBOX_DEFAULT_LAST
bool
default n
config BUSYBOX_DEFAULT_FEATURE_LAST_FANCY
bool
default n
config BUSYBOX_DEFAULT_LESS
bool
default y
@ -1990,9 +2026,6 @@ config BUSYBOX_DEFAULT_MAN
config BUSYBOX_DEFAULT_MICROCOM
bool
default n
config BUSYBOX_DEFAULT_MOUNTPOINT
bool
default n
config BUSYBOX_DEFAULT_MT
bool
default n
@ -2020,27 +2053,18 @@ config BUSYBOX_DEFAULT_RUNLEVEL
config BUSYBOX_DEFAULT_RX
bool
default n
config BUSYBOX_DEFAULT_SETSERIAL
config BUSYBOX_DEFAULT_SETFATTR
bool
default n
config BUSYBOX_DEFAULT_SETSID
config BUSYBOX_DEFAULT_SETSERIAL
bool
default n
config BUSYBOX_DEFAULT_STRINGS
bool
default y
config BUSYBOX_DEFAULT_TASKSET
bool
default n
config BUSYBOX_DEFAULT_FEATURE_TASKSET_FANCY
bool
default n
config BUSYBOX_DEFAULT_TIME
bool
default y
config BUSYBOX_DEFAULT_TIMEOUT
bool
default n
config BUSYBOX_DEFAULT_TTYSIZE
bool
default n
@ -2068,9 +2092,6 @@ config BUSYBOX_DEFAULT_UBIRENAME
config BUSYBOX_DEFAULT_VOLNAME
bool
default n
config BUSYBOX_DEFAULT_WALL
bool
default n
config BUSYBOX_DEFAULT_WATCHDOG
bool
default n
@ -2287,10 +2308,10 @@ config BUSYBOX_DEFAULT_FEATURE_IP_RARE_PROTOCOLS
config BUSYBOX_DEFAULT_IPCALC
bool
default n
config BUSYBOX_DEFAULT_FEATURE_IPCALC_FANCY
config BUSYBOX_DEFAULT_FEATURE_IPCALC_LONG_OPTIONS
bool
default n
config BUSYBOX_DEFAULT_FEATURE_IPCALC_LONG_OPTIONS
config BUSYBOX_DEFAULT_FEATURE_IPCALC_FANCY
bool
default n
config BUSYBOX_DEFAULT_FAKEIDENTD
@ -2308,6 +2329,9 @@ config BUSYBOX_DEFAULT_NBDCLIENT
config BUSYBOX_DEFAULT_NC
bool
default y
config BUSYBOX_DEFAULT_NETCAT
bool
default n
config BUSYBOX_DEFAULT_NC_SERVER
bool
default n
@ -2398,6 +2422,9 @@ config BUSYBOX_DEFAULT_FEATURE_TELNETD_INETD_WAIT
config BUSYBOX_DEFAULT_TFTP
bool
default n
config BUSYBOX_DEFAULT_FEATURE_TFTP_PROGRESS_BAR
bool
default n
config BUSYBOX_DEFAULT_TFTPD
bool
default n
@ -2410,9 +2437,6 @@ config BUSYBOX_DEFAULT_FEATURE_TFTP_PUT
config BUSYBOX_DEFAULT_FEATURE_TFTP_BLOCKSIZE
bool
default n
config BUSYBOX_DEFAULT_FEATURE_TFTP_PROGRESS_BAR
bool
default n
config BUSYBOX_DEFAULT_TFTP_DEBUG
bool
default n
@ -2443,15 +2467,15 @@ config BUSYBOX_DEFAULT_VCONFIG
config BUSYBOX_DEFAULT_WGET
bool
default n
config BUSYBOX_DEFAULT_FEATURE_WGET_LONG_OPTIONS
bool
default n
config BUSYBOX_DEFAULT_FEATURE_WGET_STATUSBAR
bool
default n
config BUSYBOX_DEFAULT_FEATURE_WGET_AUTHENTICATION
bool
default n
config BUSYBOX_DEFAULT_FEATURE_WGET_LONG_OPTIONS
bool
default n
config BUSYBOX_DEFAULT_FEATURE_WGET_TIMEOUT
bool
default n
@ -2467,25 +2491,13 @@ config BUSYBOX_DEFAULT_WHOIS
config BUSYBOX_DEFAULT_ZCIP
bool
default n
config BUSYBOX_DEFAULT_UDHCPC6
bool
default n
config BUSYBOX_DEFAULT_FEATURE_UDHCPC6_RFC3646
bool
default n
config BUSYBOX_DEFAULT_FEATURE_UDHCPC6_RFC4704
bool
default n
config BUSYBOX_DEFAULT_FEATURE_UDHCPC6_RFC4833
bool
default n
config BUSYBOX_DEFAULT_UDHCPD
bool
default n
config BUSYBOX_DEFAULT_FEATURE_UDHCPD_WRITE_LEASES_EARLY
config BUSYBOX_DEFAULT_FEATURE_UDHCPD_BASE_IP_ON_MAC
bool
default n
config BUSYBOX_DEFAULT_FEATURE_UDHCPD_BASE_IP_ON_MAC
config BUSYBOX_DEFAULT_FEATURE_UDHCPD_WRITE_LEASES_EARLY
bool
default n
config BUSYBOX_DEFAULT_DHCPD_LEASES_FILE
@ -2506,24 +2518,36 @@ config BUSYBOX_DEFAULT_FEATURE_UDHCPC_ARPING
config BUSYBOX_DEFAULT_FEATURE_UDHCPC_SANITIZEOPT
bool
default n
config BUSYBOX_DEFAULT_UDHCPC_DEFAULT_SCRIPT
string
default "/usr/share/udhcpc/default.script"
config BUSYBOX_DEFAULT_UDHCPC6
bool
default n
config BUSYBOX_DEFAULT_FEATURE_UDHCPC6_RFC3646
bool
default n
config BUSYBOX_DEFAULT_FEATURE_UDHCPC6_RFC4704
bool
default n
config BUSYBOX_DEFAULT_FEATURE_UDHCPC6_RFC4833
bool
default n
config BUSYBOX_DEFAULT_FEATURE_UDHCP_PORT
bool
default n
config BUSYBOX_DEFAULT_UDHCP_DEBUG
int
default 0
config BUSYBOX_DEFAULT_UDHCPC_SLACK_FOR_BUGGY_SERVERS
int
default 80
config BUSYBOX_DEFAULT_FEATURE_UDHCP_RFC3397
bool
default y
config BUSYBOX_DEFAULT_FEATURE_UDHCP_8021Q
bool
default n
config BUSYBOX_DEFAULT_UDHCPC_DEFAULT_SCRIPT
string
default "/usr/share/udhcpc/default.script"
config BUSYBOX_DEFAULT_UDHCPC_SLACK_FOR_BUGGY_SERVERS
int
default 80
config BUSYBOX_DEFAULT_IFUPDOWN_UDHCPC_CMD_OPTIONS
string
default ""
@ -2620,10 +2644,10 @@ config BUSYBOX_DEFAULT_FEATURE_PS_LONG
config BUSYBOX_DEFAULT_FEATURE_PS_TIME
bool
default n
config BUSYBOX_DEFAULT_FEATURE_PS_ADDITIONAL_COLUMNS
config BUSYBOX_DEFAULT_FEATURE_PS_UNUSUAL_SYSTEMS
bool
default n
config BUSYBOX_DEFAULT_FEATURE_PS_UNUSUAL_SYSTEMS
config BUSYBOX_DEFAULT_FEATURE_PS_ADDITIONAL_COLUMNS
bool
default n
config BUSYBOX_DEFAULT_PSTREE
@ -2632,9 +2656,6 @@ config BUSYBOX_DEFAULT_PSTREE
config BUSYBOX_DEFAULT_PWDX
bool
default n
config BUSYBOX_DEFAULT_RENICE
bool
default n
config BUSYBOX_DEFAULT_SMEMCAP
bool
default n
@ -2716,9 +2737,6 @@ config BUSYBOX_DEFAULT_SVLOGD
config BUSYBOX_DEFAULT_CHCON
bool
default n
config BUSYBOX_DEFAULT_FEATURE_CHCON_LONG_OPTIONS
bool
default n
config BUSYBOX_DEFAULT_GETENFORCE
bool
default n
@ -2734,9 +2752,6 @@ config BUSYBOX_DEFAULT_MATCHPATHCON
config BUSYBOX_DEFAULT_RUNCON
bool
default n
config BUSYBOX_DEFAULT_FEATURE_RUNCON_LONG_OPTIONS
bool
default n
config BUSYBOX_DEFAULT_SELINUXENABLED
bool
default n
@ -2836,9 +2851,6 @@ config BUSYBOX_DEFAULT_HUSH_BASH_COMPAT
config BUSYBOX_DEFAULT_HUSH_BRACE_EXPANSION
bool
default n
config BUSYBOX_DEFAULT_HUSH_HELP
bool
default n
config BUSYBOX_DEFAULT_HUSH_INTERACTIVE
bool
default n
@ -2881,12 +2893,18 @@ config BUSYBOX_DEFAULT_HUSH_PRINTF
config BUSYBOX_DEFAULT_HUSH_TEST
bool
default n
config BUSYBOX_DEFAULT_HUSH_HELP
bool
default n
config BUSYBOX_DEFAULT_HUSH_EXPORT
bool
default n
config BUSYBOX_DEFAULT_HUSH_EXPORT_N
bool
default n
config BUSYBOX_DEFAULT_HUSH_READONLY
bool
default n
config BUSYBOX_DEFAULT_HUSH_KILL
bool
default n
@ -2899,6 +2917,9 @@ config BUSYBOX_DEFAULT_HUSH_TRAP
config BUSYBOX_DEFAULT_HUSH_TYPE
bool
default n
config BUSYBOX_DEFAULT_HUSH_TIMES
bool
default n
config BUSYBOX_DEFAULT_HUSH_READ
bool
default n
@ -2914,10 +2935,10 @@ config BUSYBOX_DEFAULT_HUSH_ULIMIT
config BUSYBOX_DEFAULT_HUSH_UMASK
bool
default n
config BUSYBOX_DEFAULT_HUSH_MEMLEAK
config BUSYBOX_DEFAULT_HUSH_GETOPTS
bool
default n
config BUSYBOX_DEFAULT_MSH
config BUSYBOX_DEFAULT_HUSH_MEMLEAK
bool
default n
config BUSYBOX_DEFAULT_FEATURE_SH_MATH
@ -2935,6 +2956,9 @@ config BUSYBOX_DEFAULT_FEATURE_SH_STANDALONE
config BUSYBOX_DEFAULT_FEATURE_SH_NOFORK
bool
default y
config BUSYBOX_DEFAULT_FEATURE_SH_READ_FRAC
bool
default n
config BUSYBOX_DEFAULT_FEATURE_SH_HISTFILESIZE
bool
default n

View file

@ -8,14 +8,14 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=busybox
PKG_VERSION:=1.27.2
PKG_RELEASE:=3
PKG_VERSION:=1.28.2
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:=9d4be516b61e6480f156b11eb42577a13529f75d3383850bb75c50c285de63df
PKG_HASH:=b64a94a60877c96838ee60e75765576ecc8756bf3636485117637604acb84b0d
PKG_BUILD_DEPENDS:=BUSYBOX_USE_LIBRPC:librpc BUSYBOX_CONFIG_PAM:libpam
PKG_BUILD_PARALLEL:=1

View file

@ -11,10 +11,14 @@ config BUSYBOX_CONFIG_HAVE_DOT_CONFIG
menu "Busybox Settings"
config BUSYBOX_CONFIG_DESKTOP
bool "Enable options for full-blown desktop systems"
bool "Enable compatibility for full-blown desktop systems"
default BUSYBOX_DEFAULT_DESKTOP
help
Enable options and features which are not essential.
Enable applet options and features which are not essential.
Many applet options have dedicated config options to (de)select them
under that applet; this options enables those options which have no
individual config item for them.
Select this if you plan to use busybox on full-blown desktop machine
with common Linux distro, which needs higher level of command-line
compatibility.
@ -54,19 +58,18 @@ config BUSYBOX_CONFIG_INCLUDE_SUSv2
will be supported in head, tail, and fold. (Note: should
affect renice too.)
config BUSYBOX_CONFIG_USE_PORTABLE_CODE
bool "Avoid using GCC-specific code constructs"
default BUSYBOX_DEFAULT_USE_PORTABLE_CODE
config BUSYBOX_CONFIG_LONG_OPTS
bool "Support --long-options"
default BUSYBOX_DEFAULT_LONG_OPTS
help
Use this option if you are trying to compile busybox with
compiler other than gcc.
If you do use gcc, this option may needlessly increase code size.
Enable this if you want busybox applets to use the gnu --long-option
style, in addition to single character -a -b -c style options.
config BUSYBOX_CONFIG_SHOW_USAGE
bool "Show applet usage messages"
default BUSYBOX_DEFAULT_SHOW_USAGE
help
Enabling this option, BusyBox applets will show terse help messages
Enabling this option, applets will show terse help messages
when invoked with wrong arguments.
If you do not want to show any (helpful) usage message when
issuing wrong command syntax, you can say 'N' here,
@ -77,18 +80,16 @@ config BUSYBOX_CONFIG_FEATURE_VERBOSE_USAGE
default BUSYBOX_DEFAULT_FEATURE_VERBOSE_USAGE
depends on BUSYBOX_CONFIG_SHOW_USAGE
help
All BusyBox applets will show verbose help messages when
busybox is invoked with --help. This will add a lot of text to the
busybox binary. In the default configuration, this will add about
13k, but it can add much more depending on your configuration.
All applets will show verbose help messages when invoked with --help.
This will add a lot of text to the binary.
config BUSYBOX_CONFIG_FEATURE_COMPRESS_USAGE
bool "Store applet usage messages in compressed form"
default BUSYBOX_DEFAULT_FEATURE_COMPRESS_USAGE
depends on BUSYBOX_CONFIG_SHOW_USAGE
help
Store usage messages in .bz compressed form, uncompress them
on-the-fly when <applet> --help is called.
Store usage messages in .bz2 compressed form, uncompress them
on-the-fly when "APPLET --help" is run.
If you have a really tiny busybox with few applets enabled (and
bunzip2 isn't one of them), the overhead of the decompressor might
@ -96,70 +97,33 @@ config BUSYBOX_CONFIG_FEATURE_COMPRESS_USAGE
and have very little memory, this might not be a win. Otherwise,
you probably want this.
config BUSYBOX_CONFIG_BUSYBOX
bool "Include busybox applet"
default BUSYBOX_DEFAULT_BUSYBOX
config BUSYBOX_CONFIG_LFS
bool
default BUSYBOX_DEFAULT_LFS
help
The busybox applet provides general help regarding busybox and
allows the included applets to be listed. It's also required
if applet links are to be installed at runtime.
If you can live without these features disabling this will save
some space.
config BUSYBOX_CONFIG_FEATURE_INSTALLER
bool "Support --install [-s] to install applet links at runtime"
default BUSYBOX_DEFAULT_FEATURE_INSTALLER
depends on BUSYBOX_CONFIG_BUSYBOX
help
Enable 'busybox --install [-s]' support. This will allow you to use
busybox at runtime to create hard links or symlinks for all the
applets that are compiled into busybox.
config BUSYBOX_CONFIG_INSTALL_NO_USR
bool "Don't use /usr"
default BUSYBOX_DEFAULT_INSTALL_NO_USR
help
Disable use of /usr. busybox --install and "make install"
will install applets only to /bin and /sbin,
never to /usr/bin or /usr/sbin.
If you need to work with large files, enable this option.
This will have no effect if your kernel or your C
library lacks large file support for large files. Some of the
programs that can benefit from large file support include dd, gzip,
cp, mount, tar.
config BUSYBOX_CONFIG_PAM
bool "Support PAM (Pluggable Authentication Modules)"
default BUSYBOX_DEFAULT_PAM
help
Use PAM in some busybox applets (currently login and httpd) instead
Use PAM in some applets (currently login and httpd) instead
of direct access to password database.
config BUSYBOX_CONFIG_LONG_OPTS
bool "Support --long-options"
default BUSYBOX_DEFAULT_LONG_OPTS
help
Enable this if you want busybox applets to use the gnu --long-option
style, in addition to single character -a -b -c style options.
config BUSYBOX_CONFIG_FEATURE_DEVPTS
bool "Use the devpts filesystem for Unix98 PTYs"
default BUSYBOX_DEFAULT_FEATURE_DEVPTS
help
Enable if you want BusyBox to use Unix98 PTY support. If enabled,
Enable if you want to use Unix98 PTY support. If enabled,
busybox will use /dev/ptmx for the master side of the pseudoterminal
and /dev/pts/<number> for the slave side. Otherwise, BSD style
/dev/ttyp<number> will be used. To use this option, you should have
devpts mounted.
config BUSYBOX_CONFIG_FEATURE_CLEAN_UP
bool "Clean up all memory before exiting (usually not needed)"
default BUSYBOX_DEFAULT_FEATURE_CLEAN_UP
help
As a size optimization, busybox normally exits without explicitly
freeing dynamically allocated memory or closing files. This saves
space since the OS will clean up for us, but it can confuse debuggers
like valgrind, which report tons of memory and resource leaks.
Don't enable this unless you have a really good reason to clean
things up manually.
config BUSYBOX_CONFIG_FEATURE_UTMP
bool "Support utmp file"
default BUSYBOX_DEFAULT_FEATURE_UTMP
@ -189,7 +153,7 @@ config BUSYBOX_CONFIG_FEATURE_PIDFILE
on applets which require pidfiles to run.
config BUSYBOX_CONFIG_PID_FILE_PATH
string "Path to directory for pidfile"
string "Directory for pidfiles"
default BUSYBOX_DEFAULT_PID_FILE_PATH
depends on BUSYBOX_CONFIG_FEATURE_PIDFILE
help
@ -198,8 +162,40 @@ config BUSYBOX_CONFIG_PID_FILE_PATH
this value. The option has no effect on applets that require you to
specify a pidfile path.
config BUSYBOX_CONFIG_BUSYBOX
bool "Include busybox applet"
default BUSYBOX_DEFAULT_BUSYBOX
help
The busybox applet provides general help message and allows
the included applets to be listed. It also provides
optional --install command to create applet links. If you unselect
this option, running busybox without any arguments will give
just a cryptic error message:
$ busybox
busybox: applet not found
Running "busybox APPLET [ARGS...]" will still work, of course.
config BUSYBOX_CONFIG_FEATURE_INSTALLER
bool "Support --install [-s] to install applet links at runtime"
default BUSYBOX_DEFAULT_FEATURE_INSTALLER
depends on BUSYBOX_CONFIG_BUSYBOX
help
Enable 'busybox --install [-s]' support. This will allow you to use
busybox at runtime to create hard links or symlinks for all the
applets that are compiled into busybox.
config BUSYBOX_CONFIG_INSTALL_NO_USR
bool "Don't use /usr"
default BUSYBOX_DEFAULT_INSTALL_NO_USR
help
Disable use of /usr. "busybox --install" and "make install"
will install applets only to /bin and /sbin,
never to /usr/bin or /usr/sbin.
config BUSYBOX_CONFIG_FEATURE_SUID
bool "Support SUID/SGID handling"
bool "Drop SUID state for most applets"
default BUSYBOX_DEFAULT_FEATURE_SUID
help
With this option you can install the busybox binary belonging
@ -207,16 +203,16 @@ config BUSYBOX_CONFIG_FEATURE_SUID
root-level operations even when run by ordinary users
(for example, mounting of user mounts in fstab needs this).
Busybox will automatically drop privileges for applets
that don't need root access.
With this option enabled, busybox drops privileges for applets
that don't need root access, before entering their main() function.
If you are really paranoid and don't want to do this, build two
busybox binaries with different applets in them (and the appropriate
symlinks pointing to each binary), and only set the suid bit on the
one that needs it.
If you are really paranoid and don't want even initial busybox code
to run under root for every applet, build two busybox binaries with
different applets in them (and the appropriate symlinks pointing
to each binary), and only set the suid bit on the one that needs it.
The applets which require root rights (need suid bit or
to be run by root) and will refuse to execute otherwise:
Some applets which require root rights (need suid bit on the binary
or to be run by root) and will refuse to execute otherwise:
crontab, login, passwd, su, vlock, wall.
The applets which will use root rights if they have them
@ -224,16 +220,16 @@ config BUSYBOX_CONFIG_FEATURE_SUID
without root right nevertheless:
findfs, ping[6], traceroute[6], mount.
Note that if you DONT select this option, but DO make busybox
Note that if you DO NOT select this option, but DO make busybox
suid root, ALL applets will run under root, which is a huge
security hole (think "cp /some/file /etc/passwd").
config BUSYBOX_CONFIG_FEATURE_SUID_CONFIG
bool "Runtime SUID/SGID configuration via /etc/busybox.conf"
bool "Enable SUID configuration via /etc/busybox.conf"
default BUSYBOX_DEFAULT_FEATURE_SUID_CONFIG
depends on BUSYBOX_CONFIG_FEATURE_SUID
help
Allow the SUID / SGID state of an applet to be determined at runtime
Allow the SUID/SGID state of an applet to be determined at runtime
by checking /etc/busybox.conf. (This is sort of a poor man's sudo.)
The format of this file is as follows:
@ -241,7 +237,7 @@ config BUSYBOX_CONFIG_FEATURE_SUID_CONFIG
s: USER or GROUP is allowed to execute APPLET.
APPLET will run under USER or GROUP
(reagardless of who's running it).
(regardless of who's running it).
S: USER or GROUP is NOT allowed to execute APPLET.
APPLET will run under USER or GROUP.
This option is not very sensical.
@ -251,16 +247,16 @@ config BUSYBOX_CONFIG_FEATURE_SUID_CONFIG
An example might help:
[SUID]
su = ssx root.0 # applet su can be run by anyone and runs with
# euid=0/egid=0
su = ssx # exactly the same
mount = sx- root.disk # applet mount can be run by root and members
# of group disk (but not anyone else)
# and runs with euid=0 (egid is not changed)
cp = --- # disable applet cp for everyone
|[SUID]
|su = ssx root.0 # applet su can be run by anyone and runs with
| # euid=0,egid=0
|su = ssx # exactly the same
|
|mount = sx- root.disk # applet mount can be run by root and members
| # of group disk (but not anyone else)
| # and runs with euid=0 (egid is not changed)
|
|cp = --- # disable applet cp for everyone
The file has to be owned by user root, group root and has to be
writeable only by root:
@ -281,6 +277,31 @@ config BUSYBOX_CONFIG_FEATURE_SUID_CONFIG_QUIET
check this option to avoid users to be notified about missing
permissions.
config BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS
bool "exec prefers applets"
default BUSYBOX_DEFAULT_FEATURE_PREFER_APPLETS
help
This is an experimental option which directs applets about to
call 'exec' to try and find an applicable busybox applet before
searching the PATH. This is typically done by exec'ing
/proc/self/exe.
This may affect shell, find -exec, xargs and similar applets.
They will use applets even if /bin/APPLET -> busybox link
is missing (or is not a link to busybox). However, this causes
problems in chroot jails without mounted /proc and with ps/top
(command name can be shown as 'exe' for applets started this way).
config BUSYBOX_CONFIG_BUSYBOX_EXEC_PATH
string "Path to busybox executable"
default BUSYBOX_DEFAULT_BUSYBOX_EXEC_PATH
help
When applets need to run other applets, busybox
sometimes needs to exec() itself. When the /proc filesystem is
mounted, /proc/self/exe always points to the currently running
executable. If you haven't got /proc, set this to wherever you
want to run busybox from.
config BUSYBOX_CONFIG_SELINUX
bool "Support NSA Security Enhanced Linux"
default BUSYBOX_DEFAULT_SELINUX
@ -293,35 +314,24 @@ config BUSYBOX_CONFIG_SELINUX
will not compile. Specifially, libselinux 1.28 or better is
directly required by busybox. If the installation is located in a
non-standard directory, provide it by invoking make as follows:
CFLAGS=-I<libselinux-include-path> \
LDFLAGS=-L<libselinux-lib-path> \
make
Most people will leave this set to 'N'.
config BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS
bool "exec prefers applets"
default BUSYBOX_DEFAULT_FEATURE_PREFER_APPLETS
config BUSYBOX_CONFIG_FEATURE_CLEAN_UP
bool "Clean up all memory before exiting (usually not needed)"
default BUSYBOX_DEFAULT_FEATURE_CLEAN_UP
help
This is an experimental option which directs applets about to
call 'exec' to try and find an applicable busybox applet before
searching the PATH. This is typically done by exec'ing
/proc/self/exe.
This may affect shell, find -exec, xargs and similar applets.
They will use applets even if /bin/<applet> -> busybox link
is missing (or is not a link to busybox). However, this causes
problems in chroot jails without mounted /proc and with ps/top
(command name can be shown as 'exe' for applets started this way).
As a size optimization, busybox normally exits without explicitly
freeing dynamically allocated memory or closing files. This saves
space since the OS will clean up for us, but it can confuse debuggers
like valgrind, which report tons of memory and resource leaks.
config BUSYBOX_CONFIG_BUSYBOX_EXEC_PATH
string "Path to BusyBox executable"
default BUSYBOX_DEFAULT_BUSYBOX_EXEC_PATH
help
When Busybox applets need to run other busybox applets, BusyBox
sometimes needs to exec() itself. When the /proc filesystem is
mounted, /proc/self/exe always points to the currently running
executable. If you haven't got /proc, set this to wherever you
want to run BusyBox from.
Don't enable this unless you have a really good reason to clean
things up manually.
# These are auto-selected by other options
@ -329,45 +339,34 @@ config BUSYBOX_CONFIG_FEATURE_SYSLOG
bool #No description makes it a hidden option
default BUSYBOX_DEFAULT_FEATURE_SYSLOG
#help
# This option is auto-selected when you select any applet which may
# send its output to syslog. You do not need to select it manually.
config BUSYBOX_CONFIG_FEATURE_HAVE_RPC
bool #No description makes it a hidden option
default BUSYBOX_DEFAULT_FEATURE_HAVE_RPC
#help
# This is automatically selected if any of enabled applets need it.
# You do not need to select it manually.
#This option is auto-selected when you select any applet which may
#send its output to syslog. You do not need to select it manually.
config BUSYBOX_CONFIG_PLATFORM_LINUX
bool #No description makes it a hidden option
default BUSYBOX_DEFAULT_PLATFORM_LINUX
#help
# For the most part, busybox requires only POSIX compatibility
# from the target system, but some applets and features use
# Linux-specific interfaces.
#For the most part, busybox requires only POSIX compatibility
#from the target system, but some applets and features use
#Linux-specific interfaces.
#
# This is automatically selected if any applet or feature requires
# Linux-specific interfaces. You do not need to select it manually.
#This is automatically selected if any applet or feature requires
#Linux-specific interfaces. You do not need to select it manually.
comment 'Build Options'
config BUSYBOX_CONFIG_STATIC
bool "Build BusyBox as a static binary (no shared libs)"
bool "Build static binary (no shared libs)"
default BUSYBOX_DEFAULT_STATIC
help
If you want to build a static BusyBox binary, which does not
use or require any shared libraries, then enable this option.
This can cause BusyBox to be considerably larger, so you should
leave this option false unless you have a good reason (i.e.
your target platform does not support shared libraries, or
you are building an initrd which doesn't need anything but
BusyBox, etc).
Most people will leave this set to 'N'.
If you want to build a static binary, which does not use
or require any shared libraries, enable this option.
Static binaries are larger, but do not require functioning
dynamic libraries to be present, which is important if used
as a system rescue tool.
config BUSYBOX_CONFIG_PIE
bool "Build BusyBox as a position independent executable"
bool "Build position independent executable"
default BUSYBOX_DEFAULT_PIE
depends on !BUSYBOX_CONFIG_STATIC
help
@ -398,29 +397,25 @@ config BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
Build a shared library libbusybox.so.N.N.N which contains all
busybox code.
This feature allows every applet to be built as a tiny
separate executable. Enabling it for "one big busybox binary"
approach serves no purpose and increases code size.
You should almost certainly say "no" to this.
This feature allows every applet to be built as a really tiny
separate executable linked against the library:
|$ size 0_lib/l*
| text data bss dec hex filename
| 939 212 28 1179 49b 0_lib/last
| 939 212 28 1179 49b 0_lib/less
| 919138 8328 1556 929022 e2cfe 0_lib/libbusybox.so.1.N.M
### config FEATURE_FULL_LIBBUSYBOX
### bool "Feature-complete libbusybox"
### default n if !FEATURE_SHARED_BUSYBOX
### depends on BUILD_LIBBUSYBOX
### help
### Build a libbusybox with the complete feature-set, disregarding
### the actually selected config.
###
### Normally, libbusybox will only contain the features which are
### used by busybox itself. If you plan to write a separate
### standalone application which uses libbusybox say 'Y'.
###
### Note: libbusybox is GPL, not LGPL, and exports no stable API that
### might act as a copyright barrier. We can and will modify the
### exported function set between releases (even minor version number
### changes), and happily break out-of-tree features.
###
### Say 'N' if in doubt.
This is useful on NOMMU systems which are not capable
of sharing executables, but are capable of sharing code
in dynamic libraries.
config BUSYBOX_CONFIG_FEATURE_LIBBUSYBOX_STATIC
bool "Pull in all external references into libbusybox"
default BUSYBOX_DEFAULT_FEATURE_LIBBUSYBOX_STATIC
depends on BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
help
Make libbusybox library independent, not using or requiring
any other shared libraries.
config BUSYBOX_CONFIG_FEATURE_INDIVIDUAL
bool "Produce a binary for each applet, linked against libbusybox"
@ -468,22 +463,11 @@ config BUSYBOX_CONFIG_FEATURE_SHARED_BUSYBOX
###
### Say 'N' unless you know what you are doing.
config BUSYBOX_CONFIG_LFS
bool
default BUSYBOX_DEFAULT_LFS
help
If you want to build BusyBox with large file support, then enable
this option. This will have no effect if your kernel or your C
library lacks large file support for large files. Some of the
programs that can benefit from large file support include dd, gzip,
cp, mount, tar, and many others. If you want to access files larger
than 2 Gigabytes, enable this option. Otherwise, leave it set to 'N'.
config BUSYBOX_CONFIG_CROSS_COMPILER_PREFIX
string "Cross Compiler prefix"
string "Cross compiler prefix"
default BUSYBOX_DEFAULT_CROSS_COMPILER_PREFIX
help
If you want to build BusyBox with a cross compiler, then you
If you want to build busybox with a cross compiler, then you
will need to set this to the cross-compiler prefix, for example,
"i386-uclibc-".
@ -496,11 +480,11 @@ config BUSYBOX_CONFIG_SYSROOT
string "Path to sysroot"
default BUSYBOX_DEFAULT_SYSROOT
help
If you want to build BusyBox with a cross compiler, then you
If you want to build busybox with a cross compiler, then you
might also need to specify where /usr/include and /usr/lib
will be found.
For example, BusyBox can be built against an installed
For example, busybox can be built against an installed
Android NDK, platform version 9, for ARM ABI with
CONFIG_SYSROOT=/opt/android-ndk/platforms/android-9/arch-arm
@ -525,6 +509,14 @@ config BUSYBOX_CONFIG_EXTRA_LDLIBS
help
Additional LDLIBS to pass to the linker with -l.
config BUSYBOX_CONFIG_USE_PORTABLE_CODE
bool "Avoid using GCC-specific code constructs"
default BUSYBOX_DEFAULT_USE_PORTABLE_CODE
help
Use this option if you are trying to compile busybox with
compiler other than gcc.
If you do use gcc, this option may needlessly increase code size.
comment 'Installation Options ("make install" behavior)'
choice
@ -586,21 +578,22 @@ config BUSYBOX_CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER
endchoice
config BUSYBOX_CONFIG_PREFIX
string "BusyBox installation prefix"
string "Destination path for 'make install'"
default BUSYBOX_DEFAULT_PREFIX
help
Define your directory to install BusyBox files/subdirs in.
Where "make install" should install busybox binary and links.
comment 'Debugging Options'
config BUSYBOX_CONFIG_DEBUG
bool "Build BusyBox with extra Debugging symbols"
bool "Build with debug information"
default BUSYBOX_DEFAULT_DEBUG
help
Say Y here if you wish to examine BusyBox internals while applets are
running. This increases the size of the binary considerably, and
should only be used when doing development. If you are doing
development and want to debug BusyBox, answer Y.
Say Y here to compile with debug information.
This increases the size of the binary considerably, and
should only be used when doing development.
This adds -g option to gcc command line.
Most people should answer N.
@ -615,6 +608,8 @@ config BUSYBOX_CONFIG_DEBUG_PESSIMIZE
in a much bigger executable that more closely matches the source
code.
This replaces -Os/-O2 with -O0 in gcc command line.
config BUSYBOX_CONFIG_DEBUG_SANITIZE
bool "Enable runtime sanitizers (ASAN/LSAN/USAN/etc...)"
default BUSYBOX_DEFAULT_DEBUG_SANITIZE
@ -632,7 +627,7 @@ config BUSYBOX_CONFIG_UNIT_TEST
default BUSYBOX_DEFAULT_UNIT_TEST
help
Say Y here if you want to build unit tests (both the framework and
test cases) as a Busybox applet. This results in bigger code, so you
test cases) as an applet. This results in bigger code, so you
probably don't want this option in production builds.
config BUSYBOX_CONFIG_WERROR
@ -647,8 +642,8 @@ choice
prompt "Additional debugging library"
default BUSYBOX_CONFIG_NO_DEBUG_LIB
help
Using an additional debugging library will make BusyBox become
considerable larger and will cause it to run more slowly. You
Using an additional debugging library will make busybox become
considerably larger and will cause it to run more slowly. You
should always leave this option disabled for production use.
dmalloc support:
@ -669,7 +664,7 @@ choice
This enables compiling with Electric-fence support. Electric
fence is another very useful malloc debugging library which uses
your computer's virtual memory hardware to detect illegal memory
accesses. This support will make BusyBox be considerable larger
accesses. This support will make busybox be considerably larger
and run slower, so you should leave this option disabled unless
you are hunting a hard to find memory problem.

View file

@ -1,6 +1,6 @@
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
@@ -706,6 +706,7 @@ static int bcast_or_ucast(struct dhcp_pa
@@ -711,6 +711,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),
@@ -723,6 +724,7 @@ static NOINLINE int send_discover(uint32
@@ -728,6 +729,7 @@ static NOINLINE int send_discover(uint32
*/
add_client_options(&packet);

View file

@ -1,6 +1,6 @@
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
@@ -1442,6 +1442,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c
@@ -1417,6 +1417,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c
/* silence "uninitialized!" warning */
unsigned timestamp_before_wait = timestamp_before_wait;

View file

@ -1,6 +1,6 @@
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
@@ -1112,7 +1112,6 @@ static void perform_renew(void)
@@ -1124,7 +1124,6 @@ static void perform_renew(void)
state = RENEW_REQUESTED;
break;
case RENEW_REQUESTED: /* impatient are we? fine, square 1 */

View file

@ -34,7 +34,7 @@ Signed-off-by: Jo-Philipp Wich <jo@mein.io>
# However, on *other platforms* it fails when some of those flags
--- /dev/null
+++ b/networking/nslookup_lede.c
@@ -0,0 +1,915 @@
@@ -0,0 +1,914 @@
+/*
+ * nslookup_lede - musl compatible replacement for busybox nslookup
+ *
@ -752,18 +752,6 @@ Signed-off-by: Jo-Philipp Wich <jo@mein.io>
+ return buf;
+}
+
+
+#if ENABLE_FEATURE_NSLOOKUP_OPENWRT_LONG_OPTIONS
+static const char nslookup_longopts[] ALIGN1 =
+ "type\0" Required_argument "q"
+ "querytype\0" Required_argument "q"
+ "port\0" Required_argument "p"
+ "retry\0" Required_argument "r"
+ "timeout\0" Required_argument "t"
+ "stats\0" Required_argument "s"
+ ;
+#endif
+
+int nslookup_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+int nslookup_main(int argc, char **argv)
+{
@ -779,13 +767,24 @@ Signed-off-by: Jo-Philipp Wich <jo@mein.io>
+ HEADER *header;
+
+#if ENABLE_FEATURE_NSLOOKUP_OPENWRT_LONG_OPTIONS
+ applet_long_options = nslookup_longopts;
+#endif
+ static const char nslookup_longopts[] ALIGN1 =
+ "type\0" Required_argument "q"
+ "querytype\0" Required_argument "q"
+ "port\0" Required_argument "p"
+ "retry\0" Required_argument "r"
+ "timeout\0" Required_argument "t"
+ "stats\0" No_argument "s"
+ ;
+
+ opt_complementary = "q::";
+ opts = getopt32(argv, "+q:*p:+r:+t:+s",
+ opts = getopt32long(argv, "^" "+q:*p:+r:+t:+s" "\0" "q::",
+ nslookup_longopts,
+ &type_strings, &default_port,
+ &default_retry, &default_timeout);
+#else
+ opts = getopt32(argv, "^" "+q:*p:+r:+t:+s" "\0" "q::",
+ &type_strings, &default_port,
+ &default_retry, &default_timeout);
+#endif
+
+ while (type_strings) {
+ ptr = llist_pop(&type_strings);

View file

@ -1,6 +1,6 @@
--- a/coreutils/date.c
+++ b/coreutils/date.c
@@ -122,6 +122,7 @@
@@ -123,6 +123,7 @@
//usage: IF_FEATURE_DATE_ISOFMT(
//usage: "\n -D FMT Use FMT for -d TIME conversion"
//usage: )
@ -8,7 +8,7 @@
//usage: "\n"
//usage: "\nRecognized TIME formats:"
//usage: "\n hh:mm[:ss]"
@@ -138,9 +139,8 @@
@@ -139,9 +140,8 @@
#include "libbb.h"
#include "common_bufsiz.h"
@ -20,7 +20,7 @@
enum {
OPT_RFC2822 = (1 << 0), /* R */
@@ -148,8 +148,9 @@ enum {
@@ -149,8 +149,9 @@ enum {
OPT_UTC = (1 << 2), /* u */
OPT_DATE = (1 << 3), /* d */
OPT_REFERENCE = (1 << 4), /* r */
@ -31,8 +31,8 @@
+ OPT_HINT = (1 << 7) * ENABLE_FEATURE_DATE_ISOFMT, /* D */
};
static void maybe_set_utc(int opt)
@@ -167,12 +168,15 @@ static const char date_longopts[] ALIGN1
#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"
@ -40,6 +40,7 @@
;
#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)
{
@ -48,16 +49,16 @@
struct timespec ts;
struct tm tm_time;
char buf_fmt_dt2str[64];
@@ -187,7 +191,7 @@ int date_main(int argc UNUSED_PARAM, cha
opt_complementary = "d--s:s--d"
IF_FEATURE_DATE_ISOFMT(":R--I:I--R");
IF_LONG_OPTS(applet_long_options = date_longopts;)
- opt = getopt32(argv, "Rs:ud:r:"
+ opt = getopt32(argv, "Rs:ud:r:k"
IF_FEATURE_DATE_ISOFMT("I::D:"),
&date_str, &date_str, &filename
IF_FEATURE_DATE_ISOFMT(, &isofmt_arg, &fmt_str2dt));
@@ -244,6 +248,31 @@ int date_main(int argc UNUSED_PARAM, cha
@@ -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();

View file

@ -1,35 +0,0 @@
From c3797d40a1c57352192c6106cc0f435e7d9c11e8 Mon Sep 17 00:00:00 2001
From: Denys Vlasenko <vda.linux@googlemail.com>
Date: Tue, 7 Nov 2017 18:09:29 +0100
Subject: lineedit: do not tab-complete any strings which have control
characters
function old new delta
add_match 41 68 +27
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
---
libbb/lineedit.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
--- a/libbb/lineedit.c
+++ b/libbb/lineedit.c
@@ -633,6 +633,18 @@ static void free_tab_completion_data(voi
static void add_match(char *matched)
{
+ unsigned char *p = (unsigned char*)matched;
+ while (*p) {
+ /* ESC attack fix: drop any string with control chars */
+ if (*p < ' '
+ || (!ENABLE_UNICODE_SUPPORT && *p >= 0x7f)
+ || (ENABLE_UNICODE_SUPPORT && *p == 0x7f)
+ ) {
+ free(matched);
+ return;
+ }
+ p++;
+ }
matches = xrealloc_vector(matches, 4, num_matches);
matches[num_matches] = matched;
num_matches++;