aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRon Yorston <rmy@pobox.com>2023-12-05 07:44:02 +0000
committerRon Yorston <rmy@pobox.com>2023-12-05 07:44:02 +0000
commit7dff7f37600209353cf4e86d1cca29bacf5f7372 (patch)
treefd2d62684e46663ebd435391058dcf8558c6b70d
parentf444dc586b16c104a82d201d3a7caca68affe51b (diff)
parent28f41260935852eda6bd8ab1f26347c012ae0a53 (diff)
downloadbusybox-w32-7dff7f37600209353cf4e86d1cca29bacf5f7372.tar.gz
busybox-w32-7dff7f37600209353cf4e86d1cca29bacf5f7372.tar.bz2
busybox-w32-7dff7f37600209353cf4e86d1cca29bacf5f7372.zip
Merge branch 'busybox' into mergeFRP-5236-g7dff7f376
-rw-r--r--TODO2
-rw-r--r--configs/cygwin_defconfig792
-rw-r--r--coreutils/install.c16
-rw-r--r--coreutils/printf.c10
-rw-r--r--coreutils/sleep.c19
-rw-r--r--debianutils/start_stop_daemon.c131
-rw-r--r--editors/awk.c115
-rw-r--r--include/libbb.h12
-rw-r--r--libbb/single_argv.c15
-rw-r--r--libbb/vfork_daemon_rexec.c9
-rw-r--r--networking/udhcp/d6_dhcpc.c1
-rw-r--r--networking/udhcp/dhcpc.c3
-rw-r--r--procps/top.c41
-rw-r--r--shell/hush.c8
-rw-r--r--sysklogd/syslogd.c9
-rwxr-xr-xtestsuite/start-stop-daemon.tests20
16 files changed, 784 insertions, 419 deletions
diff --git a/TODO b/TODO
index 72ae0f88d..6c7415a81 100644
--- a/TODO
+++ b/TODO
@@ -222,8 +222,6 @@ Minor stuff:
222--- 222---
223 unify progress_meter. wget, flash_eraseall, pipe_progress, fbsplash, setfiles. 223 unify progress_meter. wget, flash_eraseall, pipe_progress, fbsplash, setfiles.
224--- 224---
225 support start-stop-daemon -d <chdir-path>
226---
227 225
228(TODO list after discussion 11.05.2009) 226(TODO list after discussion 11.05.2009)
229 227
diff --git a/configs/cygwin_defconfig b/configs/cygwin_defconfig
index c09bc9281..61e2c2463 100644
--- a/configs/cygwin_defconfig
+++ b/configs/cygwin_defconfig
@@ -1,52 +1,41 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Busybox version: 1.19.0.git 3# Busybox version: 1.37.0.git
4# Sun Jul 10 12:48:50 2011 4# Mon Oct 9 11:08:46 2023
5# 5#
6CONFIG_HAVE_DOT_CONFIG=y 6CONFIG_HAVE_DOT_CONFIG=y
7 7
8# 8#
9# Busybox Settings 9# Settings
10#
11
12#
13# General Configuration
14# 10#
15CONFIG_DESKTOP=y 11CONFIG_DESKTOP=y
16# CONFIG_EXTRA_COMPAT is not set 12# CONFIG_EXTRA_COMPAT is not set
13# CONFIG_FEDORA_COMPAT is not set
17CONFIG_INCLUDE_SUSv2=y 14CONFIG_INCLUDE_SUSv2=y
18# CONFIG_USE_PORTABLE_CODE is not set 15CONFIG_LONG_OPTS=y
19CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
20# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
21# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
22CONFIG_SHOW_USAGE=y 16CONFIG_SHOW_USAGE=y
23CONFIG_FEATURE_VERBOSE_USAGE=y 17CONFIG_FEATURE_VERBOSE_USAGE=y
24CONFIG_FEATURE_COMPRESS_USAGE=y 18CONFIG_FEATURE_COMPRESS_USAGE=y
25CONFIG_FEATURE_INSTALLER=y 19CONFIG_LFS=y
26# CONFIG_INSTALL_NO_USR is not set 20CONFIG_TIME64=y
27# CONFIG_LOCALE_SUPPORT is not set 21# CONFIG_PAM is not set
28CONFIG_UNICODE_SUPPORT=y
29# CONFIG_UNICODE_USING_LOCALE is not set
30# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set
31CONFIG_SUBST_WCHAR=65533
32CONFIG_LAST_SUPPORTED_WCHAR=0
33# CONFIG_UNICODE_COMBINING_WCHARS is not set
34# CONFIG_UNICODE_WIDE_WCHARS is not set
35# CONFIG_UNICODE_BIDI_SUPPORT is not set
36# CONFIG_UNICODE_NEUTRAL_TABLE is not set
37# CONFIG_UNICODE_PRESERVE_BROKEN is not set
38CONFIG_LONG_OPTS=y
39CONFIG_FEATURE_DEVPTS=y 22CONFIG_FEATURE_DEVPTS=y
40# CONFIG_FEATURE_CLEAN_UP is not set
41# CONFIG_FEATURE_UTMP is not set 23# CONFIG_FEATURE_UTMP is not set
42# CONFIG_FEATURE_WTMP is not set 24# CONFIG_FEATURE_WTMP is not set
43CONFIG_FEATURE_PIDFILE=y 25CONFIG_FEATURE_PIDFILE=y
26CONFIG_PID_FILE_PATH="/var/run"
27CONFIG_BUSYBOX=y
28CONFIG_FEATURE_SHOW_SCRIPT=y
29CONFIG_FEATURE_INSTALLER=y
30# CONFIG_INSTALL_NO_USR is not set
44CONFIG_FEATURE_SUID=y 31CONFIG_FEATURE_SUID=y
45# CONFIG_FEATURE_SUID_CONFIG is not set 32# CONFIG_FEATURE_SUID_CONFIG is not set
46# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set 33# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set
47# CONFIG_SELINUX is not set
48# CONFIG_FEATURE_PREFER_APPLETS is not set 34# CONFIG_FEATURE_PREFER_APPLETS is not set
49CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" 35CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
36# CONFIG_SELINUX is not set
37# CONFIG_FEATURE_CLEAN_UP is not set
38CONFIG_FEATURE_SYSLOG_INFO=y
50CONFIG_FEATURE_SYSLOG=y 39CONFIG_FEATURE_SYSLOG=y
51 40
52# 41#
@@ -56,21 +45,17 @@ CONFIG_FEATURE_SYSLOG=y
56# CONFIG_PIE is not set 45# CONFIG_PIE is not set
57# CONFIG_NOMMU is not set 46# CONFIG_NOMMU is not set
58# CONFIG_BUILD_LIBBUSYBOX is not set 47# CONFIG_BUILD_LIBBUSYBOX is not set
48# CONFIG_FEATURE_LIBBUSYBOX_STATIC is not set
59# CONFIG_FEATURE_INDIVIDUAL is not set 49# CONFIG_FEATURE_INDIVIDUAL is not set
60# CONFIG_FEATURE_SHARED_BUSYBOX is not set 50# CONFIG_FEATURE_SHARED_BUSYBOX is not set
61CONFIG_LFS=y
62CONFIG_CROSS_COMPILER_PREFIX="" 51CONFIG_CROSS_COMPILER_PREFIX=""
52CONFIG_SYSROOT=""
63CONFIG_EXTRA_CFLAGS="" 53CONFIG_EXTRA_CFLAGS=""
64 54CONFIG_EXTRA_LDFLAGS=""
65# 55CONFIG_EXTRA_LDLIBS=""
66# Debugging Options 56# CONFIG_USE_PORTABLE_CODE is not set
67# 57CONFIG_STACK_OPTIMIZATION_386=y
68# CONFIG_DEBUG is not set 58CONFIG_STATIC_LIBGCC=y
69# CONFIG_DEBUG_PESSIMIZE is not set
70# CONFIG_WERROR is not set
71CONFIG_NO_DEBUG_LIB=y
72# CONFIG_DMALLOC is not set
73# CONFIG_EFENCE is not set
74 59
75# 60#
76# Installation Options ("make install" behavior) 61# Installation Options ("make install" behavior)
@@ -85,29 +70,66 @@ CONFIG_INSTALL_APPLET_SYMLINKS=y
85CONFIG_PREFIX="./_install" 70CONFIG_PREFIX="./_install"
86 71
87# 72#
88# Busybox Library Tuning 73# Debugging Options
74#
75# CONFIG_DEBUG is not set
76# CONFIG_DEBUG_PESSIMIZE is not set
77# CONFIG_DEBUG_SANITIZE is not set
78# CONFIG_UNIT_TEST is not set
79# CONFIG_WERROR is not set
80# CONFIG_WARN_SIMPLE_MSG is not set
81CONFIG_NO_DEBUG_LIB=y
82# CONFIG_DMALLOC is not set
83# CONFIG_EFENCE is not set
84
85#
86# Library Tuning
89# 87#
88# CONFIG_FEATURE_USE_BSS_TAIL is not set
89CONFIG_FLOAT_DURATION=y
90CONFIG_FEATURE_RTMINMAX=y 90CONFIG_FEATURE_RTMINMAX=y
91CONFIG_FEATURE_RTMINMAX_USE_LIBC_DEFINITIONS=y
92CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
93# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
94# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
91CONFIG_PASSWORD_MINLEN=6 95CONFIG_PASSWORD_MINLEN=6
92CONFIG_MD5_SMALL=1 96CONFIG_MD5_SMALL=1
93CONFIG_FEATURE_FAST_TOP=y 97CONFIG_SHA1_SMALL=3
94# CONFIG_FEATURE_ETC_NETWORKS is not set 98CONFIG_SHA1_HWACCEL=y
99CONFIG_SHA256_HWACCEL=y
100CONFIG_SHA3_SMALL=1
101CONFIG_FEATURE_NON_POSIX_CP=y
102# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set
103CONFIG_FEATURE_USE_SENDFILE=y
104CONFIG_FEATURE_COPYBUF_KB=4
105# CONFIG_MONOTONIC_SYSCALL is not set
106CONFIG_IOCTL_HEX2STR_ERROR=y
95CONFIG_FEATURE_EDITING=y 107CONFIG_FEATURE_EDITING=y
96CONFIG_FEATURE_EDITING_MAX_LEN=1024 108CONFIG_FEATURE_EDITING_MAX_LEN=1024
97# CONFIG_FEATURE_EDITING_VI is not set 109# CONFIG_FEATURE_EDITING_VI is not set
98CONFIG_FEATURE_EDITING_HISTORY=255 110CONFIG_FEATURE_EDITING_HISTORY=255
99CONFIG_FEATURE_EDITING_SAVEHISTORY=y 111CONFIG_FEATURE_EDITING_SAVEHISTORY=y
112# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set
113CONFIG_FEATURE_REVERSE_SEARCH=y
100CONFIG_FEATURE_TAB_COMPLETION=y 114CONFIG_FEATURE_TAB_COMPLETION=y
101# CONFIG_FEATURE_USERNAME_COMPLETION is not set 115# CONFIG_FEATURE_USERNAME_COMPLETION is not set
102CONFIG_FEATURE_EDITING_FANCY_PROMPT=y 116CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
117CONFIG_FEATURE_EDITING_WINCH=y
103# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set 118# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set
104CONFIG_FEATURE_NON_POSIX_CP=y 119# CONFIG_LOCALE_SUPPORT is not set
105# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set 120CONFIG_UNICODE_SUPPORT=y
106CONFIG_FEATURE_COPYBUF_KB=4 121# CONFIG_UNICODE_USING_LOCALE is not set
107CONFIG_FEATURE_SKIP_ROOTFS=y 122# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set
108# CONFIG_MONOTONIC_SYSCALL is not set 123CONFIG_SUBST_WCHAR=65533
109CONFIG_IOCTL_HEX2STR_ERROR=y 124CONFIG_LAST_SUPPORTED_WCHAR=0
110CONFIG_FEATURE_HWIB=y 125# CONFIG_UNICODE_COMBINING_WCHARS is not set
126# CONFIG_UNICODE_WIDE_WCHARS is not set
127# CONFIG_UNICODE_BIDI_SUPPORT is not set
128# CONFIG_UNICODE_NEUTRAL_TABLE is not set
129# CONFIG_UNICODE_PRESERVE_BROKEN is not set
130# CONFIG_LOOP_CONFIGURE is not set
131# CONFIG_NO_LOOP_CONFIGURE is not set
132CONFIG_TRY_LOOP_CONFIGURE=y
111 133
112# 134#
113# Applets 135# Applets
@@ -124,76 +146,106 @@ CONFIG_FEATURE_SEAMLESS_GZ=y
124# CONFIG_AR is not set 146# CONFIG_AR is not set
125# CONFIG_FEATURE_AR_LONG_FILENAMES is not set 147# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
126# CONFIG_FEATURE_AR_CREATE is not set 148# CONFIG_FEATURE_AR_CREATE is not set
149# CONFIG_UNCOMPRESS is not set
150CONFIG_GUNZIP=y
151CONFIG_ZCAT=y
152CONFIG_FEATURE_GUNZIP_LONG_OPTIONS=y
127CONFIG_BUNZIP2=y 153CONFIG_BUNZIP2=y
154CONFIG_BZCAT=y
155CONFIG_UNLZMA=y
156CONFIG_LZCAT=y
157CONFIG_LZMA=y
158CONFIG_UNXZ=y
159CONFIG_XZCAT=y
160CONFIG_XZ=y
128CONFIG_BZIP2=y 161CONFIG_BZIP2=y
162CONFIG_BZIP2_SMALL=8
163CONFIG_FEATURE_BZIP2_DECOMPRESS=y
129CONFIG_CPIO=y 164CONFIG_CPIO=y
130CONFIG_FEATURE_CPIO_O=y 165CONFIG_FEATURE_CPIO_O=y
131CONFIG_FEATURE_CPIO_P=y 166CONFIG_FEATURE_CPIO_P=y
167CONFIG_FEATURE_CPIO_IGNORE_DEVNO=y
168CONFIG_FEATURE_CPIO_RENUMBER_INODES=y
132# CONFIG_DPKG is not set 169# CONFIG_DPKG is not set
133# CONFIG_DPKG_DEB is not set 170# CONFIG_DPKG_DEB is not set
134CONFIG_GUNZIP=y
135CONFIG_GZIP=y 171CONFIG_GZIP=y
136CONFIG_FEATURE_GZIP_LONG_OPTIONS=y 172CONFIG_FEATURE_GZIP_LONG_OPTIONS=y
173CONFIG_GZIP_FAST=0
174# CONFIG_FEATURE_GZIP_LEVELS is not set
175CONFIG_FEATURE_GZIP_DECOMPRESS=y
137CONFIG_LZOP=y 176CONFIG_LZOP=y
177# CONFIG_UNLZOP is not set
178# CONFIG_LZOPCAT is not set
138# CONFIG_LZOP_COMPR_HIGH is not set 179# CONFIG_LZOP_COMPR_HIGH is not set
139CONFIG_RPM2CPIO=y
140CONFIG_RPM=y 180CONFIG_RPM=y
181CONFIG_RPM2CPIO=y
141CONFIG_TAR=y 182CONFIG_TAR=y
183CONFIG_FEATURE_TAR_LONG_OPTIONS=y
142CONFIG_FEATURE_TAR_CREATE=y 184CONFIG_FEATURE_TAR_CREATE=y
143CONFIG_FEATURE_TAR_AUTODETECT=y 185CONFIG_FEATURE_TAR_AUTODETECT=y
144CONFIG_FEATURE_TAR_FROM=y 186CONFIG_FEATURE_TAR_FROM=y
145CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y 187CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y
146CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY=y 188CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY=y
147CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y 189CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
148CONFIG_FEATURE_TAR_LONG_OPTIONS=y
149CONFIG_FEATURE_TAR_TO_COMMAND=y 190CONFIG_FEATURE_TAR_TO_COMMAND=y
150CONFIG_FEATURE_TAR_UNAME_GNAME=y 191CONFIG_FEATURE_TAR_UNAME_GNAME=y
151CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y 192CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y
152# CONFIG_FEATURE_TAR_SELINUX is not set 193# CONFIG_FEATURE_TAR_SELINUX is not set
153# CONFIG_UNCOMPRESS is not set
154CONFIG_UNLZMA=y
155CONFIG_FEATURE_LZMA_FAST=y
156CONFIG_LZMA=y
157CONFIG_UNXZ=y
158CONFIG_XZ=y
159CONFIG_UNZIP=y 194CONFIG_UNZIP=y
195CONFIG_FEATURE_UNZIP_CDF=y
196CONFIG_FEATURE_UNZIP_BZIP2=y
197CONFIG_FEATURE_UNZIP_LZMA=y
198CONFIG_FEATURE_UNZIP_XZ=y
199CONFIG_FEATURE_LZMA_FAST=y
160 200
161# 201#
162# Coreutils 202# Coreutils
163# 203#
204CONFIG_FEATURE_VERBOSE=y
205
206#
207# Common options for date and touch
208#
209CONFIG_FEATURE_TIMEZONE=y
210
211#
212# Common options for cp and mv
213#
214CONFIG_FEATURE_PRESERVE_HARDLINKS=y
215
216#
217# Common options for df, du, ls
218#
219CONFIG_FEATURE_HUMAN_READABLE=y
164CONFIG_BASENAME=y 220CONFIG_BASENAME=y
165CONFIG_CAT=y 221CONFIG_CAT=y
166CONFIG_DATE=y 222CONFIG_FEATURE_CATN=y
167CONFIG_FEATURE_DATE_ISOFMT=y 223CONFIG_FEATURE_CATV=y
168# CONFIG_FEATURE_DATE_NANO is not set
169CONFIG_FEATURE_DATE_COMPAT=y
170CONFIG_ID=y
171CONFIG_GROUPS=y
172CONFIG_TEST=y
173CONFIG_FEATURE_TEST_64=y
174CONFIG_TOUCH=y
175CONFIG_TR=y
176CONFIG_FEATURE_TR_CLASSES=y
177CONFIG_FEATURE_TR_EQUIV=y
178CONFIG_BASE64=y
179CONFIG_CAL=y
180CONFIG_CATV=y
181CONFIG_CHGRP=y 224CONFIG_CHGRP=y
182CONFIG_CHMOD=y 225CONFIG_CHMOD=y
183CONFIG_CHOWN=y 226CONFIG_CHOWN=y
184CONFIG_FEATURE_CHOWN_LONG_OPTIONS=y 227CONFIG_FEATURE_CHOWN_LONG_OPTIONS=y
185CONFIG_CHROOT=y 228CONFIG_CHROOT=y
186CONFIG_CKSUM=y 229CONFIG_CKSUM=y
230CONFIG_CRC32=y
187CONFIG_COMM=y 231CONFIG_COMM=y
188CONFIG_CP=y 232CONFIG_CP=y
189CONFIG_FEATURE_CP_LONG_OPTIONS=y 233CONFIG_FEATURE_CP_LONG_OPTIONS=y
234CONFIG_FEATURE_CP_REFLINK=y
190CONFIG_CUT=y 235CONFIG_CUT=y
236CONFIG_FEATURE_CUT_REGEX=y
237CONFIG_DATE=y
238CONFIG_FEATURE_DATE_ISOFMT=y
239# CONFIG_FEATURE_DATE_NANO is not set
240CONFIG_FEATURE_DATE_COMPAT=y
191CONFIG_DD=y 241CONFIG_DD=y
192CONFIG_FEATURE_DD_SIGNAL_HANDLING=y 242CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
193CONFIG_FEATURE_DD_THIRD_STATUS_LINE=y 243CONFIG_FEATURE_DD_THIRD_STATUS_LINE=y
194CONFIG_FEATURE_DD_IBS_OBS=y 244CONFIG_FEATURE_DD_IBS_OBS=y
245CONFIG_FEATURE_DD_STATUS=y
195CONFIG_DF=y 246CONFIG_DF=y
196CONFIG_FEATURE_DF_FANCY=y 247CONFIG_FEATURE_DF_FANCY=y
248CONFIG_FEATURE_SKIP_ROOTFS=y
197CONFIG_DIRNAME=y 249CONFIG_DIRNAME=y
198CONFIG_DOS2UNIX=y 250CONFIG_DOS2UNIX=y
199CONFIG_UNIX2DOS=y 251CONFIG_UNIX2DOS=y
@@ -202,40 +254,54 @@ CONFIG_DU=y
202CONFIG_ECHO=y 254CONFIG_ECHO=y
203CONFIG_FEATURE_FANCY_ECHO=y 255CONFIG_FEATURE_FANCY_ECHO=y
204CONFIG_ENV=y 256CONFIG_ENV=y
205CONFIG_FEATURE_ENV_LONG_OPTIONS=y
206CONFIG_EXPAND=y 257CONFIG_EXPAND=y
207CONFIG_FEATURE_EXPAND_LONG_OPTIONS=y 258CONFIG_UNEXPAND=y
208CONFIG_EXPR=y 259CONFIG_EXPR=y
209CONFIG_EXPR_MATH_SUPPORT_64=y 260CONFIG_EXPR_MATH_SUPPORT_64=y
261CONFIG_FACTOR=y
210CONFIG_FALSE=y 262CONFIG_FALSE=y
211CONFIG_FOLD=y 263CONFIG_FOLD=y
212CONFIG_FSYNC=y
213CONFIG_HEAD=y 264CONFIG_HEAD=y
214CONFIG_FEATURE_FANCY_HEAD=y 265CONFIG_FEATURE_FANCY_HEAD=y
215CONFIG_HOSTID=y 266CONFIG_HOSTID=y
267CONFIG_ID=y
268CONFIG_GROUPS=y
216CONFIG_INSTALL=y 269CONFIG_INSTALL=y
217CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y 270CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y
271CONFIG_LINK=y
218CONFIG_LN=y 272CONFIG_LN=y
219CONFIG_LOGNAME=y 273CONFIG_LOGNAME=y
220CONFIG_LS=y 274CONFIG_LS=y
221CONFIG_FEATURE_LS_FILETYPES=y 275CONFIG_FEATURE_LS_FILETYPES=y
222CONFIG_FEATURE_LS_FOLLOWLINKS=y 276CONFIG_FEATURE_LS_FOLLOWLINKS=y
223CONFIG_FEATURE_LS_RECURSIVE=y 277CONFIG_FEATURE_LS_RECURSIVE=y
278CONFIG_FEATURE_LS_WIDTH=y
224CONFIG_FEATURE_LS_SORTFILES=y 279CONFIG_FEATURE_LS_SORTFILES=y
225CONFIG_FEATURE_LS_TIMESTAMPS=y 280CONFIG_FEATURE_LS_TIMESTAMPS=y
226CONFIG_FEATURE_LS_USERNAME=y 281CONFIG_FEATURE_LS_USERNAME=y
227CONFIG_FEATURE_LS_COLOR=y 282CONFIG_FEATURE_LS_COLOR=y
228CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y 283CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y
229CONFIG_MD5SUM=y 284CONFIG_MD5SUM=y
285CONFIG_SHA1SUM=y
286CONFIG_SHA256SUM=y
287CONFIG_SHA512SUM=y
288CONFIG_SHA3SUM=y
289
290#
291# Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum
292#
293CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
230CONFIG_MKDIR=y 294CONFIG_MKDIR=y
231CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
232CONFIG_MKFIFO=y 295CONFIG_MKFIFO=y
233CONFIG_MKNOD=y 296CONFIG_MKNOD=y
297CONFIG_MKTEMP=y
234CONFIG_MV=y 298CONFIG_MV=y
235CONFIG_FEATURE_MV_LONG_OPTIONS=y
236CONFIG_NICE=y 299CONFIG_NICE=y
300CONFIG_NL=y
237CONFIG_NOHUP=y 301CONFIG_NOHUP=y
302CONFIG_NPROC=y
238CONFIG_OD=y 303CONFIG_OD=y
304CONFIG_PASTE=y
239CONFIG_PRINTENV=y 305CONFIG_PRINTENV=y
240CONFIG_PRINTF=y 306CONFIG_PRINTF=y
241CONFIG_PWD=y 307CONFIG_PWD=y
@@ -244,68 +310,76 @@ CONFIG_FEATURE_READLINK_FOLLOW=y
244CONFIG_REALPATH=y 310CONFIG_REALPATH=y
245CONFIG_RM=y 311CONFIG_RM=y
246CONFIG_RMDIR=y 312CONFIG_RMDIR=y
247CONFIG_FEATURE_RMDIR_LONG_OPTIONS=y
248CONFIG_SEQ=y 313CONFIG_SEQ=y
249CONFIG_SHA1SUM=y 314CONFIG_SHRED=y
250CONFIG_SHA256SUM=y 315CONFIG_SHUF=y
251CONFIG_SHA512SUM=y
252CONFIG_SLEEP=y 316CONFIG_SLEEP=y
253CONFIG_FEATURE_FANCY_SLEEP=y 317CONFIG_FEATURE_FANCY_SLEEP=y
254CONFIG_FEATURE_FLOAT_SLEEP=y
255CONFIG_SORT=y 318CONFIG_SORT=y
256CONFIG_FEATURE_SORT_BIG=y 319CONFIG_FEATURE_SORT_BIG=y
320# CONFIG_FEATURE_SORT_OPTIMIZE_MEMORY is not set
257CONFIG_SPLIT=y 321CONFIG_SPLIT=y
258CONFIG_FEATURE_SPLIT_FANCY=y 322CONFIG_FEATURE_SPLIT_FANCY=y
259# CONFIG_STAT is not set 323# CONFIG_STAT is not set
260# CONFIG_FEATURE_STAT_FORMAT is not set 324# CONFIG_FEATURE_STAT_FORMAT is not set
325# CONFIG_FEATURE_STAT_FILESYSTEM is not set
261CONFIG_STTY=y 326CONFIG_STTY=y
262CONFIG_SUM=y 327CONFIG_SUM=y
263CONFIG_SYNC=y 328CONFIG_SYNC=y
329CONFIG_FEATURE_SYNC_FANCY=y
330CONFIG_FSYNC=y
264CONFIG_TAC=y 331CONFIG_TAC=y
265CONFIG_TAIL=y 332CONFIG_TAIL=y
266CONFIG_FEATURE_FANCY_TAIL=y 333CONFIG_FEATURE_FANCY_TAIL=y
267CONFIG_TEE=y 334CONFIG_TEE=y
268CONFIG_FEATURE_TEE_USE_BLOCK_IO=y 335CONFIG_FEATURE_TEE_USE_BLOCK_IO=y
336CONFIG_TEST=y
337CONFIG_TEST1=y
338CONFIG_TEST2=y
339CONFIG_FEATURE_TEST_64=y
340CONFIG_TIMEOUT=y
341CONFIG_TOUCH=y
342CONFIG_FEATURE_TOUCH_SUSV3=y
343CONFIG_TR=y
344CONFIG_FEATURE_TR_CLASSES=y
345CONFIG_FEATURE_TR_EQUIV=y
269CONFIG_TRUE=y 346CONFIG_TRUE=y
347CONFIG_TRUNCATE=y
348CONFIG_TSORT=y
270CONFIG_TTY=y 349CONFIG_TTY=y
271CONFIG_UNAME=y 350CONFIG_UNAME=y
272CONFIG_UNEXPAND=y 351CONFIG_UNAME_OSNAME="GNU/Linux"
273CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS=y 352CONFIG_BB_ARCH=y
274CONFIG_UNIQ=y 353CONFIG_UNIQ=y
354CONFIG_UNLINK=y
275CONFIG_USLEEP=y 355CONFIG_USLEEP=y
276CONFIG_UUDECODE=y 356CONFIG_UUDECODE=y
357CONFIG_BASE32=y
358CONFIG_BASE64=y
277CONFIG_UUENCODE=y 359CONFIG_UUENCODE=y
278CONFIG_WC=y 360CONFIG_WC=y
279CONFIG_FEATURE_WC_LARGE=y 361CONFIG_FEATURE_WC_LARGE=y
280# CONFIG_WHO is not set 362# CONFIG_WHO is not set
363# CONFIG_W is not set
364# CONFIG_USERS is not set
281CONFIG_WHOAMI=y 365CONFIG_WHOAMI=y
282CONFIG_YES=y 366CONFIG_YES=y
283 367
284# 368#
285# Common options for cp and mv
286#
287CONFIG_FEATURE_PRESERVE_HARDLINKS=y
288
289#
290# Common options for df, du, ls
291#
292CONFIG_FEATURE_HUMAN_READABLE=y
293
294#
295# Common options for md5sum, sha1sum, sha256sum, sha512sum
296#
297CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
298
299#
300# Console Utilities 369# Console Utilities
301# 370#
302# CONFIG_CHVT is not set 371# CONFIG_CHVT is not set
303# CONFIG_FGCONSOLE is not set
304CONFIG_CLEAR=y 372CONFIG_CLEAR=y
305# CONFIG_DEALLOCVT is not set 373# CONFIG_DEALLOCVT is not set
306# CONFIG_DUMPKMAP is not set 374# CONFIG_DUMPKMAP is not set
375# CONFIG_FGCONSOLE is not set
307# CONFIG_KBD_MODE is not set 376# CONFIG_KBD_MODE is not set
308# CONFIG_LOADFONT is not set 377# CONFIG_LOADFONT is not set
378# CONFIG_SETFONT is not set
379# CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set
380CONFIG_DEFAULT_SETFONT_DIR=""
381# CONFIG_FEATURE_LOADFONT_PSF2 is not set
382# CONFIG_FEATURE_LOADFONT_RAW is not set
309# CONFIG_LOADKMAP is not set 383# CONFIG_LOADKMAP is not set
310# CONFIG_OPENVT is not set 384# CONFIG_OPENVT is not set
311CONFIG_RESET=y 385CONFIG_RESET=y
@@ -313,36 +387,48 @@ CONFIG_RESIZE=y
313CONFIG_FEATURE_RESIZE_PRINT=y 387CONFIG_FEATURE_RESIZE_PRINT=y
314# CONFIG_SETCONSOLE is not set 388# CONFIG_SETCONSOLE is not set
315# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set 389# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set
316# CONFIG_SETFONT is not set
317# CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set
318CONFIG_DEFAULT_SETFONT_DIR=""
319# CONFIG_SETKEYCODES is not set 390# CONFIG_SETKEYCODES is not set
320# CONFIG_SETLOGCONS is not set 391# CONFIG_SETLOGCONS is not set
321# CONFIG_SHOWKEY is not set 392# CONFIG_SHOWKEY is not set
322# CONFIG_FEATURE_LOADFONT_PSF2 is not set
323# CONFIG_FEATURE_LOADFONT_RAW is not set
324 393
325# 394#
326# Debian Utilities 395# Debian Utilities
327# 396#
328CONFIG_MKTEMP=y
329CONFIG_PIPE_PROGRESS=y 397CONFIG_PIPE_PROGRESS=y
330CONFIG_RUN_PARTS=y 398CONFIG_RUN_PARTS=y
331CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y 399CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y
332CONFIG_FEATURE_RUN_PARTS_FANCY=y 400CONFIG_FEATURE_RUN_PARTS_FANCY=y
333CONFIG_START_STOP_DAEMON=y 401CONFIG_START_STOP_DAEMON=y
334CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y
335CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y 402CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y
403CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y
336CONFIG_WHICH=y 404CONFIG_WHICH=y
337 405
338# 406#
407# klibc-utils
408#
409# CONFIG_MINIPS is not set
410# CONFIG_NUKE is not set
411CONFIG_RESUME=y
412CONFIG_RUN_INIT=y
413
414#
339# Editors 415# Editors
340# 416#
417CONFIG_AWK=y
418CONFIG_FEATURE_AWK_LIBM=y
419CONFIG_FEATURE_AWK_GNU_EXTENSIONS=y
420CONFIG_CMP=y
421CONFIG_DIFF=y
422CONFIG_FEATURE_DIFF_LONG_OPTIONS=y
423CONFIG_FEATURE_DIFF_DIR=y
424CONFIG_ED=y
341CONFIG_PATCH=y 425CONFIG_PATCH=y
426CONFIG_SED=y
342CONFIG_VI=y 427CONFIG_VI=y
343CONFIG_FEATURE_VI_MAX_LEN=4096 428CONFIG_FEATURE_VI_MAX_LEN=4096
344# CONFIG_FEATURE_VI_8BIT is not set 429# CONFIG_FEATURE_VI_8BIT is not set
345CONFIG_FEATURE_VI_COLON=y 430CONFIG_FEATURE_VI_COLON=y
431CONFIG_FEATURE_VI_COLON_EXPAND=y
346CONFIG_FEATURE_VI_YANKMARK=y 432CONFIG_FEATURE_VI_YANKMARK=y
347CONFIG_FEATURE_VI_SEARCH=y 433CONFIG_FEATURE_VI_SEARCH=y
348# CONFIG_FEATURE_VI_REGEX_SEARCH is not set 434# CONFIG_FEATURE_VI_REGEX_SEARCH is not set
@@ -353,14 +439,10 @@ CONFIG_FEATURE_VI_SETOPTS=y
353CONFIG_FEATURE_VI_SET=y 439CONFIG_FEATURE_VI_SET=y
354CONFIG_FEATURE_VI_WIN_RESIZE=y 440CONFIG_FEATURE_VI_WIN_RESIZE=y
355CONFIG_FEATURE_VI_ASK_TERMINAL=y 441CONFIG_FEATURE_VI_ASK_TERMINAL=y
356CONFIG_AWK=y 442CONFIG_FEATURE_VI_UNDO=y
357CONFIG_FEATURE_AWK_LIBM=y 443CONFIG_FEATURE_VI_UNDO_QUEUE=y
358CONFIG_CMP=y 444CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=256
359CONFIG_DIFF=y 445CONFIG_FEATURE_VI_VERBOSE_STATUS=y
360CONFIG_FEATURE_DIFF_LONG_OPTIONS=y
361CONFIG_FEATURE_DIFF_DIR=y
362CONFIG_ED=y
363CONFIG_SED=y
364CONFIG_FEATURE_ALLOW_EXEC=y 446CONFIG_FEATURE_ALLOW_EXEC=y
365 447
366# 448#
@@ -369,14 +451,22 @@ CONFIG_FEATURE_ALLOW_EXEC=y
369CONFIG_FIND=y 451CONFIG_FIND=y
370CONFIG_FEATURE_FIND_PRINT0=y 452CONFIG_FEATURE_FIND_PRINT0=y
371CONFIG_FEATURE_FIND_MTIME=y 453CONFIG_FEATURE_FIND_MTIME=y
454CONFIG_FEATURE_FIND_ATIME=y
455CONFIG_FEATURE_FIND_CTIME=y
372CONFIG_FEATURE_FIND_MMIN=y 456CONFIG_FEATURE_FIND_MMIN=y
457CONFIG_FEATURE_FIND_AMIN=y
458CONFIG_FEATURE_FIND_CMIN=y
373CONFIG_FEATURE_FIND_PERM=y 459CONFIG_FEATURE_FIND_PERM=y
374CONFIG_FEATURE_FIND_TYPE=y 460CONFIG_FEATURE_FIND_TYPE=y
461CONFIG_FEATURE_FIND_EXECUTABLE=y
375CONFIG_FEATURE_FIND_XDEV=y 462CONFIG_FEATURE_FIND_XDEV=y
376CONFIG_FEATURE_FIND_MAXDEPTH=y 463CONFIG_FEATURE_FIND_MAXDEPTH=y
377CONFIG_FEATURE_FIND_NEWER=y 464CONFIG_FEATURE_FIND_NEWER=y
378CONFIG_FEATURE_FIND_INUM=y 465CONFIG_FEATURE_FIND_INUM=y
466CONFIG_FEATURE_FIND_SAMEFILE=y
379CONFIG_FEATURE_FIND_EXEC=y 467CONFIG_FEATURE_FIND_EXEC=y
468CONFIG_FEATURE_FIND_EXEC_PLUS=y
469CONFIG_FEATURE_FIND_EXEC_OK=y
380CONFIG_FEATURE_FIND_USER=y 470CONFIG_FEATURE_FIND_USER=y
381CONFIG_FEATURE_FIND_GROUP=y 471CONFIG_FEATURE_FIND_GROUP=y
382CONFIG_FEATURE_FIND_NOT=y 472CONFIG_FEATURE_FIND_NOT=y
@@ -384,20 +474,25 @@ CONFIG_FEATURE_FIND_DEPTH=y
384CONFIG_FEATURE_FIND_PAREN=y 474CONFIG_FEATURE_FIND_PAREN=y
385CONFIG_FEATURE_FIND_SIZE=y 475CONFIG_FEATURE_FIND_SIZE=y
386CONFIG_FEATURE_FIND_PRUNE=y 476CONFIG_FEATURE_FIND_PRUNE=y
477CONFIG_FEATURE_FIND_QUIT=y
387CONFIG_FEATURE_FIND_DELETE=y 478CONFIG_FEATURE_FIND_DELETE=y
479CONFIG_FEATURE_FIND_EMPTY=y
388CONFIG_FEATURE_FIND_PATH=y 480CONFIG_FEATURE_FIND_PATH=y
389CONFIG_FEATURE_FIND_REGEX=y 481CONFIG_FEATURE_FIND_REGEX=y
390# CONFIG_FEATURE_FIND_CONTEXT is not set 482# CONFIG_FEATURE_FIND_CONTEXT is not set
391CONFIG_FEATURE_FIND_LINKS=y 483CONFIG_FEATURE_FIND_LINKS=y
392CONFIG_GREP=y 484CONFIG_GREP=y
393CONFIG_FEATURE_GREP_EGREP_ALIAS=y 485CONFIG_EGREP=y
394CONFIG_FEATURE_GREP_FGREP_ALIAS=y 486CONFIG_FGREP=y
395CONFIG_FEATURE_GREP_CONTEXT=y 487CONFIG_FEATURE_GREP_CONTEXT=y
396CONFIG_XARGS=y 488CONFIG_XARGS=y
397CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y 489CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y
398CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y 490CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
399CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y 491CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
400CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y 492CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
493CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR=y
494CONFIG_FEATURE_XARGS_SUPPORT_PARALLEL=y
495CONFIG_FEATURE_XARGS_SUPPORT_ARGS_FILE=y
401 496
402# 497#
403# Init Utilities 498# Init Utilities
@@ -406,9 +501,13 @@ CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
406# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set 501# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set
407# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set 502# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set
408# CONFIG_HALT is not set 503# CONFIG_HALT is not set
504CONFIG_POWEROFF=y
505CONFIG_REBOOT=y
506CONFIG_FEATURE_WAIT_FOR_INIT=y
409# CONFIG_FEATURE_CALL_TELINIT is not set 507# CONFIG_FEATURE_CALL_TELINIT is not set
410CONFIG_TELINIT_PATH="" 508CONFIG_TELINIT_PATH=""
411# CONFIG_INIT is not set 509# CONFIG_INIT is not set
510# CONFIG_LINUXRC is not set
412# CONFIG_FEATURE_USE_INITTAB is not set 511# CONFIG_FEATURE_USE_INITTAB is not set
413# CONFIG_FEATURE_KILL_REMOVED is not set 512# CONFIG_FEATURE_KILL_REMOVED is not set
414CONFIG_FEATURE_KILL_DELAY=0 513CONFIG_FEATURE_KILL_DELAY=0
@@ -416,45 +515,45 @@ CONFIG_FEATURE_KILL_DELAY=0
416# CONFIG_FEATURE_INIT_SYSLOG is not set 515# CONFIG_FEATURE_INIT_SYSLOG is not set
417# CONFIG_FEATURE_INIT_QUIET is not set 516# CONFIG_FEATURE_INIT_QUIET is not set
418# CONFIG_FEATURE_INIT_COREDUMPS is not set 517# CONFIG_FEATURE_INIT_COREDUMPS is not set
419# CONFIG_LINUXRC is not set
420CONFIG_INIT_TERMINAL_TYPE="" 518CONFIG_INIT_TERMINAL_TYPE=""
421CONFIG_MESG=y 519# CONFIG_FEATURE_INIT_MODIFY_CMDLINE is not set
422CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP=y
423 520
424# 521#
425# Login/Password Management Utilities 522# Login/Password Management Utilities
426# 523#
427CONFIG_ADD_SHELL=y
428CONFIG_REMOVE_SHELL=y
429CONFIG_FEATURE_SHADOWPASSWDS=y 524CONFIG_FEATURE_SHADOWPASSWDS=y
430CONFIG_USE_BB_PWD_GRP=y 525CONFIG_USE_BB_PWD_GRP=y
431CONFIG_USE_BB_SHADOW=y 526CONFIG_USE_BB_SHADOW=y
432CONFIG_USE_BB_CRYPT=y 527CONFIG_USE_BB_CRYPT=y
433CONFIG_USE_BB_CRYPT_SHA=y 528CONFIG_USE_BB_CRYPT_SHA=y
529CONFIG_ADD_SHELL=y
530CONFIG_REMOVE_SHELL=y
531CONFIG_ADDGROUP=y
532CONFIG_FEATURE_ADDUSER_TO_GROUP=y
434CONFIG_ADDUSER=y 533CONFIG_ADDUSER=y
435CONFIG_FEATURE_ADDUSER_LONG_OPTIONS=y
436# CONFIG_FEATURE_CHECK_NAMES is not set 534# CONFIG_FEATURE_CHECK_NAMES is not set
535CONFIG_LAST_ID=60000
437CONFIG_FIRST_SYSTEM_ID=100 536CONFIG_FIRST_SYSTEM_ID=100
438CONFIG_LAST_SYSTEM_ID=999 537CONFIG_LAST_SYSTEM_ID=999
439CONFIG_ADDGROUP=y 538CONFIG_CHPASSWD=y
440CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS=y 539CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="des"
441CONFIG_FEATURE_ADDUSER_TO_GROUP=y 540CONFIG_CRYPTPW=y
541CONFIG_MKPASSWD=y
442CONFIG_DELUSER=y 542CONFIG_DELUSER=y
443CONFIG_DELGROUP=y 543CONFIG_DELGROUP=y
444CONFIG_FEATURE_DEL_USER_FROM_GROUP=y 544CONFIG_FEATURE_DEL_USER_FROM_GROUP=y
445# CONFIG_GETTY is not set 545# CONFIG_GETTY is not set
446CONFIG_LOGIN=y 546CONFIG_LOGIN=y
447# CONFIG_PAM is not set 547# CONFIG_LOGIN_SESSION_AS_CHILD is not set
448CONFIG_LOGIN_SCRIPTS=y 548CONFIG_LOGIN_SCRIPTS=y
449CONFIG_FEATURE_NOLOGIN=y 549CONFIG_FEATURE_NOLOGIN=y
450CONFIG_FEATURE_SECURETTY=y 550CONFIG_FEATURE_SECURETTY=y
451CONFIG_PASSWD=y 551CONFIG_PASSWD=y
452CONFIG_FEATURE_PASSWD_WEAK_CHECK=y 552CONFIG_FEATURE_PASSWD_WEAK_CHECK=y
453CONFIG_CRYPTPW=y
454CONFIG_CHPASSWD=y
455CONFIG_SU=y 553CONFIG_SU=y
456CONFIG_FEATURE_SU_SYSLOG=y 554CONFIG_FEATURE_SU_SYSLOG=y
457CONFIG_FEATURE_SU_CHECKS_SHELLS=y 555CONFIG_FEATURE_SU_CHECKS_SHELLS=y
556# CONFIG_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY is not set
458CONFIG_SULOGIN=y 557CONFIG_SULOGIN=y
459CONFIG_VLOCK=y 558CONFIG_VLOCK=y
460 559
@@ -469,29 +568,29 @@ CONFIG_CHATTR=y
469# 568#
470# Linux Module Utilities 569# Linux Module Utilities
471# 570#
472# CONFIG_MODINFO is not set
473# CONFIG_MODPROBE_SMALL is not set 571# CONFIG_MODPROBE_SMALL is not set
474# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set 572# CONFIG_DEPMOD is not set
475# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set
476# CONFIG_INSMOD is not set 573# CONFIG_INSMOD is not set
477# CONFIG_RMMOD is not set
478# CONFIG_LSMOD is not set 574# CONFIG_LSMOD is not set
479# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set 575# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
576# CONFIG_MODINFO is not set
480# CONFIG_MODPROBE is not set 577# CONFIG_MODPROBE is not set
481# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set 578# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set
482# CONFIG_DEPMOD is not set 579# CONFIG_RMMOD is not set
483 580
484# 581#
485# Options common to multiple modutils 582# Options common to multiple modutils
486# 583#
584# CONFIG_FEATURE_CMDLINE_MODULE_OPTIONS is not set
585# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set
487# CONFIG_FEATURE_2_4_MODULES is not set 586# CONFIG_FEATURE_2_4_MODULES is not set
488# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
489# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set 587# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
490# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set 588# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
491# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set 589# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
492# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set 590# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
493# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set 591# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
494# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set 592# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set
593# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
495# CONFIG_FEATURE_MODUTILS_ALIAS is not set 594# CONFIG_FEATURE_MODUTILS_ALIAS is not set
496# CONFIG_FEATURE_MODUTILS_SYMBOLS is not set 595# CONFIG_FEATURE_MODUTILS_SYMBOLS is not set
497CONFIG_DEFAULT_MODULES_DIR="" 596CONFIG_DEFAULT_MODULES_DIR=""
@@ -500,18 +599,23 @@ CONFIG_DEFAULT_DEPMOD_FILE=""
500# 599#
501# Linux System Utilities 600# Linux System Utilities
502# 601#
503# CONFIG_BLOCKDEV is not set
504CONFIG_REV=y
505# CONFIG_ACPID is not set 602# CONFIG_ACPID is not set
506# CONFIG_FEATURE_ACPID_COMPAT is not set 603# CONFIG_FEATURE_ACPID_COMPAT is not set
604CONFIG_BLKDISCARD=y
507# CONFIG_BLKID is not set 605# CONFIG_BLKID is not set
508# CONFIG_FEATURE_BLKID_TYPE is not set 606# CONFIG_FEATURE_BLKID_TYPE is not set
607# CONFIG_BLOCKDEV is not set
608CONFIG_CAL=y
609CONFIG_CHRT=y
509# CONFIG_DMESG is not set 610# CONFIG_DMESG is not set
510# CONFIG_FEATURE_DMESG_PRETTY is not set 611# CONFIG_FEATURE_DMESG_PRETTY is not set
612# CONFIG_EJECT is not set
613# CONFIG_FEATURE_EJECT_SCSI is not set
614CONFIG_FALLOCATE=y
615CONFIG_FATATTR=y
511# CONFIG_FBSET is not set 616# CONFIG_FBSET is not set
512# CONFIG_FEATURE_FBSET_FANCY is not set 617# CONFIG_FEATURE_FBSET_FANCY is not set
513# CONFIG_FEATURE_FBSET_READMODE is not set 618# CONFIG_FEATURE_FBSET_READMODE is not set
514# CONFIG_FDFLUSH is not set
515# CONFIG_FDFORMAT is not set 619# CONFIG_FDFORMAT is not set
516# CONFIG_FDISK is not set 620# CONFIG_FDISK is not set
517# CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set 621# CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set
@@ -524,23 +628,23 @@ CONFIG_REV=y
524# CONFIG_FEATURE_FDISK_ADVANCED is not set 628# CONFIG_FEATURE_FDISK_ADVANCED is not set
525# CONFIG_FINDFS is not set 629# CONFIG_FINDFS is not set
526CONFIG_FLOCK=y 630CONFIG_FLOCK=y
631# CONFIG_FDFLUSH is not set
527# CONFIG_FREERAMDISK is not set 632# CONFIG_FREERAMDISK is not set
528CONFIG_FSCK_MINIX=y 633CONFIG_FSCK_MINIX=y
529# CONFIG_MKFS_EXT2 is not set 634CONFIG_FSFREEZE=y
530# CONFIG_MKFS_MINIX is not set 635CONFIG_FSTRIM=y
531CONFIG_FEATURE_MINIX2=y
532# CONFIG_MKFS_REISER is not set
533# CONFIG_MKFS_VFAT is not set
534CONFIG_GETOPT=y 636CONFIG_GETOPT=y
535CONFIG_FEATURE_GETOPT_LONG=y 637CONFIG_FEATURE_GETOPT_LONG=y
536CONFIG_HEXDUMP=y 638CONFIG_HEXDUMP=y
537CONFIG_FEATURE_HEXDUMP_REVERSE=y
538CONFIG_HD=y 639CONFIG_HD=y
640CONFIG_XXD=y
539# CONFIG_HWCLOCK is not set 641# CONFIG_HWCLOCK is not set
540# CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS is not set
541# CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set 642# CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set
643# CONFIG_IONICE is not set
542CONFIG_IPCRM=y 644CONFIG_IPCRM=y
543# CONFIG_IPCS is not set 645# CONFIG_IPCS is not set
646# CONFIG_LAST is not set
647# CONFIG_FEATURE_LAST_FANCY is not set
544# CONFIG_LOSETUP is not set 648# CONFIG_LOSETUP is not set
545# CONFIG_LSPCI is not set 649# CONFIG_LSPCI is not set
546# CONFIG_LSUSB is not set 650# CONFIG_LSUSB is not set
@@ -550,6 +654,16 @@ CONFIG_IPCRM=y
550# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set 654# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set
551# CONFIG_FEATURE_MDEV_EXEC is not set 655# CONFIG_FEATURE_MDEV_EXEC is not set
552# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set 656# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set
657# CONFIG_FEATURE_MDEV_DAEMON is not set
658CONFIG_MESG=y
659CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP=y
660CONFIG_MKE2FS=y
661# CONFIG_MKFS_EXT2 is not set
662# CONFIG_MKFS_MINIX is not set
663CONFIG_FEATURE_MINIX2=y
664# CONFIG_MKFS_REISER is not set
665CONFIG_MKDOSFS=y
666# CONFIG_MKFS_VFAT is not set
553CONFIG_MKSWAP=y 667CONFIG_MKSWAP=y
554CONFIG_FEATURE_MKSWAP_UUID=y 668CONFIG_FEATURE_MKSWAP_UUID=y
555CONFIG_MORE=y 669CONFIG_MORE=y
@@ -562,57 +676,90 @@ CONFIG_MORE=y
562# CONFIG_FEATURE_MOUNT_CIFS is not set 676# CONFIG_FEATURE_MOUNT_CIFS is not set
563# CONFIG_FEATURE_MOUNT_FLAGS is not set 677# CONFIG_FEATURE_MOUNT_FLAGS is not set
564# CONFIG_FEATURE_MOUNT_FSTAB is not set 678# CONFIG_FEATURE_MOUNT_FSTAB is not set
679# CONFIG_FEATURE_MOUNT_OTHERTAB is not set
680# CONFIG_MOUNTPOINT is not set
681CONFIG_NOLOGIN=y
682# CONFIG_NOLOGIN_DEPENDENCIES is not set
683CONFIG_NSENTER=y
565# CONFIG_PIVOT_ROOT is not set 684# CONFIG_PIVOT_ROOT is not set
566# CONFIG_RDATE is not set 685# CONFIG_RDATE is not set
567CONFIG_RDEV=y 686CONFIG_RDEV=y
568CONFIG_READPROFILE=y 687CONFIG_READPROFILE=y
688CONFIG_RENICE=y
689CONFIG_REV=y
569# CONFIG_RTCWAKE is not set 690# CONFIG_RTCWAKE is not set
570CONFIG_SCRIPT=y 691CONFIG_SCRIPT=y
571CONFIG_SCRIPTREPLAY=y 692CONFIG_SCRIPTREPLAY=y
572# CONFIG_SETARCH is not set 693# CONFIG_SETARCH is not set
573# CONFIG_SWAPONOFF is not set 694CONFIG_LINUX32=y
695CONFIG_LINUX64=y
696CONFIG_SETPRIV=y
697CONFIG_FEATURE_SETPRIV_DUMP=y
698CONFIG_FEATURE_SETPRIV_CAPABILITIES=y
699CONFIG_FEATURE_SETPRIV_CAPABILITY_NAMES=y
700CONFIG_SETSID=y
701CONFIG_SWAPON=y
702CONFIG_FEATURE_SWAPON_DISCARD=y
574# CONFIG_FEATURE_SWAPON_PRI is not set 703# CONFIG_FEATURE_SWAPON_PRI is not set
704CONFIG_SWAPOFF=y
705CONFIG_FEATURE_SWAPONOFF_LABEL=y
575# CONFIG_SWITCH_ROOT is not set 706# CONFIG_SWITCH_ROOT is not set
707# CONFIG_TASKSET is not set
708# CONFIG_FEATURE_TASKSET_FANCY is not set
709# CONFIG_FEATURE_TASKSET_CPULIST is not set
710CONFIG_UEVENT=y
576# CONFIG_UMOUNT is not set 711# CONFIG_UMOUNT is not set
577# CONFIG_FEATURE_UMOUNT_ALL is not set 712# CONFIG_FEATURE_UMOUNT_ALL is not set
713CONFIG_UNSHARE=y
714# CONFIG_WALL is not set
578# CONFIG_FEATURE_MOUNT_LOOP is not set 715# CONFIG_FEATURE_MOUNT_LOOP is not set
579# CONFIG_FEATURE_MOUNT_LOOP_CREATE is not set 716# CONFIG_FEATURE_MOUNT_LOOP_CREATE is not set
580# CONFIG_FEATURE_MTAB_SUPPORT is not set 717# CONFIG_FEATURE_MTAB_SUPPORT is not set
581# CONFIG_VOLUMEID is not set 718CONFIG_VOLUMEID=y
582# CONFIG_FEATURE_VOLUMEID_EXT is not set 719
720#
721# Filesystem/Volume identification
722#
723CONFIG_FEATURE_VOLUMEID_BCACHE=y
583# CONFIG_FEATURE_VOLUMEID_BTRFS is not set 724# CONFIG_FEATURE_VOLUMEID_BTRFS is not set
584# CONFIG_FEATURE_VOLUMEID_REISERFS is not set 725# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set
726CONFIG_FEATURE_VOLUMEID_EROFS=y
727CONFIG_FEATURE_VOLUMEID_EXFAT=y
728# CONFIG_FEATURE_VOLUMEID_EXT is not set
729CONFIG_FEATURE_VOLUMEID_F2FS=y
585# CONFIG_FEATURE_VOLUMEID_FAT is not set 730# CONFIG_FEATURE_VOLUMEID_FAT is not set
586# CONFIG_FEATURE_VOLUMEID_HFS is not set 731# CONFIG_FEATURE_VOLUMEID_HFS is not set
587# CONFIG_FEATURE_VOLUMEID_JFS is not set
588# CONFIG_FEATURE_VOLUMEID_XFS is not set
589# CONFIG_FEATURE_VOLUMEID_NTFS is not set
590# CONFIG_FEATURE_VOLUMEID_ISO9660 is not set 732# CONFIG_FEATURE_VOLUMEID_ISO9660 is not set
591# CONFIG_FEATURE_VOLUMEID_UDF is not set 733# CONFIG_FEATURE_VOLUMEID_JFS is not set
592# CONFIG_FEATURE_VOLUMEID_LUKS is not set 734# CONFIG_FEATURE_VOLUMEID_LFS is not set
735# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set
593# CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set 736# CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set
594# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set 737# CONFIG_FEATURE_VOLUMEID_LUKS is not set
738CONFIG_FEATURE_VOLUMEID_MINIX=y
739CONFIG_FEATURE_VOLUMEID_NILFS=y
740# CONFIG_FEATURE_VOLUMEID_NTFS is not set
741# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
742# CONFIG_FEATURE_VOLUMEID_REISERFS is not set
595# CONFIG_FEATURE_VOLUMEID_ROMFS is not set 743# CONFIG_FEATURE_VOLUMEID_ROMFS is not set
744# CONFIG_FEATURE_VOLUMEID_SQUASHFS is not set
596# CONFIG_FEATURE_VOLUMEID_SYSV is not set 745# CONFIG_FEATURE_VOLUMEID_SYSV is not set
597# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set 746CONFIG_FEATURE_VOLUMEID_UBIFS=y
598# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set 747# CONFIG_FEATURE_VOLUMEID_UDF is not set
748# CONFIG_FEATURE_VOLUMEID_XFS is not set
599 749
600# 750#
601# Miscellaneous Utilities 751# Miscellaneous Utilities
602# 752#
603# CONFIG_CONSPY is not set
604# CONFIG_NANDWRITE is not set
605# CONFIG_NANDDUMP is not set
606# CONFIG_SETSERIAL is not set
607# CONFIG_UBIATTACH is not set
608# CONFIG_UBIDETACH is not set
609# CONFIG_UBIMKVOL is not set
610# CONFIG_UBIRMVOL is not set
611# CONFIG_UBIRSVOL is not set
612# CONFIG_UBIUPDATEVOL is not set
613# CONFIG_ADJTIMEX is not set 753# CONFIG_ADJTIMEX is not set
754CONFIG_ASCII=y
614# CONFIG_BBCONFIG is not set 755# CONFIG_BBCONFIG is not set
615# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set 756# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set
757CONFIG_BC=y
758CONFIG_DC=y
759CONFIG_FEATURE_DC_BIG=y
760# CONFIG_FEATURE_DC_LIBM is not set
761CONFIG_FEATURE_BC_INTERACTIVE=y
762CONFIG_FEATURE_BC_LONG_OPTIONS=y
616# CONFIG_BEEP is not set 763# CONFIG_BEEP is not set
617CONFIG_FEATURE_BEEP_FREQ=0 764CONFIG_FEATURE_BEEP_FREQ=0
618CONFIG_FEATURE_BEEP_LENGTH_MS=0 765CONFIG_FEATURE_BEEP_LENGTH_MS=0
@@ -624,89 +771,98 @@ CONFIG_FEATURE_CHAT_SWALLOW_OPTS=y
624CONFIG_FEATURE_CHAT_SEND_ESCAPES=y 771CONFIG_FEATURE_CHAT_SEND_ESCAPES=y
625CONFIG_FEATURE_CHAT_VAR_ABORT_LEN=y 772CONFIG_FEATURE_CHAT_VAR_ABORT_LEN=y
626CONFIG_FEATURE_CHAT_CLR_ABORT=y 773CONFIG_FEATURE_CHAT_CLR_ABORT=y
627CONFIG_CHRT=y 774# CONFIG_CONSPY is not set
628CONFIG_CROND=y 775CONFIG_CROND=y
629CONFIG_FEATURE_CROND_D=y 776CONFIG_FEATURE_CROND_D=y
630CONFIG_FEATURE_CROND_CALL_SENDMAIL=y 777CONFIG_FEATURE_CROND_CALL_SENDMAIL=y
778CONFIG_FEATURE_CROND_SPECIAL_TIMES=y
631CONFIG_FEATURE_CROND_DIR="/var/spool/cron" 779CONFIG_FEATURE_CROND_DIR="/var/spool/cron"
632CONFIG_CRONTAB=y 780CONFIG_CRONTAB=y
633CONFIG_DC=y
634CONFIG_FEATURE_DC_LIBM=y
635# CONFIG_DEVFSD is not set 781# CONFIG_DEVFSD is not set
636# CONFIG_DEVFSD_MODLOAD is not set 782# CONFIG_DEVFSD_MODLOAD is not set
637# CONFIG_DEVFSD_FG_NP is not set 783# CONFIG_DEVFSD_FG_NP is not set
638# CONFIG_DEVFSD_VERBOSE is not set 784# CONFIG_DEVFSD_VERBOSE is not set
639# CONFIG_FEATURE_DEVFS is not set 785# CONFIG_FEATURE_DEVFS is not set
640CONFIG_DEVMEM=y 786CONFIG_DEVMEM=y
641# CONFIG_EJECT is not set
642# CONFIG_FEATURE_EJECT_SCSI is not set
643# CONFIG_FBSPLASH is not set 787# CONFIG_FBSPLASH is not set
644# CONFIG_FLASHCP is not set 788# CONFIG_FLASH_ERASEALL is not set
645# CONFIG_FLASH_LOCK is not set 789# CONFIG_FLASH_LOCK is not set
646# CONFIG_FLASH_UNLOCK is not set 790# CONFIG_FLASH_UNLOCK is not set
647# CONFIG_FLASH_ERASEALL is not set 791# CONFIG_FLASHCP is not set
648# CONFIG_IONICE is not set 792CONFIG_GETFATTR=y
793# CONFIG_HDPARM is not set
794# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set
795# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
796# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set
797# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set
798# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
799# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set
800CONFIG_HEXEDIT=y
801CONFIG_I2CGET=y
802CONFIG_I2CSET=y
803CONFIG_I2CDUMP=y
804CONFIG_I2CDETECT=y
805CONFIG_I2CTRANSFER=y
649# CONFIG_INOTIFYD is not set 806# CONFIG_INOTIFYD is not set
650# CONFIG_LAST is not set
651# CONFIG_FEATURE_LAST_SMALL is not set
652# CONFIG_FEATURE_LAST_FANCY is not set
653CONFIG_LESS=y 807CONFIG_LESS=y
654CONFIG_FEATURE_LESS_MAXLINES=9999999 808CONFIG_FEATURE_LESS_MAXLINES=9999999
655CONFIG_FEATURE_LESS_BRACKETS=y 809CONFIG_FEATURE_LESS_BRACKETS=y
656CONFIG_FEATURE_LESS_FLAGS=y 810CONFIG_FEATURE_LESS_FLAGS=y
811CONFIG_FEATURE_LESS_TRUNCATE=y
657CONFIG_FEATURE_LESS_MARKS=y 812CONFIG_FEATURE_LESS_MARKS=y
658CONFIG_FEATURE_LESS_REGEXP=y 813CONFIG_FEATURE_LESS_REGEXP=y
659CONFIG_FEATURE_LESS_WINCH=y 814CONFIG_FEATURE_LESS_WINCH=y
815CONFIG_FEATURE_LESS_ASK_TERMINAL=y
660CONFIG_FEATURE_LESS_DASHCMD=y 816CONFIG_FEATURE_LESS_DASHCMD=y
661CONFIG_FEATURE_LESS_LINENUMS=y 817CONFIG_FEATURE_LESS_LINENUMS=y
662# CONFIG_HDPARM is not set 818CONFIG_FEATURE_LESS_RAW=y
663# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set 819CONFIG_FEATURE_LESS_ENV=y
664# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set 820CONFIG_LSSCSI=y
665# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set
666# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set
667# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
668# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set
669# CONFIG_MAKEDEVS is not set 821# CONFIG_MAKEDEVS is not set
670# CONFIG_FEATURE_MAKEDEVS_LEAF is not set 822# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
671# CONFIG_FEATURE_MAKEDEVS_TABLE is not set 823# CONFIG_FEATURE_MAKEDEVS_TABLE is not set
672CONFIG_MAN=y 824CONFIG_MAN=y
673# CONFIG_MICROCOM is not set 825# CONFIG_MICROCOM is not set
674# CONFIG_MOUNTPOINT is not set 826CONFIG_MIM=y
675CONFIG_MT=y 827CONFIG_MT=y
828# CONFIG_NANDWRITE is not set
829# CONFIG_NANDDUMP is not set
830CONFIG_PARTPROBE=y
676# CONFIG_RAIDAUTORUN is not set 831# CONFIG_RAIDAUTORUN is not set
677# CONFIG_READAHEAD is not set 832# CONFIG_READAHEAD is not set
678# CONFIG_RFKILL is not set 833# CONFIG_RFKILL is not set
679# CONFIG_RUNLEVEL is not set 834# CONFIG_RUNLEVEL is not set
680# CONFIG_RX is not set 835# CONFIG_RX is not set
681CONFIG_SETSID=y 836CONFIG_SEEDRNG=y
837CONFIG_SETFATTR=y
838# CONFIG_SETSERIAL is not set
682CONFIG_STRINGS=y 839CONFIG_STRINGS=y
683# CONFIG_TASKSET is not set
684# CONFIG_FEATURE_TASKSET_FANCY is not set
685CONFIG_TIME=y 840CONFIG_TIME=y
686CONFIG_TIMEOUT=y 841CONFIG_TREE=y
842CONFIG_TS=y
687CONFIG_TTYSIZE=y 843CONFIG_TTYSIZE=y
844# CONFIG_UBIATTACH is not set
845# CONFIG_UBIDETACH is not set
846# CONFIG_UBIMKVOL is not set
847# CONFIG_UBIRMVOL is not set
848# CONFIG_UBIRSVOL is not set
849# CONFIG_UBIUPDATEVOL is not set
850CONFIG_UBIRENAME=y
688CONFIG_VOLNAME=y 851CONFIG_VOLNAME=y
689# CONFIG_WALL is not set
690# CONFIG_WATCHDOG is not set 852# CONFIG_WATCHDOG is not set
853# CONFIG_FEATURE_WATCHDOG_OPEN_TWICE is not set
691 854
692# 855#
693# Networking Utilities 856# Networking Utilities
694# 857#
695# CONFIG_NAMEIF is not set
696# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
697# CONFIG_NBDCLIENT is not set
698CONFIG_NC=y
699CONFIG_NC_SERVER=y
700CONFIG_NC_EXTRA=y
701# CONFIG_NC_110_COMPAT is not set
702# CONFIG_PING is not set
703# CONFIG_PING6 is not set
704# CONFIG_FEATURE_FANCY_PING is not set
705CONFIG_WHOIS=y
706CONFIG_FEATURE_IPV6=y 858CONFIG_FEATURE_IPV6=y
707# CONFIG_FEATURE_UNIX_LOCAL is not set 859# CONFIG_FEATURE_UNIX_LOCAL is not set
708CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y 860CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y
709# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set 861# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
862# CONFIG_FEATURE_ETC_NETWORKS is not set
863# CONFIG_FEATURE_ETC_SERVICES is not set
864CONFIG_FEATURE_HWIB=y
865# CONFIG_FEATURE_TLS_SHA1 is not set
710# CONFIG_ARP is not set 866# CONFIG_ARP is not set
711# CONFIG_ARPING is not set 867# CONFIG_ARPING is not set
712# CONFIG_BRCTL is not set 868# CONFIG_BRCTL is not set
@@ -714,17 +870,18 @@ CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y
714# CONFIG_FEATURE_BRCTL_SHOW is not set 870# CONFIG_FEATURE_BRCTL_SHOW is not set
715CONFIG_DNSD=y 871CONFIG_DNSD=y
716# CONFIG_ETHER_WAKE is not set 872# CONFIG_ETHER_WAKE is not set
717CONFIG_FAKEIDENTD=y
718CONFIG_FTPD=y 873CONFIG_FTPD=y
719CONFIG_FEATURE_FTP_WRITE=y 874CONFIG_FEATURE_FTPD_WRITE=y
720CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST=y 875CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST=y
876CONFIG_FEATURE_FTPD_AUTHENTICATION=y
721CONFIG_FTPGET=y 877CONFIG_FTPGET=y
722CONFIG_FTPPUT=y 878CONFIG_FTPPUT=y
723CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y 879CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y
724CONFIG_HOSTNAME=y 880CONFIG_HOSTNAME=y
881CONFIG_DNSDOMAINNAME=y
725CONFIG_HTTPD=y 882CONFIG_HTTPD=y
883CONFIG_FEATURE_HTTPD_PORT_DEFAULT=80
726CONFIG_FEATURE_HTTPD_RANGES=y 884CONFIG_FEATURE_HTTPD_RANGES=y
727# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set
728CONFIG_FEATURE_HTTPD_SETUID=y 885CONFIG_FEATURE_HTTPD_SETUID=y
729CONFIG_FEATURE_HTTPD_BASIC_AUTH=y 886CONFIG_FEATURE_HTTPD_BASIC_AUTH=y
730CONFIG_FEATURE_HTTPD_AUTH_MD5=y 887CONFIG_FEATURE_HTTPD_AUTH_MD5=y
@@ -735,6 +892,10 @@ CONFIG_FEATURE_HTTPD_ENCODE_URL_STR=y
735CONFIG_FEATURE_HTTPD_ERROR_PAGES=y 892CONFIG_FEATURE_HTTPD_ERROR_PAGES=y
736CONFIG_FEATURE_HTTPD_PROXY=y 893CONFIG_FEATURE_HTTPD_PROXY=y
737CONFIG_FEATURE_HTTPD_GZIP=y 894CONFIG_FEATURE_HTTPD_GZIP=y
895CONFIG_FEATURE_HTTPD_ETAG=y
896CONFIG_FEATURE_HTTPD_LAST_MODIFIED=y
897CONFIG_FEATURE_HTTPD_DATE=y
898CONFIG_FEATURE_HTTPD_ACL_IP=y
738# CONFIG_IFCONFIG is not set 899# CONFIG_IFCONFIG is not set
739# CONFIG_FEATURE_IFCONFIG_STATUS is not set 900# CONFIG_FEATURE_IFCONFIG_STATUS is not set
740# CONFIG_FEATURE_IFCONFIG_SLIP is not set 901# CONFIG_FEATURE_IFCONFIG_SLIP is not set
@@ -743,11 +904,10 @@ CONFIG_FEATURE_HTTPD_GZIP=y
743# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set 904# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set
744# CONFIG_IFENSLAVE is not set 905# CONFIG_IFENSLAVE is not set
745# CONFIG_IFPLUGD is not set 906# CONFIG_IFPLUGD is not set
746# CONFIG_IFUPDOWN is not set 907CONFIG_IFUP=y
908CONFIG_IFDOWN=y
747CONFIG_IFUPDOWN_IFSTATE_PATH="" 909CONFIG_IFUPDOWN_IFSTATE_PATH=""
748# CONFIG_FEATURE_IFUPDOWN_IP is not set 910# CONFIG_FEATURE_IFUPDOWN_IP is not set
749# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set
750# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set
751# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set 911# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set
752# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set 912# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set
753# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set 913# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set
@@ -760,77 +920,115 @@ CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y
760CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y 920CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y
761# CONFIG_FEATURE_INETD_RPC is not set 921# CONFIG_FEATURE_INETD_RPC is not set
762# CONFIG_IP is not set 922# CONFIG_IP is not set
923# CONFIG_IPADDR is not set
924# CONFIG_IPLINK is not set
925# CONFIG_IPROUTE is not set
926# CONFIG_IPTUNNEL is not set
927# CONFIG_IPRULE is not set
928CONFIG_IPNEIGH=y
763# CONFIG_FEATURE_IP_ADDRESS is not set 929# CONFIG_FEATURE_IP_ADDRESS is not set
764# CONFIG_FEATURE_IP_LINK is not set 930# CONFIG_FEATURE_IP_LINK is not set
765# CONFIG_FEATURE_IP_ROUTE is not set 931# CONFIG_FEATURE_IP_ROUTE is not set
932CONFIG_FEATURE_IP_ROUTE_DIR=""
766# CONFIG_FEATURE_IP_TUNNEL is not set 933# CONFIG_FEATURE_IP_TUNNEL is not set
767# CONFIG_FEATURE_IP_RULE is not set 934# CONFIG_FEATURE_IP_RULE is not set
768# CONFIG_FEATURE_IP_SHORT_FORMS is not set 935CONFIG_FEATURE_IP_NEIGH=y
769# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set 936# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
770# CONFIG_IPADDR is not set
771# CONFIG_IPLINK is not set
772# CONFIG_IPROUTE is not set
773# CONFIG_IPTUNNEL is not set
774# CONFIG_IPRULE is not set
775CONFIG_IPCALC=y 937CONFIG_IPCALC=y
776CONFIG_FEATURE_IPCALC_FANCY=y
777CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y 938CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y
939CONFIG_FEATURE_IPCALC_FANCY=y
940CONFIG_FAKEIDENTD=y
941# CONFIG_NAMEIF is not set
942# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
943# CONFIG_NBDCLIENT is not set
944CONFIG_NC=y
945# CONFIG_NETCAT is not set
946CONFIG_NC_SERVER=y
947CONFIG_NC_EXTRA=y
948# CONFIG_NC_110_COMPAT is not set
778# CONFIG_NETSTAT is not set 949# CONFIG_NETSTAT is not set
779# CONFIG_FEATURE_NETSTAT_WIDE is not set 950# CONFIG_FEATURE_NETSTAT_WIDE is not set
780# CONFIG_FEATURE_NETSTAT_PRG is not set 951# CONFIG_FEATURE_NETSTAT_PRG is not set
781# CONFIG_NSLOOKUP is not set 952# CONFIG_NSLOOKUP is not set
953# CONFIG_FEATURE_NSLOOKUP_BIG is not set
954# CONFIG_FEATURE_NSLOOKUP_LONG_OPTIONS is not set
782# CONFIG_NTPD is not set 955# CONFIG_NTPD is not set
783# CONFIG_FEATURE_NTPD_SERVER is not set 956# CONFIG_FEATURE_NTPD_SERVER is not set
957# CONFIG_FEATURE_NTPD_CONF is not set
958# CONFIG_FEATURE_NTP_AUTH is not set
959# CONFIG_PING is not set
960# CONFIG_PING6 is not set
961# CONFIG_FEATURE_FANCY_PING is not set
784CONFIG_PSCAN=y 962CONFIG_PSCAN=y
785# CONFIG_ROUTE is not set 963# CONFIG_ROUTE is not set
786# CONFIG_SLATTACH is not set 964# CONFIG_SLATTACH is not set
965CONFIG_SSL_CLIENT=y
966CONFIG_TC=y
967CONFIG_FEATURE_TC_INGRESS=y
787CONFIG_TCPSVD=y 968CONFIG_TCPSVD=y
969CONFIG_UDPSVD=y
788CONFIG_TELNET=y 970CONFIG_TELNET=y
789CONFIG_FEATURE_TELNET_TTYPE=y 971CONFIG_FEATURE_TELNET_TTYPE=y
790CONFIG_FEATURE_TELNET_AUTOLOGIN=y 972CONFIG_FEATURE_TELNET_AUTOLOGIN=y
973CONFIG_FEATURE_TELNET_WIDTH=y
791CONFIG_TELNETD=y 974CONFIG_TELNETD=y
792CONFIG_FEATURE_TELNETD_STANDALONE=y 975CONFIG_FEATURE_TELNETD_STANDALONE=y
976CONFIG_FEATURE_TELNETD_PORT_DEFAULT=23
793CONFIG_FEATURE_TELNETD_INETD_WAIT=y 977CONFIG_FEATURE_TELNETD_INETD_WAIT=y
794CONFIG_TFTP=y 978CONFIG_TFTP=y
979CONFIG_FEATURE_TFTP_PROGRESS_BAR=y
980CONFIG_FEATURE_TFTP_HPA_COMPAT=y
795CONFIG_TFTPD=y 981CONFIG_TFTPD=y
796
797#
798# Common options for tftp/tftpd
799#
800CONFIG_FEATURE_TFTP_GET=y 982CONFIG_FEATURE_TFTP_GET=y
801CONFIG_FEATURE_TFTP_PUT=y 983CONFIG_FEATURE_TFTP_PUT=y
802CONFIG_FEATURE_TFTP_BLOCKSIZE=y 984CONFIG_FEATURE_TFTP_BLOCKSIZE=y
803CONFIG_FEATURE_TFTP_PROGRESS_BAR=y
804# CONFIG_TFTP_DEBUG is not set 985# CONFIG_TFTP_DEBUG is not set
986CONFIG_TLS=y
805# CONFIG_TRACEROUTE is not set 987# CONFIG_TRACEROUTE is not set
806# CONFIG_TRACEROUTE6 is not set 988# CONFIG_TRACEROUTE6 is not set
807# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set 989# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
808# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set 990# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
809# CONFIG_TUNCTL is not set 991# CONFIG_TUNCTL is not set
810# CONFIG_FEATURE_TUNCTL_UG is not set 992# CONFIG_FEATURE_TUNCTL_UG is not set
993# CONFIG_VCONFIG is not set
994CONFIG_WGET=y
995CONFIG_FEATURE_WGET_LONG_OPTIONS=y
996CONFIG_FEATURE_WGET_STATUSBAR=y
997CONFIG_FEATURE_WGET_FTP=y
998CONFIG_FEATURE_WGET_AUTHENTICATION=y
999CONFIG_FEATURE_WGET_TIMEOUT=y
1000CONFIG_FEATURE_WGET_HTTPS=y
1001CONFIG_FEATURE_WGET_OPENSSL=y
1002CONFIG_WHOIS=y
1003# CONFIG_ZCIP is not set
811# CONFIG_UDHCPD is not set 1004# CONFIG_UDHCPD is not set
812# CONFIG_DHCPRELAY is not set 1005# CONFIG_FEATURE_UDHCPD_BOOTP is not set
813# CONFIG_DUMPLEASES is not set
814# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
815# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set 1006# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set
1007# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
816CONFIG_DHCPD_LEASES_FILE="" 1008CONFIG_DHCPD_LEASES_FILE=""
1009# CONFIG_DUMPLEASES is not set
1010# CONFIG_DHCPRELAY is not set
817# CONFIG_UDHCPC is not set 1011# CONFIG_UDHCPC is not set
818# CONFIG_FEATURE_UDHCPC_ARPING is not set 1012# CONFIG_FEATURE_UDHCPC_ARPING is not set
1013# CONFIG_FEATURE_UDHCPC_SANITIZEOPT is not set
1014CONFIG_UDHCPC_DEFAULT_SCRIPT=""
1015CONFIG_UDHCPC6_DEFAULT_SCRIPT="/usr/share/udhcpc/default6.script"
1016CONFIG_UDHCPC6=y
1017CONFIG_FEATURE_UDHCPC6_RFC3646=y
1018CONFIG_FEATURE_UDHCPC6_RFC4704=y
1019CONFIG_FEATURE_UDHCPC6_RFC4833=y
1020CONFIG_FEATURE_UDHCPC6_RFC5970=y
1021
1022#
1023# Common options for DHCP applets
1024#
1025CONFIG_UDHCPC_DEFAULT_INTERFACE="eth0"
819# CONFIG_FEATURE_UDHCP_PORT is not set 1026# CONFIG_FEATURE_UDHCP_PORT is not set
820CONFIG_UDHCP_DEBUG=0 1027CONFIG_UDHCP_DEBUG=0
1028CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=0
821# CONFIG_FEATURE_UDHCP_RFC3397 is not set 1029# CONFIG_FEATURE_UDHCP_RFC3397 is not set
822# CONFIG_FEATURE_UDHCP_8021Q is not set 1030# CONFIG_FEATURE_UDHCP_8021Q is not set
823CONFIG_UDHCPC_DEFAULT_SCRIPT=""
824CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=0
825CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="" 1031CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS=""
826CONFIG_UDPSVD=y
827# CONFIG_VCONFIG is not set
828CONFIG_WGET=y
829CONFIG_FEATURE_WGET_STATUSBAR=y
830CONFIG_FEATURE_WGET_AUTHENTICATION=y
831CONFIG_FEATURE_WGET_LONG_OPTIONS=y
832CONFIG_FEATURE_WGET_TIMEOUT=y
833# CONFIG_ZCIP is not set
834 1032
835# 1033#
836# Print Utilities 1034# Print Utilities
@@ -842,8 +1040,8 @@ CONFIG_LPQ=y
842# 1040#
843# Mail Utilities 1041# Mail Utilities
844# 1042#
845CONFIG_MAKEMIME=y
846CONFIG_FEATURE_MIME_CHARSET="us-ascii" 1043CONFIG_FEATURE_MIME_CHARSET="us-ascii"
1044CONFIG_MAKEMIME=y
847CONFIG_POPMAILDIR=y 1045CONFIG_POPMAILDIR=y
848CONFIG_FEATURE_POPMAILDIR_DELIVERY=y 1046CONFIG_FEATURE_POPMAILDIR_DELIVERY=y
849CONFIG_REFORMIME=y 1047CONFIG_REFORMIME=y
@@ -853,94 +1051,112 @@ CONFIG_SENDMAIL=y
853# 1051#
854# Process Utilities 1052# Process Utilities
855# 1053#
856CONFIG_IOSTAT=y 1054CONFIG_FEATURE_FAST_TOP=y
857CONFIG_MPSTAT=y 1055# CONFIG_FEATURE_SHOW_THREADS is not set
858CONFIG_NMETER=y
859# CONFIG_PMAP is not set
860# CONFIG_POWERTOP is not set
861CONFIG_PSTREE=y
862CONFIG_PWDX=y
863CONFIG_SMEMCAP=y
864# CONFIG_FREE is not set 1056# CONFIG_FREE is not set
865CONFIG_FUSER=y 1057CONFIG_FUSER=y
1058CONFIG_IOSTAT=y
866CONFIG_KILL=y 1059CONFIG_KILL=y
867CONFIG_KILLALL=y 1060CONFIG_KILLALL=y
868CONFIG_KILLALL5=y 1061CONFIG_KILLALL5=y
1062CONFIG_LSOF=y
1063CONFIG_MPSTAT=y
1064CONFIG_NMETER=y
869CONFIG_PGREP=y 1065CONFIG_PGREP=y
1066CONFIG_PKILL=y
870CONFIG_PIDOF=y 1067CONFIG_PIDOF=y
871CONFIG_FEATURE_PIDOF_SINGLE=y 1068CONFIG_FEATURE_PIDOF_SINGLE=y
872CONFIG_FEATURE_PIDOF_OMIT=y 1069CONFIG_FEATURE_PIDOF_OMIT=y
873CONFIG_PKILL=y 1070# CONFIG_PMAP is not set
1071# CONFIG_POWERTOP is not set
1072# CONFIG_FEATURE_POWERTOP_INTERACTIVE is not set
874CONFIG_PS=y 1073CONFIG_PS=y
875CONFIG_FEATURE_PS_WIDE=y 1074# CONFIG_FEATURE_PS_WIDE is not set
1075# CONFIG_FEATURE_PS_LONG is not set
876# CONFIG_FEATURE_PS_TIME is not set 1076# CONFIG_FEATURE_PS_TIME is not set
877CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS=y
878# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set 1077# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
879CONFIG_RENICE=y 1078CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS=y
1079CONFIG_PSTREE=y
1080CONFIG_PWDX=y
1081CONFIG_SMEMCAP=y
880CONFIG_BB_SYSCTL=y 1082CONFIG_BB_SYSCTL=y
881CONFIG_TOP=y 1083CONFIG_TOP=y
1084CONFIG_FEATURE_TOP_INTERACTIVE=y
882CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y 1085CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
883CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y 1086CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
884CONFIG_FEATURE_TOP_SMP_CPU=y 1087CONFIG_FEATURE_TOP_SMP_CPU=y
885CONFIG_FEATURE_TOP_DECIMALS=y 1088CONFIG_FEATURE_TOP_DECIMALS=y
886CONFIG_FEATURE_TOP_SMP_PROCESS=y 1089CONFIG_FEATURE_TOP_SMP_PROCESS=y
887CONFIG_FEATURE_TOPMEM=y 1090CONFIG_FEATURE_TOPMEM=y
888# CONFIG_FEATURE_SHOW_THREADS is not set
889# CONFIG_UPTIME is not set 1091# CONFIG_UPTIME is not set
1092# CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set
890CONFIG_WATCH=y 1093CONFIG_WATCH=y
891 1094
892# 1095#
893# Runit Utilities 1096# Runit Utilities
894# 1097#
1098CONFIG_CHPST=y
1099CONFIG_SETUIDGID=y
1100CONFIG_ENVUIDGID=y
1101CONFIG_ENVDIR=y
1102CONFIG_SOFTLIMIT=y
895CONFIG_RUNSV=y 1103CONFIG_RUNSV=y
896CONFIG_RUNSVDIR=y 1104CONFIG_RUNSVDIR=y
897# CONFIG_FEATURE_RUNSVDIR_LOG is not set 1105# CONFIG_FEATURE_RUNSVDIR_LOG is not set
898CONFIG_SV=y 1106CONFIG_SV=y
899CONFIG_SV_DEFAULT_SERVICE_DIR="/var/service" 1107CONFIG_SV_DEFAULT_SERVICE_DIR="/var/service"
1108CONFIG_SVC=y
1109CONFIG_SVOK=y
900CONFIG_SVLOGD=y 1110CONFIG_SVLOGD=y
901CONFIG_CHPST=y
902CONFIG_SETUIDGID=y
903CONFIG_ENVUIDGID=y
904CONFIG_ENVDIR=y
905CONFIG_SOFTLIMIT=y
906# CONFIG_CHCON is not set 1111# CONFIG_CHCON is not set
907# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
908# CONFIG_GETENFORCE is not set 1112# CONFIG_GETENFORCE is not set
909# CONFIG_GETSEBOOL is not set 1113# CONFIG_GETSEBOOL is not set
910# CONFIG_LOAD_POLICY is not set 1114# CONFIG_LOAD_POLICY is not set
911# CONFIG_MATCHPATHCON is not set 1115# CONFIG_MATCHPATHCON is not set
912# CONFIG_RESTORECON is not set
913# CONFIG_RUNCON is not set 1116# CONFIG_RUNCON is not set
914# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
915# CONFIG_SELINUXENABLED is not set 1117# CONFIG_SELINUXENABLED is not set
1118# CONFIG_SESTATUS is not set
916# CONFIG_SETENFORCE is not set 1119# CONFIG_SETENFORCE is not set
917# CONFIG_SETFILES is not set 1120# CONFIG_SETFILES is not set
918# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set 1121# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
1122# CONFIG_RESTORECON is not set
919# CONFIG_SETSEBOOL is not set 1123# CONFIG_SETSEBOOL is not set
920# CONFIG_SESTATUS is not set
921 1124
922# 1125#
923# Shells 1126# Shells
924# 1127#
1128CONFIG_SH_IS_ASH=y
1129# CONFIG_SH_IS_HUSH is not set
1130# CONFIG_SH_IS_NONE is not set
1131# CONFIG_BASH_IS_ASH is not set
1132# CONFIG_BASH_IS_HUSH is not set
1133CONFIG_BASH_IS_NONE=y
1134CONFIG_SHELL_ASH=y
925CONFIG_ASH=y 1135CONFIG_ASH=y
1136CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
1137CONFIG_ASH_INTERNAL_GLOB=y
926CONFIG_ASH_BASH_COMPAT=y 1138CONFIG_ASH_BASH_COMPAT=y
927# CONFIG_ASH_IDLE_TIMEOUT is not set 1139# CONFIG_ASH_BASH_SOURCE_CURDIR is not set
1140CONFIG_ASH_BASH_NOT_FOUND_HOOK=y
928CONFIG_ASH_JOB_CONTROL=y 1141CONFIG_ASH_JOB_CONTROL=y
929CONFIG_ASH_ALIAS=y 1142CONFIG_ASH_ALIAS=y
930CONFIG_ASH_GETOPTS=y 1143CONFIG_ASH_RANDOM_SUPPORT=y
1144CONFIG_ASH_EXPAND_PRMT=y
1145# CONFIG_ASH_IDLE_TIMEOUT is not set
1146# CONFIG_ASH_MAIL is not set
931CONFIG_ASH_ECHO=y 1147CONFIG_ASH_ECHO=y
932CONFIG_ASH_PRINTF=y 1148CONFIG_ASH_PRINTF=y
933CONFIG_ASH_TEST=y 1149CONFIG_ASH_TEST=y
1150CONFIG_ASH_HELP=y
1151CONFIG_ASH_GETOPTS=y
934CONFIG_ASH_CMDCMD=y 1152CONFIG_ASH_CMDCMD=y
935# CONFIG_ASH_MAIL is not set
936CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
937CONFIG_ASH_RANDOM_SUPPORT=y
938CONFIG_ASH_EXPAND_PRMT=y
939# CONFIG_CTTYHACK is not set 1153# CONFIG_CTTYHACK is not set
940CONFIG_HUSH=y 1154CONFIG_HUSH=y
1155CONFIG_SHELL_HUSH=y
941CONFIG_HUSH_BASH_COMPAT=y 1156CONFIG_HUSH_BASH_COMPAT=y
942CONFIG_HUSH_BRACE_EXPANSION=y 1157CONFIG_HUSH_BRACE_EXPANSION=y
943CONFIG_HUSH_HELP=y 1158# CONFIG_HUSH_BASH_SOURCE_CURDIR is not set
1159CONFIG_HUSH_LINENO_VAR=y
944CONFIG_HUSH_INTERACTIVE=y 1160CONFIG_HUSH_INTERACTIVE=y
945CONFIG_HUSH_SAVEHISTORY=y 1161CONFIG_HUSH_SAVEHISTORY=y
946CONFIG_HUSH_JOB=y 1162CONFIG_HUSH_JOB=y
@@ -951,34 +1167,56 @@ CONFIG_HUSH_CASE=y
951CONFIG_HUSH_FUNCTIONS=y 1167CONFIG_HUSH_FUNCTIONS=y
952CONFIG_HUSH_LOCAL=y 1168CONFIG_HUSH_LOCAL=y
953CONFIG_HUSH_RANDOM_SUPPORT=y 1169CONFIG_HUSH_RANDOM_SUPPORT=y
954CONFIG_HUSH_EXPORT_N=y
955CONFIG_HUSH_MODE_X=y 1170CONFIG_HUSH_MODE_X=y
956CONFIG_FEATURE_SH_IS_ASH=y 1171CONFIG_HUSH_ECHO=y
957# CONFIG_FEATURE_SH_IS_HUSH is not set 1172CONFIG_HUSH_PRINTF=y
958# CONFIG_FEATURE_SH_IS_NONE is not set 1173CONFIG_HUSH_TEST=y
959# CONFIG_FEATURE_BASH_IS_ASH is not set 1174CONFIG_HUSH_HELP=y
960# CONFIG_FEATURE_BASH_IS_HUSH is not set 1175CONFIG_HUSH_EXPORT=y
961CONFIG_FEATURE_BASH_IS_NONE=y 1176CONFIG_HUSH_EXPORT_N=y
962CONFIG_SH_MATH_SUPPORT=y 1177CONFIG_HUSH_READONLY=y
963CONFIG_SH_MATH_SUPPORT_64=y 1178CONFIG_HUSH_KILL=y
1179CONFIG_HUSH_WAIT=y
1180CONFIG_HUSH_COMMAND=y
1181CONFIG_HUSH_TRAP=y
1182CONFIG_HUSH_TYPE=y
1183CONFIG_HUSH_TIMES=y
1184CONFIG_HUSH_READ=y
1185CONFIG_HUSH_SET=y
1186CONFIG_HUSH_UNSET=y
1187CONFIG_HUSH_ULIMIT=y
1188CONFIG_HUSH_UMASK=y
1189CONFIG_HUSH_GETOPTS=y
1190# CONFIG_HUSH_MEMLEAK is not set
1191
1192#
1193# Options common to all shells
1194#
1195CONFIG_FEATURE_SH_MATH=y
1196CONFIG_FEATURE_SH_MATH_64=y
1197CONFIG_FEATURE_SH_MATH_BASE=y
964CONFIG_FEATURE_SH_EXTRA_QUIET=y 1198CONFIG_FEATURE_SH_EXTRA_QUIET=y
965# CONFIG_FEATURE_SH_STANDALONE is not set 1199# CONFIG_FEATURE_SH_STANDALONE is not set
966# CONFIG_FEATURE_SH_NOFORK is not set 1200# CONFIG_FEATURE_SH_NOFORK is not set
1201CONFIG_FEATURE_SH_READ_FRAC=y
967CONFIG_FEATURE_SH_HISTFILESIZE=y 1202CONFIG_FEATURE_SH_HISTFILESIZE=y
1203CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS=y
968 1204
969# 1205#
970# System Logging Utilities 1206# System Logging Utilities
971# 1207#
1208# CONFIG_KLOGD is not set
1209# CONFIG_FEATURE_KLOGD_KLOGCTL is not set
1210CONFIG_LOGGER=y
1211CONFIG_LOGREAD=y
1212CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y
972CONFIG_SYSLOGD=y 1213CONFIG_SYSLOGD=y
973CONFIG_FEATURE_ROTATE_LOGFILE=y 1214CONFIG_FEATURE_ROTATE_LOGFILE=y
974CONFIG_FEATURE_REMOTE_LOG=y 1215CONFIG_FEATURE_REMOTE_LOG=y
975CONFIG_FEATURE_SYSLOGD_DUP=y 1216CONFIG_FEATURE_SYSLOGD_DUP=y
976CONFIG_FEATURE_SYSLOGD_CFG=y 1217CONFIG_FEATURE_SYSLOGD_CFG=y
1218# CONFIG_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS is not set
977CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 1219CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256
978CONFIG_FEATURE_IPC_SYSLOG=y 1220CONFIG_FEATURE_IPC_SYSLOG=y
979CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16 1221CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
980CONFIG_LOGREAD=y 1222CONFIG_FEATURE_KMSG_SYSLOG=y
981CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y
982# CONFIG_KLOGD is not set
983# CONFIG_FEATURE_KLOGD_KLOGCTL is not set
984CONFIG_LOGGER=y
diff --git a/coreutils/install.c b/coreutils/install.c
index c0f1c538a..00f8be87e 100644
--- a/coreutils/install.c
+++ b/coreutils/install.c
@@ -244,6 +244,15 @@ int install_main(int argc, char **argv)
244 } 244 }
245 } 245 }
246 246
247 /* Set the user and group id */
248 /* (must be before chmod, or else chown may clear suid/gid bits) */
249 if ((opts & (OPT_OWNER|OPT_GROUP))
250 && lchown(dest, uid, gid) == -1
251 ) {
252 bb_perror_msg("can't change %s of %s", "ownership", dest);
253 ret = EXIT_FAILURE;
254 }
255
247 /* Set the file mode (always, not only with -m). 256 /* Set the file mode (always, not only with -m).
248 * GNU coreutils 6.10 is not affected by umask. */ 257 * GNU coreutils 6.10 is not affected by umask. */
249 if (chmod(dest, mode) == -1) { 258 if (chmod(dest, mode) == -1) {
@@ -254,13 +263,6 @@ int install_main(int argc, char **argv)
254 if (use_default_selinux_context) 263 if (use_default_selinux_context)
255 setdefaultfilecon(dest); 264 setdefaultfilecon(dest);
256#endif 265#endif
257 /* Set the user and group id */
258 if ((opts & (OPT_OWNER|OPT_GROUP))
259 && lchown(dest, uid, gid) == -1
260 ) {
261 bb_perror_msg("can't change %s of %s", "ownership", dest);
262 ret = EXIT_FAILURE;
263 }
264 next: 266 next:
265 if (ENABLE_FEATURE_CLEAN_UP && isdir) 267 if (ENABLE_FEATURE_CLEAN_UP && isdir)
266 free(dest); 268 free(dest);
diff --git a/coreutils/printf.c b/coreutils/printf.c
index 1bcc74d3b..379c00cc6 100644
--- a/coreutils/printf.c
+++ b/coreutils/printf.c
@@ -490,9 +490,9 @@ int printf_main(int argc UNUSED_PARAM, char **argv)
490 /* bash builtin errors out on "printf '-%s-\n' foo", 490 /* bash builtin errors out on "printf '-%s-\n' foo",
491 * coreutils-6.9 works. Both work with "printf -- '-%s-\n' foo". 491 * coreutils-6.9 works. Both work with "printf -- '-%s-\n' foo".
492 * We will mimic coreutils. */ 492 * We will mimic coreutils. */
493 if (argv[1] && argv[1][0] == '-' && argv[1][1] == '-' && !argv[1][2]) 493 argv = skip_dash_dash(argv);
494 argv++; 494
495 if (!argv[1]) { 495 if (!argv[0]) {
496 if ((ENABLE_ASH_PRINTF || ENABLE_HUSH_PRINTF) 496 if ((ENABLE_ASH_PRINTF || ENABLE_HUSH_PRINTF)
497 && applet_name[0] != 'p' 497 && applet_name[0] != 'p'
498 ) { 498 ) {
@@ -502,8 +502,8 @@ int printf_main(int argc UNUSED_PARAM, char **argv)
502 bb_show_usage(); 502 bb_show_usage();
503 } 503 }
504 504
505 format = argv[1]; 505 format = argv[0];
506 argv2 = argv + 2; 506 argv2 = argv + 1;
507 507
508 conv_err = 0; 508 conv_err = 0;
509 do { 509 do {
diff --git a/coreutils/sleep.c b/coreutils/sleep.c
index 6edff59cc..6fd00f9f1 100644
--- a/coreutils/sleep.c
+++ b/coreutils/sleep.c
@@ -17,14 +17,15 @@
17//config: default y 17//config: default y
18//config: help 18//config: help
19//config: sleep is used to pause for a specified number of seconds. 19//config: sleep is used to pause for a specified number of seconds.
20//config: It comes in 3 versions: 20//config: It comes in 2 versions:
21//config: - small: takes one integer parameter 21//config: - small: takes one integer parameter
22//config: - fancy: takes multiple integer arguments with suffixes: 22//config: - fancy:
23//config: sleep 1d 2h 3m 15s 23//config: * takes multiple integer arguments with suffixes:
24//config: - fancy with fractional numbers: 24//config: sleep 1d 2h 3m 15s
25//config: sleep 2.3s 4.5h sleeps for 16202.3 seconds 25//config: * allows fractional numbers:
26//config: Last one is "the most compatible" with coreutils sleep, 26//config: sleep 2.3s 4.5h sleeps for 16202.3 seconds
27//config: but it adds around 1k of code. 27//config: fancy is more compatible with coreutils sleep, but it adds around
28//config: 1k of code.
28//config: 29//config:
29//config:config FEATURE_FANCY_SLEEP 30//config:config FEATURE_FANCY_SLEEP
30//config: bool "Enable multiple arguments and s/m/h/d suffixes" 31//config: bool "Enable multiple arguments and s/m/h/d suffixes"
@@ -71,8 +72,8 @@ int sleep_main(int argc UNUSED_PARAM, char **argv)
71 * + we can't use bb_show_usage 72 * + we can't use bb_show_usage
72 * + applet_name can be the name of the shell 73 * + applet_name can be the name of the shell
73 */ 74 */
74 ++argv; 75 argv = skip_dash_dash(argv);
75 if (!*argv) { 76 if (!argv[0]) {
76 /* Without this, bare "sleep" in ash shows _ash_ --help */ 77 /* Without this, bare "sleep" in ash shows _ash_ --help */
77 /* (ash can be the "sh" applet as well, so check 2nd char) */ 78 /* (ash can be the "sh" applet as well, so check 2nd char) */
78 if (ENABLE_ASH_SLEEP && applet_name[1] != 'l') { 79 if (ENABLE_ASH_SLEEP && applet_name[1] != 'l') {
diff --git a/debianutils/start_stop_daemon.c b/debianutils/start_stop_daemon.c
index 3e5dd9faa..271bc4edf 100644
--- a/debianutils/start_stop_daemon.c
+++ b/debianutils/start_stop_daemon.c
@@ -11,11 +11,16 @@
11/* 11/*
12This is how it is supposed to work: 12This is how it is supposed to work:
13 13
14start-stop-daemon [OPTIONS] [--start|--stop] [[--] arguments...] 14start-stop-daemon [OPTIONS] [--start|--stop] [[--] ARGS]
15 15
16One (only) of these must be given: 16One (only) of these must be given:
17 -S,--start Start 17 -S,--start Start
18 -K,--stop Stop 18 -K,--stop Stop
19 -T,--status Check for the existence of a process, return exitcode (since version 1.16.1)
20 0 - program is running
21 1 - program is not running and the pid file exists
22 3 - program is not running
23 4 - can't determine program status
19 24
20Search for matching processes. 25Search for matching processes.
21If --stop is given, stop all matching processes (by sending a signal). 26If --stop is given, stop all matching processes (by sending a signal).
@@ -36,20 +41,49 @@ with /proc/$PID/exe or argv[0] (comm can't be matched, it never contains path)]
36 Unlike -n, we match against the full path: 41 Unlike -n, we match against the full path:
37 "ntpd" != "./ntpd" != "/path/to/ntpd" 42 "ntpd" != "./ntpd" != "/path/to/ntpd"
38 -p,--pidfile PID_FILE Look for processes with PID from this file 43 -p,--pidfile PID_FILE Look for processes with PID from this file
44 --pid PID Look for process with this pid (since version 1.17.6)
45 --ppid PPID Look for processes with parent pid (since version 1.17.7)
39 46
40Options which are valid for --start only: 47Options which are valid for --start only:
41 -x,--exec EXECUTABLE Program to run (1st arg of execvp). Mandatory. 48 -x,--exec EXECUTABLE Program to run (1st arg of execvp).
49 If no -x, EXECUTABLE is taken from ARGS[0]
42 -a,--startas NAME argv[0] (defaults to EXECUTABLE) 50 -a,--startas NAME argv[0] (defaults to EXECUTABLE)
43 -b,--background Put process into background 51 -b,--background Put process into background
52 -O,--output FILE Redirect stdout and stderr to FILE when forcing the
53 daemon into the background (since version 1.20.6).
54 Requires --background and absolute pathname (tested with 1.21.22).
55 Uses O_CREAT|O_APPEND!
56 If execv fails, error message goes to FILE.
44 -N,--nicelevel N Add N to process' nice level 57 -N,--nicelevel N Add N to process' nice level
45 -c,--chuid USER[:[GRP]] Change to specified user [and group] 58 -c,--chuid USER[:[GRP]] Change to specified user [and group]
46 -m,--make-pidfile Write PID to the pidfile 59 -m,--make-pidfile Write PID to the pidfile
47 (both -m and -p must be given!) 60 (both -m and -p must be given!)
61 -P,--procsched policy:priority
62 This alters the process scheduler policy and priority of the
63 process before starting it (since version 1.15.0). The
64 priority can be optionally specified by appending a :
65 followed by the value. The default priority is 0. The
66 currently supported policy values are other, fifo and rr.
67 -r,--chroot DIR Change directory and chroot to DIR before starting the
68 process. Please note that the pidfile is also written after
69 the chroot.
70 -d,--chdir DIR Change directory to DIR before starting the process. This is
71 done after the chroot if the -r|--chroot option is set.
72 When not specified, start-stop-daemon will change directory to the
73 root directory before starting the process.
74 ^^^^ Gentoo does not have the default chdir("/"). Debian does.
75 Tested -S with 1.21.22:
76 "start-stop-daemon -S -x /bin/pwd" is the minimum needed to run pwd.
77 "start-stop-daemon -S -a /bin/pwd -n pwd" works too.
78 "start-stop-daemon -S -a /bin/pwd" does NOT work.
79 Earlier versions were less picky (which? Or is it only Gentoo's clone?)
48 80
49Options which are valid for --stop only: 81Options which are valid for --stop only:
50 -s,--signal SIG Signal to send (default:TERM) 82 -s,--signal SIG Signal to send (default:TERM)
51 -t,--test Exit with status 0 if process is found 83 -t,--test Exit with status 0 if process is found
52 (we don't actually start or stop daemons) 84 (we don't actually start or stop daemons)
85 --remove-pidfile Used when stopping a program that does not remove its own pid
86 file (since version 1.17.19). Requires -p PIDFILE?
53 87
54Misc options: 88Misc options:
55 -o,--oknodo Exit with status 0 if nothing is done 89 -o,--oknodo Exit with status 0 if nothing is done
@@ -84,11 +118,11 @@ Misc options:
84//kbuild:lib-$(CONFIG_START_STOP_DAEMON) += start_stop_daemon.o 118//kbuild:lib-$(CONFIG_START_STOP_DAEMON) += start_stop_daemon.o
85 119
86//usage:#define start_stop_daemon_trivial_usage 120//usage:#define start_stop_daemon_trivial_usage
87//usage: "[OPTIONS] [-S|-K] ... [-- ARGS...]" 121//usage: "-S|-K [OPTIONS] [-- ARGS]"
88//usage:#define start_stop_daemon_full_usage "\n\n" 122//usage:#define start_stop_daemon_full_usage "\n\n"
89//usage: "Search for matching processes, and then\n" 123//usage: "Search for matching processes, and then\n"
90//usage: "-K: stop all matching processes\n"
91//usage: "-S: start a process unless a matching process is found\n" 124//usage: "-S: start a process unless a matching process is found\n"
125//usage: "-K: stop all matching processes\n"
92//usage: "\nProcess matching:" 126//usage: "\nProcess matching:"
93//usage: "\n -u USERNAME|UID Match only this user's processes" 127//usage: "\n -u USERNAME|UID Match only this user's processes"
94//usage: "\n -n NAME Match processes with NAME" 128//usage: "\n -n NAME Match processes with NAME"
@@ -101,10 +135,12 @@ Misc options:
101//usage: "\n -x EXECUTABLE Program to run" 135//usage: "\n -x EXECUTABLE Program to run"
102//usage: "\n -a NAME Zeroth argument" 136//usage: "\n -a NAME Zeroth argument"
103//usage: "\n -b Background" 137//usage: "\n -b Background"
138//usage: "\n -O FILE Append stdout and stderr to FILE"
104//usage: IF_FEATURE_START_STOP_DAEMON_FANCY( 139//usage: IF_FEATURE_START_STOP_DAEMON_FANCY(
105//usage: "\n -N N Change nice level" 140//usage: "\n -N N Change nice level"
106//usage: ) 141//usage: )
107//usage: "\n -c USER[:[GRP]] Change user/group" 142//usage: "\n -c USER[:[GRP]] Change user/group"
143//usage: "\n -d DIR Change to DIR"
108//usage: "\n -m Write PID to pidfile specified by -p" 144//usage: "\n -m Write PID to pidfile specified by -p"
109//usage: "\n-K only:" 145//usage: "\n-K only:"
110//usage: "\n -s SIG Signal to send" 146//usage: "\n -s SIG Signal to send"
@@ -113,8 +149,8 @@ Misc options:
113//usage: IF_FEATURE_START_STOP_DAEMON_FANCY( 149//usage: IF_FEATURE_START_STOP_DAEMON_FANCY(
114//usage: "\n -o Exit with status 0 if nothing is done" 150//usage: "\n -o Exit with status 0 if nothing is done"
115//usage: "\n -v Verbose" 151//usage: "\n -v Verbose"
116//usage: )
117//usage: "\n -q Quiet" 152//usage: "\n -q Quiet"
153//usage: )
118 154
119/* Override ENABLE_FEATURE_PIDFILE */ 155/* Override ENABLE_FEATURE_PIDFILE */
120#define WANT_PIDFILE 1 156#define WANT_PIDFILE 1
@@ -138,21 +174,23 @@ enum {
138 OPT_s = (1 << 8), // -s 174 OPT_s = (1 << 8), // -s
139 OPT_u = (1 << 9), // -u 175 OPT_u = (1 << 9), // -u
140 OPT_c = (1 << 10), // -c 176 OPT_c = (1 << 10), // -c
141 OPT_x = (1 << 11), // -x 177 OPT_d = (1 << 11), // -d
142 OPT_p = (1 << 12), // -p 178 OPT_x = (1 << 12), // -x
143 OPT_OKNODO = (1 << 13) * ENABLE_FEATURE_START_STOP_DAEMON_FANCY, // -o 179 OPT_p = (1 << 13), // -p
144 OPT_VERBOSE = (1 << 14) * ENABLE_FEATURE_START_STOP_DAEMON_FANCY, // -v 180 OPT_OUTPUT = (1 << 14), // -O
145 OPT_NICELEVEL = (1 << 15) * ENABLE_FEATURE_START_STOP_DAEMON_FANCY, // -N 181 OPT_OKNODO = (1 << 15) * ENABLE_FEATURE_START_STOP_DAEMON_FANCY, // -o
182 OPT_VERBOSE = (1 << 16) * ENABLE_FEATURE_START_STOP_DAEMON_FANCY, // -v
183 OPT_NICELEVEL = (1 << 17) * ENABLE_FEATURE_START_STOP_DAEMON_FANCY, // -N
146}; 184};
147#define QUIET (option_mask32 & OPT_QUIET) 185#define QUIET (option_mask32 & OPT_QUIET)
148#define TEST (option_mask32 & OPT_TEST) 186#define TEST (option_mask32 & OPT_TEST)
149 187
150struct globals { 188struct globals {
151 struct pid_list *found_procs; 189 struct pid_list *found_procs;
152 char *userspec; 190 const char *userspec;
153 char *cmdname; 191 const char *cmdname;
154 char *execname; 192 const char *execname;
155 char *pidfile; 193 const char *pidfile;
156 char *execname_cmpbuf; 194 char *execname_cmpbuf;
157 unsigned execname_sizeof; 195 unsigned execname_sizeof;
158 int user_id; 196 int user_id;
@@ -322,7 +360,7 @@ static void do_procinit(void)
322 360
323static int do_stop(void) 361static int do_stop(void)
324{ 362{
325 char *what; 363 const char *what;
326 struct pid_list *p; 364 struct pid_list *p;
327 int killed = 0; 365 int killed = 0;
328 366
@@ -369,7 +407,7 @@ static int do_stop(void)
369 } 407 }
370 ret: 408 ret:
371 if (ENABLE_FEATURE_CLEAN_UP) 409 if (ENABLE_FEATURE_CLEAN_UP)
372 free(what); 410 free((char *)what);
373 return killed; 411 return killed;
374} 412}
375 413
@@ -381,6 +419,7 @@ static const char start_stop_daemon_longopts[] ALIGN1 =
381 "quiet\0" No_argument "q" 419 "quiet\0" No_argument "q"
382 "test\0" No_argument "t" 420 "test\0" No_argument "t"
383 "make-pidfile\0" No_argument "m" 421 "make-pidfile\0" No_argument "m"
422 "output\0" Required_argument "O"
384# if ENABLE_FEATURE_START_STOP_DAEMON_FANCY 423# if ENABLE_FEATURE_START_STOP_DAEMON_FANCY
385 "oknodo\0" No_argument "o" 424 "oknodo\0" No_argument "o"
386 "verbose\0" No_argument "v" 425 "verbose\0" No_argument "v"
@@ -391,6 +430,7 @@ static const char start_stop_daemon_longopts[] ALIGN1 =
391 "signal\0" Required_argument "s" 430 "signal\0" Required_argument "s"
392 "user\0" Required_argument "u" 431 "user\0" Required_argument "u"
393 "chuid\0" Required_argument "c" 432 "chuid\0" Required_argument "c"
433 "chdir\0" Required_argument "d"
394 "exec\0" Required_argument "x" 434 "exec\0" Required_argument "x"
395 "pidfile\0" Required_argument "p" 435 "pidfile\0" Required_argument "p"
396# if ENABLE_FEATURE_START_STOP_DAEMON_FANCY 436# if ENABLE_FEATURE_START_STOP_DAEMON_FANCY
@@ -408,36 +448,49 @@ int start_stop_daemon_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
408int start_stop_daemon_main(int argc UNUSED_PARAM, char **argv) 448int start_stop_daemon_main(int argc UNUSED_PARAM, char **argv)
409{ 449{
410 unsigned opt; 450 unsigned opt;
411 char *signame; 451 const char *signame;
412 char *startas = NULL; 452 const char *startas = NULL;
413 char *chuid; 453 char *chuid;
454 const char *chdir;
455 const char *output = NULL;
414#if ENABLE_FEATURE_START_STOP_DAEMON_FANCY 456#if ENABLE_FEATURE_START_STOP_DAEMON_FANCY
415// char *retry_arg = NULL; 457// const char *retry_arg = NULL;
416// int retries = -1; 458// int retries = -1;
417 char *opt_N; 459 const char *opt_N;
418#endif 460#endif
419 461
420 INIT_G(); 462 INIT_G();
421 463
422 opt = GETOPT32(argv, "^" 464 opt = GETOPT32(argv, "^"
423 "KSbqtma:n:s:u:c:x:p:" 465 "KSbqtma:n:s:u:c:d:x:p:O:"
424 IF_FEATURE_START_STOP_DAEMON_FANCY("ovN:R:") 466 IF_FEATURE_START_STOP_DAEMON_FANCY("ovN:R:")
425 /* -K or -S is required; they are mutually exclusive */
426 /* -p is required if -m is given */
427 /* -xpun (at least one) is required if -K is given */
428// /* -xa (at least one) is required if -S is given */
429//WRONG: "start-stop-daemon -S -- sleep 5" is a valid invocation
430 /* -q turns off -v */
431 "\0" 467 "\0"
432 "K:S:K--S:S--K:m?p:K?xpun" 468 "K:S:K--S:S--K"
433 IF_FEATURE_START_STOP_DAEMON_FANCY("q-v"), 469 /* -K or -S is required; they are mutually exclusive */
470 ":m?p" /* -p is required if -m is given */
471 ":K?xpun" /* -xpun (at least one) is required if -K is given */
472 /* (the above does not seem to be enforced by Gentoo, it does nothing
473 * if no matching is specified with -K, and it ignores ARGS
474 * - does not take ARGS[0] as program name to kill)
475 */
476// ":S?xa" /* -xa (at least one) is required if -S is given */
477//Gentoo clone: "start-stop-daemon -S -- sleep 5" is a valid invocation
478 IF_FEATURE_START_STOP_DAEMON_FANCY(":q-v") /* -q turns off -v */
479 ,
434 LONGOPTS 480 LONGOPTS
435 &startas, &cmdname, &signame, &userspec, &chuid, &execname, &pidfile 481 &startas, &cmdname, &signame, &userspec, &chuid, &chdir, &execname, &pidfile, &output
436 IF_FEATURE_START_STOP_DAEMON_FANCY(,&opt_N) 482 IF_FEATURE_START_STOP_DAEMON_FANCY(,&opt_N)
437 /* We accept and ignore -R <param> / --retry <param> */ 483 /* We accept and ignore -R <param> / --retry <param> */
438 IF_FEATURE_START_STOP_DAEMON_FANCY(,NULL) 484 IF_FEATURE_START_STOP_DAEMON_FANCY(,NULL)
439 ); 485 );
440 486
487//-O requires --background and absolute pathname (tested with 1.21.22).
488//We don't bother requiring that (smaller code):
489//#if ENABLE_FEATURE_START_STOP_DAEMON_FANCY
490// if ((opt & OPT_OUTPUT) && !(opt & OPT_BACKGROUND))
491// bb_show_usage();
492//#endif
493
441 if (opt & OPT_s) { 494 if (opt & OPT_s) {
442 signal_nr = get_signum(signame); 495 signal_nr = get_signum(signame);
443 if (signal_nr < 0) bb_show_usage(); 496 if (signal_nr < 0) bb_show_usage();
@@ -464,7 +517,7 @@ int start_stop_daemon_main(int argc UNUSED_PARAM, char **argv)
464 } 517 }
465 if (!startas) /* -a is not given: use -x EXECUTABLE or argv[0] */ 518 if (!startas) /* -a is not given: use -x EXECUTABLE or argv[0] */
466 startas = execname; 519 startas = execname;
467 *--argv = startas; 520 *--argv = (char *)startas;
468 } 521 }
469 if (execname) { 522 if (execname) {
470 G.execname_sizeof = strlen(execname) + 1; 523 G.execname_sizeof = strlen(execname) + 1;
@@ -523,8 +576,11 @@ int start_stop_daemon_main(int argc UNUSED_PARAM, char **argv)
523 } 576 }
524 /* Child */ 577 /* Child */
525 setsid(); /* detach from controlling tty */ 578 setsid(); /* detach from controlling tty */
526 /* Redirect stdio to /dev/null, close extra FDs */ 579 /* Redirect stdin to /dev/null, close extra FDs */
527 bb_daemon_helper(DAEMON_DEVNULL_STDIO + DAEMON_CLOSE_EXTRA_FDS); 580 /* Testcase: "start-stop-daemon -Sb -d /does/not/exist usleep 1" should not eat error message */
581 bb_daemon_helper(DAEMON_DEVNULL_STDIN + DAEMON_CLOSE_EXTRA_FDS);
582 if (!output)
583 output = bb_dev_null; /* redirect output just before execv */
528 /* On Linux, session leader can acquire ctty 584 /* On Linux, session leader can acquire ctty
529 * unknowingly, by opening a tty. 585 * unknowingly, by opening a tty.
530 * Prevent this: stop being a session leader. 586 * Prevent this: stop being a session leader.
@@ -560,6 +616,15 @@ int start_stop_daemon_main(int argc UNUSED_PARAM, char **argv)
560 setgroups(1, &ugid.gid); 616 setgroups(1, &ugid.gid);
561 } 617 }
562 } 618 }
619 if (opt & OPT_d) {
620 xchdir(chdir);
621 }
622 if (output) {
623 int outfd = xopen(output, O_WRONLY | O_CREAT | O_APPEND);
624 xmove_fd(outfd, STDOUT_FILENO);
625 xdup2(STDOUT_FILENO, STDERR_FILENO);
626 /* on execv error, the message goes to -O file. This is intended */
627 }
563 /* Try: 628 /* Try:
564 * strace -oLOG start-stop-daemon -S -x /bin/usleep -a qwerty 500000 629 * strace -oLOG start-stop-daemon -S -x /bin/usleep -a qwerty 500000
565 * should exec "/bin/usleep", but argv[0] should be "qwerty": 630 * should exec "/bin/usleep", but argv[0] should be "qwerty":
diff --git a/editors/awk.c b/editors/awk.c
index 5045297cd..7fb629273 100644
--- a/editors/awk.c
+++ b/editors/awk.c
@@ -40,7 +40,7 @@
40//usage:#define awk_full_usage "\n\n" 40//usage:#define awk_full_usage "\n\n"
41//usage: " -v VAR=VAL Set variable" 41//usage: " -v VAR=VAL Set variable"
42//usage: "\n -F SEP Use SEP as field separator" 42//usage: "\n -F SEP Use SEP as field separator"
43//usage: "\n -f FILE Read program from FILE" 43//usage: "\n -f/-E FILE Read program from FILE"
44//usage: IF_FEATURE_AWK_GNU_EXTENSIONS( 44//usage: IF_FEATURE_AWK_GNU_EXTENSIONS(
45//usage: "\n -e AWK_PROGRAM" 45//usage: "\n -e AWK_PROGRAM"
46//usage: ) 46//usage: )
@@ -76,8 +76,8 @@
76 * 1: -argz 76 * 1: -argz
77 */ 77 */
78#define OPTSTR_AWK "+" \ 78#define OPTSTR_AWK "+" \
79 "F:v:*f:*" \ 79 "F:v:f:" \
80 IF_FEATURE_AWK_GNU_EXTENSIONS("e:*") \ 80 IF_FEATURE_AWK_GNU_EXTENSIONS("e:E:") \
81 "W:" 81 "W:"
82enum { 82enum {
83 OPTBIT_F, /* define field separator */ 83 OPTBIT_F, /* define field separator */
@@ -560,6 +560,7 @@ struct globals {
560 var *Fields; 560 var *Fields;
561 char *g_pos; 561 char *g_pos;
562 char g_saved_ch; 562 char g_saved_ch;
563 smallint got_program;
563 smallint icase; 564 smallint icase;
564 smallint exiting; 565 smallint exiting;
565 smallint nextrec; 566 smallint nextrec;
@@ -635,6 +636,7 @@ struct globals2 {
635#define Fields (G1.Fields ) 636#define Fields (G1.Fields )
636#define g_pos (G1.g_pos ) 637#define g_pos (G1.g_pos )
637#define g_saved_ch (G1.g_saved_ch ) 638#define g_saved_ch (G1.g_saved_ch )
639#define got_program (G1.got_program )
638#define icase (G1.icase ) 640#define icase (G1.icase )
639#define exiting (G1.exiting ) 641#define exiting (G1.exiting )
640#define nextrec (G1.nextrec ) 642#define nextrec (G1.nextrec )
@@ -2908,11 +2910,13 @@ static int next_input_file(void)
2908 } 2910 }
2909 fname = getvar_s(findvar(iamarray(intvar[ARGV]), utoa(argind))); 2911 fname = getvar_s(findvar(iamarray(intvar[ARGV]), utoa(argind)));
2910 if (fname && *fname) { 2912 if (fname && *fname) {
2911 /* "If a filename on the command line has the form 2913 if (got_program != 2) { /* there was no -E option */
2912 * var=val it is treated as a variable assignment" 2914 /* "If a filename on the command line has the form
2913 */ 2915 * var=val it is treated as a variable assignment"
2914 if (try_to_assign(fname)) 2916 */
2915 continue; 2917 if (try_to_assign(fname))
2918 continue;
2919 }
2916 iF.F = xfopen_stdin(fname); 2920 iF.F = xfopen_stdin(fname);
2917 setvar_i(intvar[ARGIND], argind); 2921 setvar_i(intvar[ARGIND], argind);
2918 break; 2922 break;
@@ -3695,13 +3699,7 @@ static int awk_exit(void)
3695int awk_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; 3699int awk_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
3696int awk_main(int argc UNUSED_PARAM, char **argv) 3700int awk_main(int argc UNUSED_PARAM, char **argv)
3697{ 3701{
3698 unsigned opt; 3702 int ch;
3699 char *opt_F;
3700 llist_t *list_v = NULL;
3701 llist_t *list_f = NULL;
3702#if ENABLE_FEATURE_AWK_GNU_EXTENSIONS
3703 llist_t *list_e = NULL;
3704#endif
3705 int i; 3703 int i;
3706 3704
3707 INIT_G(); 3705 INIT_G();
@@ -3750,52 +3748,71 @@ int awk_main(int argc UNUSED_PARAM, char **argv)
3750 } 3748 }
3751 } 3749 }
3752 } 3750 }
3753 opt = getopt32(argv, OPTSTR_AWK, &opt_F, &list_v, &list_f, IF_FEATURE_AWK_GNU_EXTENSIONS(&list_e,) NULL);
3754 argv += optind;
3755 //argc -= optind;
3756 if (opt & OPT_W)
3757 bb_simple_error_msg("warning: option -W is ignored");
3758 if (opt & OPT_F) {
3759 unescape_string_in_place(opt_F);
3760 setvar_s(intvar[FS], opt_F);
3761 }
3762 while (list_v) {
3763 if (!try_to_assign(llist_pop(&list_v)))
3764 bb_show_usage();
3765 }
3766 3751
3767 /* Parse all supplied programs */
3768 fnhash = hash_init(); 3752 fnhash = hash_init();
3769 ahash = hash_init(); 3753 ahash = hash_init();
3770 while (list_f) {
3771 int fd;
3772 char *s;
3773 3754
3774 g_progname = llist_pop(&list_f); 3755 /* Cannot use getopt32: need to preserve order of -e / -f / -E / -i */
3775 fd = xopen_stdin(g_progname); 3756 while ((ch = getopt(argc, argv, OPTSTR_AWK)) >= 0) {
3757 switch (ch) {
3758 case 'F':
3759 unescape_string_in_place(optarg);
3760 setvar_s(intvar[FS], optarg);
3761 break;
3762 case 'v':
3763 if (!try_to_assign(optarg))
3764 bb_show_usage();
3765 break;
3766//TODO: implement -i LIBRARY, it is easy-ish
3767 case 'E':
3768 case 'f': {
3769 int fd;
3770 char *s;
3771 g_progname = optarg;
3772 fd = xopen_stdin(g_progname);
3776#if ENABLE_PLATFORM_MINGW32 3773#if ENABLE_PLATFORM_MINGW32
3777 _setmode(fd, _O_TEXT); 3774 _setmode(fd, _O_TEXT);
3778#endif 3775#endif
3779 s = xmalloc_read(fd, NULL); /* it's NUL-terminated */ 3776 s = xmalloc_read(fd, NULL); /* it's NUL-terminated */
3780 if (!s) 3777 if (!s)
3781 bb_perror_msg_and_die("read error from '%s'", g_progname); 3778 bb_perror_msg_and_die("read error from '%s'", g_progname);
3782 close(fd); 3779 close(fd);
3783 parse_program(s); 3780 parse_program(s);
3784 free(s); 3781 free(s);
3785 } 3782 got_program = 1;
3786 g_progname = "cmd. line"; 3783 if (ch == 'E') {
3784 got_program = 2;
3785 goto stop_option_parsing;
3786 }
3787 break;
3788 }
3787#if ENABLE_FEATURE_AWK_GNU_EXTENSIONS 3789#if ENABLE_FEATURE_AWK_GNU_EXTENSIONS
3788 while (list_e) { 3790 case 'e':
3789 parse_program(llist_pop(&list_e)); 3791 g_progname = "cmd. line";
3790 } 3792 parse_program(optarg);
3793 got_program = 1;
3794 break;
3791#endif 3795#endif
3792//FIXME: preserve order of -e and -f 3796 case 'W':
3793//TODO: implement -i LIBRARY and -E FILE too, they are easy-ish 3797 bb_simple_error_msg("warning: option -W is ignored");
3794 if (!(opt & (OPT_f | OPT_e))) { 3798 break;
3799 default:
3800//bb_error_msg("ch:%d", ch);
3801 bb_show_usage();
3802 }
3803 }
3804 stop_option_parsing:
3805
3806 argv += optind;
3807 //argc -= optind;
3808
3809 if (!got_program) {
3795 if (!*argv) 3810 if (!*argv)
3796 bb_show_usage(); 3811 bb_show_usage();
3812 g_progname = "cmd. line";
3797 parse_program(*argv++); 3813 parse_program(*argv++);
3798 } 3814 }
3815
3799 /* Free unused parse structures */ 3816 /* Free unused parse structures */
3800 //hash_free(fnhash); // ~250 bytes when empty, used only for function names 3817 //hash_free(fnhash); // ~250 bytes when empty, used only for function names
3801 //^^^^^^^^^^^^^^^^^ does not work, hash_clear() inside SEGVs 3818 //^^^^^^^^^^^^^^^^^ does not work, hash_clear() inside SEGVs
diff --git a/include/libbb.h b/include/libbb.h
index bbb3108a9..0682e34ea 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -1374,10 +1374,12 @@ void _exit_FAILURE(void) NORETURN FAST_FUNC;
1374 */ 1374 */
1375enum { 1375enum {
1376 DAEMON_CHDIR_ROOT = 1 << 0, 1376 DAEMON_CHDIR_ROOT = 1 << 0,
1377 DAEMON_DEVNULL_STDIO = 1 << 1, 1377 DAEMON_DEVNULL_STDIN = 1 << 1,
1378 DAEMON_CLOSE_EXTRA_FDS = 1 << 2, 1378 DAEMON_DEVNULL_OUTERR = 2 << 1,
1379 DAEMON_ONLY_SANITIZE = 1 << 3, /* internal use */ 1379 DAEMON_DEVNULL_STDIO = 3 << 1,
1380 //DAEMON_DOUBLE_FORK = 1 << 4, /* double fork to avoid controlling tty */ 1380 DAEMON_CLOSE_EXTRA_FDS = 1 << 3,
1381 DAEMON_ONLY_SANITIZE = 1 << 4, /* internal use */
1382 //DAEMON_DOUBLE_FORK = 1 << 5, /* double fork to avoid controlling tty */
1381}; 1383};
1382#if BB_MMU 1384#if BB_MMU
1383 enum { re_execed = 0 }; 1385 enum { re_execed = 0 };
@@ -1400,6 +1402,7 @@ enum {
1400# define bb_daemonize(a) BUG_bb_daemonize_is_unavailable_on_nommu() 1402# define bb_daemonize(a) BUG_bb_daemonize_is_unavailable_on_nommu()
1401#endif 1403#endif
1402void bb_daemonize_or_rexec(int flags, char **argv) FAST_FUNC; 1404void bb_daemonize_or_rexec(int flags, char **argv) FAST_FUNC;
1405/* Unlike bb_daemonize_or_rexec, these two helpers do not setsid: */
1403void bb_sanitize_stdio(void) FAST_FUNC; 1406void bb_sanitize_stdio(void) FAST_FUNC;
1404#define bb_daemon_helper(arg) bb_daemonize_or_rexec((arg) | DAEMON_ONLY_SANITIZE, NULL) 1407#define bb_daemon_helper(arg) bb_daemonize_or_rexec((arg) | DAEMON_ONLY_SANITIZE, NULL)
1405/* Clear dangerous stuff, set PATH. Return 1 if was run by different user. */ 1408/* Clear dangerous stuff, set PATH. Return 1 if was run by different user. */
@@ -1409,6 +1412,7 @@ int sanitize_env_if_suid(void) FAST_FUNC;
1409/* For top, ps. Some argv[i] are replaced by malloced "-opt" strings */ 1412/* For top, ps. Some argv[i] are replaced by malloced "-opt" strings */
1410void make_all_argv_opts(char **argv) FAST_FUNC; 1413void make_all_argv_opts(char **argv) FAST_FUNC;
1411char* single_argv(char **argv) FAST_FUNC; 1414char* single_argv(char **argv) FAST_FUNC;
1415char **skip_dash_dash(char **argv) FAST_FUNC;
1412extern const char *const bb_argv_dash[]; /* { "-", NULL } */ 1416extern const char *const bb_argv_dash[]; /* { "-", NULL } */
1413extern uint32_t option_mask32; 1417extern uint32_t option_mask32;
1414uint32_t getopt32(char **argv, const char *applet_opts, ...) FAST_FUNC; 1418uint32_t getopt32(char **argv, const char *applet_opts, ...) FAST_FUNC;
diff --git a/libbb/single_argv.c b/libbb/single_argv.c
index 64844ddf8..594cb0d8d 100644
--- a/libbb/single_argv.c
+++ b/libbb/single_argv.c
@@ -8,11 +8,18 @@
8 */ 8 */
9#include "libbb.h" 9#include "libbb.h"
10 10
11char* FAST_FUNC single_argv(char **argv) 11char** FAST_FUNC skip_dash_dash(char **argv)
12{ 12{
13 if (argv[1] && strcmp(argv[1], "--") == 0) 13 argv++;
14 if (argv[0] && argv[0][0] == '-' && argv[0][1] == '-' && argv[0][2] == '\0')
14 argv++; 15 argv++;
15 if (!argv[1] || argv[2]) 16 return argv;
17}
18
19char* FAST_FUNC single_argv(char **argv)
20{
21 argv = skip_dash_dash(argv);
22 if (!argv[0] || argv[1])
16 bb_show_usage(); 23 bb_show_usage();
17 return argv[1]; 24 return argv[0];
18} 25}
diff --git a/libbb/vfork_daemon_rexec.c b/libbb/vfork_daemon_rexec.c
index 3845c0892..dad50ddb9 100644
--- a/libbb/vfork_daemon_rexec.c
+++ b/libbb/vfork_daemon_rexec.c
@@ -301,9 +301,12 @@ void FAST_FUNC bb_daemonize_or_rexec(int flags, char **argv)
301 } 301 }
302 302
303 if (flags & DAEMON_DEVNULL_STDIO) { 303 if (flags & DAEMON_DEVNULL_STDIO) {
304 xdup2(fd, 0); 304 if (flags & DAEMON_DEVNULL_STDIN)
305 xdup2(fd, 1); 305 xdup2(fd, 0);
306 xdup2(fd, 2); 306 if (flags & DAEMON_DEVNULL_OUTERR) {
307 xdup2(fd, 1);
308 xdup2(fd, 2);
309 }
307 } else { 310 } else {
308 /* have 0,1,2 open at least to /dev/null */ 311 /* have 0,1,2 open at least to /dev/null */
309 while ((unsigned)fd < 2) 312 while ((unsigned)fd < 2)
diff --git a/networking/udhcp/d6_dhcpc.c b/networking/udhcp/d6_dhcpc.c
index cdd06188e..a72fd31bd 100644
--- a/networking/udhcp/d6_dhcpc.c
+++ b/networking/udhcp/d6_dhcpc.c
@@ -961,6 +961,7 @@ static NOINLINE int d6_recv_raw_packet(struct in6_addr *peer_ipv6, struct d6_pac
961 d6_dump_packet(&packet.data); 961 d6_dump_packet(&packet.data);
962 962
963 bytes -= sizeof(packet.ip6) + sizeof(packet.udp); 963 bytes -= sizeof(packet.ip6) + sizeof(packet.udp);
964 memset(d6_pkt, 0, sizeof(*d6_pkt));
964 memcpy(d6_pkt, &packet.data, bytes); 965 memcpy(d6_pkt, &packet.data, bytes);
965 return bytes; 966 return bytes;
966} 967}
diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c
index 200a2fb8a..07e2eadfe 100644
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
@@ -966,7 +966,7 @@ static NOINLINE int d4_recv_raw_packet(struct dhcp_packet *dhcp_pkt, int fd)
966 check = packet.udp.check; 966 check = packet.udp.check;
967 packet.udp.check = 0; 967 packet.udp.check = 0;
968 if (check && check != inet_cksum(&packet, bytes)) { 968 if (check && check != inet_cksum(&packet, bytes)) {
969 log1s("packet with bad UDP checksum received, ignoring"); 969 log1s("packet with bad UDP checksum, ignoring");
970 return -2; 970 return -2;
971 } 971 }
972 skip_udp_sum_check: 972 skip_udp_sum_check:
@@ -981,6 +981,7 @@ static NOINLINE int d4_recv_raw_packet(struct dhcp_packet *dhcp_pkt, int fd)
981 udhcp_dump_packet(&packet.data); 981 udhcp_dump_packet(&packet.data);
982 982
983 bytes -= sizeof(packet.ip) + sizeof(packet.udp); 983 bytes -= sizeof(packet.ip) + sizeof(packet.udp);
984 memset(dhcp_pkt, 0, sizeof(*dhcp_pkt));
984 memcpy(dhcp_pkt, &packet.data, bytes); 985 memcpy(dhcp_pkt, &packet.data, bytes);
985 return bytes; 986 return bytes;
986} 987}
diff --git a/procps/top.c b/procps/top.c
index 6d25d9633..09d31c673 100644
--- a/procps/top.c
+++ b/procps/top.c
@@ -713,7 +713,10 @@ typedef struct { unsigned quot, rem; } bb_div_t;
713 ppu = ppubuf; 713 ppu = ppubuf;
714 if (n != 6+6+8) { 714 if (n != 6+6+8) {
715 /* Format PID PPID USER part into 6+6+8 chars: 715 /* Format PID PPID USER part into 6+6+8 chars:
716 * shrink PID/PPID if possible, then truncate USER 716 * shrink PID/PPID if possible, then truncate USER.
717 * Tested on Linux 5.18.0:
718 * sysctl kernel.pid_max=4194304 is the maximum allowed,
719 * so PID and PPID are 7 chars wide at most.
717 */ 720 */
718 char *p, *pp; 721 char *p, *pp;
719 if (*ppu == ' ') { 722 if (*ppu == ' ') {
@@ -857,11 +860,15 @@ static void display_topmem_header(int scr_width, int *lines_rem_p)
857 (*lines_rem_p) -= 3; 860 (*lines_rem_p) -= 3;
858} 861}
859 862
860static void ulltoa6_and_space(unsigned long long ul, char buf[6]) 863/* see http://en.wikipedia.org/wiki/Tera */
864static void ulltoa5_and_space(unsigned long long ul, char buf[6])
861{ 865{
862 /* see http://en.wikipedia.org/wiki/Tera */
863 smart_ulltoa5(ul, buf, " mgtpezy")[0] = ' '; 866 smart_ulltoa5(ul, buf, " mgtpezy")[0] = ' ';
864} 867}
868static void ulltoa4_and_space(unsigned long long ul, char buf[5])
869{
870 smart_ulltoa4(ul, buf, " mgtpezy")[0] = ' ';
871}
865 872
866static NOINLINE void display_topmem_process_list(int lines_rem, int scr_width) 873static NOINLINE void display_topmem_process_list(int lines_rem, int scr_width)
867{ 874{
@@ -887,16 +894,24 @@ static NOINLINE void display_topmem_process_list(int lines_rem, int scr_width)
887 while (--lines_rem >= 0) { 894 while (--lines_rem >= 0) {
888 /* PID VSZ VSZRW RSS (SHR) DIRTY (SHR) COMMAND */ 895 /* PID VSZ VSZRW RSS (SHR) DIRTY (SHR) COMMAND */
889 int n = sprintf(line_buf, "%5u ", s->pid); 896 int n = sprintf(line_buf, "%5u ", s->pid);
890 ulltoa6_and_space(s->vsz , &line_buf[1*6]); 897 if (n > 7) {
891 if (n > 7 || (n == 7 && line_buf[6] != ' ')) 898 /* PID is 7 chars long (up to 4194304) */
892 /* PID and VSZ are clumped together, truncate PID */ 899 ulltoa4_and_space(s->vsz , &line_buf[8]);
893 line_buf[5] = '.'; 900 ulltoa4_and_space(s->vszrw, &line_buf[8+5]);
894 ulltoa6_and_space(s->vszrw , &line_buf[2*6]); 901 /* the next field (RSS) starts at 8+10 = 3*6 */
895 ulltoa6_and_space(s->rss , &line_buf[3*6]); 902 } else {
896 ulltoa6_and_space(s->rss_sh , &line_buf[4*6]); 903 if (n == 7) /* PID is 6 chars long */
897 ulltoa6_and_space(s->dirty , &line_buf[5*6]); 904 ulltoa4_and_space(s->vsz, &line_buf[7]);
898 ulltoa6_and_space(s->dirty_sh, &line_buf[6*6]); 905 /* the next field (VSZRW) starts at 7+5 = 2*6 */
899 ulltoa6_and_space(s->stack , &line_buf[7*6]); 906 else /* PID is 5 chars or less */
907 ulltoa5_and_space(s->vsz, &line_buf[6]);
908 ulltoa5_and_space(s->vszrw, &line_buf[2*6]);
909 }
910 ulltoa5_and_space(s->rss , &line_buf[3*6]);
911 ulltoa5_and_space(s->rss_sh , &line_buf[4*6]);
912 ulltoa5_and_space(s->dirty , &line_buf[5*6]);
913 ulltoa5_and_space(s->dirty_sh, &line_buf[6*6]);
914 ulltoa5_and_space(s->stack , &line_buf[7*6]);
900 line_buf[8*6] = '\0'; 915 line_buf[8*6] = '\0';
901 if (scr_width > (int)MIN_WIDTH) { 916 if (scr_width > (int)MIN_WIDTH) {
902 read_cmdline(&line_buf[8*6], scr_width - MIN_WIDTH, s->pid, s->comm); 917 read_cmdline(&line_buf[8*6], scr_width - MIN_WIDTH, s->pid, s->comm);
diff --git a/shell/hush.c b/shell/hush.c
index 8e632e0af..ca01e2b5b 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -10883,14 +10883,6 @@ static int FAST_FUNC builtin_history(char **argv UNUSED_PARAM)
10883} 10883}
10884#endif 10884#endif
10885 10885
10886static char **skip_dash_dash(char **argv)
10887{
10888 argv++;
10889 if (argv[0] && argv[0][0] == '-' && argv[0][1] == '-' && argv[0][2] == '\0')
10890 argv++;
10891 return argv;
10892}
10893
10894static int FAST_FUNC builtin_cd(char **argv) 10886static int FAST_FUNC builtin_cd(char **argv)
10895{ 10887{
10896 const char *newdir; 10888 const char *newdir;
diff --git a/sysklogd/syslogd.c b/sysklogd/syslogd.c
index 83b5c0cf6..7558051f0 100644
--- a/sysklogd/syslogd.c
+++ b/sysklogd/syslogd.c
@@ -956,9 +956,7 @@ static void do_mark(int sig)
956} 956}
957#endif 957#endif
958 958
959/* Don't inline: prevent struct sockaddr_un to take up space on stack 959static int create_socket(void)
960 * permanently */
961static NOINLINE int create_socket(void)
962{ 960{
963 struct sockaddr_un sunx; 961 struct sockaddr_un sunx;
964 int sock_fd; 962 int sock_fd;
@@ -1008,6 +1006,7 @@ static int try_to_resolve_remote(remoteHost_t *rh)
1008static int NOINLINE syslogd_init(char **argv) 1006static int NOINLINE syslogd_init(char **argv)
1009{ 1007{
1010 int opts; 1008 int opts;
1009 int fd;
1011 char OPTION_DECL; 1010 char OPTION_DECL;
1012#if ENABLE_FEATURE_REMOTE_LOG 1011#if ENABLE_FEATURE_REMOTE_LOG
1013 llist_t *remoteAddrList = NULL; 1012 llist_t *remoteAddrList = NULL;
@@ -1055,7 +1054,7 @@ static int NOINLINE syslogd_init(char **argv)
1055 G.hostname = safe_gethostname(); 1054 G.hostname = safe_gethostname();
1056 *strchrnul(G.hostname, '.') = '\0'; 1055 *strchrnul(G.hostname, '.') = '\0';
1057 1056
1058 xmove_fd(create_socket(), STDIN_FILENO); 1057 fd = create_socket();
1059 1058
1060 if (opts & OPT_circularlog) 1059 if (opts & OPT_circularlog)
1061 ipcsyslog_init(); 1060 ipcsyslog_init();
@@ -1067,6 +1066,8 @@ static int NOINLINE syslogd_init(char **argv)
1067 bb_daemonize_or_rexec(DAEMON_CHDIR_ROOT, argv); 1066 bb_daemonize_or_rexec(DAEMON_CHDIR_ROOT, argv);
1068 } 1067 }
1069 1068
1069 xmove_fd(fd, STDIN_FILENO);
1070
1070 /* Set up signal handlers (so that they interrupt read()) */ 1071 /* Set up signal handlers (so that they interrupt read()) */
1071 signal_no_SA_RESTART_empty_mask(SIGTERM, record_signo); 1072 signal_no_SA_RESTART_empty_mask(SIGTERM, record_signo);
1072 signal_no_SA_RESTART_empty_mask(SIGINT, record_signo); 1073 signal_no_SA_RESTART_empty_mask(SIGINT, record_signo);
diff --git a/testsuite/start-stop-daemon.tests b/testsuite/start-stop-daemon.tests
index 0757b1288..e1e49ab5f 100755
--- a/testsuite/start-stop-daemon.tests
+++ b/testsuite/start-stop-daemon.tests
@@ -11,6 +11,21 @@ testing "start-stop-daemon -x without -a" \
11 "0\n" \ 11 "0\n" \
12 "" "" 12 "" ""
13 13
14testing "start-stop-daemon -x with -d on existing directory" \
15 'start-stop-daemon -S -d /tmp -x true 2>&1; echo $?' \
16 "0\n" \
17 "" ""
18
19testing "start-stop-daemon -x with -d on existing and check dir" \
20 'output=$(start-stop-daemon -S -d /tmp -x pwd); echo $output' \
21 "/tmp\n" \
22 "" ""
23
24testing "start-stop-daemon -x with --chdir on existing and check dir" \
25 'output=$(start-stop-daemon -S --chdir /tmp -x pwd); echo $output' \
26 "/tmp\n" \
27 "" ""
28
14testing "start-stop-daemon -a without -x" \ 29testing "start-stop-daemon -a without -x" \
15 'start-stop-daemon -S -a false 2>&1; echo $?' \ 30 'start-stop-daemon -S -a false 2>&1; echo $?' \
16 "1\n" \ 31 "1\n" \
@@ -21,6 +36,11 @@ testing "start-stop-daemon without -x and -a" \
21 "1\n" \ 36 "1\n" \
22 "" "" 37 "" ""
23 38
39testing "start-stop-daemon -x with -d on non-existing directory" \
40 'start-stop-daemon -S -d /non-existent -x true > /dev/null 2>&1; echo $?' \
41 "1\n" \
42 "" ""
43
24# This runs /bin/false with argv[0..2] of { "qwerty", "false", NULL }. 44# This runs /bin/false with argv[0..2] of { "qwerty", "false", NULL }.
25# 45#
26# Unfortunately, this does not actually check argv[0] correctness, 46# Unfortunately, this does not actually check argv[0] correctness,