# HG changeset patch # User Pascal Bellard # Date 1486824433 -3600 # Node ID b422abc85a5f85a5242d0e5301259e9afafbbf6e # Parent f04e6a2d12240e4cd20316ae2c134fd35dec440d Up busybox (1.26.2) diff -r f04e6a2d1224 -r b422abc85a5f busybox/receipt --- a/busybox/receipt Mon Dec 26 16:37:28 2016 +0100 +++ b/busybox/receipt Sat Feb 11 15:47:13 2017 +0100 @@ -1,7 +1,7 @@ # SliTaz package receipt. PACKAGE="busybox" -VERSION="1.18.4" +VERSION="1.26.2" CATEGORY="base-system" SHORT_DESC="Busybox combines tiny versions of many common UNIX utilities." MAINTAINER="pascal.bellard@slitaz.org" @@ -28,9 +28,16 @@ stat.u ris.u zmodules.u -printable.u cmdline.u -conspy.u +diff.u +diet.u +losetup.u +fbvnc.u +cpio.u +ftpd.u +shutdown.u +scriptreplay.u +bug9471.u EOT cp $stuff/$PACKAGE-${VERSION%.*}.config .config var="CONFIG_CROSS_COMPILER_PREFIX" @@ -122,6 +129,7 @@ rootfs/etc/init.d/*.sh sed -i 's/^#.*//;/^$/d' rootfs/etc/*.conf rootfs/etc/*tab \ rootfs/etc/profile rootfs/etc/securetty rootfs/etc/shells + find rootfs -exec touch -r rootfs {} \; ( cd rootfs ; find | cpio -o -H newc ) > rootfs.cpio du -h rootfs.cpio diff -r f04e6a2d1224 -r b422abc85a5f busybox/stuff/busybox-1.18-cmdline.u --- a/busybox/stuff/busybox-1.18-cmdline.u Mon Dec 26 16:37:28 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +0,0 @@ -Display command line in usage output. Useful to debug scripts with variables. ---- busybox-1.18.1/libbb/appletlib.c -+++ busybox-1.18.1/libbb/appletlib.c -@@ -97,9 +97,16 @@ - - #endif /* FEATURE_COMPRESS_USAGE */ - -- -+static char **bb_argv; - void FAST_FUNC bb_show_usage(void) - { -+ full_write2_str("\nCommand line: "); -+ while (*bb_argv) { -+ full_write2_str(*bb_argv++); -+ full_write2_str(" "); -+ } -+ full_write2_str("\n\n"); -+ - if (ENABLE_SHOW_USAGE) { - #ifdef SINGLE_APPLET_STR - /* Imagine that this applet is "true". Dont suck in printf! */ -@@ -635,6 +642,7 @@ - /* If we were called as "busybox..." */ - static int busybox_main(char **argv) - { -+ bb_argv = argv; - if (!argv[1]) { - /* Called without arguments */ - const char *a; -@@ -785,6 +793,7 @@ - int main(int argc UNUSED_PARAM, char **argv) - #endif - { -+ bb_argv = argv; - /* Tweak malloc for reduced memory consumption */ - #ifndef PAGE_SIZE - # define PAGE_SIZE (4*1024) /* guess */ diff -r f04e6a2d1224 -r b422abc85a5f busybox/stuff/busybox-1.18-conspy.u --- a/busybox/stuff/busybox-1.18-conspy.u Mon Dec 26 16:37:28 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ -Fix esc keys leak ---- busybox-1.18.0/miscutils/conspy.c -+++ busybox-1.18.0/miscutils/conspy.c -@@ -506,16 +506,17 @@ - } - } - poll_timeout_ms = 250; -+ if (option_mask32 & FLAG(v)) continue; - - // Insert all keys pressed into the virtual console's input - // buffer. Don't do this if the virtual console is in scan - // code mode - giving ASCII characters to a program expecting - // scan codes will confuse it. -- if (!(option_mask32 & FLAG(v)) && G.escape_count == 0) { -+ G.key_count += bytes_read; -+ if (G.escape_count == 0) { - int handle, result; - long kbd_mode; - -- G.key_count += bytes_read; - handle = xopen(tty_name, O_WRONLY); - result = ioctl(handle, KDGKBMODE, &kbd_mode); - if (result >= 0) { diff -r f04e6a2d1224 -r b422abc85a5f busybox/stuff/busybox-1.18-printable.u --- a/busybox/stuff/busybox-1.18-printable.u Mon Dec 26 16:37:28 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,24 +0,0 @@ -fix the bug of 'ls cannot display utf-8 filenames' ---- busybox-1.17.3/libbb/printable_string.c -+++ busybox-printable/libbb/printable_string.c -@@ -31,8 +31,8 @@ - } - if (c < ' ') - break; -- if (c >= 0x7f) -- break; -+ /* if (c >= 0x7f) */ -+ /* break; */ - s++; - } - -@@ -45,7 +45,8 @@ - unsigned char c = *d; - if (c == '\0') - break; -- if (c < ' ' || c >= 0x7f) -+ /* if (c < ' ' || c >= 0x7f) */ -+ if (c < ' ') - *d = '?'; - d++; - } diff -r f04e6a2d1224 -r b422abc85a5f busybox/stuff/busybox-1.18-ris.u --- a/busybox/stuff/busybox-1.18-ris.u Mon Dec 26 16:37:28 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,93 +0,0 @@ -Add support for the Windows Remote Installation Service ---- busybox-1.17.1/networking/Config.src -+++ busybox-1.17.1/networking/Config.src -@@ -863,6 +863,15 @@ - comment "Common options for tftp/tftpd" - depends on TFTP || TFTPD - -+config FEATURE_TFTPD_RIS -+ bool "Enable \"RIS\" support" -+ default y -+ depends on TFTPD -+ help -+ Add support for the Windows Remote Installation Service. This allows -+ a client to get files starting with \ without respecting case. -+ Each \ will be replaced by a /. -+ - config FEATURE_TFTP_GET - bool "Enable 'tftp get' and/or tftpd upload code" - default y - ---- busybox-1.18.2/networking/tftp.c -+++ busybox-1.18.2/networking/tftp.c -@@ -641,6 +641,59 @@ - #undef remote_file - } - -+#if ENABLE_FEATURE_TFTPD_RIS -+#include -+ -+static int lookup_entry(const char *search, char *unixpath); -+static void unixfilename(char *filename); -+ -+// lookup search and concat real filename to unixpath -+static int lookup_entry(const char *search, char *unixpath) -+{ -+ int status = 0; -+ DIR *dirp = opendir(unixpath[0] ? unixpath : "."); -+ -+ if (dirp != NULL) { -+ struct dirent *entry; -+ -+ while ((entry = readdir(dirp))) { -+ if (!strcasecmp(entry->d_name, search)) { -+ if (unixpath[0]) strcat(unixpath, "/"); -+ strcat(unixpath, entry->d_name); -+ status++; -+ break; -+ } -+ } -+ closedir(dirp); -+ } -+ return status; -+} -+ -+// update filename with real file path found -+static void unixfilename(char *filename) -+{ -+ char unixpath[PATH_MAX]; -+ char *s = unixpath + 1; -+ char *check = filename + 1; -+ int len; -+ -+ for (unixpath[0] = 0; *check; len++, s += len, check += len) { -+ char *seek = strchr(check, '\\'); -+ -+ if (!seek) { // basename of filename -+ if (lookup_entry(check, unixpath)) -+ strcpy(filename, unixpath); // found -+ break; -+ } -+ len = seek - check; -+ memcpy(s, check, len); -+ s[len] = '\0'; -+ if (!lookup_entry(s, unixpath)) -+ break; // path mismatch -+ } -+} -+#endif -+ - #if ENABLE_TFTP - - int tftp_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; -@@ -770,6 +823,10 @@ - goto err; - } - local_file = block_buf + 2; -+#if ENABLE_FEATURE_TFTPD_RIS -+ if (local_file[0] == '\\') -+ unixfilename(local_file); -+#endif - if (local_file[0] == '.' || strstr(local_file, "/.")) { - error_msg = "dot in file name"; - goto err; diff -r f04e6a2d1224 -r b422abc85a5f busybox/stuff/busybox-1.18-stat.u --- a/busybox/stuff/busybox-1.18-stat.u Mon Dec 26 16:37:28 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,77 +0,0 @@ -Add non standard stat -m support to display file block list -Useful to patch read-only filesystems such as ISO9660, for defragmentation -tools or boot loaders ---- busybox-1.18.0/include/usage.src.h -+++ busybox-1.18.0/include/usage.src.h -@@ -3654,6 +3654,7 @@ - "\n -f Display filesystem status" \ - "\n -L Follow links" \ - "\n -t Display info in terse form" \ -+ "\n -m Display block list" \ - IF_SELINUX( \ - "\n -Z Print security context" \ - ) \ - ---- busybox-1.17.1/coreutils/stat.c -+++ busybox-1.17.1/coreutils/stat.c -@@ -13,11 +13,13 @@ - * Licensed under GPLv2 or later, see file LICENSE in this source tree. - */ - #include "libbb.h" -+#include - - #define OPT_FILESYS (1 << 0) - #define OPT_TERSE (1 << 1) - #define OPT_DEREFERENCE (1 << 2) --#define OPT_SELINUX (1 << 3) -+#define OPT_MAP (1 << 3) -+#define OPT_SELINUX (1 << 4) - - #if ENABLE_FEATURE_STAT_FORMAT - typedef bool (*statfunc_ptr)(const char *, const char *); -@@ -359,6 +361,26 @@ - - /* Stat the file system and print what we find. */ - #if !ENABLE_FEATURE_STAT_FORMAT -+#define do_mapfile(filename, format) do_mapfile(filename) -+#endif -+static bool do_mapfile(const char *filename, const char *format) -+{ -+ int i = 0; -+ int fd = xopen(filename, O_RDONLY); -+ -+#if ENABLE_FEATURE_STAT_FORMAT -+ (void) format; -+#endif -+ while (1) { -+ int blk = i++; -+ if (ioctl(fd,FIBMAP,&blk) < 0 || blk == 0) break; -+ printf("%u\n",blk); -+ } -+ return 1; -+} -+ -+/* Stat the file system and print what we find. */ -+#if !ENABLE_FEATURE_STAT_FORMAT - #define do_statfs(filename, format) do_statfs(filename) - #endif - static bool do_statfs(const char *filename, const char *format) -@@ -648,7 +670,7 @@ - statfunc_ptr statfunc = do_stat; - - opt_complementary = "-1"; /* min one arg */ -- opts = getopt32(argv, "ftL" -+ opts = getopt32(argv, "ftLm" - IF_SELINUX("Z") - IF_FEATURE_STAT_FORMAT("c:", &format) - ); -@@ -659,6 +681,9 @@ - selinux_or_die(); - } - #endif -+ if (opts & OPT_MAP) { /* -m */ -+ statfunc = do_mapfile; -+ } - ok = 1; - argv += optind; - for (i = 0; argv[i]; ++i) diff -r f04e6a2d1224 -r b422abc85a5f busybox/stuff/busybox-1.18-tar.u --- a/busybox/stuff/busybox-1.18-tar.u Mon Dec 26 16:37:28 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,15 +0,0 @@ -Accept and ignore --wildcards argument ---- busybox-1.18.0/archival/tar.c -+++ busybox-1.18.0/archival/tar.c -@@ -840,8 +840,10 @@ - "touch\0" No_argument "m" - # endif - # if ENABLE_FEATURE_TAR_TO_COMMAND -- "to-command\0" Required_argument "\xfb" -+ "to-command\0" Required_argument "\xfa" - # endif -+ /* ignore --wildcards */ -+ "wildcards\0" No_argument "\xfb" - /* use numeric uid/gid from tar header, not textual */ - "numeric-owner\0" No_argument "\xfc" - /* do not restore mode */ diff -r f04e6a2d1224 -r b422abc85a5f busybox/stuff/busybox-1.18-zmodules.u --- a/busybox/stuff/busybox-1.18-zmodules.u Mon Dec 26 16:37:28 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,52 +0,0 @@ -Add LZMA_DEFAULT_MAGIC support ---- busybox-1.18.0/include/archive.h -+++ busybox-1.18.0/include/archive.h -@@ -9,6 +9,8 @@ - COMPRESS_MAGIC = 0x1f9d, - GZIP_MAGIC = 0x1f8b, - BZIP2_MAGIC = 'B' * 256 + 'Z', -+ /* lzma default options: lc=3 lp=0 pb=2, historic % 256 == 0 */ -+ LZMA_DEFAULT_MAGIC = 0x5d00, - /* .xz signature: 0xfd, '7', 'z', 'X', 'Z', 0x00 */ - /* More info at: http://tukaani.org/xz/xz-file-format.txt */ - XZ_MAGIC1 = 0xfd * 256 + '7', -@@ -20,6 +22,8 @@ - COMPRESS_MAGIC = 0x9d1f, - GZIP_MAGIC = 0x8b1f, - BZIP2_MAGIC = 'Z' * 256 + 'B', -+ /* lzma default options: lc=3 lp=0 pb=2, historic % 256 == 0 */ -+ LZMA_DEFAULT_MAGIC = 0x5d, - XZ_MAGIC1 = '7' * 256 + 0xfd, - XZ_MAGIC2 = ((0 * 256 + 'Z') * 256 + 'X') * 256 + 'z', - XZ_MAGIC1a = (('X' * 256 + 'z') * 256 + '7') * 256 + 0xfd, - ---- busybox-1.17.1/libbb/read_printf.c -+++ busybox-1.17.1/libbb/read_printf.c -@@ -286,6 +286,17 @@ - # endif - goto found_magic; - } -+ if (ENABLE_FEATURE_SEAMLESS_LZMA -+ && magic.b16[0] == LZMA_DEFAULT_MAGIC -+ ) { -+# if BB_MMU -+ xformer = unpack_lzma_stream; -+ xlseek(fd, offset, SEEK_CUR); -+# else -+ xformer_prog = "unlzma"; -+# endif -+ goto found_magic; -+ } - if (ENABLE_FEATURE_SEAMLESS_XZ - && magic.b16[0] == XZ_MAGIC1 - ) { -@@ -342,7 +353,8 @@ - /* .lzma has no header/signature, just trust it */ - open_transformer(fd, unpack_lzma_stream, "unlzma"); - else -- if ((ENABLE_FEATURE_SEAMLESS_GZ && strcmp(sfx, "gz") == 0) -+ if (((ENABLE_FEATURE_SEAMLESS_GZ|ENABLE_FEATURE_SEAMLESS_LZMA) -+ && strcmp(sfx, "gz") == 0) - || (ENABLE_FEATURE_SEAMLESS_BZ2 && strcmp(sfx, "bz2") == 0) - || (ENABLE_FEATURE_SEAMLESS_XZ && strcmp(sfx, "xz") == 0) - ) { diff -r f04e6a2d1224 -r b422abc85a5f busybox/stuff/busybox-1.18.config --- a/busybox/stuff/busybox-1.18.config Mon Dec 26 16:37:28 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,987 +0,0 @@ -# -# Automatically generated make config: don't edit -# Busybox version: 1.18.4 -# Thu Jul 7 21:08:13 2011 -# -CONFIG_HAVE_DOT_CONFIG=y - -# -# Busybox Settings -# - -# -# General Configuration -# -# CONFIG_DESKTOP is not set -# CONFIG_EXTRA_COMPAT is not set -# CONFIG_INCLUDE_SUSv2 is not set -# CONFIG_USE_PORTABLE_CODE is not set -CONFIG_PLATFORM_LINUX=y -CONFIG_FEATURE_BUFFERS_USE_MALLOC=y -# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set -# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set -CONFIG_SHOW_USAGE=y -# CONFIG_FEATURE_VERBOSE_USAGE is not set -CONFIG_FEATURE_COMPRESS_USAGE=y -# CONFIG_FEATURE_INSTALLER is not set -# CONFIG_INSTALL_NO_USR is not set -# CONFIG_LOCALE_SUPPORT is not set -# CONFIG_UNICODE_SUPPORT is not set -# CONFIG_UNICODE_USING_LOCALE is not set -# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set -CONFIG_SUBST_WCHAR=0 -CONFIG_LAST_SUPPORTED_WCHAR=0 -# CONFIG_UNICODE_COMBINING_WCHARS is not set -# CONFIG_UNICODE_WIDE_WCHARS is not set -# CONFIG_UNICODE_BIDI_SUPPORT is not set -# CONFIG_UNICODE_NEUTRAL_TABLE is not set -# CONFIG_UNICODE_PRESERVE_BROKEN is not set -CONFIG_LONG_OPTS=y -CONFIG_FEATURE_DEVPTS=y -# CONFIG_FEATURE_CLEAN_UP is not set -CONFIG_FEATURE_WTMP=y -CONFIG_FEATURE_UTMP=y -CONFIG_FEATURE_PIDFILE=y -CONFIG_FEATURE_SUID=y -# CONFIG_FEATURE_SUID_CONFIG is not set -# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set -# CONFIG_SELINUX is not set -CONFIG_FEATURE_PREFER_APPLETS=y -CONFIG_BUSYBOX_EXEC_PATH="/bin/busybox" -CONFIG_FEATURE_SYSLOG=y -# CONFIG_FEATURE_HAVE_RPC is not set - -# -# Build Options -# -# CONFIG_STATIC is not set -# CONFIG_PIE is not set -# CONFIG_NOMMU is not set -# CONFIG_BUILD_LIBBUSYBOX is not set -# CONFIG_FEATURE_INDIVIDUAL is not set -# CONFIG_FEATURE_SHARED_BUSYBOX is not set -# CONFIG_LFS is not set -CONFIG_CROSS_COMPILER_PREFIX="uclibc-i486-" -CONFIG_EXTRA_CFLAGS="" - -# -# Debugging Options -# -# CONFIG_DEBUG is not set -# CONFIG_DEBUG_PESSIMIZE is not set -# CONFIG_WERROR is not set -CONFIG_NO_DEBUG_LIB=y -# CONFIG_DMALLOC is not set -# CONFIG_EFENCE is not set - -# -# Installation Options ("make install" behavior) -# -# CONFIG_INSTALL_APPLET_SYMLINKS is not set -CONFIG_INSTALL_APPLET_HARDLINKS=y -# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set -# CONFIG_INSTALL_APPLET_DONT is not set -# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set -# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set -# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set -CONFIG_PREFIX="./_install" - -# -# Busybox Library Tuning -# -CONFIG_PASSWORD_MINLEN=6 -CONFIG_MD5_SIZE_VS_SPEED=2 -# CONFIG_FEATURE_FAST_TOP is not set -# CONFIG_FEATURE_ETC_NETWORKS is not set -CONFIG_FEATURE_USE_TERMIOS=y -CONFIG_FEATURE_EDITING=y -CONFIG_FEATURE_EDITING_MAX_LEN=1024 -# CONFIG_FEATURE_EDITING_VI is not set -CONFIG_FEATURE_EDITING_HISTORY=32 -# CONFIG_FEATURE_EDITING_SAVEHISTORY is not set -CONFIG_FEATURE_TAB_COMPLETION=y -# CONFIG_FEATURE_USERNAME_COMPLETION is not set -CONFIG_FEATURE_EDITING_FANCY_PROMPT=y -# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set -CONFIG_FEATURE_NON_POSIX_CP=y -# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set -CONFIG_FEATURE_COPYBUF_KB=4 -CONFIG_MONOTONIC_SYSCALL=y -# CONFIG_IOCTL_HEX2STR_ERROR is not set -# CONFIG_FEATURE_HWIB is not set - -# -# Applets -# - -# -# Archival Utilities -# -# CONFIG_FEATURE_SEAMLESS_XZ is not set -# CONFIG_FEATURE_SEAMLESS_LZMA is not set -# CONFIG_FEATURE_SEAMLESS_BZ2 is not set -# CONFIG_FEATURE_SEAMLESS_GZ is not set -# CONFIG_FEATURE_SEAMLESS_Z is not set -# CONFIG_AR is not set -# CONFIG_FEATURE_AR_LONG_FILENAMES is not set -# CONFIG_FEATURE_AR_CREATE is not set -CONFIG_BUNZIP2=y -# CONFIG_BZIP2 is not set -CONFIG_CPIO=y -CONFIG_FEATURE_CPIO_O=y -# CONFIG_FEATURE_CPIO_P is not set -# CONFIG_DPKG is not set -# CONFIG_DPKG_DEB is not set -# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set -CONFIG_GUNZIP=y -CONFIG_GZIP=y -# CONFIG_FEATURE_GZIP_LONG_OPTIONS is not set -# CONFIG_LZOP is not set -# CONFIG_LZOP_COMPR_HIGH is not set -# CONFIG_RPM2CPIO is not set -# CONFIG_RPM is not set -CONFIG_TAR=y -CONFIG_FEATURE_TAR_CREATE=y -# CONFIG_FEATURE_TAR_AUTODETECT is not set -# CONFIG_FEATURE_TAR_FROM is not set -# CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set -# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set -CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y -# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set -# CONFIG_FEATURE_TAR_TO_COMMAND is not set -# CONFIG_FEATURE_TAR_UNAME_GNAME is not set -# CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set -# CONFIG_FEATURE_TAR_SELINUX is not set -# CONFIG_UNCOMPRESS is not set -CONFIG_UNLZMA=y -# CONFIG_FEATURE_LZMA_FAST is not set -# CONFIG_LZMA is not set -# CONFIG_UNXZ is not set -# CONFIG_XZ is not set -# CONFIG_UNZIP is not set - -# -# Coreutils -# -CONFIG_BASENAME=y -CONFIG_CAT=y -CONFIG_DATE=y -# CONFIG_FEATURE_DATE_ISOFMT is not set -# CONFIG_FEATURE_DATE_NANO is not set -# CONFIG_FEATURE_DATE_COMPAT is not set -CONFIG_TEST=y -# CONFIG_FEATURE_TEST_64 is not set -# CONFIG_TR is not set -# CONFIG_FEATURE_TR_CLASSES is not set -# CONFIG_FEATURE_TR_EQUIV is not set -# CONFIG_BASE64 is not set -CONFIG_CAL=y -# CONFIG_CATV is not set -CONFIG_CHGRP=y -CONFIG_CHMOD=y -CONFIG_CHOWN=y -# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set -CONFIG_CHROOT=y -# CONFIG_CKSUM is not set -# CONFIG_COMM is not set -CONFIG_CP=y -# CONFIG_FEATURE_CP_LONG_OPTIONS is not set -CONFIG_CUT=y -CONFIG_DD=y -CONFIG_FEATURE_DD_SIGNAL_HANDLING=y -# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set -CONFIG_FEATURE_DD_IBS_OBS=y -CONFIG_DF=y -# CONFIG_FEATURE_DF_FANCY is not set -CONFIG_DIRNAME=y -# CONFIG_DOS2UNIX is not set -# CONFIG_UNIX2DOS is not set -CONFIG_DU=y -CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y -CONFIG_ECHO=y -CONFIG_FEATURE_FANCY_ECHO=y -# CONFIG_ENV is not set -# CONFIG_FEATURE_ENV_LONG_OPTIONS is not set -# CONFIG_EXPAND is not set -# CONFIG_FEATURE_EXPAND_LONG_OPTIONS is not set -CONFIG_EXPR=y -# CONFIG_EXPR_MATH_SUPPORT_64 is not set -CONFIG_FALSE=y -# CONFIG_FOLD is not set -# CONFIG_FSYNC is not set -CONFIG_HEAD=y -# CONFIG_FEATURE_FANCY_HEAD is not set -# CONFIG_HOSTID is not set -CONFIG_ID=y -# CONFIG_INSTALL is not set -# CONFIG_FEATURE_INSTALL_LONG_OPTIONS is not set -# CONFIG_LENGTH is not set -CONFIG_LN=y -# CONFIG_LOGNAME is not set -CONFIG_LS=y -CONFIG_FEATURE_LS_FILETYPES=y -CONFIG_FEATURE_LS_FOLLOWLINKS=y -CONFIG_FEATURE_LS_RECURSIVE=y -CONFIG_FEATURE_LS_SORTFILES=y -CONFIG_FEATURE_LS_TIMESTAMPS=y -CONFIG_FEATURE_LS_USERNAME=y -CONFIG_FEATURE_LS_COLOR=y -CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y -CONFIG_MD5SUM=y -CONFIG_MKDIR=y -# CONFIG_FEATURE_MKDIR_LONG_OPTIONS is not set -CONFIG_MKFIFO=y -CONFIG_MKNOD=y -CONFIG_MV=y -# CONFIG_FEATURE_MV_LONG_OPTIONS is not set -# CONFIG_NICE is not set -# CONFIG_NOHUP is not set -# CONFIG_OD is not set -# CONFIG_PRINTENV is not set -CONFIG_PRINTF=y -CONFIG_PWD=y -CONFIG_READLINK=y -# CONFIG_FEATURE_READLINK_FOLLOW is not set -# CONFIG_REALPATH is not set -CONFIG_RM=y -CONFIG_RMDIR=y -# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set -CONFIG_SEQ=y -# CONFIG_SHA1SUM is not set -# CONFIG_SHA256SUM is not set -# CONFIG_SHA512SUM is not set -CONFIG_SLEEP=y -# CONFIG_FEATURE_FANCY_SLEEP is not set -# CONFIG_FEATURE_FLOAT_SLEEP is not set -CONFIG_SORT=y -# CONFIG_FEATURE_SORT_BIG is not set -CONFIG_SPLIT=y -# CONFIG_FEATURE_SPLIT_FANCY is not set -CONFIG_STAT=y -CONFIG_FEATURE_STAT_FORMAT=y -CONFIG_STTY=y -# CONFIG_SUM is not set -CONFIG_SYNC=y -# CONFIG_TAC is not set -CONFIG_TAIL=y -# CONFIG_FEATURE_FANCY_TAIL is not set -CONFIG_TEE=y -# CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set -CONFIG_TOUCH=y -CONFIG_TRUE=y -CONFIG_TTY=y -CONFIG_UNAME=y -# CONFIG_UNEXPAND is not set -# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set -CONFIG_UNIQ=y -CONFIG_USLEEP=y -CONFIG_UUDECODE=y -CONFIG_UUENCODE=y -CONFIG_WC=y -# CONFIG_FEATURE_WC_LARGE is not set -# CONFIG_WHO is not set -# CONFIG_WHOAMI is not set -CONFIG_YES=y - -# -# Common options for cp and mv -# -CONFIG_FEATURE_PRESERVE_HARDLINKS=y - -# -# Common options for ls, more and telnet -# -CONFIG_FEATURE_AUTOWIDTH=y - -# -# Common options for df, du, ls -# -CONFIG_FEATURE_HUMAN_READABLE=y - -# -# Common options for md5sum, sha1sum, sha256sum, sha512sum -# -CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y - -# -# Console Utilities -# -CONFIG_CHVT=y -# CONFIG_FGCONSOLE is not set -CONFIG_CLEAR=y -# CONFIG_DEALLOCVT is not set -# CONFIG_DUMPKMAP is not set -# CONFIG_KBD_MODE is not set -# CONFIG_LOADFONT is not set -CONFIG_LOADKMAP=y -# CONFIG_OPENVT is not set -CONFIG_RESET=y -# CONFIG_RESIZE is not set -# CONFIG_FEATURE_RESIZE_PRINT is not set -# CONFIG_SETCONSOLE is not set -# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set -# CONFIG_SETFONT is not set -# CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set -CONFIG_DEFAULT_SETFONT_DIR="" -# CONFIG_SETKEYCODES is not set -# CONFIG_SETLOGCONS is not set -# CONFIG_SHOWKEY is not set -# CONFIG_FEATURE_LOADFONT_PSF2 is not set -# CONFIG_FEATURE_LOADFONT_RAW is not set - -# -# Debian Utilities -# -CONFIG_MKTEMP=y -# CONFIG_PIPE_PROGRESS is not set -# CONFIG_RUN_PARTS is not set -# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set -# CONFIG_FEATURE_RUN_PARTS_FANCY is not set -# CONFIG_START_STOP_DAEMON is not set -# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set -# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set -CONFIG_WHICH=y - -# -# Editors -# -# CONFIG_PATCH is not set -CONFIG_AWK=y -# CONFIG_FEATURE_AWK_LIBM is not set -# CONFIG_CMP is not set -# CONFIG_DIFF is not set -# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set -# CONFIG_FEATURE_DIFF_DIR is not set -# CONFIG_ED is not set -CONFIG_SED=y -CONFIG_VI=y -CONFIG_FEATURE_VI_MAX_LEN=1024 -# CONFIG_FEATURE_VI_8BIT is not set -CONFIG_FEATURE_VI_COLON=y -CONFIG_FEATURE_VI_YANKMARK=y -CONFIG_FEATURE_VI_SEARCH=y -CONFIG_FEATURE_VI_USE_SIGNALS=y -CONFIG_FEATURE_VI_DOT_CMD=y -CONFIG_FEATURE_VI_READONLY=y -CONFIG_FEATURE_VI_SETOPTS=y -CONFIG_FEATURE_VI_SET=y -# CONFIG_FEATURE_VI_WIN_RESIZE is not set -CONFIG_FEATURE_VI_ASK_TERMINAL=y -# CONFIG_FEATURE_VI_OPTIMIZE_CURSOR is not set -CONFIG_FEATURE_ALLOW_EXEC=y - -# -# Finding Utilities -# -CONFIG_FIND=y -CONFIG_FEATURE_FIND_PRINT0=y -CONFIG_FEATURE_FIND_MTIME=y -CONFIG_FEATURE_FIND_MMIN=y -CONFIG_FEATURE_FIND_PERM=y -CONFIG_FEATURE_FIND_TYPE=y -CONFIG_FEATURE_FIND_XDEV=y -CONFIG_FEATURE_FIND_MAXDEPTH=y -CONFIG_FEATURE_FIND_NEWER=y -CONFIG_FEATURE_FIND_INUM=y -CONFIG_FEATURE_FIND_EXEC=y -CONFIG_FEATURE_FIND_USER=y -CONFIG_FEATURE_FIND_GROUP=y -CONFIG_FEATURE_FIND_NOT=y -CONFIG_FEATURE_FIND_DEPTH=y -CONFIG_FEATURE_FIND_PAREN=y -CONFIG_FEATURE_FIND_SIZE=y -CONFIG_FEATURE_FIND_PRUNE=y -CONFIG_FEATURE_FIND_DELETE=y -CONFIG_FEATURE_FIND_PATH=y -CONFIG_FEATURE_FIND_REGEX=y -# CONFIG_FEATURE_FIND_CONTEXT is not set -CONFIG_FEATURE_FIND_LINKS=y -CONFIG_GREP=y -CONFIG_FEATURE_GREP_EGREP_ALIAS=y -CONFIG_FEATURE_GREP_FGREP_ALIAS=y -CONFIG_FEATURE_GREP_CONTEXT=y -CONFIG_XARGS=y -CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y -CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y -CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y -CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y - -# -# Init Utilities -# -# CONFIG_BOOTCHARTD is not set -# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set -# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set -CONFIG_HALT=y -# CONFIG_FEATURE_CALL_TELINIT is not set -CONFIG_TELINIT_PATH="" -CONFIG_INIT=y -CONFIG_FEATURE_USE_INITTAB=y -CONFIG_FEATURE_KILL_REMOVED=y -CONFIG_FEATURE_KILL_DELAY=0 -CONFIG_FEATURE_INIT_SCTTY=y -# CONFIG_FEATURE_INIT_SYSLOG is not set -CONFIG_FEATURE_EXTRA_QUIET=y -# CONFIG_FEATURE_INIT_COREDUMPS is not set -# CONFIG_FEATURE_INITRD is not set -CONFIG_INIT_TERMINAL_TYPE="" -# CONFIG_MESG is not set - -# -# Login/Password Management Utilities -# -# CONFIG_ADD_SHELL is not set -# CONFIG_REMOVE_SHELL is not set -# CONFIG_FEATURE_SHADOWPASSWDS is not set -# CONFIG_USE_BB_PWD_GRP is not set -# CONFIG_USE_BB_SHADOW is not set -# CONFIG_USE_BB_CRYPT is not set -# CONFIG_USE_BB_CRYPT_SHA is not set -CONFIG_ADDUSER=y -# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set -# CONFIG_FEATURE_CHECK_NAMES is not set -CONFIG_FIRST_SYSTEM_ID=100 -CONFIG_LAST_SYSTEM_ID=999 -CONFIG_ADDGROUP=y -# CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS is not set -CONFIG_FEATURE_ADDUSER_TO_GROUP=y -CONFIG_DELUSER=y -CONFIG_DELGROUP=y -CONFIG_FEATURE_DEL_USER_FROM_GROUP=y -CONFIG_GETTY=y -CONFIG_LOGIN=y -# CONFIG_PAM is not set -# CONFIG_LOGIN_SCRIPTS is not set -# CONFIG_FEATURE_NOLOGIN is not set -# CONFIG_FEATURE_SECURETTY is not set -CONFIG_PASSWD=y -# CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set -# CONFIG_CRYPTPW is not set -CONFIG_CHPASSWD=y -CONFIG_SU=y -# CONFIG_FEATURE_SU_SYSLOG is not set -# CONFIG_FEATURE_SU_CHECKS_SHELLS is not set -# CONFIG_SULOGIN is not set -# CONFIG_VLOCK is not set - -# -# Linux Ext2 FS Progs -# -CONFIG_CHATTR=y -# CONFIG_FSCK is not set -CONFIG_LSATTR=y -CONFIG_TUNE2FS=y - -# -# Linux Module Utilities -# -# CONFIG_MODINFO is not set -CONFIG_MODPROBE_SMALL=y -CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE=y -CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED=y -# CONFIG_INSMOD is not set -# CONFIG_RMMOD is not set -# CONFIG_LSMOD is not set -# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set -# CONFIG_MODPROBE is not set -# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set -# CONFIG_DEPMOD is not set - -# -# Options common to multiple modutils -# -# CONFIG_FEATURE_2_4_MODULES is not set -# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set -# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set -# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set -# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set -# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set -# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set -# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set -# CONFIG_FEATURE_MODUTILS_ALIAS is not set -# CONFIG_FEATURE_MODUTILS_SYMBOLS is not set -CONFIG_DEFAULT_MODULES_DIR="/lib/modules" -CONFIG_DEFAULT_DEPMOD_FILE="modules.dep" - -# -# Linux System Utilities -# -# CONFIG_BLOCKDEV is not set -# CONFIG_REV is not set -# CONFIG_ACPID is not set -# CONFIG_FEATURE_ACPID_COMPAT is not set -CONFIG_BLKID=y -CONFIG_DMESG=y -CONFIG_FEATURE_DMESG_PRETTY=y -CONFIG_FBSET=y -CONFIG_FEATURE_FBSET_FANCY=y -CONFIG_FEATURE_FBSET_READMODE=y -# CONFIG_FDFLUSH is not set -CONFIG_FDFORMAT=y -CONFIG_FDISK=y -CONFIG_FDISK_SUPPORT_LARGE_DISKS=y -CONFIG_FEATURE_FDISK_WRITABLE=y -# CONFIG_FEATURE_AIX_LABEL is not set -# CONFIG_FEATURE_SGI_LABEL is not set -# CONFIG_FEATURE_SUN_LABEL is not set -# CONFIG_FEATURE_OSF_LABEL is not set -CONFIG_FEATURE_GPT_LABEL=y -# CONFIG_FEATURE_FDISK_ADVANCED is not set -# CONFIG_FINDFS is not set -# CONFIG_FLOCK is not set -# CONFIG_FREERAMDISK is not set -# CONFIG_FSCK_MINIX is not set -CONFIG_MKFS_EXT2=y -# CONFIG_MKFS_MINIX is not set -# CONFIG_FEATURE_MINIX2 is not set -# CONFIG_MKFS_REISER is not set -# CONFIG_MKFS_VFAT is not set -# CONFIG_GETOPT is not set -# CONFIG_FEATURE_GETOPT_LONG is not set -CONFIG_HEXDUMP=y -CONFIG_FEATURE_HEXDUMP_REVERSE=y -# CONFIG_HD is not set -CONFIG_HWCLOCK=y -# CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS is not set -# CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set -# CONFIG_IPCRM is not set -# CONFIG_IPCS is not set -CONFIG_LOSETUP=y -CONFIG_LSPCI=y -CONFIG_LSUSB=y -CONFIG_MDEV=y -# CONFIG_FEATURE_MDEV_CONF is not set -# CONFIG_FEATURE_MDEV_RENAME is not set -# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set -# CONFIG_FEATURE_MDEV_EXEC is not set -CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y -CONFIG_MKSWAP=y -# CONFIG_FEATURE_MKSWAP_UUID is not set -CONFIG_MORE=y -CONFIG_MOUNT=y -# CONFIG_FEATURE_MOUNT_FAKE is not set -# CONFIG_FEATURE_MOUNT_VERBOSE is not set -# CONFIG_FEATURE_MOUNT_HELPERS is not set -CONFIG_FEATURE_MOUNT_LABEL=y -# CONFIG_FEATURE_MOUNT_NFS is not set -# CONFIG_FEATURE_MOUNT_CIFS is not set -CONFIG_FEATURE_MOUNT_FLAGS=y -CONFIG_FEATURE_MOUNT_FSTAB=y -# CONFIG_PIVOT_ROOT is not set -CONFIG_RDATE=y -# CONFIG_RDEV is not set -CONFIG_READPROFILE=y -# CONFIG_RTCWAKE is not set -CONFIG_SCRIPT=y -# CONFIG_SCRIPTREPLAY is not set -# CONFIG_SETARCH is not set -CONFIG_SWAPONOFF=y -# CONFIG_FEATURE_SWAPON_PRI is not set -CONFIG_SWITCH_ROOT=y -CONFIG_UMOUNT=y -CONFIG_FEATURE_UMOUNT_ALL=y - -# -# Common options for mount/umount -# -CONFIG_FEATURE_MOUNT_LOOP=y -# CONFIG_FEATURE_MOUNT_LOOP_CREATE is not set -# CONFIG_FEATURE_MTAB_SUPPORT is not set -CONFIG_VOLUMEID=y - -# -# Filesystem/Volume identification -# -CONFIG_FEATURE_VOLUMEID_EXT=y -# CONFIG_FEATURE_VOLUMEID_BTRFS is not set -# CONFIG_FEATURE_VOLUMEID_REISERFS is not set -CONFIG_FEATURE_VOLUMEID_FAT=y -# CONFIG_FEATURE_VOLUMEID_HFS is not set -# CONFIG_FEATURE_VOLUMEID_JFS is not set -# CONFIG_FEATURE_VOLUMEID_XFS is not set -# CONFIG_FEATURE_VOLUMEID_NTFS is not set -CONFIG_FEATURE_VOLUMEID_ISO9660=y -# CONFIG_FEATURE_VOLUMEID_UDF is not set -# CONFIG_FEATURE_VOLUMEID_LUKS is not set -CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y -# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set -# CONFIG_FEATURE_VOLUMEID_ROMFS is not set -# CONFIG_FEATURE_VOLUMEID_SYSV is not set -# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set -# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set - -# -# Miscellaneous Utilities -# -CONFIG_CONSPY=y -# CONFIG_NANDWRITE is not set -# CONFIG_NANDDUMP is not set -# CONFIG_UBIATTACH is not set -# CONFIG_UBIDETACH is not set -# CONFIG_ADJTIMEX is not set -# CONFIG_BBCONFIG is not set -# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set -CONFIG_BEEP=y -CONFIG_FEATURE_BEEP_FREQ=4000 -CONFIG_FEATURE_BEEP_LENGTH_MS=30 -# CONFIG_CHAT is not set -# CONFIG_FEATURE_CHAT_NOFAIL is not set -# CONFIG_FEATURE_CHAT_TTY_HIFI is not set -# CONFIG_FEATURE_CHAT_IMPLICIT_CR is not set -# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set -# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set -# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set -# CONFIG_FEATURE_CHAT_CLR_ABORT is not set -# CONFIG_CHRT is not set -CONFIG_CROND=y -# CONFIG_FEATURE_CROND_D is not set -# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set -CONFIG_FEATURE_CROND_DIR="/var/spool/cron" -# CONFIG_CRONTAB is not set -# CONFIG_DC is not set -# CONFIG_FEATURE_DC_LIBM is not set -# CONFIG_DEVFSD is not set -# CONFIG_DEVFSD_MODLOAD is not set -# CONFIG_DEVFSD_FG_NP is not set -# CONFIG_DEVFSD_VERBOSE is not set -# CONFIG_FEATURE_DEVFS is not set -# CONFIG_DEVMEM is not set -# CONFIG_EJECT is not set -# CONFIG_FEATURE_EJECT_SCSI is not set -# CONFIG_FBSPLASH is not set -# CONFIG_FLASHCP is not set -# CONFIG_FLASH_LOCK is not set -# CONFIG_FLASH_UNLOCK is not set -# CONFIG_FLASH_ERASEALL is not set -# CONFIG_IONICE is not set -# CONFIG_INOTIFYD is not set -# CONFIG_LAST is not set -# CONFIG_FEATURE_LAST_SMALL is not set -# CONFIG_FEATURE_LAST_FANCY is not set -CONFIG_LESS=y -CONFIG_FEATURE_LESS_MAXLINES=9999999 -CONFIG_FEATURE_LESS_BRACKETS=y -# CONFIG_FEATURE_LESS_FLAGS is not set -# CONFIG_FEATURE_LESS_MARKS is not set -CONFIG_FEATURE_LESS_REGEXP=y -# CONFIG_FEATURE_LESS_WINCH is not set -# CONFIG_FEATURE_LESS_DASHCMD is not set -# CONFIG_FEATURE_LESS_LINENUMS is not set -CONFIG_HDPARM=y -# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set -# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set -# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set -# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set -# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set -CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y -# CONFIG_MAKEDEVS is not set -# CONFIG_FEATURE_MAKEDEVS_LEAF is not set -# CONFIG_FEATURE_MAKEDEVS_TABLE is not set -# CONFIG_MAN is not set -# CONFIG_MICROCOM is not set -# CONFIG_MOUNTPOINT is not set -# CONFIG_MT is not set -# CONFIG_RAIDAUTORUN is not set -# CONFIG_READAHEAD is not set -# CONFIG_RFKILL is not set -# CONFIG_RUNLEVEL is not set -# CONFIG_RX is not set -# CONFIG_SETSID is not set -# CONFIG_STRINGS is not set -# CONFIG_TASKSET is not set -# CONFIG_FEATURE_TASKSET_FANCY is not set -# CONFIG_TIME is not set -# CONFIG_TIMEOUT is not set -# CONFIG_TTYSIZE is not set -# CONFIG_VOLNAME is not set -# CONFIG_WALL is not set -# CONFIG_WATCHDOG is not set - -# -# Networking Utilities -# -# CONFIG_NBDCLIENT is not set -CONFIG_NC=y -CONFIG_NC_SERVER=y -CONFIG_NC_EXTRA=y -# CONFIG_NC_110_COMPAT is not set -# CONFIG_FEATURE_IPV6 is not set -# CONFIG_FEATURE_UNIX_LOCAL is not set -# CONFIG_FEATURE_PREFER_IPV4_ADDRESS is not set -# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set -CONFIG_ARP=y -# CONFIG_ARPING is not set -# CONFIG_BRCTL is not set -# CONFIG_FEATURE_BRCTL_FANCY is not set -# CONFIG_FEATURE_BRCTL_SHOW is not set -# CONFIG_DNSD is not set -CONFIG_ETHER_WAKE=y -# CONFIG_FAKEIDENTD is not set -CONFIG_FTPD=y -CONFIG_FEATURE_FTP_WRITE=y -CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST=y -CONFIG_FTPGET=y -CONFIG_FTPPUT=y -# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set -CONFIG_HOSTNAME=y -CONFIG_HTTPD=y -CONFIG_FEATURE_HTTPD_RANGES=y -CONFIG_FEATURE_HTTPD_USE_SENDFILE=y -CONFIG_FEATURE_HTTPD_SETUID=y -CONFIG_FEATURE_HTTPD_BASIC_AUTH=y -# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set -CONFIG_FEATURE_HTTPD_CGI=y -CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR=y -# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set -CONFIG_FEATURE_HTTPD_ENCODE_URL_STR=y -CONFIG_FEATURE_HTTPD_ERROR_PAGES=y -CONFIG_FEATURE_HTTPD_PROXY=y -# CONFIG_FEATURE_HTTPD_GZIP is not set -CONFIG_IFCONFIG=y -CONFIG_FEATURE_IFCONFIG_STATUS=y -# CONFIG_FEATURE_IFCONFIG_SLIP is not set -# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set -CONFIG_FEATURE_IFCONFIG_HW=y -CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y -# CONFIG_IFENSLAVE is not set -# CONFIG_IFPLUGD is not set -# CONFIG_IFUPDOWN is not set -CONFIG_IFUPDOWN_IFSTATE_PATH="" -# CONFIG_FEATURE_IFUPDOWN_IP is not set -# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set -# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set -# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set -# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set -# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set -# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set -CONFIG_INETD=y -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y -# CONFIG_FEATURE_INETD_RPC is not set -# CONFIG_IP is not set -# CONFIG_FEATURE_IP_ADDRESS is not set -# CONFIG_FEATURE_IP_LINK is not set -# CONFIG_FEATURE_IP_ROUTE is not set -# CONFIG_FEATURE_IP_TUNNEL is not set -# CONFIG_FEATURE_IP_RULE is not set -# CONFIG_FEATURE_IP_SHORT_FORMS is not set -# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set -# CONFIG_IPADDR is not set -# CONFIG_IPLINK is not set -# CONFIG_IPROUTE is not set -# CONFIG_IPTUNNEL is not set -# CONFIG_IPRULE is not set -# CONFIG_IPCALC is not set -# CONFIG_FEATURE_IPCALC_FANCY is not set -# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set -# CONFIG_NAMEIF is not set -# CONFIG_FEATURE_NAMEIF_EXTENDED is not set -CONFIG_NETSTAT=y -CONFIG_FEATURE_NETSTAT_WIDE=y -CONFIG_FEATURE_NETSTAT_PRG=y -CONFIG_NSLOOKUP=y -CONFIG_NTPD=y -CONFIG_FEATURE_NTPD_SERVER=y -CONFIG_PING=y -# CONFIG_PING6 is not set -CONFIG_FEATURE_FANCY_PING=y -# CONFIG_PSCAN is not set -CONFIG_ROUTE=y -# CONFIG_SLATTACH is not set -# CONFIG_TCPSVD is not set -CONFIG_TELNET=y -CONFIG_FEATURE_TELNET_TTYPE=y -CONFIG_FEATURE_TELNET_AUTOLOGIN=y -CONFIG_TELNETD=y -CONFIG_FEATURE_TELNETD_STANDALONE=y -# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set -CONFIG_TFTP=y -CONFIG_TFTPD=y - -# -# Common options for tftp/tftpd -# -CONFIG_FEATURE_TFTPD_RIS=y -CONFIG_FEATURE_TFTP_GET=y -CONFIG_FEATURE_TFTP_PUT=y -CONFIG_FEATURE_TFTP_BLOCKSIZE=y -# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set -# CONFIG_TFTP_DEBUG is not set -# CONFIG_TRACEROUTE is not set -# CONFIG_TRACEROUTE6 is not set -# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set -# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set -# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set -CONFIG_TUNCTL=y -# CONFIG_FEATURE_TUNCTL_UG is not set -CONFIG_UDHCPD=y -# CONFIG_DHCPRELAY is not set -CONFIG_DUMPLEASES=y -# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set -CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases" -CONFIG_UDHCPC=y -CONFIG_FEATURE_UDHCPC_ARPING=y -# CONFIG_FEATURE_UDHCP_PORT is not set -CONFIG_UDHCP_DEBUG=0 -# CONFIG_FEATURE_UDHCP_RFC3397 is not set -CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" -CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 -CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="" -# CONFIG_UDPSVD is not set -# CONFIG_VCONFIG is not set -CONFIG_WGET=y -# CONFIG_FEATURE_WGET_STATUSBAR is not set -# CONFIG_FEATURE_WGET_AUTHENTICATION is not set -# CONFIG_FEATURE_WGET_LONG_OPTIONS is not set -# CONFIG_FEATURE_WGET_TIMEOUT is not set -# CONFIG_ZCIP is not set - -# -# Print Utilities -# -# CONFIG_LPD is not set -# CONFIG_LPR is not set -# CONFIG_LPQ is not set - -# -# Mail Utilities -# -# CONFIG_MAKEMIME is not set -CONFIG_FEATURE_MIME_CHARSET="" -# CONFIG_POPMAILDIR is not set -# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set -# CONFIG_REFORMIME is not set -# CONFIG_FEATURE_REFORMIME_COMPAT is not set -# CONFIG_SENDMAIL is not set - -# -# Process Utilities -# -# CONFIG_IOSTAT is not set -# CONFIG_MPSTAT is not set -# CONFIG_PMAP is not set -# CONFIG_POWERTOP is not set -# CONFIG_SMEMCAP is not set -CONFIG_FREE=y -# CONFIG_FUSER is not set -CONFIG_KILL=y -CONFIG_KILLALL=y -CONFIG_KILLALL5=y -# CONFIG_NMETER is not set -# CONFIG_PGREP is not set -CONFIG_PIDOF=y -CONFIG_FEATURE_PIDOF_SINGLE=y -CONFIG_FEATURE_PIDOF_OMIT=y -# CONFIG_PKILL is not set -CONFIG_PS=y -CONFIG_FEATURE_PS_WIDE=y -# CONFIG_FEATURE_PS_TIME is not set -# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set -# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set -# CONFIG_RENICE is not set -# CONFIG_BB_SYSCTL is not set -CONFIG_TOP=y -# CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE is not set -# CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS is not set -# CONFIG_FEATURE_TOP_SMP_CPU is not set -# CONFIG_FEATURE_TOP_DECIMALS is not set -# CONFIG_FEATURE_TOP_SMP_PROCESS is not set -CONFIG_FEATURE_TOPMEM=y -# CONFIG_FEATURE_SHOW_THREADS is not set -CONFIG_UPTIME=y -# CONFIG_WATCH is not set - -# -# Runit Utilities -# -# CONFIG_RUNSV is not set -# CONFIG_RUNSVDIR is not set -# CONFIG_FEATURE_RUNSVDIR_LOG is not set -# CONFIG_SV is not set -CONFIG_SV_DEFAULT_SERVICE_DIR="" -# CONFIG_SVLOGD is not set -# CONFIG_CHPST is not set -# CONFIG_SETUIDGID is not set -# CONFIG_ENVUIDGID is not set -# CONFIG_ENVDIR is not set -# CONFIG_SOFTLIMIT is not set -# CONFIG_CHCON is not set -# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set -# CONFIG_GETENFORCE is not set -# CONFIG_GETSEBOOL is not set -# CONFIG_LOAD_POLICY is not set -# CONFIG_MATCHPATHCON is not set -# CONFIG_RESTORECON is not set -# CONFIG_RUNCON is not set -# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set -# CONFIG_SELINUXENABLED is not set -# CONFIG_SETENFORCE is not set -# CONFIG_SETFILES is not set -# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set -# CONFIG_SETSEBOOL is not set -# CONFIG_SESTATUS is not set - -# -# Shells -# -CONFIG_ASH=y -CONFIG_ASH_BASH_COMPAT=y -CONFIG_ASH_JOB_CONTROL=y -CONFIG_ASH_ALIAS=y -CONFIG_ASH_GETOPTS=y -# CONFIG_ASH_BUILTIN_ECHO is not set -# CONFIG_ASH_BUILTIN_PRINTF is not set -# CONFIG_ASH_BUILTIN_TEST is not set -CONFIG_ASH_CMDCMD=y -# CONFIG_ASH_MAIL is not set -CONFIG_ASH_OPTIMIZE_FOR_SIZE=y -CONFIG_ASH_RANDOM_SUPPORT=y -CONFIG_ASH_EXPAND_PRMT=y -# CONFIG_CTTYHACK is not set -# CONFIG_HUSH is not set -# CONFIG_HUSH_BASH_COMPAT is not set -# CONFIG_HUSH_BRACE_EXPANSION is not set -# CONFIG_HUSH_HELP is not set -# CONFIG_HUSH_INTERACTIVE is not set -# CONFIG_HUSH_SAVEHISTORY is not set -# CONFIG_HUSH_JOB is not set -# CONFIG_HUSH_TICK is not set -# CONFIG_HUSH_IF is not set -# CONFIG_HUSH_LOOPS is not set -# CONFIG_HUSH_CASE is not set -# CONFIG_HUSH_FUNCTIONS is not set -# CONFIG_HUSH_LOCAL is not set -# CONFIG_HUSH_RANDOM_SUPPORT is not set -# CONFIG_HUSH_EXPORT_N is not set -# CONFIG_HUSH_MODE_X is not set -# CONFIG_MSH is not set -CONFIG_FEATURE_SH_IS_ASH=y -# CONFIG_FEATURE_SH_IS_HUSH is not set -# CONFIG_FEATURE_SH_IS_NONE is not set -# CONFIG_FEATURE_BASH_IS_ASH is not set -# CONFIG_FEATURE_BASH_IS_HUSH is not set -CONFIG_FEATURE_BASH_IS_NONE=y -CONFIG_SH_MATH_SUPPORT=y -# CONFIG_SH_MATH_SUPPORT_64 is not set -CONFIG_FEATURE_SH_EXTRA_QUIET=y -CONFIG_FEATURE_SH_STANDALONE=y -# CONFIG_FEATURE_SH_NOFORK is not set - -# -# System Logging Utilities -# -CONFIG_SYSLOGD=y -CONFIG_FEATURE_ROTATE_LOGFILE=y -CONFIG_FEATURE_REMOTE_LOG=y -CONFIG_FEATURE_SYSLOGD_DUP=y -CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 -# CONFIG_FEATURE_IPC_SYSLOG is not set -CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0 -# CONFIG_LOGREAD is not set -# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set -CONFIG_KLOGD=y -# CONFIG_FEATURE_KLOGD_KLOGCTL is not set -CONFIG_LOGGER=y diff -r f04e6a2d1224 -r b422abc85a5f busybox/stuff/busybox-1.26-bug9471.u --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/busybox/stuff/busybox-1.26-bug9471.u Sat Feb 11 15:47:13 2017 +0100 @@ -0,0 +1,28 @@ +--- busybox-1.26.2/networking/wget.c ++++ busybox-1.26.2/networking/wget.c +@@ -1093,12 +1093,19 @@ + } + + fflush(sfp); +- /* If we use SSL helper, keeping our end of the socket open for writing +- * makes our end (i.e. the same fd!) readable (EAGAIN instead of EOF) +- * even after child closes its copy of the fd. +- * This helps: +- */ +- shutdown(fileno(sfp), SHUT_WR); ++/* Tried doing this unconditionally. ++ * Cloudflare and nginx/1.11.5 are shocked to see SHUT_WR on non-HTTPS. ++ */ ++#if ENABLE_FEATURE_WGET_OPENSSL || ENABLE_FEATURE_WGET_SSL_HELPER ++ if (target.protocol == P_HTTPS) { ++ /* If we use SSL helper, keeping our end of the socket open for writing ++ * makes our end (i.e. the same fd!) readable (EAGAIN instead of EOF) ++ * even after child closes its copy of the fd. ++ * This helps: ++ */ ++ shutdown(fileno(sfp), SHUT_WR); ++ } ++#endif + + /* + * Retrieve HTTP response line and check for "200" status code. diff -r f04e6a2d1224 -r b422abc85a5f busybox/stuff/busybox-1.26-cmdline.u --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/busybox/stuff/busybox-1.26-cmdline.u Sat Feb 11 15:47:13 2017 +0100 @@ -0,0 +1,37 @@ +Display command line in usage output. Useful to debug scripts with variables. +--- busybox-1.26/libbb/appletlib.c ++++ busybox-1.26/libbb/appletlib.c +@@ -92,9 +92,16 @@ + + #endif /* FEATURE_COMPRESS_USAGE */ + +- ++static char **bb_argv; + void FAST_FUNC bb_show_usage(void) + { ++ full_write2_str("\nCommand line: "); ++ while (*bb_argv) { ++ full_write2_str(*bb_argv++); ++ full_write2_str(" "); ++ } ++ full_write2_str("\n\n"); ++ + if (ENABLE_SHOW_USAGE) { + #ifdef SINGLE_APPLET_STR + /* Imagine that this applet is "true". Dont suck in printf! */ +@@ -714,6 +721,7 @@ + /* If we were called as "busybox..." */ + static int busybox_main(char **argv) + { ++ bb_argv = argv; + if (!argv[1]) { + /* Called without arguments */ + const char *a; +@@ -916,6 +924,7 @@ + int main(int argc UNUSED_PARAM, char **argv) + #endif + { ++ bb_argv = argv; + #if 0 + /* TODO: find a use for a block of memory between end of .bss + * and end of page. For example, I'm getting "_end:0x812e698 2408 bytes" diff -r f04e6a2d1224 -r b422abc85a5f busybox/stuff/busybox-1.26-cpio.u --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/busybox/stuff/busybox-1.26-cpio.u Sat Feb 11 15:47:13 2017 +0100 @@ -0,0 +1,12 @@ +--- busybox-1.25/archival/cpio.c ++++ busybox-1.25/archival/cpio.c +@@ -244,6 +244,9 @@ + if (!(S_ISLNK(st.st_mode) || S_ISREG(st.st_mode))) + st.st_size = 0; /* paranoia */ + ++ if (S_ISLNK(st.st_mode)) ++ st.st_nlink = 1; /* like GNU cpio */ ++ + /* Store hardlinks for later processing, dont output them */ + if (!S_ISDIR(st.st_mode) && st.st_nlink > 1) { + struct name_s *n; diff -r f04e6a2d1224 -r b422abc85a5f busybox/stuff/busybox-1.26-diet.u --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/busybox/stuff/busybox-1.26-diet.u Sat Feb 11 15:47:13 2017 +0100 @@ -0,0 +1,110 @@ +--- busybox-1.25/include/platform.h ++++ busybox-1.25/include/platform.h +@@ -501,6 +501,20 @@ + # undef HAVE_NET_ETHERNET_H + #endif + ++#if defined(__dietlibc__) ++# define __aligned_u64 __u64 __attribute__((aligned(8))) ++# define LOOP_SET_STATUS64 0x4C04 ++# define LOOP_GET_STATUS64 0x4C05 ++# define MAXSYMLINKS 20 ++# define S_TYPEISMQ(x) 0 ++# define S_TYPEISSEM(x) 0 ++# define S_TYPEISSHM(x) 0 ++# undef HAVE_STRVERSCMP ++# undef HAVE_DPRINTF ++# undef HAVE_STRCASESTR ++# define ttyname_r(a,b,c) (strlcpy(b, ttyname(a), c) == 0) ++#endif ++ + /* + * Now, define prototypes for all the functions defined in platform.c + * These must come after all the HAVE_* macros are defined (or not) +--- busybox-1.25/networking/ping.c ++++ busybox-1.25/networking/ping.c +@@ -30,6 +30,84 @@ + #include "libbb.h" + #include "common_bufsiz.h" + ++#ifdef __dietlibc__ ++/* Dietlibc is missing the BSD definition 'struct icmp' */ ++/* ++ * Internal of an ICMP Router Advertisement ++ */ ++struct icmp_ra_addr ++{ ++ uint32_t ira_addr; ++ uint32_t ira_preference; ++}; ++ ++struct icmp ++{ ++ uint8_t icmp_type; /* type of message, see below */ ++ uint8_t icmp_code; /* type sub code */ ++ uint16_t icmp_cksum; /* ones complement checksum of struct */ ++ union ++ { ++ uint8_t ih_pptr; /* ICMP_PARAMPROB */ ++ struct in_addr ih_gwaddr; /* gateway address */ ++ struct ih_idseq /* echo datagram */ ++ { ++ uint16_t icd_id; ++ uint16_t icd_seq; ++ } ih_idseq; ++ uint32_t ih_void; ++ ++ /* ICMP_UNREACH_NEEDFRAG -- Path MTU Discovery (RFC1191) */ ++ struct ih_pmtu ++ { ++ uint16_t ipm_void; ++ uint16_t ipm_nextmtu; ++ } ih_pmtu; ++ ++ struct ih_rtradv ++ { ++ uint8_t irt_num_addrs; ++ uint8_t irt_wpa; ++ uint16_t irt_lifetime; ++ } ih_rtradv; ++ } icmp_hun; ++#define icmp_pptr icmp_hun.ih_pptr ++#define icmp_gwaddr icmp_hun.ih_gwaddr ++#define icmp_id icmp_hun.ih_idseq.icd_id ++#define icmp_seq icmp_hun.ih_idseq.icd_seq ++#define icmp_void icmp_hun.ih_void ++#define icmp_pmvoid icmp_hun.ih_pmtu.ipm_void ++#define icmp_nextmtu icmp_hun.ih_pmtu.ipm_nextmtu ++#define icmp_num_addrs icmp_hun.ih_rtradv.irt_num_addrs ++#define icmp_wpa icmp_hun.ih_rtradv.irt_wpa ++#define icmp_lifetime icmp_hun.ih_rtradv.irt_lifetime ++ union ++ { ++ struct ++ { ++ uint32_t its_otime; ++ uint32_t its_rtime; ++ uint32_t its_ttime; ++ } id_ts; ++ struct ++ { ++ struct ip idi_ip; ++ /* options and then 64 bits of data */ ++ } id_ip; ++ struct icmp_ra_addr id_radv; ++ uint32_t id_mask; ++ uint8_t id_data[1]; ++ } icmp_dun; ++#define icmp_otime icmp_dun.id_ts.its_otime ++#define icmp_rtime icmp_dun.id_ts.its_rtime ++#define icmp_ttime icmp_dun.id_ts.its_ttime ++#define icmp_ip icmp_dun.id_ip.idi_ip ++#define icmp_radv icmp_dun.id_radv ++#define icmp_mask icmp_dun.id_mask ++#define icmp_data icmp_dun.id_data ++}; ++#endif /* __dietlibc__ */ ++ + #ifdef __BIONIC__ + /* should be in netinet/ip_icmp.h */ + # define ICMP_DEST_UNREACH 3 /* Destination Unreachable */ diff -r f04e6a2d1224 -r b422abc85a5f busybox/stuff/busybox-1.26-diff.u --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/busybox/stuff/busybox-1.26-diff.u Sat Feb 11 15:47:13 2017 +0100 @@ -0,0 +1,53 @@ +--- busybox-1.26/editors/diff.c ++++ busybox-1.26/editors/diff.c +@@ -113,6 +113,7 @@ + //usage: "\n -B Ignore changes whose lines are all blank" + //usage: "\n -d Try hard to find a smaller set of changes" + //usage: "\n -i Ignore case differences" ++//usage: "\n -l Ignore symbolic links" + //usage: "\n -L Use LABEL instead of the filename in the unified header" + //usage: "\n -N Treat absent files as empty" + //usage: "\n -q Output only whether files differ" +@@ -144,6 +145,7 @@ + FLAG_b, + FLAG_d, + FLAG_i, ++ FLAG_l, + FLAG_L, /* never used, handled by getopt32 */ + FLAG_N, + FLAG_q, +@@ -759,6 +761,14 @@ + j = fread(buf1, 1, sz, fp[1]); + if (i != j) { + differ = true; ++ /* Ensure we detect binary file even if a file is empty or very ++ short. */ ++ for (k = 0; k < i; k++) ++ if (!buf0[k]) ++ binary = true; ++ for (k = 0; k < j; k++) ++ if (!buf1[k]) ++ binary = true; + i = MIN(i, j); + } + if (i == 0) +@@ -872,7 +882,9 @@ + * Using list.len to specify its length, + * add_to_dirlist will remove it. */ + list[i].len = strlen(p[i]); +- recursive_action(p[i], ACTION_RECURSE | ACTION_FOLLOWLINKS, ++ recursive_action(p[i], ++ (option_mask32 & FLAG(l)) ? ACTION_RECURSE : ++ ACTION_RECURSE | ACTION_FOLLOWLINKS, + add_to_dirlist, skip_dir, &list[i], 0); + /* Sort dl alphabetically. + * GNU diff does this ignoring any number of trailing dots. +@@ -986,7 +998,7 @@ + #if ENABLE_FEATURE_DIFF_LONG_OPTIONS + applet_long_options = diff_longopts; + #endif +- getopt32(argv, "abdiL:*NqrsS:tTU:+wupBE", ++ getopt32(argv, "abdilL:*NqrsS:tTU:+wupBE", + &L_arg, &s_start, &opt_U_context); + argv += optind; + while (L_arg) diff -r f04e6a2d1224 -r b422abc85a5f busybox/stuff/busybox-1.26-fbvnc.u --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/busybox/stuff/busybox-1.26-fbvnc.u Sat Feb 11 15:47:13 2017 +0100 @@ -0,0 +1,684 @@ + text data bss dec hex filename + 3179 0 0 3179 c6b util-linux/fbvnc.o +--- /dev/null ++++ busybox/util-linux/fbvnc.c +@@ -0,0 +1,552 @@ ++/* vi: set sw=4 ts=4: */ ++/* ++ * A small linux framebuffer VNC viewer ++ * ++ * pascal.bellard@ads-lu.com ++ * ++ * Based on Ali Gholami Rudi's fbvnc.c ++ * http://repo.or.cz/w/fbvnc.git ++ * ++ * Licensed under GPLv2 or later, see file LICENSE in this source tree. ++ */ ++ ++//applet:IF_FBVNC(APPLET(fbvnc, BB_DIR_BIN, BB_SUID_DROP)) ++ ++//kbuild:lib-$(CONFIG_FBVNC) += fbvnc.o ++ ++//config:config FBVNC ++//config: bool "fbvnc" ++//config: default n ++//config: depends on PLATFORM_LINUX ++//config: help ++//config: A linux framebuffer VNC viewer. ++ ++//usage:#define fbvnc_trivial_usage ++//usage: "[VNC_SERVER] [PORT]" ++//usage:#define fbvnc_full_usage "\n\n" ++//usage: "A linux framebuffer VNC viewer." ++//usage: "\nTo exit, press any mouse button and press ESC." ++ ++#include "libbb.h" ++#include "vnc.h" ++#include "common_bufsiz.h" ++ ++/* Stuff stolen from the kernel's fb.h */ ++#define FB_ACTIVATE_ALL 64 ++enum { ++ FBIOGET_VSCREENINFO = 0x4600, ++ FBIOPUT_VSCREENINFO = 0x4601, ++ FBIOGET_FSCREENINFO = 0x4602, ++ FBIOGETCMAP = 0x4604, ++ FBIOPUTCMAP = 0x4605 ++}; ++ ++struct fb_bitfield { ++ uint32_t offset; /* beginning of bitfield */ ++ uint32_t length; /* length of bitfield */ ++ uint32_t msb_right; /* !=0: Most significant bit is right */ ++}; ++struct fb_var_screeninfo { ++ uint32_t xres; /* visible resolution */ ++ uint32_t yres; ++ uint32_t xres_virtual; /* virtual resolution */ ++ uint32_t yres_virtual; ++ uint32_t xoffset; /* offset from virtual to visible */ ++ uint32_t yoffset; /* resolution */ ++ ++ uint32_t bits_per_pixel; ++ uint32_t grayscale; /* !=0 Graylevels instead of colors */ ++ ++ struct fb_bitfield red; /* bitfield in fb mem if true color, */ ++ struct fb_bitfield green; /* else only length is significant */ ++ struct fb_bitfield blue; ++ struct fb_bitfield transp; /* transparency */ ++ ++ uint32_t nonstd; /* !=0 Non standard pixel format */ ++ ++ uint32_t activate; /* see FB_ACTIVATE_x */ ++ ++ uint32_t height; /* height of picture in mm */ ++ uint32_t width; /* width of picture in mm */ ++ ++ uint32_t accel_flags; /* acceleration flags (hints) */ ++ ++ /* Timing: All values in pixclocks, except pixclock (of course) */ ++ uint32_t pixclock; /* pixel clock in ps (pico seconds) */ ++ uint32_t left_margin; /* time from sync to picture */ ++ uint32_t right_margin; /* time from picture to sync */ ++ uint32_t upper_margin; /* time from sync to picture */ ++ uint32_t lower_margin; ++ uint32_t hsync_len; /* length of horizontal sync */ ++ uint32_t vsync_len; /* length of vertical sync */ ++ uint32_t sync; /* see FB_SYNC_x */ ++ uint32_t vmode; /* see FB_VMODE_x */ ++ uint32_t reserved[6]; /* Reserved for future compatibility */ ++}; ++ ++#define DEFAULTFBDEV FB_0 ++ ++struct fb_fix_screeninfo { ++ char id[16]; /* identification string eg "TT Builtin" */ ++ unsigned long smem_start; /* Start of frame buffer mem */ ++ /* (physical address) */ ++ uint32_t smem_len; /* Length of frame buffer mem */ ++ uint32_t type; /* see FB_TYPE_* */ ++ uint32_t type_aux; /* Interleave for interleaved Planes */ ++ uint32_t visual; /* see FB_VISUAL_* */ ++ uint16_t xpanstep; /* zero if no hardware panning */ ++ uint16_t ypanstep; /* zero if no hardware panning */ ++ uint16_t ywrapstep; /* zero if no hardware ywrap */ ++ uint32_t line_length; /* length of a line in bytes */ ++ unsigned long mmio_start; /* Start of Memory Mapped I/O */ ++ /* (physical address) */ ++ uint32_t mmio_len; /* Length of Memory Mapped I/O */ ++ uint32_t accel; /* Indicate to driver which */ ++ /* specific chip/card we have */ ++ uint16_t reserved[3]; /* Reserved for future compatibility */ ++}; ++ ++struct fb_cmap { ++ uint32_t start; /* First entry */ ++ uint32_t len; /* Number of entries */ ++ uint16_t *red; /* Red values */ ++ uint16_t *green; ++ uint16_t *blue; ++ uint16_t *transp; /* transparency, can be NULL */ ++}; ++ ++#define FB_VISUAL_TRUECOLOR 2 /* True color */ ++ ++#define COLORLEVELS (1 << 8) ++ ++struct scroll_data { ++ int size; ++ int srv_size; ++ int offset; ++ int pos; ++}; ++ ++struct globals { ++ struct termios term_orig; ++ struct pollfd ufds[3]; ++#define kbd_fd ufds[0].fd ++#define vnc_fd ufds[1].fd ++#define rat_fd ufds[2].fd ++ struct scroll_data scroll[2]; ++#define cols scroll[0].size ++#define srv_cols scroll[0].srv_size ++#define oc scroll[0].offset ++#define mc scroll[0].pos ++#define rows scroll[1].size ++#define srv_rows scroll[1].srv_size ++#define or scroll[1].offset ++#define mr scroll[1].pos ++ char rat_buttons; ++ int fb_fd; ++ void *fb_ptr; ++ int bpp; ++ int nr, ng, nb; ++ struct fb_var_screeninfo vinfo; ++ struct fb_fix_screeninfo finfo; ++ unsigned short red[COLORLEVELS], green[COLORLEVELS], blue[COLORLEVELS]; ++}; ++ ++#define G (*ptr_to_globals) ++#define INIT_G() do { \ ++ SET_PTR_TO_GLOBALS(xzalloc(sizeof(G))); \ ++} while (0) ++ ++static int fb_len(void) ++{ ++ return G.finfo.line_length * G.vinfo.yres_virtual; ++} ++ ++static void fb_ioctl_cmap(int fct, struct fb_cmap *cmap) ++{ ++ if (G.finfo.visual == FB_VISUAL_TRUECOLOR) ++ return; ++ cmap->start = 0; ++ cmap->len = MAX(G.nr, MAX(G.ng, G.nb)); ++ cmap->transp = NULL; ++ xioctl(G.fb_fd, fct, cmap); ++} ++ ++static void fb_cmap_save(int save) ++{ ++ struct fb_cmap cmap; ++ ++ cmap.red = G.red; ++ cmap.green = G.green; ++ cmap.blue = G.blue; ++ fb_ioctl_cmap(save ? FBIOGETCMAP : FBIOPUTCMAP, &cmap); ++} ++ ++static void fb_build_cmap(unsigned short *color, int n) ++{ ++ int i, inc = 65535 / (n - 1); ++ ++ for (i = 0; n--; i += inc) ++ *color++ = i; ++} ++ ++static void fb_cmap(void) ++{ ++ unsigned short red[COLORLEVELS], green[COLORLEVELS], blue[COLORLEVELS]; ++ struct fb_cmap cmap; ++ ++ fb_build_cmap(cmap.red = red, G.nr); ++ fb_build_cmap(cmap.green = green, G.ng); ++ fb_build_cmap(cmap.blue = blue, G.nb); ++ fb_ioctl_cmap(FBIOPUTCMAP, &cmap); ++} ++ ++static void fb_init(void) ++{ ++ G.fb_fd = xopen(DEFAULTFBDEV, O_RDWR); ++ xioctl(G.fb_fd, FBIOGET_VSCREENINFO, &G.vinfo); ++ xioctl(G.fb_fd, FBIOGET_FSCREENINFO, &G.finfo); ++ close_on_exec_on(G.fb_fd); ++ G.fb_ptr = mmap(NULL, fb_len(), PROT_READ | PROT_WRITE, MAP_SHARED, G.fb_fd, 0); ++ if (G.fb_ptr == MAP_FAILED) ++ bb_perror_msg_and_die("mmap"); ++ G.bpp = (G.vinfo.bits_per_pixel + 7) >> 3; ++ G.nr = 1 << G.vinfo.red.length; ++ G.nb = 1 << G.vinfo.blue.length; ++ G.ng = 1 << G.vinfo.green.length; ++ fb_cmap_save(1); ++ fb_cmap(); ++} ++ ++static void fb_free(void) ++{ ++ fb_cmap_save(0); ++ munmap(G.fb_ptr, fb_len()); ++ close(G.fb_fd); ++} ++ ++#define fb_rows vinfo.yres ++#define fb_cols vinfo.xres ++ ++static void fb_set(int r, int c, void *mem, int len) ++{ ++ memcpy(G.fb_ptr + (r + G.vinfo.yoffset) * G.finfo.line_length + ++ (c + G.vinfo.xoffset) * G.bpp, mem, len * G.bpp); ++} ++ ++#define line_buffer bb_common_bufsiz1 ++#define MAXPIX (COMMON_BUFSIZE/sizeof(uint32_t)) ++ ++static void skip(int len) ++{ ++ int n; ++ while (len > 0 && (n = read(G.vnc_fd, line_buffer, ++ MIN(len, COMMON_BUFSIZE))) > 0) ++ len -= n; ++} ++ ++static void vnc_init(void) ++{ ++ struct vnc_client_init clientinit; ++ struct vnc_server_init serverinit; ++ struct vnc_client_pixelfmt pixfmt_cmd; ++ int connstat = VNC_CONN_FAILED; ++ ++ write(G.vnc_fd, "RFB 003.003\n", 12); ++ skip(12); ++ ++ xread(G.vnc_fd, &connstat, sizeof(connstat)); ++ ++ if (ntohl(connstat) != VNC_CONN_NOAUTH) ++ bb_perror_msg_and_die("vnc auth"); ++ ++ clientinit.shared = 1; ++ write(G.vnc_fd, &clientinit, sizeof(clientinit)); ++ read(G.vnc_fd, &serverinit, sizeof(serverinit)); ++ ++ fb_init(); ++ G.srv_cols = ntohs(serverinit.w); ++ G.srv_rows = ntohs(serverinit.h); ++ G.cols = MIN(G.srv_cols, G.fb_cols); ++ G.rows = MIN(G.srv_rows, G.fb_rows); ++ G.mr = G.rows / 2; ++ G.mc = G.cols / 2; ++ ++ skip(ntohl(serverinit.len)); ++ pixfmt_cmd.type = VNC_CLIENT_PIXFMT; ++ pixfmt_cmd.format.bigendian = 0; ++ pixfmt_cmd.format.truecolor = 1; ++ pixfmt_cmd.format.bpp = ++ pixfmt_cmd.format.depth = G.bpp << 3; ++ pixfmt_cmd.format.rmax = htons(G.nr - 1); ++ pixfmt_cmd.format.gmax = htons(G.ng - 1); ++ pixfmt_cmd.format.bmax = htons(G.nb - 1); ++ pixfmt_cmd.format.rshl = G.vinfo.red.offset; ++ pixfmt_cmd.format.gshl = G.vinfo.green.offset; ++ pixfmt_cmd.format.bshl = G.vinfo.blue.offset; ++ write(G.vnc_fd, &pixfmt_cmd, sizeof(pixfmt_cmd)); ++} ++ ++static void vnc_refresh(int inc) ++{ ++ struct vnc_client_fbup fbup_req; ++ fbup_req.type = VNC_CLIENT_FBUP; ++ fbup_req.inc = inc; ++ fbup_req.x = htons(G.oc); ++ fbup_req.y = htons(G.or); ++ fbup_req.w = htons(G.oc + G.cols); ++ fbup_req.h = htons(G.or + G.rows); ++ write(G.vnc_fd, &fbup_req, sizeof(fbup_req)); ++} ++ ++static void cleanup(void) ++{ ++#define RESETSTR "\x1b[?25h\x1b[2J\x1b[H" ++ fb_free(); ++ tcsetattr_stdin_TCSANOW(&G.term_orig); ++ write(STDOUT_FILENO, RESETSTR, sizeof(RESETSTR)); ++ if (ENABLE_FEATURE_CLEAN_UP) { ++ close(G.vnc_fd); ++ close(G.rat_fd); ++ } ++} ++ ++static void killed(int code) NORETURN; ++static void killed(int code) ++{ ++ cleanup(); ++ if (code > EXIT_FAILURE) ++ kill_myself_with_sig(code); ++ exit(code); ++} ++ ++static void vnc_event(void) ++{ ++ struct vnc_rect uprect; ++ union { ++ struct vnc_server_fbup fbup; ++ struct vnc_server_cuttext cuttext; ++ struct vnc_server_colormap colormap; ++ } msg; ++ int n; ++ ++ switch (xread_char(G.vnc_fd)) { ++ case VNC_SERVER_FBUP: ++ xread(G.vnc_fd, &msg.fbup.pad, sizeof(msg.fbup) - 1); ++ n = ntohs(msg.fbup.n); ++ while (n--) { ++ int x, y, w, h, l, i; ++ xread(G.vnc_fd, &uprect, sizeof(uprect)); ++ if (uprect.enc != 0) ++ killed(1); ++ i = 0; ++ x = ntohs(uprect.x) - G.oc; ++ y = ntohs(uprect.y) - G.or; ++ w = ntohs(uprect.w); ++ h = ntohs(uprect.h); ++ l = MIN(w, G.cols - x); ++ if (x < 0) { ++ l = MIN(w + x, G.cols); ++ i = -x; ++ x = 0; ++ } ++ for (; h--; y++) { ++ int a, b, c = i; ++ for (a = b = 0; w > b; b += a, c = 0) { ++ int len; ++ a = MIN(w - b, MAXPIX); ++ len = MIN(a, l - b) - c; ++ xread(G.vnc_fd, line_buffer, a * G.bpp); ++ if (y >= 0 && y < G.rows && len > 0) ++ fb_set(y, x + b, ++ line_buffer + (c * G.bpp), ++ len); ++ } ++ } ++ } ++ break; ++ case VNC_SERVER_BELL: ++ break; ++ case VNC_SERVER_CUTTEXT: ++ xread(G.vnc_fd, &msg.cuttext.pad1, sizeof(msg.cuttext) - 1); ++ skip(ntohl(msg.cuttext.len)); ++ break; ++ case VNC_SERVER_COLORMAP: ++ xread(G.vnc_fd, &msg.colormap.pad, sizeof(msg.colormap) - 1); ++ skip(ntohs(msg.colormap.n) * 3 * 2); ++ break; ++ default: ++ killed(1); ++ } ++} ++ ++static int update_scroll(struct scroll_data *s) ++{ ++ int shift = s->size / 5; ++ int max = s->srv_size - s->size; ++ int status = 0; ++ if (s->pos < s->offset) { ++ if ((s->offset -= shift) < 0) ++ s->offset = 0; ++ } ++ else if (s->pos >= s->offset + s->size && s->offset < max) { ++ if ((s->offset += shift) > max) ++ s->offset = max; ++ } ++ else status++; ++ s->pos = MAX(s->offset, MIN(s->offset + s->size - 1, s->pos)); ++ return status; ++} ++ ++static void rat_event(void) ++{ ++ static u8 btn2vnc[8] = { ++ 0, VNC_BUTTON1_MASK, VNC_BUTTON3_MASK, ++ VNC_BUTTON1_MASK + VNC_BUTTON3_MASK, VNC_BUTTON2_MASK, ++ VNC_BUTTON1_MASK + VNC_BUTTON2_MASK, ++ VNC_BUTTON2_MASK + VNC_BUTTON3_MASK, ++ VNC_BUTTON1_MASK + VNC_BUTTON2_MASK + VNC_BUTTON3_MASK ++ }; ++ signed char ie[4]; ++ struct vnc_client_ratevent me = {VNC_CLIENT_RATEVENT}; ++ int refresh; ++ ++ xread(G.rat_fd, &ie, sizeof(ie)); ++ G.mc += ie[1]; ++ G.mr -= ie[2]; ++ refresh = 2 - update_scroll(&G.scroll[0]) - update_scroll(&G.scroll[1]); ++ me.mask = btn2vnc[(int)(G.rat_buttons = ie[0] & 7)]; ++ if (ie[3] > 0) /* wheel up */ ++ me.mask |= VNC_BUTTON4_MASK; ++ if (ie[3] < 0) /* wheel down */ ++ me.mask |= VNC_BUTTON5_MASK; ++ me.y = htons(G.mr); ++ me.x = htons(G.mc); ++ write(G.vnc_fd, &me, sizeof(me)); ++ if (refresh) ++ vnc_refresh(0); ++} ++ ++static int press(int key, int down) ++{ ++ struct vnc_client_keyevent ke = {VNC_CLIENT_KEYEVENT}; ++ ke.key = htonl(key); ++ ke.down = down; ++ return write(G.vnc_fd, &ke, sizeof(ke)); ++} ++ ++static void kbd_event(void) ++{ ++ char key[1024]; ++ int i, nr; ++ ++ if ((nr = read(0, key, sizeof(key))) <= 0 ) ++ killed(1); ++ for (i = 0; i < nr; i++) { ++ int j, k; ++ int mod[4]; ++ int nmod; ++ ++ k = nmod = 0; ++ switch (key[i]) { ++ case 0x08: ++ case 0x7f: ++ k = 0xff08; ++ break; ++ case 0x1b: ++ if (G.rat_buttons) ++ killed(0); ++ if (i + 2 < nr && key[i + 1] == '[') { ++ static const char arr2vnc[] = "HDACB"; ++ char *p = strchr(arr2vnc, key[i + 2]); ++ ++ if (p) { ++ k = p - arr2vnc + 0xff50; ++ i += 2; ++ break; ++ } ++ } ++ if (i + 1 < nr) { ++ mod[nmod++] = 0xffe9; ++ i++; ++ } ++ case 0x09: ++ case 0x0d: ++ k = 0xff00; ++ goto getkey; ++ case 0x0c: /* Mouse button + ^L: redraw */ ++ if (G.rat_buttons) { ++ vnc_refresh(0); ++ continue; ++ } ++ default: ++ getkey: ++ k += (unsigned char) key[i]; ++ } ++ if ((k >= 'A' && k <= 'Z') || strchr(":\"<>?{}|+_()*&^%$#@!~", k)) ++ mod[nmod++] = 0xffe1; ++ if (k >= 1 && k <= 26) { ++ k += 'a' - 1; ++ mod[nmod++] = 0xffe3; ++ } ++ mod[nmod] = k; ++ for (j = 0; j <= nmod; j++) ++ press(mod[j], 1); ++ press(k, 0); ++ for (j = 0; j < nmod; j++) ++ press(mod[j], 0); ++ } ++} ++ ++static void term_setup(void) ++{ ++ struct termios termios; ++#define INITSTR "\x1b[?25l\x1b[2J\x1b[H** fbvnc **" ++ ++ write(STDOUT_FILENO, INITSTR, sizeof(INITSTR)); ++ tcgetattr (STDIN_FILENO, &termios); ++ G.term_orig = termios; ++ cfmakeraw(&termios); ++ tcsetattr_stdin_TCSANOW(&termios); ++} ++ ++int fbvnc_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; ++int fbvnc_main(int argc, char **argv) ++{ ++ char *host = (char *) "127.0.0.1"; ++ int port, pending = 0; ++ ++ INIT_G(); ++ if (argc >= 2) ++ host = argv[1]; ++ port = bb_lookup_port((argc >= 3) ? argv[2] : "vnc", "tcp", 5900); ++ G.vnc_fd = create_and_connect_stream_or_die(host, port); ++ vnc_init(); ++ G.rat_fd = open("/dev/input/mice", O_RDWR); ++ write(G.rat_fd, "\xf3\xc8\xf3\x64\xf3\x50", 6); /* for using mouse wheel */ ++ read(G.rat_fd, line_buffer, 1); ++ term_setup(); ++ atexit(cleanup); ++ bb_signals(BB_FATAL_SIGS, killed); ++ ++ G.ufds[0].events = ++ G.ufds[1].events = ++ G.ufds[2].events = POLLIN; ++ vnc_refresh(0); ++ while (1) { ++ int status = poll(G.ufds, 3, 500); ++ if (status == -1 && errno != EINTR) ++ killed(1); ++ if (!status) ++ continue; ++ if (G.ufds[0].revents & POLLIN) ++ kbd_event(); ++ if (G.ufds[1].revents & POLLIN) { ++ vnc_event(); ++ pending = 0; ++ } ++ if (G.ufds[2].revents & POLLIN) ++ rat_event(); ++ if (!pending++) ++ vnc_refresh(1); ++ } ++} +--- /dev/null ++++ busybox/util-linux/vnc.h +@@ -0,0 +1,124 @@ ++#define VNC_CONN_FAILED 0 ++#define VNC_CONN_NOAUTH 1 ++#define VNC_CONN_AUTH 2 ++ ++#define VNC_AUTH_OK 0 ++#define VNC_AUTH_FAILED 1 ++#define VNC_AUTH_TOOMANY 2 ++ ++#define VNC_SERVER_FBUP 0 ++#define VNC_SERVER_COLORMAP 1 ++#define VNC_SERVER_BELL 2 ++#define VNC_SERVER_CUTTEXT 3 ++ ++#define VNC_CLIENT_PIXFMT 0 ++#define VNC_CLIENT_COLORMAP 1 ++#define VNC_CLIENT_SETENC 2 ++#define VNC_CLIENT_FBUP 3 ++#define VNC_CLIENT_KEYEVENT 4 ++#define VNC_CLIENT_RATEVENT 5 ++#define VNC_CLIENT_CUTTEXT 6 ++ ++#define VNC_ENC_RAW 0 ++#define VNC_ENC_COPYRECT 1 ++#define VNC_ENC_RRE 2 ++#define VNC_ENC_CORRE 4 ++#define VNC_ENC_HEXTILE 5 ++ ++#define VNC_BUTTON1_MASK 0x01 ++#define VNC_BUTTON2_MASK 0x02 ++#define VNC_BUTTON3_MASK 0x04 ++#define VNC_BUTTON4_MASK 0x10 ++#define VNC_BUTTON5_MASK 0x08 ++ ++typedef unsigned char u8; ++typedef unsigned short u16; ++typedef unsigned int u32; ++ ++struct vnc_pixelfmt { ++ u8 bpp; ++ u8 depth; ++ u8 bigendian; ++ u8 truecolor; ++ u16 rmax; ++ u16 gmax; ++ u16 bmax; ++ u8 rshl; ++ u8 gshl; ++ u8 bshl; ++ ++ u8 pad1; ++ u16 pad2; ++}; ++ ++struct vnc_client_init { ++ u8 shared; ++}; ++ ++struct vnc_server_init { ++ u16 w; ++ u16 h; ++ struct vnc_pixelfmt fmt; ++ u32 len; ++ /* char name[len]; */ ++}; ++ ++struct vnc_rect { ++ u16 x, y; ++ u16 w, h; ++ u32 enc; ++ /* rect bytes */ ++}; ++ ++struct vnc_server_fbup { ++ u8 type; ++ u8 pad; ++ u16 n; ++ /* struct vnc_rect rects[n]; */ ++}; ++ ++struct vnc_server_cuttext { ++ u8 type; ++ u8 pad1; ++ u16 pad2; ++ u32 len; ++ /* char text[length] */ ++}; ++ ++struct vnc_server_colormap { ++ u8 type; ++ u8 pad; ++ u16 first; ++ u16 n; ++ /* u8 colors[n * 3 * 2]; */ ++}; ++ ++struct vnc_client_pixelfmt { ++ u8 type; ++ u8 pad1; ++ u16 pad2; ++ struct vnc_pixelfmt format; ++}; ++ ++struct vnc_client_fbup { ++ u8 type; ++ u8 inc; ++ u16 x; ++ u16 y; ++ u16 w; ++ u16 h; ++}; ++ ++struct vnc_client_keyevent { ++ u8 type; ++ u8 down; ++ u16 pad; ++ u32 key; ++}; ++ ++struct vnc_client_ratevent { ++ u8 type; ++ u8 mask; ++ u16 x; ++ u16 y; ++}; diff -r f04e6a2d1224 -r b422abc85a5f busybox/stuff/busybox-1.26-ftpd.u --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/busybox/stuff/busybox-1.26-ftpd.u Sat Feb 11 15:47:13 2017 +0100 @@ -0,0 +1,60 @@ +Keep anonynous default usage, need -a for authentication check +--- busybox-1.26/networking/ftpd.c ++++ busybox-1.26/networking/ftpd.c +@@ -47,7 +47,7 @@ + //kbuild:lib-$(CONFIG_FTPD) += ftpd.o + + //usage:#define ftpd_trivial_usage +-//usage: "[-wvS] [-t N] [-T N] [DIR]" ++//usage: "[-wvSa] [-t N] [-T N] [DIR]" + //usage:#define ftpd_full_usage "\n\n" + //usage: "Anonymous FTP server\n" + //usage: "\n" +@@ -59,6 +59,7 @@ + //usage: "\n -w Allow upload" + //usage: "\n -v Log errors to stderr. -vv: verbose log" + //usage: "\n -S Log errors to syslog. -SS: verbose log" ++//usage: "\n -a Authentication check" + //usage: "\n -t,-T Idle and absolute timeouts" + //usage: "\n DIR Change root to this directory" + +@@ -1142,7 +1143,8 @@ + #endif + OPT_v = (1 << ((!BB_MMU) * 3 + 0)), + OPT_S = (1 << ((!BB_MMU) * 3 + 1)), +- OPT_w = (1 << ((!BB_MMU) * 3 + 2)) * ENABLE_FEATURE_FTPD_WRITE, ++ OPT_a = (1 << ((!BB_MMU) * 3 + 2)), ++ OPT_w = (1 << ((!BB_MMU) * 3 + 3)) * ENABLE_FEATURE_FTPD_WRITE, + }; + + int ftpd_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; +@@ -1166,9 +1168,9 @@ + G.timeout = 2 * 60; + opt_complementary = "vv:SS"; + #if BB_MMU +- opts = getopt32(argv, "vS" IF_FEATURE_FTPD_WRITE("w") "t:+T:+", &G.timeout, &abs_timeout, &G.verbose, &verbose_S); ++ opts = getopt32(argv, "vSa" IF_FEATURE_FTPD_WRITE("w") "t:+T:+", &G.timeout, &abs_timeout, &G.verbose, &verbose_S); + #else +- opts = getopt32(argv, "l1AvS" IF_FEATURE_FTPD_WRITE("w") "t:+T:+", &G.timeout, &abs_timeout, &G.verbose, &verbose_S); ++ opts = getopt32(argv, "l1AvSa" IF_FEATURE_FTPD_WRITE("w") "t:+T:+", &G.timeout, &abs_timeout, &G.verbose, &verbose_S); + if (opts & (OPT_l|OPT_1)) { + /* Our secret backdoor to ls */ + /* TODO: pass --group-directories-first? would be nice, but ls doesn't do that yet */ +@@ -1232,7 +1234,7 @@ + signal(SIGALRM, timeout_handler); + + #if ENABLE_FEATURE_FTPD_AUTHENTICATION +- while (1) { ++ if (opts & OPT_a) while (1) { + uint32_t cmdval = cmdio_get_cmd_and_arg(); + if (cmdval == const_USER) { + pw = getpwnam(G.ftp_arg); +@@ -1282,7 +1284,7 @@ + } + + #if ENABLE_FEATURE_FTPD_AUTHENTICATION +- change_identity(pw); ++ if (opts & OPT_a) change_identity(pw); + #endif + + /* RFC-959 Section 5.1 diff -r f04e6a2d1224 -r b422abc85a5f busybox/stuff/busybox-1.26-losetup.u --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/busybox/stuff/busybox-1.26-losetup.u Sat Feb 11 15:47:13 2017 +0100 @@ -0,0 +1,28 @@ +keep previous default behaviour and display cloop devices +--- busybox-1.26/util-linux/losetup.c ++++ busybox-1.26/util-linux/losetup.c +@@ -82,17 +82,21 @@ + } + + /* -a */ +- if (opt == OPT_a) { +- int n; ++ if (opt == OPT_a || (!opt && !argv[0])) { ++ int i, n; ++ static const char *fmt[3] = { LOOP_FORMAT, "/dev/cloop", "/dev/cloop%u" }; ++ ++ for (i = 0; i < 3; i++) + for (n = 0; n < MAX_LOOP_NUM; n++) { + char *s; + +- sprintf(dev, LOOP_FORMAT, n); ++ sprintf(dev, fmt[i], n); + s = query_loop(dev); + if (s) { + printf("%s: %s\n", dev, s); + free(s); + } ++ if (i == 1) break; /* /dev/cloop */ + } + return EXIT_SUCCESS; + } diff -r f04e6a2d1224 -r b422abc85a5f busybox/stuff/busybox-1.26-printable.u --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/busybox/stuff/busybox-1.26-printable.u Sat Feb 11 15:47:13 2017 +0100 @@ -0,0 +1,24 @@ +fix the bug of 'ls cannot display utf-8 filenames' +--- busybox-1.25/libbb/printable_string.c ++++ busybox-1.25/libbb/printable_string.c +@@ -28,8 +28,8 @@ + } + if (c < ' ') + break; +- if (c >= 0x7f) +- break; ++ /* if (c >= 0x7f) */ ++ /* break; */ + s++; + } + +@@ -42,7 +42,8 @@ + unsigned char c = *d; + if (c == '\0') + break; +- if (c < ' ' || c >= 0x7f) ++ /* if (c < ' ' || c >= 0x7f) */ ++ if (c < ' ') + *d = '?'; + d++; + } diff -r f04e6a2d1224 -r b422abc85a5f busybox/stuff/busybox-1.26-ris.u --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/busybox/stuff/busybox-1.26-ris.u Sat Feb 11 15:47:13 2017 +0100 @@ -0,0 +1,90 @@ +Add support for the Windows Remote Installation Service +--- busybox-1.26/networking/tftp.c ++++ busybox-1.26/networking/tftp.c +@@ -39,6 +39,15 @@ + //config:comment "Common options for tftp/tftpd" + //config: depends on TFTP || TFTPD + //config: ++//config:config FEATURE_TFTPD_RIS ++//config: bool "Enable \"RIS\" support" ++//config: default y ++//config: depends on TFTPD ++//config: help ++//config: Add support for the Windows Remote Installation Service. This allows ++//config: a client to get files starting with \ without respecting case. ++//config: Each \ will be replaced by a /. ++//config: + //config:config FEATURE_TFTP_GET + //config: bool "Enable 'tftp get' and/or tftpd upload code" + //config: default y +@@ -745,6 +754,59 @@ + #undef remote_file + } + ++#if ENABLE_FEATURE_TFTPD_RIS ++#include ++ ++static int lookup_entry(const char *search, char *unixpath); ++static void unixfilename(char *filename); ++ ++// lookup search and concat real filename to unixpath ++static int lookup_entry(const char *search, char *unixpath) ++{ ++ int status = 0; ++ DIR *dirp = opendir(unixpath[0] ? unixpath : "."); ++ ++ if (dirp != NULL) { ++ struct dirent *entry; ++ ++ while ((entry = readdir(dirp))) { ++ if (!strcasecmp(entry->d_name, search)) { ++ if (unixpath[0]) strcat(unixpath, "/"); ++ strcat(unixpath, entry->d_name); ++ status++; ++ break; ++ } ++ } ++ closedir(dirp); ++ } ++ return status; ++} ++ ++// update filename with real file path found ++static void unixfilename(char *filename) ++{ ++ char unixpath[PATH_MAX]; ++ char *s = unixpath + 1; ++ char *check = filename + 1; ++ int len; ++ ++ for (unixpath[0] = 0; *check; len++, s += len, check += len) { ++ char *seek = strchr(check, '\\'); ++ ++ if (!seek) { // basename of filename ++ if (lookup_entry(check, unixpath)) ++ strcpy(filename, unixpath); // found ++ break; ++ } ++ len = seek - check; ++ memcpy(s, check, len); ++ s[len] = '\0'; ++ if (!lookup_entry(s, unixpath)) ++ break; // path mismatch ++ } ++} ++#endif ++ + #if ENABLE_TFTP + + int tftp_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; +@@ -893,6 +955,10 @@ + G.block_buf_tail[0] = '\0'; + + local_file = G.block_buf + 2; ++#if ENABLE_FEATURE_TFTPD_RIS ++ if (local_file[0] == '\\') ++ unixfilename(local_file); ++#endif + if (local_file[0] == '.' || strstr(local_file, "/.")) { + error_msg = "dot in file name"; + goto err; diff -r f04e6a2d1224 -r b422abc85a5f busybox/stuff/busybox-1.26-scriptreplay.u --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/busybox/stuff/busybox-1.26-scriptreplay.u Sat Feb 11 15:47:13 2017 +0100 @@ -0,0 +1,56 @@ +--- busybox-1.26/util-linux/scriptreplay.c ++++ busybox-1.26/util-linux/scriptreplay.c +@@ -18,10 +18,20 @@ + + //kbuild:lib-$(CONFIG_SCRIPTREPLAY) += scriptreplay.o + ++//config:config SCRIPTREPLAY_HOTKEYS ++//config: bool "speed control hotkeys" ++//config: default n ++//config: depends on SCRIPTREPLAY ++//config: help ++//config: Tune replay speed with + - = space return hotkeys. ++ + //usage:#define scriptreplay_trivial_usage + //usage: "timingfile [typescript [divisor]]" + //usage:#define scriptreplay_full_usage "\n\n" + //usage: "Play back typescripts, using timing information" ++//usage: IF_SCRIPTREPLAY_HOTKEYS( ++//usage: " and + - = space return hotkeys" ++//usage: ) + + #include "libbb.h" + +@@ -31,6 +41,10 @@ + const char *script = "typescript"; + double delay, factor = 1000000.0; + int fd; ++#if ENABLE_SCRIPTREPLAY_HOTKEYS ++ int timeout = -1; ++ char buffer[KEYCODE_BUFFER_SIZE]; ++#endif + unsigned long count; + FILE *tfp; + +@@ -48,6 +62,21 @@ + while (fscanf(tfp, "%lf %lu\n", &delay, &count) == 2) { + usleep(delay * factor); + bb_copyfd_exact_size(fd, STDOUT_FILENO, count); ++#if ENABLE_SCRIPTREPLAY_HOTKEYS ++ switch (read_key(0, buffer, timeout)) { ++ case ' ': ++ timeout = INT_MAX; ++ break; ++ case '=': ++ factor = 1000000.0/2; ++ case '-': ++ factor *= 4; ++ case '+': ++ factor /= 2; ++ default : ++ timeout = -1; ++ } ++#endif + } + if (ENABLE_FEATURE_CLEAN_UP) { + close(fd); diff -r f04e6a2d1224 -r b422abc85a5f busybox/stuff/busybox-1.26-shutdown.u --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/busybox/stuff/busybox-1.26-shutdown.u Sat Feb 11 15:47:13 2017 +0100 @@ -0,0 +1,62 @@ +--- busybox-1.26/init/halt.c ++++ busybox-1.26/init/halt.c +@@ -48,6 +48,7 @@ + //applet:IF_HALT(APPLET(halt, BB_DIR_SBIN, BB_SUID_DROP)) + //applet:IF_POWEROFF(APPLET_ODDNAME(poweroff, halt, BB_DIR_SBIN, BB_SUID_DROP, poweroff)) + //applet:IF_REBOOT(APPLET_ODDNAME(reboot, halt, BB_DIR_SBIN, BB_SUID_DROP, reboot)) ++//applet:IF_REBOOT(APPLET_ODDNAME(shutdown, halt, BB_DIR_SBIN, BB_SUID_DROP, shutdown)) + + //kbuild:lib-$(CONFIG_HALT) += halt.o + //kbuild:lib-$(CONFIG_POWEROFF) += halt.o +@@ -79,6 +80,15 @@ + //usage: "\n -d SEC Delay interval" + //usage: "\n -n Do not sync" + //usage: "\n -f Force (don't go through init)" ++//usage: ++//usage:#define shutdown_trivial_usage ++//usage: "[-rhHP]" ++//usage:#define shutdown_full_usage "\n\n" ++//usage: "Bring the system down\n" ++//usage: "\n -r Do reboot" ++//usage: "\n -h Do poweroff" ++//usage: "\n -H Do halt" ++//usage: "\n -P Do poweroff" + + #include "libbb.h" + #include "reboot.h" +@@ -112,6 +122,7 @@ + int halt_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; + int halt_main(int argc UNUSED_PARAM, char **argv) + { ++ enum { HALT=0, POWEROFF=1, REBOOT=2, SHUTDOWN=3 }; + static const int magic[] = { + RB_HALT_SYSTEM, + RB_POWER_OFF, +@@ -132,15 +143,26 @@ + if (!ENABLE_HALT && !ENABLE_POWEROFF && ENABLE_REBOOT) + which = 2; + else +- for (which = 0; "hpr"[which] != applet_name[0]; which++) ++ for (which = 0; "hprs"[which] != applet_name[0]; which++) + continue; + ++ if (which == SHUTDOWN) { ++ which = REBOOT; ++ switch (getopt32(argv, "rhPH")) { ++ case 2: ++ case 4: which = POWEROFF; break; ++ case 8: which = HALT; ++ } ++ flags = 0; ++ } ++ else { + /* Parse and handle arguments */ + /* We support -w even if !ENABLE_FEATURE_WTMP, + * in order to not break scripts. + * -i (shut down network interfaces) is ignored. + */ + flags = getopt32(argv, "d:+nfwi", &delay); ++ } + + sleep(delay); + diff -r f04e6a2d1224 -r b422abc85a5f busybox/stuff/busybox-1.26-stat.u --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/busybox/stuff/busybox-1.26-stat.u Sat Feb 11 15:47:13 2017 +0100 @@ -0,0 +1,76 @@ +Add non standard stat -m support to display file block list +Useful to patch read-only filesystems such as ISO9660, for defragmentation +tools or boot loaders +--- busybox-1.26/coreutils/stat.c ++++ busybox-1.26/coreutils/stat.c +@@ -54,6 +54,7 @@ + //usage: ) + //usage: "\n -L Follow links" + //usage: "\n -t Terse display" ++//usage: "\n -m Display block list" + //usage: IF_SELINUX( + //usage: "\n -Z Print security context" + //usage: ) +@@ -106,13 +107,15 @@ + //usage: ) + + #include "libbb.h" ++#include + #include "common_bufsiz.h" + + enum { + OPT_TERSE = (1 << 0), + OPT_DEREFERENCE = (1 << 1), +- OPT_FILESYS = (1 << 2) * ENABLE_FEATURE_STAT_FILESYSTEM, +- OPT_SELINUX = (1 << (2+ENABLE_FEATURE_STAT_FILESYSTEM)) * ENABLE_SELINUX, ++ OPT_MAP = (1 << 2), ++ OPT_FILESYS = (1 << 3) * ENABLE_FEATURE_STAT_FILESYSTEM, ++ OPT_SELINUX = (1 << (3+ENABLE_FEATURE_STAT_FILESYSTEM)) * ENABLE_SELINUX, + }; + + #if ENABLE_FEATURE_STAT_FORMAT +@@ -463,6 +466,25 @@ + } + #endif /* FEATURE_STAT_FORMAT */ + ++#if !ENABLE_FEATURE_STAT_FORMAT ++#define do_mapfile(filename, format) do_mapfile(filename) ++#endif ++static bool do_mapfile(const char *filename, const char *format) ++{ ++ int i = 0; ++ int fd = xopen(filename, O_RDONLY); ++ ++#if ENABLE_FEATURE_STAT_FORMAT ++ (void) format; ++#endif ++ while (1) { ++ int blk = i++; ++ if (ioctl(fd,FIBMAP,&blk) < 0 || blk == 0) break; ++ printf("%u\n",blk); ++ } ++ return 1; ++} ++ + #if ENABLE_FEATURE_STAT_FILESYSTEM + /* Stat the file system and print what we find. */ + #if !ENABLE_FEATURE_STAT_FORMAT +@@ -763,7 +785,7 @@ + statfunc_ptr statfunc = do_stat; + + opt_complementary = "-1"; /* min one arg */ +- opts = getopt32(argv, "tL" ++ opts = getopt32(argv, "tLm" + IF_FEATURE_STAT_FILESYSTEM("f") + IF_SELINUX("Z") + IF_FEATURE_STAT_FORMAT("c:", &format) +@@ -777,6 +799,9 @@ + selinux_or_die(); + } + #endif ++ if (opts & OPT_MAP) { /* -m */ ++ statfunc = do_mapfile; ++ } + ok = 1; + argv += optind; + for (i = 0; argv[i]; ++i) diff -r f04e6a2d1224 -r b422abc85a5f busybox/stuff/busybox-1.26-tar.u --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/busybox/stuff/busybox-1.26-tar.u Sat Feb 11 15:47:13 2017 +0100 @@ -0,0 +1,11 @@ +Accept and ignore --wildcards argument +--- busybox-1.25/archival/tar.c ++++ busybox-1.25/archival/tar.c +@@ -935,6 +935,7 @@ + # if ENABLE_FEATURE_TAR_NOPRESERVE_TIME + "touch\0" No_argument "m" + # endif ++ "wildcards\0" No_argument "\xf8" + "strip-components\0" Required_argument "\xf9" + "no-recursion\0" No_argument "\xfa" + # if ENABLE_FEATURE_TAR_TO_COMMAND diff -r f04e6a2d1224 -r b422abc85a5f busybox/stuff/busybox-1.26-zmodules.u --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/busybox/stuff/busybox-1.26-zmodules.u Sat Feb 11 15:47:13 2017 +0100 @@ -0,0 +1,27 @@ +Add LZMA_DEFAULT_MAGIC support +--- busybox-1.25/archival/libarchive/open_transformer.c ++++ busybox-1.25/archival/libarchive/open_transformer.c +@@ -174,6 +174,23 @@ + /* .gz and .bz2 both have 2-byte signature, and their + * unpack_XXX_stream wants this header skipped. */ + xread(fd, magic.b16, sizeof(magic.b16[0])); ++#if 1 ++// SliTaz may use .gz suffix for lzma'd kernel modules ++#if BB_BIG_ENDIAN ++#define LZMA_DEFAULT_MAGIC 0x5d00 ++#else ++#define LZMA_DEFAULT_MAGIC 0x5d ++#endif ++ if (ENABLE_FEATURE_SEAMLESS_LZMA ++ && magic.b16[0] == LZMA_DEFAULT_MAGIC ++ ) { ++ xlseek(fd, -xstate->signature_skipped, SEEK_CUR); ++ xstate->signature_skipped = 0; ++ xstate->xformer = unpack_lzma_stream; ++ USE_FOR_NOMMU(xstate->xformer_prog = "unlzma";) ++ goto found_magic; ++ } ++#endif + if (ENABLE_FEATURE_SEAMLESS_GZ + && magic.b16[0] == GZIP_MAGIC + ) { diff -r f04e6a2d1224 -r b422abc85a5f busybox/stuff/busybox-1.26.config --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/busybox/stuff/busybox-1.26.config Sat Feb 11 15:47:13 2017 +0100 @@ -0,0 +1,1092 @@ +# +# Automatically generated make config: don't edit +# Busybox version: 1.26.1 +# Thu Jan 5 16:41:45 2017 +# +CONFIG_HAVE_DOT_CONFIG=y + +# +# Busybox Settings +# +# CONFIG_DESKTOP is not set +# CONFIG_EXTRA_COMPAT is not set +# CONFIG_INCLUDE_SUSv2 is not set +# CONFIG_USE_PORTABLE_CODE is not set +CONFIG_PLATFORM_LINUX=y +CONFIG_SHOW_USAGE=y +# CONFIG_FEATURE_VERBOSE_USAGE is not set +CONFIG_FEATURE_COMPRESS_USAGE=y +CONFIG_BUSYBOX=y +# CONFIG_FEATURE_INSTALLER is not set +# CONFIG_INSTALL_NO_USR is not set +# CONFIG_PAM is not set +CONFIG_LONG_OPTS=y +CONFIG_FEATURE_DEVPTS=y +# CONFIG_FEATURE_CLEAN_UP is not set +CONFIG_FEATURE_UTMP=y +CONFIG_FEATURE_WTMP=y +CONFIG_FEATURE_PIDFILE=y +CONFIG_PID_FILE_PATH="/var/run" +CONFIG_FEATURE_SUID=y +# CONFIG_FEATURE_SUID_CONFIG is not set +# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set +# CONFIG_SELINUX is not set +CONFIG_FEATURE_PREFER_APPLETS=y +CONFIG_BUSYBOX_EXEC_PATH="/bin/busybox" +CONFIG_FEATURE_SYSLOG=y +# CONFIG_FEATURE_HAVE_RPC is not set + +# +# Build Options +# +# CONFIG_STATIC is not set +# CONFIG_PIE is not set +# CONFIG_NOMMU is not set +# CONFIG_BUILD_LIBBUSYBOX is not set +# CONFIG_FEATURE_INDIVIDUAL is not set +# CONFIG_FEATURE_SHARED_BUSYBOX is not set +# CONFIG_LFS is not set +CONFIG_CROSS_COMPILER_PREFIX="uclibc-i486-" +CONFIG_SYSROOT="" +CONFIG_EXTRA_CFLAGS="" +CONFIG_EXTRA_LDFLAGS="" +CONFIG_EXTRA_LDLIBS="" + +# +# Installation Options ("make install" behavior) +# +# CONFIG_INSTALL_APPLET_SYMLINKS is not set +CONFIG_INSTALL_APPLET_HARDLINKS=y +# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set +# CONFIG_INSTALL_APPLET_DONT is not set +# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set +# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set +# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set +CONFIG_PREFIX="./_install" + +# +# Debugging Options +# +# CONFIG_DEBUG is not set +# CONFIG_DEBUG_PESSIMIZE is not set +# CONFIG_DEBUG_SANITIZE is not set +# CONFIG_UNIT_TEST is not set +# CONFIG_WERROR is not set +CONFIG_NO_DEBUG_LIB=y +# CONFIG_DMALLOC is not set +# CONFIG_EFENCE is not set + +# +# Busybox Library Tuning +# +# CONFIG_FEATURE_USE_BSS_TAIL is not set +# CONFIG_FEATURE_RTMINMAX is not set +CONFIG_FEATURE_BUFFERS_USE_MALLOC=y +# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set +# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set +CONFIG_PASSWORD_MINLEN=6 +CONFIG_MD5_SMALL=3 +CONFIG_SHA3_SMALL=1 +# CONFIG_FEATURE_FAST_TOP is not set +# CONFIG_FEATURE_ETC_NETWORKS is not set +CONFIG_FEATURE_USE_TERMIOS=y +CONFIG_FEATURE_EDITING=y +CONFIG_FEATURE_EDITING_MAX_LEN=1024 +# CONFIG_FEATURE_EDITING_VI is not set +CONFIG_FEATURE_EDITING_HISTORY=32 +# CONFIG_FEATURE_EDITING_SAVEHISTORY is not set +# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set +# CONFIG_FEATURE_REVERSE_SEARCH is not set +CONFIG_FEATURE_TAB_COMPLETION=y +# CONFIG_FEATURE_USERNAME_COMPLETION is not set +CONFIG_FEATURE_EDITING_FANCY_PROMPT=y +# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set +# CONFIG_LOCALE_SUPPORT is not set +# CONFIG_UNICODE_SUPPORT is not set +# CONFIG_UNICODE_USING_LOCALE is not set +# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set +CONFIG_SUBST_WCHAR=0 +CONFIG_LAST_SUPPORTED_WCHAR=0 +# CONFIG_UNICODE_COMBINING_WCHARS is not set +# CONFIG_UNICODE_WIDE_WCHARS is not set +# CONFIG_UNICODE_BIDI_SUPPORT is not set +# CONFIG_UNICODE_NEUTRAL_TABLE is not set +# CONFIG_UNICODE_PRESERVE_BROKEN is not set +CONFIG_FEATURE_NON_POSIX_CP=y +# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set +CONFIG_FEATURE_USE_SENDFILE=y +CONFIG_FEATURE_COPYBUF_KB=4 +CONFIG_FEATURE_SKIP_ROOTFS=y +CONFIG_MONOTONIC_SYSCALL=y +# CONFIG_IOCTL_HEX2STR_ERROR is not set +# CONFIG_FEATURE_HWIB is not set + +# +# Applets +# + +# +# Archival Utilities +# +# CONFIG_FEATURE_SEAMLESS_XZ is not set +# CONFIG_FEATURE_SEAMLESS_LZMA is not set +# CONFIG_FEATURE_SEAMLESS_BZ2 is not set +# CONFIG_FEATURE_SEAMLESS_GZ is not set +# CONFIG_FEATURE_SEAMLESS_Z is not set +# CONFIG_AR is not set +# CONFIG_FEATURE_AR_LONG_FILENAMES is not set +# CONFIG_FEATURE_AR_CREATE is not set +# CONFIG_UNCOMPRESS is not set +CONFIG_GUNZIP=y +CONFIG_ZCAT=y +# CONFIG_FEATURE_GUNZIP_LONG_OPTIONS is not set +CONFIG_BUNZIP2=y +# CONFIG_BZCAT is not set +CONFIG_UNLZMA=y +# CONFIG_LZCAT is not set +# CONFIG_LZMA is not set +# CONFIG_FEATURE_LZMA_FAST is not set +# CONFIG_UNXZ is not set +# CONFIG_XZCAT is not set +# CONFIG_XZ is not set +# CONFIG_BZIP2 is not set +CONFIG_CPIO=y +CONFIG_FEATURE_CPIO_O=y +# CONFIG_FEATURE_CPIO_P is not set +# CONFIG_DPKG is not set +# CONFIG_DPKG_DEB is not set +CONFIG_GZIP=y +# CONFIG_FEATURE_GZIP_LONG_OPTIONS is not set +CONFIG_GZIP_FAST=0 +# CONFIG_FEATURE_GZIP_LEVELS is not set +# CONFIG_LZOP is not set +# CONFIG_UNLZOP is not set +# CONFIG_LZOPCAT is not set +# CONFIG_LZOP_COMPR_HIGH is not set +# CONFIG_RPM is not set +# CONFIG_RPM2CPIO is not set +CONFIG_TAR=y +CONFIG_FEATURE_TAR_CREATE=y +# CONFIG_FEATURE_TAR_AUTODETECT is not set +# CONFIG_FEATURE_TAR_FROM is not set +# CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set +# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set +CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y +# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set +# CONFIG_FEATURE_TAR_TO_COMMAND is not set +# CONFIG_FEATURE_TAR_UNAME_GNAME is not set +# CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set +# CONFIG_FEATURE_TAR_SELINUX is not set +# CONFIG_UNZIP is not set + +# +# Coreutils +# +CONFIG_BASENAME=y +CONFIG_CAL=y +CONFIG_CAT=y +# CONFIG_CATV is not set +CONFIG_CHGRP=y +CONFIG_CHMOD=y +CONFIG_CHOWN=y +# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set +CONFIG_CHROOT=y +# CONFIG_CKSUM is not set +# CONFIG_COMM is not set +CONFIG_CP=y +# CONFIG_FEATURE_CP_LONG_OPTIONS is not set +CONFIG_CUT=y +CONFIG_DATE=y +# CONFIG_FEATURE_DATE_ISOFMT is not set +# CONFIG_FEATURE_DATE_NANO is not set +# CONFIG_FEATURE_DATE_COMPAT is not set +CONFIG_DD=y +CONFIG_FEATURE_DD_SIGNAL_HANDLING=y +# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set +CONFIG_FEATURE_DD_IBS_OBS=y +# CONFIG_FEATURE_DD_STATUS is not set +CONFIG_DF=y +# CONFIG_FEATURE_DF_FANCY is not set +CONFIG_DIRNAME=y +# CONFIG_DOS2UNIX is not set +# CONFIG_UNIX2DOS is not set +CONFIG_DU=y +CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y +CONFIG_ECHO=y +CONFIG_FEATURE_FANCY_ECHO=y +# CONFIG_ENV is not set +# CONFIG_FEATURE_ENV_LONG_OPTIONS is not set +# CONFIG_EXPAND is not set +# CONFIG_FEATURE_EXPAND_LONG_OPTIONS is not set +# CONFIG_UNEXPAND is not set +# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set +CONFIG_EXPR=y +# CONFIG_EXPR_MATH_SUPPORT_64 is not set +CONFIG_FALSE=y +# CONFIG_FOLD is not set +# CONFIG_FSYNC is not set +CONFIG_HEAD=y +# CONFIG_FEATURE_FANCY_HEAD is not set +# CONFIG_HOSTID is not set +CONFIG_ID=y +# CONFIG_GROUPS is not set +# CONFIG_INSTALL is not set +# CONFIG_FEATURE_INSTALL_LONG_OPTIONS is not set +CONFIG_LN=y +# CONFIG_LOGNAME is not set +CONFIG_LS=y +CONFIG_FEATURE_LS_FILETYPES=y +CONFIG_FEATURE_LS_FOLLOWLINKS=y +CONFIG_FEATURE_LS_RECURSIVE=y +CONFIG_FEATURE_LS_SORTFILES=y +CONFIG_FEATURE_LS_TIMESTAMPS=y +CONFIG_FEATURE_LS_USERNAME=y +CONFIG_FEATURE_LS_COLOR=y +CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y +CONFIG_MD5SUM=y +# CONFIG_SHA1SUM is not set +# CONFIG_SHA256SUM is not set +# CONFIG_SHA512SUM is not set +# CONFIG_SHA3SUM is not set + +# +# Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum +# +CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y +CONFIG_MKDIR=y +# CONFIG_FEATURE_MKDIR_LONG_OPTIONS is not set +CONFIG_MKFIFO=y +CONFIG_MKNOD=y +CONFIG_MV=y +# CONFIG_FEATURE_MV_LONG_OPTIONS is not set +# CONFIG_NICE is not set +# CONFIG_NOHUP is not set +CONFIG_OD=y +# CONFIG_PRINTENV is not set +CONFIG_PRINTF=y +CONFIG_PWD=y +CONFIG_READLINK=y +# CONFIG_FEATURE_READLINK_FOLLOW is not set +# CONFIG_REALPATH is not set +CONFIG_RM=y +CONFIG_RMDIR=y +# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set +CONFIG_SEQ=y +# CONFIG_SHUF is not set +CONFIG_SLEEP=y +# CONFIG_FEATURE_FANCY_SLEEP is not set +# CONFIG_FEATURE_FLOAT_SLEEP is not set +CONFIG_SORT=y +# CONFIG_FEATURE_SORT_BIG is not set +CONFIG_SPLIT=y +# CONFIG_FEATURE_SPLIT_FANCY is not set +CONFIG_STAT=y +CONFIG_FEATURE_STAT_FORMAT=y +# CONFIG_FEATURE_STAT_FILESYSTEM is not set +CONFIG_STTY=y +# CONFIG_SUM is not set +CONFIG_SYNC=y +# CONFIG_FEATURE_SYNC_FANCY is not set +# CONFIG_TAC is not set +CONFIG_TAIL=y +# CONFIG_FEATURE_FANCY_TAIL is not set +CONFIG_TEE=y +# CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set +CONFIG_TEST=y +CONFIG_TEST1=y +CONFIG_TEST2=y +# CONFIG_FEATURE_TEST_64 is not set +CONFIG_TOUCH=y +# CONFIG_FEATURE_TOUCH_NODEREF is not set +# CONFIG_FEATURE_TOUCH_SUSV3 is not set +# CONFIG_TR is not set +# CONFIG_FEATURE_TR_CLASSES is not set +# CONFIG_FEATURE_TR_EQUIV is not set +CONFIG_TRUE=y +# CONFIG_TRUNCATE is not set +CONFIG_TTY=y +CONFIG_UNAME=y +CONFIG_UNAME_OSNAME="SliTaz" +CONFIG_UNIQ=y +# CONFIG_UNLINK is not set +# CONFIG_USLEEP is not set +CONFIG_UUDECODE=y +# CONFIG_BASE64 is not set +CONFIG_UUENCODE=y +CONFIG_WC=y +# CONFIG_FEATURE_WC_LARGE is not set +# CONFIG_WHO is not set +# CONFIG_USERS is not set +# CONFIG_WHOAMI is not set +CONFIG_YES=y + +# +# Common options +# +# CONFIG_FEATURE_VERBOSE is not set + +# +# Common options for cp and mv +# +CONFIG_FEATURE_PRESERVE_HARDLINKS=y + +# +# Common options for ls, more and telnet +# +CONFIG_FEATURE_AUTOWIDTH=y + +# +# Common options for df, du, ls +# +CONFIG_FEATURE_HUMAN_READABLE=y + +# +# Console Utilities +# +CONFIG_CHVT=y +CONFIG_CLEAR=y +# CONFIG_DEALLOCVT is not set +# CONFIG_DUMPKMAP is not set +# CONFIG_FGCONSOLE is not set +# CONFIG_KBD_MODE is not set +# CONFIG_LOADFONT is not set +# CONFIG_SETFONT is not set +# CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set +CONFIG_DEFAULT_SETFONT_DIR="" +# CONFIG_FEATURE_LOADFONT_PSF2 is not set +# CONFIG_FEATURE_LOADFONT_RAW is not set +CONFIG_LOADKMAP=y +# CONFIG_OPENVT is not set +CONFIG_RESET=y +# CONFIG_RESIZE is not set +# CONFIG_FEATURE_RESIZE_PRINT is not set +# CONFIG_SETCONSOLE is not set +# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set +# CONFIG_SETKEYCODES is not set +# CONFIG_SETLOGCONS is not set +# CONFIG_SHOWKEY is not set + +# +# Debian Utilities +# +CONFIG_MKTEMP=y +# CONFIG_PIPE_PROGRESS is not set +# CONFIG_RUN_PARTS is not set +# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set +# CONFIG_FEATURE_RUN_PARTS_FANCY is not set +# CONFIG_START_STOP_DAEMON is not set +# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set +# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set +CONFIG_WHICH=y + +# +# Editors +# +CONFIG_AWK=y +# CONFIG_FEATURE_AWK_LIBM is not set +# CONFIG_FEATURE_AWK_GNU_EXTENSIONS is not set +# CONFIG_CMP is not set +# CONFIG_DIFF is not set +# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set +# CONFIG_FEATURE_DIFF_DIR is not set +# CONFIG_ED is not set +# CONFIG_PATCH is not set +CONFIG_SED=y +CONFIG_VI=y +CONFIG_FEATURE_VI_MAX_LEN=1024 +# CONFIG_FEATURE_VI_8BIT is not set +CONFIG_FEATURE_VI_COLON=y +CONFIG_FEATURE_VI_YANKMARK=y +CONFIG_FEATURE_VI_SEARCH=y +# CONFIG_FEATURE_VI_REGEX_SEARCH is not set +CONFIG_FEATURE_VI_USE_SIGNALS=y +CONFIG_FEATURE_VI_DOT_CMD=y +CONFIG_FEATURE_VI_READONLY=y +CONFIG_FEATURE_VI_SETOPTS=y +CONFIG_FEATURE_VI_SET=y +# CONFIG_FEATURE_VI_WIN_RESIZE is not set +CONFIG_FEATURE_VI_ASK_TERMINAL=y +# CONFIG_FEATURE_VI_UNDO is not set +# CONFIG_FEATURE_VI_UNDO_QUEUE is not set +CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=0 +CONFIG_FEATURE_ALLOW_EXEC=y + +# +# Finding Utilities +# +CONFIG_FIND=y +CONFIG_FEATURE_FIND_PRINT0=y +CONFIG_FEATURE_FIND_MTIME=y +CONFIG_FEATURE_FIND_MMIN=y +CONFIG_FEATURE_FIND_PERM=y +CONFIG_FEATURE_FIND_TYPE=y +CONFIG_FEATURE_FIND_XDEV=y +CONFIG_FEATURE_FIND_MAXDEPTH=y +CONFIG_FEATURE_FIND_NEWER=y +CONFIG_FEATURE_FIND_INUM=y +CONFIG_FEATURE_FIND_EXEC=y +# CONFIG_FEATURE_FIND_EXEC_PLUS is not set +CONFIG_FEATURE_FIND_USER=y +CONFIG_FEATURE_FIND_GROUP=y +CONFIG_FEATURE_FIND_NOT=y +CONFIG_FEATURE_FIND_DEPTH=y +CONFIG_FEATURE_FIND_PAREN=y +CONFIG_FEATURE_FIND_SIZE=y +CONFIG_FEATURE_FIND_PRUNE=y +CONFIG_FEATURE_FIND_DELETE=y +CONFIG_FEATURE_FIND_PATH=y +CONFIG_FEATURE_FIND_REGEX=y +# CONFIG_FEATURE_FIND_CONTEXT is not set +CONFIG_FEATURE_FIND_LINKS=y +CONFIG_GREP=y +CONFIG_EGREP=y +CONFIG_FGREP=y +CONFIG_FEATURE_GREP_CONTEXT=y +CONFIG_XARGS=y +CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y +CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y +CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y +CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y +# CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR is not set + +# +# Init Utilities +# +# CONFIG_BOOTCHARTD is not set +# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set +# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set +CONFIG_HALT=y +CONFIG_POWEROFF=y +CONFIG_REBOOT=y +# CONFIG_FEATURE_CALL_TELINIT is not set +CONFIG_TELINIT_PATH="" +CONFIG_INIT=y +# CONFIG_LINUXRC is not set +CONFIG_FEATURE_USE_INITTAB=y +CONFIG_FEATURE_KILL_REMOVED=y +CONFIG_FEATURE_KILL_DELAY=0 +CONFIG_FEATURE_INIT_SCTTY=y +# CONFIG_FEATURE_INIT_SYSLOG is not set +CONFIG_FEATURE_EXTRA_QUIET=y +# CONFIG_FEATURE_INIT_COREDUMPS is not set +CONFIG_INIT_TERMINAL_TYPE="" +# CONFIG_FEATURE_INIT_MODIFY_CMDLINE is not set +# CONFIG_MESG is not set +# CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP is not set + +# +# Login/Password Management Utilities +# +# CONFIG_FEATURE_SHADOWPASSWDS is not set +# CONFIG_USE_BB_PWD_GRP is not set +# CONFIG_USE_BB_SHADOW is not set +# CONFIG_USE_BB_CRYPT is not set +# CONFIG_USE_BB_CRYPT_SHA is not set +# CONFIG_ADD_SHELL is not set +# CONFIG_REMOVE_SHELL is not set +CONFIG_ADDGROUP=y +# CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS is not set +CONFIG_FEATURE_ADDUSER_TO_GROUP=y +CONFIG_ADDUSER=y +# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set +# CONFIG_FEATURE_CHECK_NAMES is not set +CONFIG_LAST_ID=60000 +CONFIG_FIRST_SYSTEM_ID=100 +CONFIG_LAST_SYSTEM_ID=999 +CONFIG_CHPASSWD=y +CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="des" +# CONFIG_CRYPTPW is not set +# CONFIG_MKPASSWD is not set +CONFIG_DELUSER=y +CONFIG_DELGROUP=y +CONFIG_FEATURE_DEL_USER_FROM_GROUP=y +CONFIG_GETTY=y +CONFIG_LOGIN=y +# CONFIG_LOGIN_SESSION_AS_CHILD is not set +# CONFIG_LOGIN_SCRIPTS is not set +# CONFIG_FEATURE_NOLOGIN is not set +# CONFIG_FEATURE_SECURETTY is not set +CONFIG_PASSWD=y +# CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set +CONFIG_SU=y +# CONFIG_FEATURE_SU_SYSLOG is not set +# CONFIG_FEATURE_SU_CHECKS_SHELLS is not set +# CONFIG_SULOGIN is not set +# CONFIG_VLOCK is not set + +# +# Linux Ext2 FS Progs +# +# CONFIG_CHATTR is not set +# CONFIG_FSCK is not set +# CONFIG_LSATTR is not set +# CONFIG_TUNE2FS is not set + +# +# Linux Module Utilities +# +CONFIG_MODPROBE_SMALL=y +# CONFIG_DEPMOD is not set +# CONFIG_INSMOD is not set +# CONFIG_LSMOD is not set +# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set +# CONFIG_MODINFO is not set +CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE=y +CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED=y +# CONFIG_MODPROBE is not set +# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set +# CONFIG_RMMOD is not set + +# +# Options common to multiple modutils +# +# CONFIG_FEATURE_2_4_MODULES is not set +# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set +# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set +# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set +# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set +# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set +# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set +# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set +# CONFIG_FEATURE_MODUTILS_ALIAS is not set +# CONFIG_FEATURE_MODUTILS_SYMBOLS is not set +CONFIG_DEFAULT_MODULES_DIR="/lib/modules" +CONFIG_DEFAULT_DEPMOD_FILE="modules.dep" + +# +# Linux System Utilities +# +# CONFIG_ACPID is not set +# CONFIG_FEATURE_ACPID_COMPAT is not set +# CONFIG_BLKDISCARD is not set +CONFIG_BLKID=y +# CONFIG_FEATURE_BLKID_TYPE is not set +# CONFIG_BLOCKDEV is not set +CONFIG_DMESG=y +CONFIG_FEATURE_DMESG_PRETTY=y +# CONFIG_FATATTR is not set +CONFIG_FBSET=y +CONFIG_FEATURE_FBSET_FANCY=y +CONFIG_FEATURE_FBSET_READMODE=y +CONFIG_FBVNC=y +CONFIG_FDFORMAT=y +CONFIG_FDISK=y +CONFIG_FDISK_SUPPORT_LARGE_DISKS=y +CONFIG_FEATURE_FDISK_WRITABLE=y +# CONFIG_FEATURE_AIX_LABEL is not set +# CONFIG_FEATURE_SGI_LABEL is not set +# CONFIG_FEATURE_SUN_LABEL is not set +# CONFIG_FEATURE_OSF_LABEL is not set +CONFIG_FEATURE_GPT_LABEL=y +# CONFIG_FEATURE_FDISK_ADVANCED is not set +# CONFIG_FINDFS is not set +# CONFIG_FLOCK is not set +# CONFIG_FDFLUSH is not set +# CONFIG_FREERAMDISK is not set +# CONFIG_FSCK_MINIX is not set +# CONFIG_FSTRIM is not set +# CONFIG_GETOPT is not set +# CONFIG_FEATURE_GETOPT_LONG is not set +CONFIG_HEXDUMP=y +CONFIG_FEATURE_HEXDUMP_REVERSE=y +CONFIG_HD=y +CONFIG_HWCLOCK=y +# CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS is not set +# CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set +# CONFIG_IPCRM is not set +# CONFIG_IPCS is not set +CONFIG_LOSETUP=y +CONFIG_LSPCI=y +CONFIG_LSUSB=y +CONFIG_MDEV=y +# CONFIG_FEATURE_MDEV_CONF is not set +# CONFIG_FEATURE_MDEV_RENAME is not set +# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set +# CONFIG_FEATURE_MDEV_EXEC is not set +CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y +# CONFIG_MKE2FS is not set +# CONFIG_MKFS_EXT2 is not set +# CONFIG_MKFS_MINIX is not set +# CONFIG_FEATURE_MINIX2 is not set +# CONFIG_MKFS_REISER is not set +# CONFIG_MKDOSFS is not set +# CONFIG_MKFS_VFAT is not set +CONFIG_MKSWAP=y +# CONFIG_FEATURE_MKSWAP_UUID is not set +CONFIG_MORE=y +CONFIG_MOUNT=y +# CONFIG_FEATURE_MOUNT_FAKE is not set +# CONFIG_FEATURE_MOUNT_VERBOSE is not set +# CONFIG_FEATURE_MOUNT_HELPERS is not set +CONFIG_FEATURE_MOUNT_LABEL=y +# CONFIG_FEATURE_MOUNT_NFS is not set +# CONFIG_FEATURE_MOUNT_CIFS is not set +CONFIG_FEATURE_MOUNT_FLAGS=y +CONFIG_FEATURE_MOUNT_FSTAB=y +# CONFIG_FEATURE_MOUNT_OTHERTAB is not set +# CONFIG_NSENTER is not set +# CONFIG_FEATURE_NSENTER_LONG_OPTS is not set +# CONFIG_PIVOT_ROOT is not set +# CONFIG_RDATE is not set +# CONFIG_RDEV is not set +# CONFIG_READPROFILE is not set +# CONFIG_REV is not set +# CONFIG_RTCWAKE is not set +CONFIG_SCRIPT=y +# CONFIG_SCRIPTREPLAY is not set +# CONFIG_SCRIPTREPLAY_HOTKEYS is not set +# CONFIG_SETARCH is not set +# CONFIG_LINUX32 is not set +# CONFIG_LINUX64 is not set +CONFIG_SWAPON=y +# CONFIG_FEATURE_SWAPON_DISCARD is not set +# CONFIG_FEATURE_SWAPON_PRI is not set +CONFIG_SWAPOFF=y +CONFIG_SWITCH_ROOT=y +# CONFIG_UEVENT is not set +CONFIG_UMOUNT=y +CONFIG_FEATURE_UMOUNT_ALL=y +# CONFIG_UNSHARE is not set + +# +# Common options for mount/umount +# +CONFIG_FEATURE_MOUNT_LOOP=y +# CONFIG_FEATURE_MOUNT_LOOP_CREATE is not set +# CONFIG_FEATURE_MTAB_SUPPORT is not set +CONFIG_VOLUMEID=y + +# +# Filesystem/Volume identification +# +# CONFIG_FEATURE_VOLUMEID_BCACHE is not set +# CONFIG_FEATURE_VOLUMEID_BTRFS is not set +# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set +# CONFIG_FEATURE_VOLUMEID_EXFAT is not set +CONFIG_FEATURE_VOLUMEID_EXT=y +# CONFIG_FEATURE_VOLUMEID_F2FS is not set +CONFIG_FEATURE_VOLUMEID_FAT=y +# CONFIG_FEATURE_VOLUMEID_HFS is not set +CONFIG_FEATURE_VOLUMEID_ISO9660=y +# CONFIG_FEATURE_VOLUMEID_JFS is not set +# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set +CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y +# CONFIG_FEATURE_VOLUMEID_LUKS is not set +# CONFIG_FEATURE_VOLUMEID_NILFS is not set +# CONFIG_FEATURE_VOLUMEID_NTFS is not set +# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set +# CONFIG_FEATURE_VOLUMEID_REISERFS is not set +# CONFIG_FEATURE_VOLUMEID_ROMFS is not set +# CONFIG_FEATURE_VOLUMEID_SQUASHFS is not set +# CONFIG_FEATURE_VOLUMEID_SYSV is not set +# CONFIG_FEATURE_VOLUMEID_UBIFS is not set +# CONFIG_FEATURE_VOLUMEID_UDF is not set +# CONFIG_FEATURE_VOLUMEID_XFS is not set + +# +# Miscellaneous Utilities +# +# CONFIG_ADJTIMEX is not set +# CONFIG_BBCONFIG is not set +# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set +CONFIG_BEEP=y +CONFIG_FEATURE_BEEP_FREQ=4000 +CONFIG_FEATURE_BEEP_LENGTH_MS=30 +# CONFIG_CHAT is not set +# CONFIG_FEATURE_CHAT_NOFAIL is not set +# CONFIG_FEATURE_CHAT_TTY_HIFI is not set +# CONFIG_FEATURE_CHAT_IMPLICIT_CR is not set +# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set +# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set +# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set +# CONFIG_FEATURE_CHAT_CLR_ABORT is not set +# CONFIG_CHRT is not set +CONFIG_CONSPY=y +CONFIG_CROND=y +# CONFIG_FEATURE_CROND_D is not set +# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set +CONFIG_FEATURE_CROND_DIR="/var/spool/cron" +# CONFIG_CRONTAB is not set +# CONFIG_DC is not set +# CONFIG_FEATURE_DC_LIBM is not set +# CONFIG_DEVFSD is not set +# CONFIG_DEVFSD_MODLOAD is not set +# CONFIG_DEVFSD_FG_NP is not set +# CONFIG_DEVFSD_VERBOSE is not set +# CONFIG_FEATURE_DEVFS is not set +# CONFIG_DEVMEM is not set +# CONFIG_EJECT is not set +# CONFIG_FEATURE_EJECT_SCSI is not set +# CONFIG_FBSPLASH is not set +# CONFIG_FLASH_ERASEALL is not set +# CONFIG_FLASH_LOCK is not set +# CONFIG_FLASH_UNLOCK is not set +# CONFIG_FLASHCP is not set +CONFIG_HDPARM=y +# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set +# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set +# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set +# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set +# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set +CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y +# CONFIG_I2CGET is not set +# CONFIG_I2CSET is not set +# CONFIG_I2CDUMP is not set +# CONFIG_I2CDETECT is not set +# CONFIG_INOTIFYD is not set +# CONFIG_IONICE is not set +# CONFIG_LAST is not set +# CONFIG_FEATURE_LAST_FANCY is not set +CONFIG_LESS=y +CONFIG_FEATURE_LESS_MAXLINES=9999999 +CONFIG_FEATURE_LESS_BRACKETS=y +# CONFIG_FEATURE_LESS_FLAGS is not set +# CONFIG_FEATURE_LESS_TRUNCATE is not set +# CONFIG_FEATURE_LESS_MARKS is not set +CONFIG_FEATURE_LESS_REGEXP=y +# CONFIG_FEATURE_LESS_WINCH is not set +# CONFIG_FEATURE_LESS_ASK_TERMINAL is not set +# CONFIG_FEATURE_LESS_DASHCMD is not set +# CONFIG_FEATURE_LESS_LINENUMS is not set +# CONFIG_MAKEDEVS is not set +# CONFIG_FEATURE_MAKEDEVS_LEAF is not set +# CONFIG_FEATURE_MAKEDEVS_TABLE is not set +# CONFIG_MAN is not set +# CONFIG_MICROCOM is not set +# CONFIG_MOUNTPOINT is not set +# CONFIG_MT is not set +# CONFIG_NANDWRITE is not set +# CONFIG_NANDDUMP is not set +# CONFIG_RAIDAUTORUN is not set +# CONFIG_READAHEAD is not set +# CONFIG_RFKILL is not set +# CONFIG_RUNLEVEL is not set +# CONFIG_RX is not set +# CONFIG_SETSERIAL is not set +# CONFIG_SETSID is not set +# CONFIG_STRINGS is not set +# CONFIG_TASKSET is not set +# CONFIG_FEATURE_TASKSET_FANCY is not set +# CONFIG_TIME is not set +# CONFIG_TIMEOUT is not set +# CONFIG_TTYSIZE is not set +# CONFIG_UBIATTACH is not set +# CONFIG_UBIDETACH is not set +# CONFIG_UBIMKVOL is not set +# CONFIG_UBIRMVOL is not set +# CONFIG_UBIRSVOL is not set +# CONFIG_UBIUPDATEVOL is not set +# CONFIG_UBIRENAME is not set +# CONFIG_VOLNAME is not set +# CONFIG_WALL is not set +# CONFIG_WATCHDOG is not set + +# +# Networking Utilities +# +# CONFIG_FEATURE_IPV6 is not set +# CONFIG_FEATURE_UNIX_LOCAL is not set +# CONFIG_FEATURE_PREFER_IPV4_ADDRESS is not set +# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set +CONFIG_ARP=y +# CONFIG_ARPING is not set +# CONFIG_BRCTL is not set +# CONFIG_FEATURE_BRCTL_FANCY is not set +# CONFIG_FEATURE_BRCTL_SHOW is not set +# CONFIG_DNSD is not set +CONFIG_ETHER_WAKE=y +CONFIG_FTPD=y +CONFIG_FEATURE_FTPD_WRITE=y +CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST=y +# CONFIG_FEATURE_FTPD_AUTHENTICATION is not set +CONFIG_FTPGET=y +CONFIG_FTPPUT=y +# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set +CONFIG_HOSTNAME=y +# CONFIG_DNSDOMAINNAME is not set +CONFIG_HTTPD=y +CONFIG_FEATURE_HTTPD_RANGES=y +CONFIG_FEATURE_HTTPD_SETUID=y +CONFIG_FEATURE_HTTPD_BASIC_AUTH=y +# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set +CONFIG_FEATURE_HTTPD_CGI=y +CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR=y +# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set +CONFIG_FEATURE_HTTPD_ENCODE_URL_STR=y +CONFIG_FEATURE_HTTPD_ERROR_PAGES=y +CONFIG_FEATURE_HTTPD_PROXY=y +# CONFIG_FEATURE_HTTPD_GZIP is not set +CONFIG_IFCONFIG=y +CONFIG_FEATURE_IFCONFIG_STATUS=y +# CONFIG_FEATURE_IFCONFIG_SLIP is not set +# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set +CONFIG_FEATURE_IFCONFIG_HW=y +CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y +# CONFIG_IFENSLAVE is not set +# CONFIG_IFPLUGD is not set +# CONFIG_IFUP is not set +# CONFIG_IFDOWN is not set +CONFIG_IFUPDOWN_IFSTATE_PATH="" +# CONFIG_FEATURE_IFUPDOWN_IP is not set +# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set +# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set +# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set +# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set +CONFIG_INETD=y +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y +# CONFIG_FEATURE_INETD_RPC is not set +# CONFIG_IP is not set +# CONFIG_IPADDR is not set +# CONFIG_IPLINK is not set +# CONFIG_IPROUTE is not set +# CONFIG_IPTUNNEL is not set +# CONFIG_IPRULE is not set +# CONFIG_IPNEIGH is not set +# CONFIG_FEATURE_IP_ADDRESS is not set +# CONFIG_FEATURE_IP_LINK is not set +# CONFIG_FEATURE_IP_ROUTE is not set +CONFIG_FEATURE_IP_ROUTE_DIR="" +# CONFIG_FEATURE_IP_TUNNEL is not set +# CONFIG_FEATURE_IP_RULE is not set +# CONFIG_FEATURE_IP_NEIGH is not set +# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set +# CONFIG_IPCALC is not set +# CONFIG_FEATURE_IPCALC_FANCY is not set +# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set +# CONFIG_FAKEIDENTD is not set +# CONFIG_NAMEIF is not set +# CONFIG_FEATURE_NAMEIF_EXTENDED is not set +# CONFIG_NBDCLIENT is not set +CONFIG_NC=y +CONFIG_NC_SERVER=y +CONFIG_NC_EXTRA=y +# CONFIG_NC_110_COMPAT is not set +CONFIG_NETSTAT=y +CONFIG_FEATURE_NETSTAT_WIDE=y +CONFIG_FEATURE_NETSTAT_PRG=y +CONFIG_NSLOOKUP=y +CONFIG_NTPD=y +CONFIG_FEATURE_NTPD_SERVER=y +# CONFIG_FEATURE_NTPD_CONF is not set +CONFIG_PING=y +# CONFIG_PING6 is not set +CONFIG_FEATURE_FANCY_PING=y +# CONFIG_PSCAN is not set +CONFIG_ROUTE=y +# CONFIG_SLATTACH is not set +# CONFIG_TCPSVD is not set +# CONFIG_UDPSVD is not set +CONFIG_TELNET=y +CONFIG_FEATURE_TELNET_TTYPE=y +CONFIG_FEATURE_TELNET_AUTOLOGIN=y +CONFIG_TELNETD=y +CONFIG_FEATURE_TELNETD_STANDALONE=y +# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set +CONFIG_TFTP=y +CONFIG_TFTPD=y + +# +# Common options for tftp/tftpd +# +CONFIG_FEATURE_TFTPD_RIS=y +CONFIG_FEATURE_TFTP_GET=y +CONFIG_FEATURE_TFTP_PUT=y +CONFIG_FEATURE_TFTP_BLOCKSIZE=y +# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set +# CONFIG_TFTP_DEBUG is not set +# CONFIG_TRACEROUTE is not set +# CONFIG_TRACEROUTE6 is not set +# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set +# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set +CONFIG_TUNCTL=y +# CONFIG_FEATURE_TUNCTL_UG is not set +# CONFIG_VCONFIG is not set +CONFIG_WGET=y +# CONFIG_FEATURE_WGET_STATUSBAR is not set +# CONFIG_FEATURE_WGET_AUTHENTICATION is not set +# CONFIG_FEATURE_WGET_LONG_OPTIONS is not set +# CONFIG_FEATURE_WGET_TIMEOUT is not set +# CONFIG_FEATURE_WGET_OPENSSL is not set +# CONFIG_FEATURE_WGET_SSL_HELPER is not set +# CONFIG_WHOIS is not set +# CONFIG_ZCIP is not set +# CONFIG_UDHCPC6 is not set +CONFIG_UDHCPD=y +# CONFIG_DHCPRELAY is not set +CONFIG_DUMPLEASES=y +# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set +# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set +CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases" +CONFIG_UDHCPC=y +CONFIG_FEATURE_UDHCPC_ARPING=y +# CONFIG_FEATURE_UDHCPC_SANITIZEOPT is not set +# CONFIG_FEATURE_UDHCP_PORT is not set +CONFIG_UDHCP_DEBUG=0 +# CONFIG_FEATURE_UDHCP_RFC3397 is not set +# CONFIG_FEATURE_UDHCP_8021Q is not set +CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" +CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 +CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="" + +# +# Print Utilities +# +# CONFIG_LPD is not set +# CONFIG_LPR is not set +# CONFIG_LPQ is not set + +# +# Mail Utilities +# +# CONFIG_MAKEMIME is not set +# CONFIG_POPMAILDIR is not set +# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set +# CONFIG_REFORMIME is not set +# CONFIG_FEATURE_REFORMIME_COMPAT is not set +# CONFIG_SENDMAIL is not set +CONFIG_FEATURE_MIME_CHARSET="" + +# +# Process Utilities +# +CONFIG_FREE=y +# CONFIG_FUSER is not set +# CONFIG_IOSTAT is not set +CONFIG_KILL=y +CONFIG_KILLALL=y +CONFIG_KILLALL5=y +# CONFIG_LSOF is not set +# CONFIG_MPSTAT is not set +# CONFIG_NMETER is not set +# CONFIG_PGREP is not set +# CONFIG_PKILL is not set +CONFIG_PIDOF=y +CONFIG_FEATURE_PIDOF_SINGLE=y +CONFIG_FEATURE_PIDOF_OMIT=y +# CONFIG_PMAP is not set +# CONFIG_POWERTOP is not set +CONFIG_PS=y +CONFIG_FEATURE_PS_WIDE=y +# CONFIG_FEATURE_PS_LONG is not set +# CONFIG_FEATURE_PS_TIME is not set +# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set +# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set +# CONFIG_PSTREE is not set +# CONFIG_PWDX is not set +# CONFIG_RENICE is not set +# CONFIG_SMEMCAP is not set +# CONFIG_BB_SYSCTL is not set +CONFIG_TOP=y +# CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE is not set +# CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS is not set +# CONFIG_FEATURE_TOP_SMP_CPU is not set +# CONFIG_FEATURE_TOP_DECIMALS is not set +# CONFIG_FEATURE_TOP_SMP_PROCESS is not set +CONFIG_FEATURE_TOPMEM=y +CONFIG_UPTIME=y +# CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set +# CONFIG_WATCH is not set +# CONFIG_FEATURE_SHOW_THREADS is not set + +# +# Runit Utilities +# +# CONFIG_CHPST is not set +# CONFIG_SETUIDGID is not set +# CONFIG_ENVUIDGID is not set +# CONFIG_ENVDIR is not set +# CONFIG_SOFTLIMIT is not set +# CONFIG_RUNSV is not set +# CONFIG_RUNSVDIR is not set +# CONFIG_FEATURE_RUNSVDIR_LOG is not set +# CONFIG_SV is not set +CONFIG_SV_DEFAULT_SERVICE_DIR="" +# CONFIG_SVC is not set +# CONFIG_SVLOGD is not set +# CONFIG_CHCON is not set +# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set +# CONFIG_GETENFORCE is not set +# CONFIG_GETSEBOOL is not set +# CONFIG_LOAD_POLICY is not set +# CONFIG_MATCHPATHCON is not set +# CONFIG_RUNCON is not set +# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set +# CONFIG_SELINUXENABLED is not set +# CONFIG_SESTATUS is not set +# CONFIG_SETENFORCE is not set +# CONFIG_SETFILES is not set +# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set +# CONFIG_RESTORECON is not set +# CONFIG_SETSEBOOL is not set + +# +# Shells +# +CONFIG_SH_IS_ASH=y +# CONFIG_SH_IS_HUSH is not set +# CONFIG_SH_IS_NONE is not set +# CONFIG_BASH_IS_ASH is not set +# CONFIG_BASH_IS_HUSH is not set +CONFIG_BASH_IS_NONE=y +CONFIG_ASH=y +CONFIG_ASH_OPTIMIZE_FOR_SIZE=y +CONFIG_ASH_INTERNAL_GLOB=y +CONFIG_ASH_RANDOM_SUPPORT=y +CONFIG_ASH_EXPAND_PRMT=y +CONFIG_ASH_BASH_COMPAT=y +# CONFIG_ASH_IDLE_TIMEOUT is not set +CONFIG_ASH_JOB_CONTROL=y +CONFIG_ASH_ALIAS=y +CONFIG_ASH_GETOPTS=y +CONFIG_ASH_BUILTIN_ECHO=y +CONFIG_ASH_BUILTIN_PRINTF=y +CONFIG_ASH_BUILTIN_TEST=y +# CONFIG_ASH_HELP is not set +CONFIG_ASH_CMDCMD=y +# CONFIG_ASH_MAIL is not set +# CONFIG_CTTYHACK is not set +# CONFIG_HUSH is not set +# CONFIG_HUSH_BASH_COMPAT is not set +# CONFIG_HUSH_BRACE_EXPANSION is not set +# CONFIG_HUSH_HELP is not set +# CONFIG_HUSH_INTERACTIVE is not set +# CONFIG_HUSH_SAVEHISTORY is not set +# CONFIG_HUSH_JOB is not set +# CONFIG_HUSH_TICK is not set +# CONFIG_HUSH_IF is not set +# CONFIG_HUSH_LOOPS is not set +# CONFIG_HUSH_CASE is not set +# CONFIG_HUSH_FUNCTIONS is not set +# CONFIG_HUSH_LOCAL is not set +# CONFIG_HUSH_RANDOM_SUPPORT is not set +# CONFIG_HUSH_EXPORT_N is not set +# CONFIG_HUSH_MODE_X is not set +# CONFIG_MSH is not set +CONFIG_FEATURE_SH_MATH=y +# CONFIG_FEATURE_SH_MATH_64 is not set +CONFIG_FEATURE_SH_EXTRA_QUIET=y +CONFIG_FEATURE_SH_STANDALONE=y +# CONFIG_FEATURE_SH_NOFORK is not set +# CONFIG_FEATURE_SH_HISTFILESIZE is not set + +# +# System Logging Utilities +# +CONFIG_KLOGD=y +# CONFIG_FEATURE_KLOGD_KLOGCTL is not set +CONFIG_LOGGER=y +# CONFIG_LOGREAD is not set +# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set +CONFIG_SYSLOGD=y +CONFIG_FEATURE_ROTATE_LOGFILE=y +CONFIG_FEATURE_REMOTE_LOG=y +CONFIG_FEATURE_SYSLOGD_DUP=y +# CONFIG_FEATURE_SYSLOGD_CFG is not set +CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 +# CONFIG_FEATURE_IPC_SYSLOG is not set +CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0 +# CONFIG_FEATURE_KMSG_SYSLOG is not set