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

View File

@ -8,14 +8,14 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=busybox PKG_NAME:=busybox
PKG_VERSION:=1.27.2 PKG_VERSION:=1.28.2
PKG_RELEASE:=3 PKG_RELEASE:=1
PKG_FLAGS:=essential PKG_FLAGS:=essential
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://www.busybox.net/downloads \ PKG_SOURCE_URL:=https://www.busybox.net/downloads \
http://sources.buildroot.net http://sources.buildroot.net
PKG_HASH:=9d4be516b61e6480f156b11eb42577a13529f75d3383850bb75c50c285de63df PKG_HASH:=b64a94a60877c96838ee60e75765576ecc8756bf3636485117637604acb84b0d
PKG_BUILD_DEPENDS:=BUSYBOX_USE_LIBRPC:librpc BUSYBOX_CONFIG_PAM:libpam PKG_BUILD_DEPENDS:=BUSYBOX_USE_LIBRPC:librpc BUSYBOX_CONFIG_PAM:libpam
PKG_BUILD_PARALLEL:=1 PKG_BUILD_PARALLEL:=1

View File

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

View File

@ -1,6 +1,6 @@
--- a/networking/udhcp/dhcpc.c --- a/networking/udhcp/dhcpc.c
+++ b/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) static NOINLINE int send_discover(uint32_t xid, uint32_t requested)
{ {
struct dhcp_packet packet; struct dhcp_packet packet;
@ -8,7 +8,7 @@
/* Fill in: op, htype, hlen, cookie, chaddr fields, /* Fill in: op, htype, hlen, cookie, chaddr fields,
* random xid field (we override it below), * 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); add_client_options(&packet);

View File

@ -1,6 +1,6 @@
--- a/networking/udhcp/dhcpc.c --- a/networking/udhcp/dhcpc.c
+++ b/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 */ /* silence "uninitialized!" warning */
unsigned timestamp_before_wait = timestamp_before_wait; unsigned timestamp_before_wait = timestamp_before_wait;

View File

@ -1,6 +1,6 @@
--- a/networking/udhcp/dhcpc.c --- a/networking/udhcp/dhcpc.c
+++ b/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; state = RENEW_REQUESTED;
break; break;
case RENEW_REQUESTED: /* impatient are we? fine, square 1 */ 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 # However, on *other platforms* it fails when some of those flags
--- /dev/null --- /dev/null
+++ b/networking/nslookup_lede.c +++ b/networking/nslookup_lede.c
@@ -0,0 +1,915 @@ @@ -0,0 +1,914 @@
+/* +/*
+ * nslookup_lede - musl compatible replacement for busybox nslookup + * nslookup_lede - musl compatible replacement for busybox nslookup
+ * + *
@ -752,18 +752,6 @@ Signed-off-by: Jo-Philipp Wich <jo@mein.io>
+ return buf; + 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) MAIN_EXTERNALLY_VISIBLE;
+int nslookup_main(int argc, char **argv) +int nslookup_main(int argc, char **argv)
+{ +{
@ -779,13 +767,24 @@ Signed-off-by: Jo-Philipp Wich <jo@mein.io>
+ HEADER *header; + HEADER *header;
+ +
+#if ENABLE_FEATURE_NSLOOKUP_OPENWRT_LONG_OPTIONS +#if ENABLE_FEATURE_NSLOOKUP_OPENWRT_LONG_OPTIONS
+ applet_long_options = nslookup_longopts; + static const char nslookup_longopts[] ALIGN1 =
+#endif + "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 = getopt32long(argv, "^" "+q:*p:+r:+t:+s" "\0" "q::",
+ opts = getopt32(argv, "+q:*p:+r:+t:+s", + nslookup_longopts,
+ &type_strings, &default_port, + &type_strings, &default_port,
+ &default_retry, &default_timeout); + &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) { + while (type_strings) {
+ ptr = llist_pop(&type_strings); + ptr = llist_pop(&type_strings);

View File

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