wok-4.x rev 5776
busybox: update patches
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Wed Jul 07 20:55:53 2010 +0200 (2010-07-07) |
parents | 0c0324ebd2d3 |
children | 666fd56c3a0e |
files | busybox-pam/receipt busybox-static/receipt busybox/receipt busybox/stuff/busybox-1.11.0-dhcpc.u busybox/stuff/busybox-1.11.0-tar.u busybox/stuff/busybox-1.12.0-basename.u busybox/stuff/busybox-1.12.0-cpio-mkdir.u busybox/stuff/busybox-1.12.0-dhcpc.u busybox/stuff/busybox-1.12.0-dpkg_deb.u busybox/stuff/busybox-1.12.0-install.u busybox/stuff/busybox-1.12.0-ionice.u busybox/stuff/busybox-1.12.0-iptunnel.u busybox/stuff/busybox-1.12.0-mkswap.u busybox/stuff/busybox-1.12.0-modinfo.u busybox/stuff/busybox-1.12.0-modprobe.u busybox/stuff/busybox-1.12.0-paths.u busybox/stuff/busybox-1.12.0-replay.u busybox/stuff/busybox-1.12.0-ris.u busybox/stuff/busybox-1.12.0-rpm2cpio.u busybox/stuff/busybox-1.12.0-stat.u busybox/stuff/busybox-1.12.0-syslogd.u busybox/stuff/busybox-1.12.0-tar.u busybox/stuff/busybox-1.12.0-unlzma.u busybox/stuff/busybox-1.12.0-vcsa2txt.u busybox/stuff/busybox-1.12.0-zmodules.u busybox/stuff/busybox-1.12.0.config busybox/stuff/busybox-1.16.1-cpio-mkdir.u busybox/stuff/busybox-1.16.1-dpkg_deb.u busybox/stuff/busybox-1.16.1-ftpd.u busybox/stuff/busybox-1.16.1-modinfo.u busybox/stuff/busybox-1.16.1-modprobe.u busybox/stuff/busybox-1.16.1-ris.u busybox/stuff/busybox-1.16.1-stat.u busybox/stuff/busybox-1.16.1-syslogd.u busybox/stuff/busybox-1.16.1-tar.u busybox/stuff/busybox-1.16.1-vcsa2txt.u busybox/stuff/busybox-1.16.1-zmodules.u busybox/stuff/busybox-1.16.1.config busybox/stuff/busybox-1.17.0-cpio-mkdir.u busybox/stuff/busybox-1.17.0-depmod.u busybox/stuff/busybox-1.17.0-ris.u busybox/stuff/busybox-1.17.0-stat.u busybox/stuff/busybox-1.17.0-tar.u busybox/stuff/busybox-1.17.0-zmodules.u busybox/stuff/udhcp.script |
line diff
1.1 --- a/busybox-pam/receipt Wed Jul 07 19:33:09 2010 +0200 1.2 +++ b/busybox-pam/receipt Wed Jul 07 20:55:53 2010 +0200 1.3 @@ -28,6 +28,7 @@ 1.4 tar.u 1.5 stat.u 1.6 ris.u 1.7 +depmod.u 1.8 zmodules.u 1.9 EOT 1.10 cp $WOK/$SOURCE/stuff/$SOURCE-$VERSION.config .config
2.1 --- a/busybox-static/receipt Wed Jul 07 19:33:09 2010 +0200 2.2 +++ b/busybox-static/receipt Wed Jul 07 20:55:53 2010 +0200 2.3 @@ -27,6 +27,7 @@ 2.4 tar.u 2.5 stat.u 2.6 ris.u 2.7 +depmod.u 2.8 zmodules.u 2.9 EOT 2.10 cp ../stuff/$SOURCE-$VERSION.config .config
3.1 --- a/busybox/receipt Wed Jul 07 19:33:09 2010 +0200 3.2 +++ b/busybox/receipt Wed Jul 07 20:55:53 2010 +0200 3.3 @@ -26,6 +26,7 @@ 3.4 tar.u 3.5 stat.u 3.6 ris.u 3.7 +depmod.u 3.8 zmodules.u 3.9 EOT 3.10 cp ../stuff/$PACKAGE-$VERSION.config .config
4.1 --- a/busybox/stuff/busybox-1.11.0-dhcpc.u Wed Jul 07 19:33:09 2010 +0200 4.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 4.3 @@ -1,15 +0,0 @@ 4.4 ---- busybox-1.11.0/networking/udhcp/dhcpc.c 4.5 -+++ busybox-1.11.0/networking/udhcp/dhcpc.c 4.6 -@@ -356,7 +356,11 @@ 4.7 - if (packet_num == 0) 4.8 - xid = random_xid(); 4.9 - 4.10 -- send_discover(xid, requested_ip); /* broadcast */ 4.11 -+ if (send_discover(xid, requested_ip) < 0) { /* broadcast */ 4.12 -+ bb_info_msg("No network, failing"); 4.13 -+ retval = 1; 4.14 -+ goto ret; 4.15 -+ } 4.16 - 4.17 - timeout = discover_timeout; 4.18 - packet_num++;
5.1 --- a/busybox/stuff/busybox-1.11.0-tar.u Wed Jul 07 19:33:09 2010 +0200 5.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 5.3 @@ -1,7 +0,0 @@ 5.4 -Accept --wildcards argument 5.5 ---- busybox-1.11.0/archival/tar.c 5.6 -+++ busybox-1.11.0/archival/tar.c 5.7 -@@ -790,2 +790,3 @@ 5.8 - # endif 5.9 -+ "wildcards\0" No_argument "\xfc" 5.10 - "no-same-owner\0" No_argument "\xfd"
6.1 --- a/busybox/stuff/busybox-1.12.0-basename.u Wed Jul 07 19:33:09 2010 +0200 6.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 6.3 @@ -1,11 +0,0 @@ 6.4 -Basename may spuriously break build using 'set -e' 6.5 ---- busybox-1.12.0/coreutils/basename.c 6.6 -+++ busybox-1.12.0/coreutils/basename.c 6.7 -@@ -48,5 +48,6 @@ 6.8 - 6.9 - /* puts(s) will do, but we can do without stdio this way: */ 6.10 - s[m++] = '\n'; 6.11 -- return full_write(STDOUT_FILENO, s, m) == (ssize_t)m; 6.12 -+ full_write(STDOUT_FILENO, s, m); 6.13 -+ return 0; 6.14 - }
7.1 --- a/busybox/stuff/busybox-1.12.0-cpio-mkdir.u Wed Jul 07 19:33:09 2010 +0200 7.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 7.3 @@ -1,50 +0,0 @@ 7.4 ---- busybox-1.12.0/archival/libunarchive/data_extract_all.c 7.5 -+++ busybox-1.12.0/archival/libunarchive/data_extract_all.c 7.6 -@@ -38,7 +38,8 @@ void FAST_FUNC data_extract_all(archive_ 7.7 - } 7.8 - } 7.9 - else if (statbuf.st_mtime <= file_header->mtime) { 7.10 -- if (!(archive_handle->ah_flags & ARCHIVE_EXTRACT_QUIET)) { 7.11 -+ if (!(archive_handle->ah_flags & ARCHIVE_EXTRACT_QUIET) && 7.12 -+ (file_header->mode & S_IFMT) != S_IFDIR) { 7.13 - bb_error_msg("%s not created: newer or " 7.14 - "same age file exists", file_header->name); 7.15 - } 7.16 -@@ -77,7 +78,7 @@ void FAST_FUNC data_extract_all(archive_ 7.17 - } 7.18 - case S_IFDIR: 7.19 - res = mkdir(file_header->name, file_header->mode); 7.20 -- if ((res == -1) && (errno != EISDIR) 7.21 -+ if ((res == -1) && (errno != EISDIR) && (errno != EEXIST) 7.22 - && !(archive_handle->ah_flags & ARCHIVE_EXTRACT_QUIET) 7.23 - ) { 7.24 - bb_perror_msg("cannot make dir %s", file_header->name); 7.25 - 7.26 ---- busybox-1.12.0/archival/cpio.c 7.27 -+++ busybox-1.12.0/archival/cpio.c 7.28 -@@ -30,6 +30,7 @@ 7.29 - * It's ok to exit instead of return. */ 7.30 - static int cpio_o(void) 7.31 - { 7.32 -+ static char trailer[] = "TRAILER!!!"; 7.33 - struct name_s { 7.34 - struct name_s *next; 7.35 - char name[1]; 7.36 -@@ -119,7 +120,7 @@ 7.37 - } else { 7.38 - /* If no (more) hardlinks to output, 7.39 - * output "trailer" entry */ 7.40 -- name = "TRAILER!!!"; 7.41 -+ name = trailer; 7.42 - /* st.st_size == 0 is a must, but for uniformity 7.43 - * in the output, we zero out everything */ 7.44 - memset(&st, 0, sizeof(st)); 7.45 -@@ -167,7 +168,7 @@ 7.46 - } 7.47 - 7.48 - if (!line) { 7.49 -- if (links) 7.50 -+ if (name != trailer) 7.51 - goto next_link; 7.52 - /* TODO: GNU cpio pads trailer to 512 bytes, do we want that? */ 7.53 - return EXIT_SUCCESS;
8.1 --- a/busybox/stuff/busybox-1.12.0-dhcpc.u Wed Jul 07 19:33:09 2010 +0200 8.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 8.3 @@ -1,1 +0,0 @@ 8.4 -busybox-1.11.0-dhcpc.u 8.5 \ No newline at end of file
9.1 --- a/busybox/stuff/busybox-1.12.0-dpkg_deb.u Wed Jul 07 19:33:09 2010 +0200 9.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 9.3 @@ -1,14 +0,0 @@ 9.4 ---- busybox-1.12.0/archival/dpkg_deb.c 9.5 -+++ busybox-1.12.0/archival/dpkg_deb.c 9.6 -@@ -41,6 +41,11 @@ 9.7 - llist_add_to(&control_tar_llist, (char*)"control.tar.bz2"); 9.8 - #endif 9.9 - 9.10 -+#if ENABLE_FEATURE_SEAMLESS_LZMA 9.11 -+ llist_add_to(&(ar_archive->accept), (char*)"data.tar.lzma"); 9.12 -+ llist_add_to(&control_tar_llist, (char*)"control.tar.lzma"); 9.13 -+#endif 9.14 -+ 9.15 - opt_complementary = "c--efXx:e--cfXx:f--ceXx:X--cefx:x--cefX"; 9.16 - opt = getopt32(argv, "cefXx"); 9.17 - argv += optind;
10.1 --- a/busybox/stuff/busybox-1.12.0-install.u Wed Jul 07 19:33:09 2010 +0200 10.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 10.3 @@ -1,55 +0,0 @@ 10.4 ---- busybox-1.12.0/coreutils/install.c 10.5 -+++ busybox-1.12.0/coreutils/install.c 10.6 -@@ -93,9 +93,10 @@ 10.7 - OPT_GROUP = 1 << 6, 10.8 - OPT_MODE = 1 << 7, 10.9 - OPT_OWNER = 1 << 8, 10.10 -+ OPT_D = 1 << 9, 10.11 - #if ENABLE_SELINUX 10.12 -- OPT_SET_SECURITY_CONTEXT = 1 << 9, 10.13 -- OPT_PRESERVE_SECURITY_CONTEXT = 1 << 10, 10.14 -+ OPT_SET_SECURITY_CONTEXT = 1 << 10, 10.15 -+ OPT_PRESERVE_SECURITY_CONTEXT = 1 << 11, 10.16 - #endif 10.17 - }; 10.18 - 10.19 -@@ -106,7 +107,7 @@ 10.20 - /* -c exists for backwards compatibility, it's needed */ 10.21 - /* -v is ignored ("print name of each created directory") */ 10.22 - /* -b is ignored ("make a backup of each existing destination file") */ 10.23 -- flags = getopt32(argv, "cvb" "dpsg:m:o:" USE_SELINUX("Z:"), 10.24 -+ flags = getopt32(argv, "cvb" "dpsg:m:o:D" USE_SELINUX("Z:"), 10.25 - &gid_str, &mode_str, &uid_str USE_SELINUX(, &scontext)); 10.26 - argc -= optind; 10.27 - argv += optind; 10.28 -@@ -161,6 +162,12 @@ 10.29 - } else { 10.30 - if (isdir) 10.31 - dest = concat_path_file(last, basename(arg)); 10.32 -+ if (flags & OPT_D) { 10.33 -+ char *dir = xstrdup(dest); 10.34 -+ bb_make_directory(dirname(dir), 0755, FILEUTILS_RECUR); 10.35 -+ if (ENABLE_FEATURE_CLEAN_UP) 10.36 -+ free(dir); 10.37 -+ } 10.38 - if (copy_file(arg, dest, copy_flags)) { 10.39 - /* copy is not made */ 10.40 - ret = EXIT_FAILURE; 10.41 - 10.42 ---- busybox-1.12.0/include/usage.h 10.43 -+++ busybox-1.12.0/include/usage.h 10.44 -@@ -1869,12 +1869,13 @@ 10.45 - ) 10.46 - 10.47 - #define install_trivial_usage \ 10.48 -- "[-cgmops] [sources] dest|directory" 10.49 -+ "[-cdDgmops] [sources] dest|directory" 10.50 - #define install_full_usage "\n\n" \ 10.51 - "Copy files and set attributes\n" \ 10.52 - "\nOptions:" \ 10.53 - "\n -c Copy the file, default" \ 10.54 - "\n -d Create directories" \ 10.55 -+ "\n -D Create target path" \ 10.56 - "\n -g Set group ownership" \ 10.57 - "\n -m Set permissions" \ 10.58 - "\n -o Set ownership" \
11.1 --- a/busybox/stuff/busybox-1.12.0-ionice.u Wed Jul 07 19:33:09 2010 +0200 11.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 11.3 @@ -1,163 +0,0 @@ 11.4 ---- busybox-1.12.0/include/applets.h 2008-12-16 22:32:03.000000000 +0100 11.5 -+++ busybox-1.12.0/include/applets.h 2008-12-16 22:34:06.000000000 +0100 11.6 -@@ -191,6 +191,7 @@ 11.7 - USE_INSMOD(APPLET(insmod, _BB_DIR_SBIN, _BB_SUID_NEVER)) 11.8 - USE_MODPROBE_SMALL(APPLET_ODDNAME(insmod, modprobe, _BB_DIR_SBIN, _BB_SUID_NEVER, modprobe)) 11.9 - USE_INSTALL(APPLET(install, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 11.10 -+USE_IONICE(APPLET(ionice, _BB_DIR_BIN, _BB_SUID_NEVER)) 11.11 - #if ENABLE_FEATURE_IP_ADDRESS \ 11.12 - || ENABLE_FEATURE_IP_ROUTE \ 11.13 - || ENABLE_FEATURE_IP_LINK \ 11.14 - 11.15 - 11.16 ---- busybox-1.12.0/miscutils/Config.in 2008-12-14 23:41:16.000000000 +0100 11.17 -+++ busybox-1.12.0/miscutils/Config.in 2008-12-14 23:27:56.000000000 +0100 11.18 -@@ -223,6 +223,13 @@ 11.19 - "NN" (ASCII decimal number) - percentage to show on progress bar 11.20 - "exit" - well you guessed it 11.21 - 11.22 -+config IONICE 11.23 -+ bool "ionice" 11.24 -+ default n 11.25 -+ help 11.26 -+ get/set program io scheduling class and priority 11.27 -+ Requires kernel >= 2.6.13 11.28 -+ 11.29 - config INOTIFYD 11.30 - bool "inotifyd" 11.31 - default n 11.32 - 11.33 ---- busybox-1.12.0/miscutils/Kbuild 2008-12-14 23:22:52.000000000 +0100 11.34 -+++ busybox-1.12.0/miscutils/Kbuild 2008-12-14 23:22:27.000000000 +0100 11.35 -@@ -16,4 +16,5 @@ 11.36 - lib-$(CONFIG_EJECT) += eject.o 11.37 - lib-$(CONFIG_FBSPLASH) += fbsplash.o 11.38 -+lib-$(CONFIG_IONICE) += ionice.o 11.39 - lib-$(CONFIG_HDPARM) += hdparm.o 11.40 - lib-$(CONFIG_INOTIFYD) += inotifyd.o 11.41 - 11.42 ---- busybox-1.12.0/include/usage.h 2008-12-16 22:31:43.000000000 +0100 11.43 -+++ busybox-1.12.0/include/usage.h 2008-12-16 22:32:14.000000000 +0100 11.44 -@@ -1884,6 +1884,16 @@ 11.45 - USE_SELINUX( \ 11.46 - "\n -Z Set security context of copy" \ 11.47 - ) 11.48 -+ 11.49 -+#define ionice_trivial_usage \ 11.50 -+ "[-c 1-3] [-n 0-7] [-p PID] [COMMAND [ARG...]]" 11.51 -+#define ionice_full_usage "\n\n" \ 11.52 -+ "change io scheduling class and priority\n" \ 11.53 -+ "\nOptions:" \ 11.54 -+ "\n -c scheduling class. 1=real time 2=best-effort, 3=idle" \ 11.55 -+ "\n -n Priority " \ 11.56 -+ "\n -p process pid " 11.57 -+ 11.58 - 11.59 - /* would need to make the " | " optional depending on more than one selected: */ 11.60 - #define ip_trivial_usage \ 11.61 - 11.62 -diff --git busybox-1.12.0/miscutils/ionice.c busybox-1.12.0/miscutils/ionice.c 11.63 -new file mode 100644 11.64 -index 0000000..88d771c 11.65 ---- busybox-1.12.0/dev/null 11.66 -+++ busybox-1.12.0/miscutils/ionice.c 11.67 -@@ -0,0 +1,99 @@ 11.68 -+/* vi: set sw=4 ts=4: */ 11.69 -+/* 11.70 -+ * ionice implementation for busybox based on linux-utils-ng 2.14 11.71 -+ * 11.72 -+ * Copyright (C) 2008 by <u173034@informatik.uni-oldenburg.de> 11.73 -+ * 11.74 -+ * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. 11.75 -+ */ 11.76 -+ 11.77 -+#include <sys/syscall.h> 11.78 -+#include <asm/unistd.h> 11.79 -+#include "libbb.h" 11.80 -+ 11.81 -+static int ioprio_set(int which, int who, int ioprio) 11.82 -+{ 11.83 -+ return syscall(SYS_ioprio_set, which, who, ioprio); 11.84 -+} 11.85 -+ 11.86 -+static int ioprio_get(int which, int who) 11.87 -+{ 11.88 -+ return syscall(SYS_ioprio_get, which, who); 11.89 -+} 11.90 -+ 11.91 -+enum { 11.92 -+ IOPRIO_WHO_PROCESS = 1, 11.93 -+ IOPRIO_WHO_PGRP, 11.94 -+ IOPRIO_WHO_USER 11.95 -+}; 11.96 -+ 11.97 -+enum { 11.98 -+ IOPRIO_CLASS_NONE, 11.99 -+ IOPRIO_CLASS_RT, 11.100 -+ IOPRIO_CLASS_BE, 11.101 -+ IOPRIO_CLASS_IDLE 11.102 -+}; 11.103 -+ 11.104 -+static const char to_prio[] = "none\0realtime\0best-effort\0idle"; 11.105 -+ 11.106 -+#define IOPRIO_CLASS_SHIFT 13 11.107 -+ 11.108 -+int ionice_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; 11.109 -+int ionice_main(int argc UNUSED_PARAM, char **argv) 11.110 -+{ 11.111 -+ /* Defaults */ 11.112 -+ int ioclass = 0; 11.113 -+ int pri = 0; 11.114 -+ int pid = 0; /* affect own porcess */ 11.115 -+ int opt; 11.116 -+ enum { 11.117 -+ OPT_n = 1, 11.118 -+ OPT_c = 2, 11.119 -+ OPT_p = 4, 11.120 -+ }; 11.121 -+ 11.122 -+ /* Numeric params */ 11.123 -+ opt_complementary = "n+:c+:p+"; 11.124 -+ /* '+': stop at first non-option */ 11.125 -+ opt = getopt32(argv, "+n:c:p:", &pri, &ioclass, &pid); 11.126 -+ argv += optind; 11.127 -+ 11.128 -+ if (opt & OPT_c) { 11.129 -+ if (ioclass > 3) 11.130 -+ bb_error_msg_and_die("bad class %d", ioclass); 11.131 -+// Do we need this (compat?)? 11.132 -+// if (ioclass == IOPRIO_CLASS_NONE) 11.133 -+// ioclass = IOPRIO_CLASS_BE; 11.134 -+// if (ioclass == IOPRIO_CLASS_IDLE) { 11.135 -+// //if (opt & OPT_n) 11.136 -+// // bb_error_msg("ignoring priority for idle class"); 11.137 -+// pri = 7; 11.138 -+// } 11.139 -+ } 11.140 -+ 11.141 -+ if (!(opt & (OPT_n|OPT_c))) { 11.142 -+ if (!(opt & OPT_p) && *argv) 11.143 -+ pid = xatoi_u(*argv); 11.144 -+ 11.145 -+ pri = ioprio_get(IOPRIO_WHO_PROCESS, pid); 11.146 -+ if (pri == -1) 11.147 -+ bb_perror_msg_and_die("ioprio_%cet", 'g'); 11.148 -+ 11.149 -+ ioclass = (pri >> IOPRIO_CLASS_SHIFT) & 0x3; 11.150 -+ pri &= 0xff; 11.151 -+ printf((ioclass == IOPRIO_CLASS_IDLE) ? "%s\n" : "%s: prio %d\n", 11.152 -+ nth_string(to_prio, ioclass), pri); 11.153 -+ } else { 11.154 -+//printf("pri=%d class=%d val=%x\n", 11.155 -+//pri, ioclass, pri | (ioclass << IOPRIO_CLASS_SHIFT)); 11.156 -+ pri |= (ioclass << IOPRIO_CLASS_SHIFT); 11.157 -+ if (ioprio_set(IOPRIO_WHO_PROCESS, pid, pri) == -1) 11.158 -+ bb_perror_msg_and_die("ioprio_%cet", 's'); 11.159 -+ if (*argv) { 11.160 -+ BB_EXECVP(*argv, argv); 11.161 -+ bb_simple_perror_msg_and_die(*argv); 11.162 -+ } 11.163 -+ } 11.164 -+ 11.165 -+ return EXIT_SUCCESS; 11.166 -+}
12.1 --- a/busybox/stuff/busybox-1.12.0-iptunnel.u Wed Jul 07 19:33:09 2010 +0200 12.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 12.3 @@ -1,51 +0,0 @@ 12.4 ---- busybox-1.12.0/networking/libiproute/iptunnel.c 12.5 -+++ busybox-1.12.0/networking/libiproute/iptunnel.c 12.6 -@@ -21,7 +21,47 @@ 12.7 - #ifndef __constant_htons 12.8 - #define __constant_htons htons 12.9 - #endif 12.10 --#include <linux/if_tunnel.h> 12.11 -+// FYI: #define SIOCDEVPRIVATE 0x89F0 12.12 -+ 12.13 -+/* From linux/if_tunnel.h. #including it proved troublesome 12.14 -+ * (redefiniton errors due to name collisions in linux/ and net[inet]/) */ 12.15 -+#define SIOCGETTUNNEL (SIOCDEVPRIVATE + 0) 12.16 -+#define SIOCADDTUNNEL (SIOCDEVPRIVATE + 1) 12.17 -+#define SIOCDELTUNNEL (SIOCDEVPRIVATE + 2) 12.18 -+#define SIOCCHGTUNNEL (SIOCDEVPRIVATE + 3) 12.19 -+//#define SIOCGETPRL (SIOCDEVPRIVATE + 4) 12.20 -+//#define SIOCADDPRL (SIOCDEVPRIVATE + 5) 12.21 -+//#define SIOCDELPRL (SIOCDEVPRIVATE + 6) 12.22 -+//#define SIOCCHGPRL (SIOCDEVPRIVATE + 7) 12.23 -+#define GRE_CSUM __constant_htons(0x8000) 12.24 -+//#define GRE_ROUTING __constant_htons(0x4000) 12.25 -+#define GRE_KEY __constant_htons(0x2000) 12.26 -+#define GRE_SEQ __constant_htons(0x1000) 12.27 -+//#define GRE_STRICT __constant_htons(0x0800) 12.28 -+//#define GRE_REC __constant_htons(0x0700) 12.29 -+//#define GRE_FLAGS __constant_htons(0x00F8) 12.30 -+//#define GRE_VERSION __constant_htons(0x0007) 12.31 -+struct ip_tunnel_parm { 12.32 -+ char name[IFNAMSIZ]; 12.33 -+ int link; 12.34 -+ uint16_t i_flags; 12.35 -+ uint16_t o_flags; 12.36 -+ uint32_t i_key; 12.37 -+ uint32_t o_key; 12.38 -+ struct iphdr iph; 12.39 -+}; 12.40 -+/* SIT-mode i_flags */ 12.41 -+//#define SIT_ISATAP 0x0001 12.42 -+//struct ip_tunnel_prl { 12.43 -+// uint32_t addr; 12.44 -+// uint16_t flags; 12.45 -+// uint16_t __reserved; 12.46 -+// uint32_t datalen; 12.47 -+// uint32_t __reserved2; 12.48 -+// /* data follows */ 12.49 -+//}; 12.50 -+///* PRL flags */ 12.51 -+//#define PRL_DEFAULT 0x0001 12.52 - 12.53 - #include "ip_common.h" /* #include "libbb.h" is inside */ 12.54 - #include "rt_names.h"
13.1 --- a/busybox/stuff/busybox-1.12.0-mkswap.u Wed Jul 07 19:33:09 2010 +0200 13.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 13.3 @@ -1,35 +0,0 @@ 13.4 -Without label, Gparted call mkswap -L '' <device> 13.5 ---- busybox-1.12.0/util-linux/mkswap.c 13.6 -+++ busybox-1.12.0/util-linux/mkswap.c 13.7 -@@ -92,14 +92,14 @@ 13.8 - { 13.9 - int fd, pagesize; 13.10 - off_t len; 13.11 -+ char *label = NULL; 13.12 - 13.13 -- // No options supported. 13.14 -- 13.15 -- if (argc != 2) bb_show_usage(); 13.16 -+ getopt32(argv, "L:", &label); 13.17 -+ argv += optind; 13.18 - 13.19 - // Figure out how big the device is and announce our intentions. 13.20 - 13.21 -- fd = xopen(argv[1], O_RDWR); 13.22 -+ fd = xopen(argv[0], O_RDWR); 13.23 - /* fdlength was reported to be unreliable - use seek */ 13.24 - len = xlseek(fd, 0, SEEK_END); 13.25 - #if ENABLE_SELINUX 13.26 -@@ -119,6 +119,12 @@ 13.27 - 13.28 - xlseek(fd, 1024, SEEK_SET); 13.29 - xwrite(fd, hdr, NWORDS * 4); 13.30 -+ if (label) { 13.31 -+ if (strlen(label) > 15) 13.32 -+ label[15] = 0; 13.33 -+ xlseek(fd, 1024 + 28, SEEK_SET); 13.34 -+ xwrite(fd, label, strlen(label)); 13.35 -+ } 13.36 - xlseek(fd, pagesize - 10, SEEK_SET); 13.37 - xwrite(fd, SWAPSPACE2, 10); 13.38 - fsync(fd);
14.1 --- a/busybox/stuff/busybox-1.12.0-modinfo.u Wed Jul 07 19:33:09 2010 +0200 14.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 14.3 @@ -1,166 +0,0 @@ 14.4 ---- busybox-1.12.0/include/applets.h 14.5 -+++ busybox-1.12.0/include/applets.h 14.6 -@@ -251,6 +251,7 @@ USE_MKFS_MINIX(APPLET_ODDNAME(mkfs.minix 14.7 - USE_MKNOD(APPLET(mknod, _BB_DIR_BIN, _BB_SUID_NEVER)) 14.8 - USE_MKSWAP(APPLET(mkswap, _BB_DIR_SBIN, _BB_SUID_NEVER)) 14.9 - USE_MKTEMP(APPLET(mktemp, _BB_DIR_BIN, _BB_SUID_NEVER)) 14.10 -+USE_MODINFO(APPLET(modinfo, _BB_DIR_SBIN, _BB_SUID_NEVER)) 14.11 - USE_MODPROBE(APPLET(modprobe, _BB_DIR_SBIN, _BB_SUID_NEVER)) 14.12 - USE_MODPROBE_SMALL(APPLET(modprobe, _BB_DIR_SBIN, _BB_SUID_NEVER)) 14.13 - USE_MORE(APPLET(more, _BB_DIR_BIN, _BB_SUID_NEVER)) 14.14 - 14.15 ---- busybox-1.12.0/include/usage.h 14.16 -+++ busybox-1.12.0/include/usage.h 14.17 -@@ -2629,6 +2629,20 @@ 14.18 - " which are the default for alias 'tulip2' overridden by the options 'irq=2 io=0x210'\n\n" \ 14.19 - " from the command line\n" 14.20 - 14.21 -+#define modinfo_trivial_usage \ 14.22 -+ "[-adlp0] [-F keyword] MODULE" 14.23 -+#define modinfo_full_usage "\n\n" \ 14.24 -+ "Options:" \ 14.25 -+ "\n -a Shortcut for '-F author'" \ 14.26 -+ "\n -d Shortcut for '-F description'" \ 14.27 -+ "\n -l Shortcut for '-F license'" \ 14.28 -+ "\n -p Shortcut for '-F parm'" \ 14.29 -+ "\n -F keyword Keyword to look for" \ 14.30 -+ "\n -0 Use \\0 string separator. Not \\n" \ 14.31 -+ 14.32 -+#define modinfo_example_usage \ 14.33 -+ "$ modinfo -F vermagic loop\n" 14.34 -+ 14.35 - #define more_trivial_usage \ 14.36 - "[FILE...]" 14.37 - #define more_full_usage "\n\n" \ 14.38 - 14.39 ---- busybox-1.12.0/modutils/Config.in 14.40 -+++ busybox-1.12.0/modutils/Config.in 14.41 -@@ -213,6 +213,12 @@ config FEATURE_MODPROBE_BLACKLIST 14.42 - hardware autodetection scripts to load modules like evdev, frame 14.43 - buffer drivers etc. 14.44 - 14.45 -+config MODINFO 14.46 -+ bool "modinfo" 14.47 -+ default n 14.48 -+ help 14.49 -+ Show information about a Linux Kernel module 14.50 -+ 14.51 - comment "Options common to multiple modutils" 14.52 - depends on INSMOD || RMMOD || MODPROBE || LSMOD || DEPMOD 14.53 - 14.54 - 14.55 ---- busybox-1.12.0/modutils/Kbuild 14.56 -+++ busybox-1.12.0/modutils/Kbuild 14.57 -@@ -11,3 +11,4 @@ lib-$(CONFIG_LSMOD) += lsmod 14.58 - lib-$(CONFIG_MODPROBE) += modprobe.o 14.59 - lib-$(CONFIG_MODPROBE_SMALL) += modprobe-small.o 14.60 - lib-$(CONFIG_RMMOD) += rmmod.o 14.61 -+lib-$(CONFIG_MODINFO) += modinfo.o 14.62 - 14.63 ---- busybox-1.12.0/modutils/modinfo.c 14.64 -+++ busybox-1.12.0/modutils/modinfo.c 14.65 -@@ -0,0 +1,104 @@ 14.66 -+/* vi: set sw=4 ts=4: */ 14.67 -+/* 14.68 -+ * modinfo - retrieve module info 14.69 -+ * Copyright (c) 2008 Pascal Bellard 14.70 -+ * 14.71 -+ * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. 14.72 -+ */ 14.73 -+ 14.74 -+#undef _GNU_SOURCE 14.75 -+#define _GNU_SOURCE 14.76 -+#include <libbb.h> 14.77 -+#include <fnmatch.h> 14.78 -+ 14.79 -+#define ALL_TAGS 0x3F 14.80 -+ 14.81 -+enum { 14.82 -+ ARG_F = (1<<6), /* field name */ 14.83 -+ ARG_0 = (1<<7) /* \0 as separator */ 14.84 -+}; 14.85 -+ 14.86 -+struct modinfo_env { 14.87 -+ char **argv; 14.88 -+ const char **literals; 14.89 -+ char *field; 14.90 -+ int tags; 14.91 -+}; 14.92 -+ 14.93 -+static int display(char *data, const char *pattern, int flag) 14.94 -+{ 14.95 -+ if (flag) { 14.96 -+ int n = printf("%s:",pattern); 14.97 -+ while (n++ < 16) bb_putchar(' '); 14.98 -+ } 14.99 -+ return printf("%s%c",data, (option_mask32 & ARG_0) ? '\0' : '\n'); 14.100 -+} 14.101 -+ 14.102 -+static void modinfo(char *name, char *path, void *env) 14.103 -+{ 14.104 -+ size_t len; 14.105 -+ int i, j, length; 14.106 -+ char *ptr, *the_module; 14.107 -+ char **argv = ((struct modinfo_env *) env)->argv; 14.108 -+ const char **literals = ((struct modinfo_env *) env)->literals; 14.109 -+ const char *field = ((struct modinfo_env *) env)->field; 14.110 -+ int tags = ((struct modinfo_env *) env)->tags; 14.111 -+ extern void *xalloc_load_module(const char filename[], size_t *len); 14.112 -+ 14.113 -+ for (i = 0; argv[i]; i++) { 14.114 -+ if (fnmatch(argv[i],name,0) == 0) { 14.115 -+ if (tags & 1) { /* filename */ 14.116 -+ display(path,literals[0],1 != tags); 14.117 -+ } 14.118 -+ len = MAXINT(ssize_t); 14.119 -+ the_module = xalloc_load_module(path, &len); 14.120 -+ if (field) tags |= ALL_TAGS+1; 14.121 -+ for (j = 1; (1<<j) & (ALL_TAGS+ALL_TAGS+1); j++) { 14.122 -+ const char *pattern = field; 14.123 -+ if ((1<<j) & ALL_TAGS) pattern = literals[j]; 14.124 -+ if (!((1<<j) & tags)) continue; 14.125 -+ length = strlen(pattern); 14.126 -+ ptr = the_module; 14.127 -+ do { 14.128 -+ ptr = memchr(ptr, *pattern, len - (ptr - (char*)the_module)); 14.129 -+ if (ptr == NULL) /* no occurance left, done */ 14.130 -+ break; 14.131 -+ if (!strncmp(ptr, pattern, length) && ptr[length] == '=') { 14.132 -+ ptr += length + 1; 14.133 -+ ptr += display(ptr,pattern,(1<<j) != tags); 14.134 -+ } 14.135 -+ ++ptr; 14.136 -+ } while (1); 14.137 -+ } 14.138 -+ free(the_module); 14.139 -+ } 14.140 -+ } 14.141 -+} 14.142 -+ 14.143 -+int modinfo_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; 14.144 -+int modinfo_main(int argc UNUSED_PARAM, char **argv) 14.145 -+{ 14.146 -+ static const char *shortcuts[] = { 14.147 -+ "filename", 14.148 -+ "description", 14.149 -+ "author", 14.150 -+ "license", 14.151 -+ "vermagic", 14.152 -+ "parm", 14.153 -+ }; 14.154 -+ struct modinfo_env env; 14.155 -+ extern void mod_walk(void (*action)(char *name, char *path, void *env), 14.156 -+ void *data); 14.157 -+ 14.158 -+ env.field = NULL; 14.159 -+ env.literals = shortcuts; 14.160 -+ getopt32(argv, "fdalvpF:0", &env.field); 14.161 -+ env.argv = argv += optind; 14.162 -+ env.tags = (option_mask32) ? option_mask32 & ALL_TAGS : ALL_TAGS; 14.163 -+ 14.164 -+ if (!*env.argv) 14.165 -+ bb_show_usage(); 14.166 -+ 14.167 -+ mod_walk(modinfo, &env); 14.168 -+ return 0; 14.169 -+}
15.1 --- a/busybox/stuff/busybox-1.12.0-modprobe.u Wed Jul 07 19:33:09 2010 +0200 15.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 15.3 @@ -1,53 +0,0 @@ 15.4 ---- busybox-1.12.0/modutils/modprobe.c 15.5 -+++ busybox-1.12.0/modutils/modprobe.c 15.6 -@@ -932,8 +932,9 @@ 15.7 - opt = getopt32(argv, MAIN_OPT_STR, &unused, &unused); 15.8 - argv += optind; 15.9 - 15.10 -- if (opt & (DUMP_CONF_EXIT | LIST_ALL)) 15.11 -+ if (opt & DUMP_CONF_EXIT) 15.12 - return EXIT_SUCCESS; 15.13 -+ 15.14 - if (opt & (RESTRICT_DIR | CONFIG_FILE)) 15.15 - bb_error_msg_and_die("-t and -C not supported"); 15.16 - 15.17 -@@ -942,6 +943,15 @@ 15.18 - if (!depend) 15.19 - bb_error_msg_and_die("cannot parse "CONFIG_DEFAULT_DEPMOD_FILE); 15.20 - 15.21 -+ if (opt & LIST_ALL) { 15.22 -+ struct dep_t *dt; 15.23 -+ for (dt = depend; dt && dt->m_path; dt = dt->m_next) { 15.24 -+ if (*argv && fnmatch(*argv,dt->m_name,0)) continue; 15.25 -+ puts(dt->m_path); 15.26 -+ } 15.27 -+ return EXIT_SUCCESS; 15.28 -+ } 15.29 -+ 15.30 - if (remove_opt) { 15.31 - do { 15.32 - /* (*argv) can be NULL here */ 15.33 - 15.34 ---- busybox-1.12.0/modutils/modprobe.c 15.35 -+++ busybox-1.12.0/modutils/modprobe.c 15.36 -@@ -921,6 +921,20 @@ 15.37 - return rc; 15.38 - } 15.39 - 15.40 -+void mod_walk(void (*action)(char *name, char *path, void *env), void *data); 15.41 -+void mod_walk(void (*action)(char *name, char *path, void *env), void *data) 15.42 -+{ 15.43 -+ struct dep_t *dt; 15.44 -+ 15.45 -+ depend = build_dep(); 15.46 -+ if (!depend) 15.47 -+ bb_error_msg_and_die("cannot parse "CONFIG_DEFAULT_DEPMOD_FILE); 15.48 -+ 15.49 -+ for (dt = depend; dt && dt->m_path; dt = dt->m_next) { 15.50 -+ action(dt->m_name, dt->m_path, data); 15.51 -+ } 15.52 -+} 15.53 -+ 15.54 - int modprobe_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; 15.55 - int modprobe_main(int argc UNUSED_PARAM, char **argv) 15.56 - {
16.1 --- a/busybox/stuff/busybox-1.12.0-paths.u Wed Jul 07 19:33:09 2010 +0200 16.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 16.3 @@ -1,29 +0,0 @@ 16.4 ---- busybox-1.12.0/include/applets.h 16.5 -+++ busybox-1.12.0/include/applets.h 16.6 -@@ -180,7 +180,7 @@ 16.7 - USE_HTTPD(APPLET(httpd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 16.8 - USE_HUSH(APPLET(hush, _BB_DIR_BIN, _BB_SUID_NEVER)) 16.9 - USE_HWCLOCK(APPLET(hwclock, _BB_DIR_SBIN, _BB_SUID_NEVER)) 16.10 --USE_ID(APPLET(id, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 16.11 -+USE_ID(APPLET(id, _BB_DIR_BIN, _BB_SUID_NEVER)) 16.12 - USE_IFCONFIG(APPLET(ifconfig, _BB_DIR_SBIN, _BB_SUID_NEVER)) 16.13 - USE_IFUPDOWN(APPLET_ODDNAME(ifdown, ifupdown, _BB_DIR_SBIN, _BB_SUID_NEVER, ifdown)) 16.14 - USE_IFENSLAVE(APPLET(ifenslave, _BB_DIR_SBIN, _BB_SUID_NEVER)) 16.15 -@@ -311,7 +311,7 @@ 16.16 - USE_RUNSV(APPLET(runsv, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 16.17 - USE_RUNSVDIR(APPLET(runsvdir, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 16.18 - USE_RX(APPLET(rx, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 16.19 --USE_SCRIPT(APPLET(script, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 16.20 -+USE_SCRIPT(APPLET(script, _BB_DIR_BIN, _BB_SUID_NEVER)) 16.21 - USE_SED(APPLET(sed, _BB_DIR_BIN, _BB_SUID_NEVER)) 16.22 - USE_SELINUXENABLED(APPLET(selinuxenabled, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 16.23 - USE_SENDMAIL(APPLET_ODDNAME(sendmail, sendgetmail, _BB_DIR_USR_SBIN, _BB_SUID_NEVER, sendmail)) 16.24 -@@ -390,7 +390,7 @@ 16.25 - USE_UUDECODE(APPLET(uudecode, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 16.26 - USE_UUENCODE(APPLET(uuencode, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 16.27 - USE_VCONFIG(APPLET(vconfig, _BB_DIR_SBIN, _BB_SUID_NEVER)) 16.28 --USE_VCSA2TXT(APPLET(vcsa2txt, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 16.29 -+USE_VCSA2TXT(APPLET(vcsa2txt, _BB_DIR_BIN, _BB_SUID_NEVER)) 16.30 - USE_VI(APPLET(vi, _BB_DIR_BIN, _BB_SUID_NEVER)) 16.31 - USE_VLOCK(APPLET(vlock, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS)) 16.32 - USE_WATCH(APPLET(watch, _BB_DIR_BIN, _BB_SUID_NEVER))
17.1 --- a/busybox/stuff/busybox-1.12.0-replay.u Wed Jul 07 19:33:09 2010 +0200 17.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 17.3 @@ -1,221 +0,0 @@ 17.4 ---- busybox-1.12.0/util-linux/script.c 17.5 -+++ busybox-1.12.0/util-linux/script.c 17.6 -@@ -36,6 +36,15 @@ 17.7 - const char *shell; 17.8 - char shell_opt[] = "-i"; 17.9 - char *shell_arg = NULL; 17.10 -+ enum { 17.11 -+ OPT_a = (1 << 0), 17.12 -+ OPT_c = (1 << 1), 17.13 -+ OPT_f = (1 << 2), 17.14 -+ OPT_q = (1 << 3), 17.15 -+#if ENABLE_REPLAY 17.16 -+ OPT_t = (1 << 4), 17.17 -+#endif 17.18 -+ }; 17.19 - 17.20 - #if ENABLE_GETOPT_LONG 17.21 - static const char getopt_longopts[] ALIGN1 = 17.22 -@@ -43,25 +52,28 @@ 17.23 - "command\0" Required_argument "c" 17.24 - "flush\0" No_argument "f" 17.25 - "quiet\0" No_argument "q" 17.26 -+# if ENABLE_REPLAY 17.27 -+ "timing\0" No_argument "t" 17.28 -+# endif 17.29 - ; 17.30 - 17.31 - applet_long_options = getopt_longopts; 17.32 - #endif 17.33 - opt_complementary = "?1"; /* max one arg */ 17.34 -- opt = getopt32(argv, "ac:fq", &shell_arg); 17.35 -+ opt = getopt32(argv, "ac:fq" USE_REPLAY("t") , &shell_arg); 17.36 - //argc -= optind; 17.37 - argv += optind; 17.38 - if (argv[0]) { 17.39 - fname = argv[0]; 17.40 - } 17.41 - mode = O_CREAT|O_TRUNC|O_WRONLY; 17.42 -- if (opt & 1) { 17.43 -+ if (opt & OPT_a) { 17.44 - mode = O_CREAT|O_APPEND|O_WRONLY; 17.45 - } 17.46 -- if (opt & 2) { 17.47 -+ if (opt & OPT_c) { 17.48 - shell_opt[1] = 'c'; 17.49 - } 17.50 -- if (!(opt & 8)) { /* not -q */ 17.51 -+ if (!(opt & OPT_q)) { 17.52 - printf("Script started, file is %s\n", fname); 17.53 - } 17.54 - shell = getenv("SHELL"); 17.55 -@@ -97,6 +109,10 @@ 17.56 - #define buf bb_common_bufsiz1 17.57 - struct pollfd pfd[2]; 17.58 - int outfd, count, loop; 17.59 -+#if ENABLE_REPLAY 17.60 -+ struct timeval tv; 17.61 -+ double oldtime=time(NULL), newtime; 17.62 -+#endif 17.63 - 17.64 - outfd = xopen(fname, mode); 17.65 - pfd[0].fd = pty; 17.66 -@@ -118,15 +134,27 @@ 17.67 - } 17.68 - if (pfd[0].revents) { 17.69 - errno = 0; 17.70 -+#if ENABLE_REPLAY 17.71 -+ if (opt & OPT_t) { 17.72 -+ gettimeofday(&tv, NULL); 17.73 -+ } 17.74 -+#endif 17.75 - count = safe_read(pty, buf, sizeof(buf)); 17.76 - if (count <= 0 && errno != EAGAIN) { 17.77 - /* err/eof from pty: exit */ 17.78 - goto restore; 17.79 - } 17.80 - if (count > 0) { 17.81 -+#if ENABLE_REPLAY 17.82 -+ if (opt & OPT_t) { 17.83 -+ newtime = tv.tv_sec + (double) tv.tv_usec / 1000000; 17.84 -+ fprintf(stderr, "%f %i\n", newtime - oldtime, count); 17.85 -+ oldtime = newtime; 17.86 -+ } 17.87 -+#endif 17.88 - full_write(STDOUT_FILENO, buf, count); 17.89 - full_write(outfd, buf, count); 17.90 -- if (opt & 4) { /* -f */ 17.91 -+ if (opt & OPT_f) { 17.92 - fsync(outfd); 17.93 - } 17.94 - } 17.95 -@@ -158,7 +186,7 @@ 17.96 - restore: 17.97 - if (attr_ok == 0) 17.98 - tcsetattr(0, TCSAFLUSH, &tt); 17.99 -- if (!(opt & 8)) /* not -q */ 17.100 -+ if (!(opt & OPT_q)) 17.101 - printf("Script done, file is %s\n", fname); 17.102 - return EXIT_SUCCESS; 17.103 - } 17.104 - 17.105 ---- busybox-1.12.0/util-linux/Config.in 17.106 -+++ busybox-1.12.0/util-linux/Config.in 17.107 -@@ -719,6 +719,13 @@ 17.108 - help 17.109 - This allows you to parse /proc/profile for basic profiling. 17.110 - 17.111 -+config REPLAY 17.112 -+ bool "replay" 17.113 -+ default n 17.114 -+ help 17.115 -+ This program replays a typescript, using timing information 17.116 -+ given by script -t. 17.117 -+ 17.118 - config RTCWAKE 17.119 - bool "rtcwake" 17.120 - default n 17.121 - 17.122 ---- busybox-1.12.0/util-linux/Kbuild 17.123 -+++ busybox-1.12.0/util-linux/Kbuild 17.124 -@@ -28,6 +28,7 @@ 17.125 - lib-$(CONFIG_RDATE) += rdate.o 17.126 - lib-$(CONFIG_RDEV) += rdev.o 17.127 - lib-$(CONFIG_READPROFILE) += readprofile.o 17.128 -+lib-$(CONFIG_REPLAY) += replay.o 17.129 - lib-$(CONFIG_RTCWAKE) += rtcwake.o 17.130 - lib-$(CONFIG_SCRIPT) += script.o 17.131 - lib-$(CONFIG_SETARCH) += setarch.o 17.132 - 17.133 ---- busybox-1.12.0/include/applets.h 17.134 -+++ busybox-1.12.0/include/applets.h 17.135 -@@ -294,6 +294,7 @@ 17.136 - USE_REALPATH(APPLET(realpath, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 17.137 - USE_HALT(APPLET_ODDNAME(reboot, halt, _BB_DIR_SBIN, _BB_SUID_NEVER, reboot)) 17.138 - USE_RENICE(APPLET(renice, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 17.139 -+USE_REPLAY(APPLET(replay, _BB_DIR_BIN, _BB_SUID_NEVER)) 17.140 - USE_RESET(APPLET(reset, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 17.141 - USE_RESIZE(APPLET(resize, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 17.142 - USE_RESTORECON(APPLET_ODDNAME(restorecon, setfiles, _BB_DIR_SBIN, _BB_SUID_NEVER, restorecon)) 17.143 - 17.144 ---- busybox-1.12.0/include/usage.h 17.145 -+++ busybox-1.12.0/include/usage.h 17.146 -@@ -3244,6 +3244,11 @@ 17.147 - "\n -g Process group id(s)" \ 17.148 - "\n -u Process user name(s) and/or id(s)" \ 17.149 - 17.150 -+#define replay_trivial_usage \ 17.151 -+ "timingfile [typescript [divisor]]" 17.152 -+#define replay_full_usage "\n\n" \ 17.153 -+ "Play back typescripts, using timing information" 17.154 -+ 17.155 - #define reset_trivial_usage \ 17.156 - "" 17.157 - #define reset_full_usage "\n\n" \ 17.158 -@@ -3426,13 +3431,20 @@ 17.159 - 17.160 - #define script_trivial_usage \ 17.161 - "[-afq] [-c COMMAND] [OUTFILE]" 17.162 --#define script_full_usage "\n\n" \ 17.163 -+#define script_full_usage_base "\n\n" \ 17.164 - "Options:" \ 17.165 - "\n -a Append output" \ 17.166 - "\n -c Run COMMAND, not shell" \ 17.167 - "\n -f Flush output after each write" \ 17.168 - "\n -q Quiet" \ 17.169 - 17.170 -+#ifdef USE_REPLAY 17.171 -+#define script_full_usage script_full_usage_base \ 17.172 -+ "\n -t Send timing to stderr" 17.173 -+#else 17.174 -+#define script_full_usage script_full_usage_base 17.175 -+#endif 17.176 -+ 17.177 - #define sed_trivial_usage \ 17.178 - "[-efinr] pattern [files...]" 17.179 - #define sed_full_usage "\n\n" \ 17.180 - 17.181 ---- busybox-1.12.0/util-linux/replay.c 17.182 -+++ busybox-1.12.0/util-linux/replay.c 17.183 -@@ -0,0 +1,41 @@ 17.184 -+/* vi: set sw=4 ts=4: */ 17.185 -+/* 17.186 -+ * replay - play back typescripts, using timing information 17.187 -+ * 17.188 -+ * pascal.bellard@ads-lu.com 17.189 -+ * 17.190 -+ * Licensed under GPLv2 or later, see file License in this tarball for details. 17.191 -+ * 17.192 -+ */ 17.193 -+ 17.194 -+#include "libbb.h" 17.195 -+ 17.196 -+int replay_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; 17.197 -+int replay_main(int argc, char **argv) 17.198 -+{ 17.199 -+ const char *script = "typescript"; 17.200 -+ double delay, factor = 1000000.0; 17.201 -+ int fd; 17.202 -+ long count; 17.203 -+ FILE *tfp; 17.204 -+ 17.205 -+ switch (argc) { 17.206 -+ case 4: factor /= atof(argv[3]); 17.207 -+ case 3: script = argv[2]; 17.208 -+ case 2: break; 17.209 -+ default: 17.210 -+ bb_show_usage(); 17.211 -+ } 17.212 -+ 17.213 -+ tfp = xfopen_for_read(argv[1]); 17.214 -+ fd = open(script, O_RDONLY); 17.215 -+ while (fscanf(tfp, "%lf %ld\n", &delay, &count) == 2) { 17.216 -+ usleep(delay * factor); 17.217 -+ bb_copyfd_exact_size(fd, STDOUT_FILENO, count); 17.218 -+ } 17.219 -+#if ENABLE_FEATURE_CLEAN_UP 17.220 -+ close(fd); 17.221 -+ fclose(tfp); 17.222 -+#endif 17.223 -+ return EXIT_SUCCESS; 17.224 -+}
18.1 --- a/busybox/stuff/busybox-1.12.0-ris.u Wed Jul 07 19:33:09 2010 +0200 18.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 18.3 @@ -1,97 +0,0 @@ 18.4 ---- busybox-1.12.0/networking/tftp.c 18.5 -+++ busybox-1.12.0/networking/tftp.c 18.6 -@@ -552,6 +552,63 @@ 18.7 - #undef tsize 18.8 - } 18.9 - 18.10 -+#if ENABLE_FEATURE_TFTPD_RIS 18.11 -+#include <dirent.h> 18.12 -+ 18.13 -+int lookup_entry(const char *comp, char *dest); 18.14 -+void lookup_file(char *filename); 18.15 -+ 18.16 -+int lookup_entry(const char *comp, char *dest) 18.17 -+{ 18.18 -+ DIR *dirp; 18.19 -+ struct dirent *dptr; 18.20 -+ if (!dest) return 0; 18.21 -+ dirp = opendir(dest[0] ? dest : "."); 18.22 -+ while ((dptr = readdir(dirp))) { 18.23 -+ if (!strcasecmp(dptr->d_name, comp)) { 18.24 -+ if (dest[0]) strcat(dest, "/"); 18.25 -+ strcat(dest, dptr->d_name); 18.26 -+ closedir(dirp); 18.27 -+ return 1; 18.28 -+ } 18.29 -+ } 18.30 -+ closedir(dirp); 18.31 -+ return 0; 18.32 -+} 18.33 -+ 18.34 -+void lookup_file(char *filename) 18.35 -+{ 18.36 -+ int found = 0; 18.37 -+ int len = 0; 18.38 -+ char dest[1024]; 18.39 -+ char comp[1024]; 18.40 -+ char *check = filename; 18.41 -+ char *seek = NULL; 18.42 -+ 18.43 -+ dest[0] = 0; 18.44 -+ check++; 18.45 -+ while (*check) { 18.46 -+ seek = strchr(check, '\\'); 18.47 -+ if (!seek) { 18.48 -+ if ((*check) && (lookup_entry(check, dest))) 18.49 -+ found = 1; 18.50 -+ break; 18.51 -+ } 18.52 -+ len = seek - check; 18.53 -+ memcpy(comp, check, len); 18.54 -+ comp[len]=0; 18.55 -+ if (!lookup_entry(comp, dest)) 18.56 -+ break; 18.57 -+ check += len + 1; 18.58 -+ } 18.59 -+ 18.60 -+ if (found) { 18.61 -+ filename[0] = 0; 18.62 -+ strcat(filename, dest); 18.63 -+ } 18.64 -+} 18.65 -+#endif 18.66 -+ 18.67 - #if ENABLE_TFTP 18.68 - 18.69 - int tftp_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; 18.70 -@@ -680,6 +737,11 @@ 18.71 - goto err; 18.72 - } 18.73 - local_file = block_buf + 2; 18.74 -+#if ENABLE_FEATURE_TFTPD_RIS 18.75 -+ if (local_file[0] == '\\') { 18.76 -+ lookup_file(local_file); 18.77 -+ } 18.78 -+#endif 18.79 - if (local_file[0] == '.' || strstr(local_file, "/.")) { 18.80 - error_msg = "dot in file name"; 18.81 - goto err; 18.82 - 18.83 ---- busybox-1.12.0/networking/Config.in 18.84 -+++ busybox-1.12.0/networking/Config.in 18.85 -@@ -794,6 +794,15 @@ 18.86 - In other words: it should be run from inetd in nowait mode, 18.87 - or from udpsvd. Example: "udpsvd -E 0 69 tftpd DIR" 18.88 - 18.89 -+config FEATURE_TFTPD_RIS 18.90 -+ bool "Enable \"RIS\" support" 18.91 -+ default y 18.92 -+ depends on TFTPD 18.93 -+ help 18.94 -+ Add support for the Remote Installation Service. This allows 18.95 -+ a client to get files starting with \ without respecting case. 18.96 -+ Each \ will be replaced by a /. 18.97 -+ 18.98 - config FEATURE_TFTP_GET 18.99 - bool "Enable \"get\" command" 18.100 - default y
19.1 --- a/busybox/stuff/busybox-1.12.0-rpm2cpio.u Wed Jul 07 19:33:09 2010 +0200 19.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 19.3 @@ -1,33 +0,0 @@ 19.4 -Add bz2 support 19.5 ---- busybox-1.12.0/archival/rpm2cpio.c 19.6 -+++ busybox-1.12.0/archival/rpm2cpio.c 19.7 -@@ -55,6 +55,7 @@ 19.8 - struct rpm_lead lead; 19.9 - int rpm_fd; 19.10 - unsigned char magic[2]; 19.11 -+ USE_DESKTOP(long long) int FAST_FUNC (*unpack)(int src_fd, int dst_fd); 19.12 - 19.13 - if (argc == 1) { 19.14 - rpm_fd = STDIN_FILENO; 19.15 -@@ -75,11 +76,19 @@ 19.16 - skip_header(rpm_fd); 19.17 - 19.18 - xread(rpm_fd, &magic, 2); 19.19 -+ unpack = unpack_gz_stream; 19.20 - if ((magic[0] != 0x1f) || (magic[1] != 0x8b)) { 19.21 -- bb_error_msg_and_die("invalid gzip magic"); 19.22 -+ if (!ENABLE_FEATURE_SEAMLESS_BZ2 19.23 -+ || magic[0] != 'B' || magic[1] != 'Z' 19.24 -+ ) { 19.25 -+ bb_error_msg_and_die("invalid gzip" 19.26 -+ USE_FEATURE_SEAMLESS_BZ2("/bzip2") 19.27 -+ " magic"); 19.28 -+ } 19.29 -+ unpack = unpack_bz2_stream; 19.30 - } 19.31 - 19.32 -- if (unpack_gz_stream(rpm_fd, STDOUT_FILENO) < 0) { 19.33 -+ if (unpack(rpm_fd, STDOUT_FILENO) < 0) { 19.34 - bb_error_msg("error inflating"); 19.35 - } 19.36 -
20.1 --- a/busybox/stuff/busybox-1.12.0-stat.u Wed Jul 07 19:33:09 2010 +0200 20.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 20.3 @@ -1,74 +0,0 @@ 20.4 -Add stat -m 20.5 ---- busybox-1.12.0/coreutils/stat.c 20.6 -+++ busybox-1.12.0/coreutils/stat.c 20.7 -@@ -14,12 +14,14 @@ 20.8 - */ 20.9 - 20.10 - #include "libbb.h" 20.11 -+#include <linux/fs.h> 20.12 - 20.13 - /* vars to control behavior */ 20.14 - #define OPT_FILESYS (1 << 0) 20.15 - #define OPT_TERSE (1 << 1) 20.16 - #define OPT_DEREFERENCE (1 << 2) 20.17 --#define OPT_SELINUX (1 << 3) 20.18 -+#define OPT_MAP (1 << 3) 20.19 -+#define OPT_SELINUX (1 << 4) 20.20 - 20.21 - #if ENABLE_FEATURE_STAT_FORMAT 20.22 - typedef bool (*statfunc_ptr)(const char *, const char *); 20.23 -@@ -345,6 +347,26 @@ static void print_it(const char *masterf 20.24 - 20.25 - /* Stat the file system and print what we find. */ 20.26 - #if !ENABLE_FEATURE_STAT_FORMAT 20.27 -+#define do_mapfile(filename, format) do_mapfile(filename) 20.28 -+#endif 20.29 -+static bool do_mapfile(const char *filename, const char *format) 20.30 -+{ 20.31 -+ int i = 0; 20.32 -+ int fd = xopen(filename, O_RDONLY); 20.33 -+ 20.34 -+#if ENABLE_FEATURE_STAT_FORMAT 20.35 -+ (void) format; 20.36 -+#endif 20.37 -+ while (1) { 20.38 -+ int blk = i++; 20.39 -+ if (ioctl(fd,FIBMAP,&blk) < 0 || blk == 0) break; 20.40 -+ printf("%u\n",blk); 20.41 -+ } 20.42 -+ return 1; 20.43 -+} 20.44 -+ 20.45 -+/* Stat the file system and print what we find. */ 20.46 -+#if !ENABLE_FEATURE_STAT_FORMAT 20.47 - #define do_statfs(filename, format) do_statfs(filename) 20.48 - #endif 20.49 - static bool do_statfs(const char *filename, const char *format) 20.50 -@@ -632,13 +654,15 @@ int stat_main(int argc, char **argv) 20.51 - int ok = 1; 20.52 - statfunc_ptr statfunc = do_stat; 20.53 - 20.54 -- getopt32(argv, "ftL" 20.55 -+ getopt32(argv, "ftLm" 20.56 - USE_SELINUX("Z") 20.57 - USE_FEATURE_STAT_FORMAT("c:", &format) 20.58 - ); 20.59 - 20.60 - if (option_mask32 & OPT_FILESYS) /* -f */ 20.61 - statfunc = do_statfs; 20.62 -+ if (option_mask32 & OPT_MAP) /* -m */ 20.63 -+ statfunc = do_mapfile; 20.64 - if (argc == optind) /* files */ 20.65 - bb_show_usage(); 20.66 - 20.67 - 20.68 ---- busybox-1.12.0/include/usage.h 20.69 -+++ busybox-1.12.0/include/usage.h 20.70 -@@ -3746,6 +3746,7 @@ 20.71 - ) \ 20.72 - "\n -f Display filesystem status" \ 20.73 - "\n -L Dereference links" \ 20.74 -+ "\n -m Display block list" \ 20.75 - "\n -t Display info in terse form" \ 20.76 - USE_SELINUX( \ 20.77 - "\n -Z Print security context" \
21.1 --- a/busybox/stuff/busybox-1.12.0-syslogd.u Wed Jul 07 19:33:09 2010 +0200 21.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 21.3 @@ -1,11 +0,0 @@ 21.4 ---- busybox-1.12.0/sysklogd/syslogd.c 21.5 -+++ busybox-1.12.0/sysklogd/syslogd.c 21.6 -@@ -44,7 +44,7 @@ 21.7 - #undef SYSLOGD_MARK 21.8 - 21.9 - enum { 21.10 -- MAX_READ = 256, 21.11 -+ MAX_READ = 1024, 21.12 - DNS_WAIT_SEC = 2 * 60, 21.13 - }; 21.14 -
22.1 --- a/busybox/stuff/busybox-1.12.0-tar.u Wed Jul 07 19:33:09 2010 +0200 22.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 22.3 @@ -1,1 +0,0 @@ 22.4 -busybox-1.11.0-tar.u 22.5 \ No newline at end of file
23.1 --- a/busybox/stuff/busybox-1.12.0-unlzma.u Wed Jul 07 19:33:09 2010 +0200 23.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 23.3 @@ -1,302 +0,0 @@ 23.4 ---- busybox-1.12.0/archival/libunarchive/decompress_unlzma.c 23.5 -+++ busybox-1.12.0/archival/libunarchive/decompress_unlzma.c 23.6 -@@ -14,8 +14,10 @@ 23.7 - 23.8 - #if ENABLE_FEATURE_LZMA_FAST 23.9 - # define speed_inline ALWAYS_INLINE 23.10 -+# define size_inline 23.11 - #else 23.12 - # define speed_inline 23.13 -+# define size_inline ALWAYS_INLINE 23.14 - #endif 23.15 - 23.16 - 23.17 -@@ -44,8 +46,8 @@ 23.18 - #define RC_MODEL_TOTAL_BITS 11 23.19 - 23.20 - 23.21 --/* Called twice: once at startup and once in rc_normalize() */ 23.22 --static void rc_read(rc_t *rc) 23.23 -+/* Called twice: once at startup (LZMA_FAST only) and once in rc_normalize() */ 23.24 -+static size_inline void rc_read(rc_t *rc) 23.25 - { 23.26 - int buffer_size = safe_read(rc->fd, RC_BUFFER, RC_BUFFER_SIZE); 23.27 - if (buffer_size <= 0) 23.28 -@@ -54,8 +56,17 @@ 23.29 - rc->buffer_end = RC_BUFFER + buffer_size; 23.30 - } 23.31 - 23.32 -+/* Called twice, but one callsite is in speed_inline'd rc_is_bit_1() */ 23.33 -+static void rc_do_normalize(rc_t *rc) 23.34 -+{ 23.35 -+ if (rc->ptr >= rc->buffer_end) 23.36 -+ rc_read(rc); 23.37 -+ rc->range <<= 8; 23.38 -+ rc->code = (rc->code << 8) | *rc->ptr++; 23.39 -+} 23.40 -+ 23.41 - /* Called once */ 23.42 --static rc_t* rc_init(int fd) /*, int buffer_size) */ 23.43 -+static ALWAYS_INLINE rc_t* rc_init(int fd) /*, int buffer_size) */ 23.44 - { 23.45 - int i; 23.46 - rc_t *rc; 23.47 -@@ -63,17 +74,18 @@ 23.48 - rc = xmalloc(sizeof(*rc) + RC_BUFFER_SIZE); 23.49 - 23.50 - rc->fd = fd; 23.51 -- /* rc->buffer_size = buffer_size; */ 23.52 -- rc->buffer_end = RC_BUFFER + RC_BUFFER_SIZE; 23.53 - rc->ptr = rc->buffer_end; 23.54 - 23.55 -- rc->code = 0; 23.56 -- rc->range = 0xFFFFFFFF; 23.57 - for (i = 0; i < 5; i++) { 23.58 -+#if ENABLE_FEATURE_LZMA_FAST 23.59 - if (rc->ptr >= rc->buffer_end) 23.60 - rc_read(rc); 23.61 - rc->code = (rc->code << 8) | *rc->ptr++; 23.62 -+#else 23.63 -+ rc_do_normalize(rc); 23.64 -+#endif 23.65 - } 23.66 -+ rc->range = 0xFFFFFFFF; 23.67 - return rc; 23.68 - } 23.69 - 23.70 -@@ -83,14 +95,6 @@ 23.71 - free(rc); 23.72 - } 23.73 - 23.74 --/* Called twice, but one callsite is in speed_inline'd rc_is_bit_0_helper() */ 23.75 --static void rc_do_normalize(rc_t *rc) 23.76 --{ 23.77 -- if (rc->ptr >= rc->buffer_end) 23.78 -- rc_read(rc); 23.79 -- rc->range <<= 8; 23.80 -- rc->code = (rc->code << 8) | *rc->ptr++; 23.81 --} 23.82 - static ALWAYS_INLINE void rc_normalize(rc_t *rc) 23.83 - { 23.84 - if (rc->range < (1 << RC_TOP_BITS)) { 23.85 -@@ -98,49 +102,30 @@ 23.86 - } 23.87 - } 23.88 - 23.89 --/* rc_is_bit_0 is called 9 times */ 23.90 --/* Why rc_is_bit_0_helper exists? 23.91 -- * Because we want to always expose (rc->code < rc->bound) to optimizer. 23.92 -- * Thus rc_is_bit_0 is always inlined, and rc_is_bit_0_helper is inlined 23.93 -- * only if we compile for speed. 23.94 -- */ 23.95 --static speed_inline uint32_t rc_is_bit_0_helper(rc_t *rc, uint16_t *p) 23.96 -+/* rc_is_bit_1 is called 9 times */ 23.97 -+static speed_inline int rc_is_bit_1(rc_t *rc, uint16_t *p) 23.98 - { 23.99 - rc_normalize(rc); 23.100 - rc->bound = *p * (rc->range >> RC_MODEL_TOTAL_BITS); 23.101 -- return rc->bound; 23.102 -+ if (rc->code < rc->bound) { 23.103 -+ rc->range = rc->bound; 23.104 -+ *p += ((1 << RC_MODEL_TOTAL_BITS) - *p) >> RC_MOVE_BITS; 23.105 -+ return 0; 23.106 -+ } 23.107 -+ else { 23.108 -+ rc->range -= rc->bound; 23.109 -+ rc->code -= rc->bound; 23.110 -+ *p -= *p >> RC_MOVE_BITS; 23.111 -+ return 1; 23.112 -+ } 23.113 - } 23.114 --static ALWAYS_INLINE int rc_is_bit_0(rc_t *rc, uint16_t *p) 23.115 --{ 23.116 -- uint32_t t = rc_is_bit_0_helper(rc, p); 23.117 -- return rc->code < t; 23.118 --} 23.119 - 23.120 --/* Called ~10 times, but very small, thus inlined */ 23.121 --static speed_inline void rc_update_bit_0(rc_t *rc, uint16_t *p) 23.122 --{ 23.123 -- rc->range = rc->bound; 23.124 -- *p += ((1 << RC_MODEL_TOTAL_BITS) - *p) >> RC_MOVE_BITS; 23.125 --} 23.126 --static speed_inline void rc_update_bit_1(rc_t *rc, uint16_t *p) 23.127 --{ 23.128 -- rc->range -= rc->bound; 23.129 -- rc->code -= rc->bound; 23.130 -- *p -= *p >> RC_MOVE_BITS; 23.131 --} 23.132 -- 23.133 - /* Called 4 times in unlzma loop */ 23.134 --static int rc_get_bit(rc_t *rc, uint16_t *p, int *symbol) 23.135 -+static speed_inline int rc_get_bit(rc_t *rc, uint16_t *p, int *symbol) 23.136 - { 23.137 -- if (rc_is_bit_0(rc, p)) { 23.138 -- rc_update_bit_0(rc, p); 23.139 -- *symbol *= 2; 23.140 -- return 0; 23.141 -- } else { 23.142 -- rc_update_bit_1(rc, p); 23.143 -- *symbol = *symbol * 2 + 1; 23.144 -- return 1; 23.145 -- } 23.146 -+ int ret = rc_is_bit_1(rc, p); 23.147 -+ *symbol = *symbol * 2 + ret; 23.148 -+ return ret; 23.149 - } 23.150 - 23.151 - /* Called once */ 23.152 -@@ -266,13 +251,13 @@ 23.153 - header.dst_size = SWAP_LE64(header.dst_size); 23.154 - 23.155 - if (header.dict_size == 0) 23.156 -- header.dict_size = 1; 23.157 -+ header.dict_size++; 23.158 - 23.159 - buffer = xmalloc(MIN(header.dst_size, header.dict_size)); 23.160 - 23.161 - num_probs = LZMA_BASE_SIZE + (LZMA_LIT_SIZE << (lc + lp)); 23.162 - p = xmalloc(num_probs * sizeof(*p)); 23.163 -- num_probs = LZMA_LITERAL + (LZMA_LIT_SIZE << (lc + lp)); 23.164 -+ num_probs += LZMA_LITERAL - LZMA_BASE_SIZE; 23.165 - for (i = 0; i < num_probs; i++) 23.166 - p[i] = (1 << RC_MODEL_TOTAL_BITS) >> 1; 23.167 - 23.168 -@@ -282,9 +267,8 @@ 23.169 - int pos_state = (buffer_pos + global_pos) & pos_state_mask; 23.170 - 23.171 - prob = p + LZMA_IS_MATCH + (state << LZMA_NUM_POS_BITS_MAX) + pos_state; 23.172 -- if (rc_is_bit_0(rc, prob)) { 23.173 -+ if (!rc_is_bit_1(rc, prob)) { 23.174 - mi = 1; 23.175 -- rc_update_bit_0(rc, prob); 23.176 - prob = (p + LZMA_LITERAL 23.177 - + (LZMA_LIT_SIZE * ((((buffer_pos + global_pos) & literal_pos_mask) << lc) 23.178 - + (previous_byte >> (8 - lc)) 23.179 -@@ -340,26 +324,21 @@ 23.180 - int offset; 23.181 - uint16_t *prob_len; 23.182 - 23.183 -- rc_update_bit_1(rc, prob); 23.184 - prob = p + LZMA_IS_REP + state; 23.185 -- if (rc_is_bit_0(rc, prob)) { 23.186 -- rc_update_bit_0(rc, prob); 23.187 -+ if (!rc_is_bit_1(rc, prob)) { 23.188 - rep3 = rep2; 23.189 - rep2 = rep1; 23.190 - rep1 = rep0; 23.191 - state = state < LZMA_NUM_LIT_STATES ? 0 : 3; 23.192 - prob = p + LZMA_LEN_CODER; 23.193 - } else { 23.194 -- rc_update_bit_1(rc, prob); 23.195 -- prob = p + LZMA_IS_REP_G0 + state; 23.196 -- if (rc_is_bit_0(rc, prob)) { 23.197 -- rc_update_bit_0(rc, prob); 23.198 -+ prob += LZMA_IS_REP_G0 - LZMA_IS_REP; 23.199 -+ if (!rc_is_bit_1(rc, prob)) { 23.200 - prob = (p + LZMA_IS_REP_0_LONG 23.201 - + (state << LZMA_NUM_POS_BITS_MAX) 23.202 - + pos_state 23.203 - ); 23.204 -- if (rc_is_bit_0(rc, prob)) { 23.205 -- rc_update_bit_0(rc, prob); 23.206 -+ if (!rc_is_bit_1(rc, prob)) { 23.207 - 23.208 - state = state < LZMA_NUM_LIT_STATES ? 9 : 11; 23.209 - #if ENABLE_FEATURE_LZMA_FAST 23.210 -@@ -372,25 +351,16 @@ 23.211 - len = 1; 23.212 - goto string; 23.213 - #endif 23.214 -- } else { 23.215 -- rc_update_bit_1(rc, prob); 23.216 - } 23.217 - } else { 23.218 - uint32_t distance; 23.219 - 23.220 -- rc_update_bit_1(rc, prob); 23.221 -- prob = p + LZMA_IS_REP_G1 + state; 23.222 -- if (rc_is_bit_0(rc, prob)) { 23.223 -- rc_update_bit_0(rc, prob); 23.224 -- distance = rep1; 23.225 -- } else { 23.226 -- rc_update_bit_1(rc, prob); 23.227 -- prob = p + LZMA_IS_REP_G2 + state; 23.228 -- if (rc_is_bit_0(rc, prob)) { 23.229 -- rc_update_bit_0(rc, prob); 23.230 -- distance = rep2; 23.231 -- } else { 23.232 -- rc_update_bit_1(rc, prob); 23.233 -+ prob += LZMA_IS_REP_G1 - LZMA_IS_REP_G0; 23.234 -+ distance = rep1; 23.235 -+ if (rc_is_bit_1(rc, prob)) { 23.236 -+ prob += LZMA_IS_REP_G2 - LZMA_IS_REP_G1; 23.237 -+ distance = rep2; 23.238 -+ if (rc_is_bit_1(rc, prob)) { 23.239 - distance = rep3; 23.240 - rep3 = rep2; 23.241 - } 23.242 -@@ -404,24 +374,20 @@ 23.243 - } 23.244 - 23.245 - prob_len = prob + LZMA_LEN_CHOICE; 23.246 -- if (rc_is_bit_0(rc, prob_len)) { 23.247 -- rc_update_bit_0(rc, prob_len); 23.248 -- prob_len = (prob + LZMA_LEN_LOW 23.249 -- + (pos_state << LZMA_LEN_NUM_LOW_BITS)); 23.250 -+ if (!rc_is_bit_1(rc, prob_len)) { 23.251 -+ prob_len += LZMA_LEN_LOW - LZMA_LEN_CHOICE 23.252 -+ + (pos_state << LZMA_LEN_NUM_LOW_BITS); 23.253 - offset = 0; 23.254 - num_bits = LZMA_LEN_NUM_LOW_BITS; 23.255 - } else { 23.256 -- rc_update_bit_1(rc, prob_len); 23.257 -- prob_len = prob + LZMA_LEN_CHOICE_2; 23.258 -- if (rc_is_bit_0(rc, prob_len)) { 23.259 -- rc_update_bit_0(rc, prob_len); 23.260 -- prob_len = (prob + LZMA_LEN_MID 23.261 -- + (pos_state << LZMA_LEN_NUM_MID_BITS)); 23.262 -+ prob_len += LZMA_LEN_CHOICE_2 - LZMA_LEN_CHOICE; 23.263 -+ if (!rc_is_bit_1(rc, prob_len)) { 23.264 -+ prob_len += LZMA_LEN_MID - LZMA_LEN_CHOICE_2 23.265 -+ + (pos_state << LZMA_LEN_NUM_MID_BITS); 23.266 - offset = 1 << LZMA_LEN_NUM_LOW_BITS; 23.267 - num_bits = LZMA_LEN_NUM_MID_BITS; 23.268 - } else { 23.269 -- rc_update_bit_1(rc, prob_len); 23.270 -- prob_len = prob + LZMA_LEN_HIGH; 23.271 -+ prob_len += LZMA_LEN_HIGH - LZMA_LEN_CHOICE_2; 23.272 - offset = ((1 << LZMA_LEN_NUM_LOW_BITS) 23.273 - + (1 << LZMA_LEN_NUM_MID_BITS)); 23.274 - num_bits = LZMA_LEN_NUM_HIGH_BITS; 23.275 -@@ -440,17 +406,18 @@ 23.276 - << LZMA_NUM_POS_SLOT_BITS); 23.277 - rc_bit_tree_decode(rc, prob, LZMA_NUM_POS_SLOT_BITS, 23.278 - &pos_slot); 23.279 -+ rep0 = pos_slot; 23.280 - if (pos_slot >= LZMA_START_POS_MODEL_INDEX) { 23.281 - num_bits = (pos_slot >> 1) - 1; 23.282 - rep0 = 2 | (pos_slot & 1); 23.283 -+ prob = p + LZMA_ALIGN; 23.284 - if (pos_slot < LZMA_END_POS_MODEL_INDEX) { 23.285 - rep0 <<= num_bits; 23.286 -- prob = p + LZMA_SPEC_POS + rep0 - pos_slot - 1; 23.287 -+ prob += LZMA_SPEC_POS - LZMA_ALIGN - 1 + rep0 - pos_slot ; 23.288 - } else { 23.289 - num_bits -= LZMA_NUM_ALIGN_BITS; 23.290 - while (num_bits--) 23.291 - rep0 = (rep0 << 1) | rc_direct_bit(rc); 23.292 -- prob = p + LZMA_ALIGN; 23.293 - rep0 <<= LZMA_NUM_ALIGN_BITS; 23.294 - num_bits = LZMA_NUM_ALIGN_BITS; 23.295 - } 23.296 -@@ -461,8 +428,7 @@ 23.297 - rep0 |= i; 23.298 - i <<= 1; 23.299 - } 23.300 -- } else 23.301 -- rep0 = pos_slot; 23.302 -+ } 23.303 - if (++rep0 == 0) 23.304 - break; 23.305 - }
24.1 --- a/busybox/stuff/busybox-1.12.0-vcsa2txt.u Wed Jul 07 19:33:09 2010 +0200 24.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 24.3 @@ -1,134 +0,0 @@ 24.4 ---- busybox-1.12.0/include/applets.h 24.5 -+++ busybox-1.12.0/include/applets.h 24.6 -@@ -389,6 +389,7 @@ USE_USLEEP(APPLET_NOFORK(usleep, usleep, 24.7 - USE_UUDECODE(APPLET(uudecode, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 24.8 - USE_UUENCODE(APPLET(uuencode, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 24.9 - USE_VCONFIG(APPLET(vconfig, _BB_DIR_SBIN, _BB_SUID_NEVER)) 24.10 -+USE_VCSA2TXT(APPLET(vcsa2txt, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 24.11 - USE_VI(APPLET(vi, _BB_DIR_BIN, _BB_SUID_NEVER)) 24.12 - USE_VLOCK(APPLET(vlock, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS)) 24.13 - USE_WATCH(APPLET(watch, _BB_DIR_BIN, _BB_SUID_NEVER)) 24.14 - 24.15 ---- busybox-1.12.0/include/usage.h 24.16 -+++ busybox-1.12.0/include/usage.h 24.17 -@@ -4491,6 +4491,13 @@ 24.18 - "\n set_ingress_map [vlan-name] [skb_priority] [vlan_qos]" \ 24.19 - "\n set_name_type [name-type]" \ 24.20 - 24.21 -+#define vcsa2txt_trivial_usage \ 24.22 -+ "stdin" 24.23 -+#define vcsa2txt_full_usage \ 24.24 -+ "Filter /dev/vcsa* to ansi escape sequences" 24.25 -+#define vcsa2txt_example_usage \ 24.26 -+ "# vcsa2txt < /dev/vcsa1\n" 24.27 -+ 24.28 - #define vi_trivial_usage \ 24.29 - "[OPTION] [FILE]..." 24.30 - #define vi_full_usage "\n\n" \ 24.31 - 24.32 ---- busybox-1.12.0/miscutils/Config.in 24.33 -+++ busybox-1.12.0/miscutils/Config.in 24.34 -@@ -509,6 +509,12 @@ config TTYSIZE 24.35 - error, but returns default 80x24. 24.36 - Usage in shell scripts: width=`ttysize w`. 24.37 - 24.38 -+config VCSA2TXT 24.39 -+ bool "vcsa2txt" 24.40 -+ default n 24.41 -+ help 24.42 -+ Filter /dev/vcsa* output to ansi escape sequences. 24.43 -+ 24.44 - config WATCHDOG 24.45 - bool "watchdog" 24.46 - default n 24.47 - 24.48 ---- busybox-1.12.0/util-linux/Kbuild 24.49 -+++ busybox-1.12.0/util-linux/Kbuild 24.50 -@@ -34,3 +34,4 @@ lib-$(CONFIG_SETARCH) += setar 24.51 - lib-$(CONFIG_SWAPONOFF) += swaponoff.o 24.52 - lib-$(CONFIG_SWITCH_ROOT) += switch_root.o 24.53 - lib-$(CONFIG_UMOUNT) += umount.o 24.54 -+lib-$(CONFIG_VCSA2TXT) += vcsa2txt.o 24.55 - 24.56 ---- busybox-1.12.0/util-linux/vcsa2txt.c 24.57 -+++ busybox-1.12.0/util-linux/vcsa2txt.c 24.58 -@@ -0,0 +1,79 @@ 24.59 -+/* vi: set sw=4 ts=4: */ 24.60 -+/* 24.61 -+ * /dev/vcsa* filter for busybox 24.62 -+ * 24.63 -+ * pascal.bellard@ads-lu.com 24.64 -+ * 24.65 -+ * Licensed under GPLv2 or later, see file License in this tarball for details. 24.66 -+ */ 24.67 -+ 24.68 -+#include "libbb.h" 24.69 -+ 24.70 -+int vcsa2txt_main(int argc) MAIN_EXTERNALLY_VISIBLE; 24.71 -+int vcsa2txt_main(int argc) 24.72 -+{ 24.73 -+ struct { 24.74 -+ unsigned char l, c, x, y; // man 4 console_codes 24.75 -+ } scrn; 24.76 -+ unsigned char last = 0, ch[2]; // BLGCRMOW 24.77 -+ static unsigned char end[5] = "\e[0m\n", color[8] = "04261537"; 24.78 -+ int sp, lf, x; 24.79 -+ 24.80 -+ if (safe_read(0, &scrn, 4) < 0) return 1; 24.81 -+ for (lf = 0; scrn.l; lf++, scrn.l--) { 24.82 -+ for (sp = x = 0; ++x <= scrn.c;) { 24.83 -+ if (safe_read(0, &ch[0], 2) < 0) return 1; 24.84 -+ if (argc > 1) ch[1] = 0; 24.85 -+ sp++; 24.86 -+ if (last == ch[1] && ch[0] == ' ') continue; 24.87 -+ for (lf++; --lf;) bb_putchar('\n'); 24.88 -+ while (--sp) bb_putchar(' '); 24.89 -+#define ENABLE_VCSA_PACKED 1 24.90 -+#if ENABLE_VCSA_PACKED 24.91 -+ if (last ^= ch[1]) { 24.92 -+ char esc[16],*s; 24.93 -+ struct offsets { 24.94 -+ char mask, type, shr; 24.95 -+ } *p; 24.96 -+ static struct offsets offset[3] = { 24.97 -+ {8,0,1}, {0x70,'4',4}, {7,'3',0} 24.98 -+ }; 24.99 -+ static char init = 0x7F; 24.100 -+ 24.101 -+ s = esc+2; 24.102 -+ *(short *)esc = ntohs(256*'\e'+'['); 24.103 -+ p = offset; 24.104 -+ do { 24.105 -+ if ((init|last) & p->mask) { 24.106 -+ int c = (ch[1] & p->mask) >> p->shr; 24.107 -+ 24.108 -+ if ((*s = p->type) != 0) s++; 24.109 -+ else if (c == 0) { 24.110 -+ c = 2; 24.111 -+ *s++ = '2'; /* normal */ 24.112 -+ } 24.113 -+ *s++ = color[c]; 24.114 -+ *s++ = ';'; 24.115 -+ } 24.116 -+ } while (p++->shr); 24.117 -+ s[-1] = 'm'; 24.118 -+ init = 0; 24.119 -+ fwrite(esc,s-esc,1,stdout); 24.120 -+ } 24.121 -+ last = ch[1]; 24.122 -+#else 24.123 -+ if (last != ch[1]) { 24.124 -+ static char esc[10] = "\e[0;47;37m"; 24.125 -+ 24.126 -+ esc[2] = ((last = ch[1]) & 8) ? '1' /* bold */ : '0' /* defaults */; 24.127 -+ esc[sizeof(esc)-5] = color[(ch[1] >> 4) & 7]; 24.128 -+ esc[sizeof(esc)-2] = color[ch[1] & 7]; 24.129 -+ fwrite(esc,sizeof(esc),1,stdout); 24.130 -+ } 24.131 -+#endif 24.132 -+ bb_putchar(ch[0]); 24.133 -+ } 24.134 -+ } 24.135 -+ fwrite(end,sizeof(end),1,stdout); 24.136 -+ return 0; 24.137 -+}
25.1 --- a/busybox/stuff/busybox-1.12.0-zmodules.u Wed Jul 07 19:33:09 2010 +0200 25.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 25.3 @@ -1,220 +0,0 @@ 25.4 ---- busybox-1.12.0/modutils/depmod.c 25.5 -+++ busybox-1.12.0/modutils/depmod.c 25.6 -@@ -53,27 +53,14 @@ static int FAST_FUNC fileAction(const ch 25.7 - size_t len = sb->st_size; 25.8 - void *the_module; 25.9 - char *ptr; 25.10 -- int fd; 25.11 - char *depends, *deps; 25.12 - dep_lst_t *this; 25.13 -+ extern void *xalloc_load_module(const char filename[], size_t *len); 25.14 - 25.15 - if (strrstr(fname, ".ko") == NULL) /* not a module */ 25.16 - goto skip; 25.17 - 25.18 --/*XXX: FIXME: does not handle compressed modules! 25.19 -- * There should be a function that looks at the extension and sets up 25.20 -- * open_transformer for us. 25.21 -- */ 25.22 -- fd = xopen(fname, O_RDONLY); 25.23 -- the_module = mmap(NULL, len, PROT_READ, MAP_SHARED 25.24 --#if defined MAP_POPULATE 25.25 -- |MAP_POPULATE 25.26 --#endif 25.27 -- , fd, 0); 25.28 -- close(fd); 25.29 -- if (the_module == MAP_FAILED) 25.30 -- bb_perror_msg_and_die("mmap"); 25.31 -- 25.32 -+ the_module = xalloc_load_module(fname, &len); 25.33 - this = xzalloc(sizeof(dep_lst_t)); 25.34 - this->name = xstrdup(fname); 25.35 - this->next = G.lst; 25.36 -@@ -104,7 +91,7 @@ static int FAST_FUNC fileAction(const ch 25.37 - pos = (ptr - (char*)the_module); 25.38 - } while (1); 25.39 - } 25.40 -- munmap(the_module, sb->st_size); 25.41 -+ free(the_module); 25.42 - skip: 25.43 - return TRUE; 25.44 - } 25.45 - 25.46 ---- busybox-1.12.0/modutils/insmod.c 25.47 -+++ busybox-1.12.0/modutils/insmod.c 25.48 -@@ -59,6 +59,7 @@ 25.49 - */ 25.50 - 25.51 - #include "libbb.h" 25.52 -+#include "unarchive.h" 25.53 - #include <libgen.h> 25.54 - #include <sys/utsname.h> 25.55 - 25.56 -@@ -4212,6 +4213,60 @@ static const char *moderror(int err) 25.57 - } 25.58 - } 25.59 - 25.60 -+void *xalloc_load_module(const char filename[], size_t *len); 25.61 -+void *xalloc_load_module(const char filename[], size_t *len) 25.62 -+{ 25.63 -+ int fd, max; 25.64 -+ unsigned char head[16]; 25.65 -+ void *map; 25.66 -+ size_t l; 25.67 -+ 25.68 -+ max = 8 * 1024; 25.69 -+ fd = open(filename, O_RDONLY); 25.70 -+ if (fd < 0) return NULL; 25.71 -+ xread(fd,head,sizeof(head)); 25.72 -+ lseek(fd,0L,SEEK_SET); 25.73 -+#if ENABLE_FEATURE_SEAMLESS_GZ 25.74 -+ if (head[0] == 0x1f && head[1] == 0x8b) { /* gzip */ 25.75 -+#if BB_MMU 25.76 -+ xread(fd,head,2); // bb wierdness... 25.77 -+#endif 25.78 -+ open_transformer(fd, unpack_gz_stream, "gunzip"); 25.79 -+ } 25.80 -+#endif 25.81 -+#if ENABLE_FEATURE_SEAMLESS_BZ2 25.82 -+#if ENABLE_FEATURE_SEAMLESS_GZ 25.83 -+ else 25.84 -+#endif 25.85 -+ if (head[0] == 'B' && head[1] == 'Z' && 25.86 -+ head[2] == 'h' && isdigit(head[3])) { /* bzip2 */ 25.87 -+ open_transformer(fd, unpack_bz2_stream, "bunzip2"); 25.88 -+ } 25.89 -+#endif 25.90 -+#if ENABLE_FEATURE_SEAMLESS_LZMA 25.91 -+#if ENABLE_FEATURE_SEAMLESS_GZ || ENABLE_FEATURE_SEAMLESS_BZ2 25.92 -+ else 25.93 -+#endif 25.94 -+ if (head[1] != 'E' || head[2] != 'L' || head[3] != 'F') { 25.95 -+ open_transformer(fd, unpack_lzma_stream, "unlzma"); 25.96 -+ if (* (unsigned *) (head + 9) == 0) 25.97 -+ max = 1 + head[5] + (head[6]<<8) 25.98 -+ + (head[7]<<16) + (head[8]<<24); 25.99 -+ } 25.100 -+#endif 25.101 -+ l = 0; 25.102 -+ map = xmalloc(max); 25.103 -+ while (1) { 25.104 -+ l += full_read(fd, l + (char *) map, max - l); 25.105 -+ if (l != max) break; 25.106 -+ max <<= 1; 25.107 -+ map = xrealloc(map, max); 25.108 -+ } 25.109 -+ if (len) 25.110 -+ *len = l; 25.111 -+ return xrealloc(map, l); 25.112 -+} 25.113 -+ 25.114 - #if !ENABLE_FEATURE_2_4_MODULES 25.115 - int insmod_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; 25.116 - int insmod_main(int argc UNUSED_PARAM, char **argv) 25.117 -@@ -4264,8 +4319,7 @@ static int insmod_ng_main(int argc UNUSE 25.118 - xread(fd, map, len); 25.119 - } 25.120 - #else 25.121 -- len = MAXINT(ssize_t); 25.122 -- map = xmalloc_open_read_close(filename, &len); 25.123 -+ map = xalloc_load_module(filename, &len); 25.124 - #endif 25.125 - 25.126 - if (init_module(map, len, options) != 0) 25.127 - 25.128 ---- busybox-1.12.0/modutils/modprobe.c 25.129 -+++ busybox-1.12.0/modutils/modprobe.c 25.130 -@@ -396,6 +396,29 @@ static int include_conf_file2(struct inc 25.131 - return include_conf_file(conf, oldname); 25.132 - } 25.133 - 25.134 -+static int ext_size(char *end USE_FEATURE_2_6_MODULES(, int k_version)) 25.135 -+{ 25.136 -+ int ext; 25.137 -+ char *next; 25.138 -+ 25.139 -+ ext = 0; 25.140 -+ if (end[-2] == '.' && end[-1] == 'g' && end[0] == 'z') 25.141 -+ ext = 3; 25.142 -+ if (end[-3] == '.' && end[-2] == 'b' && end[-1] == 'z' && end[0] == '2') 25.143 -+ ext = 4; 25.144 -+ next = end - ext; 25.145 -+#if ENABLE_FEATURE_2_6_MODULES 25.146 -+ if (ENABLE_FEATURE_2_6_MODULES 25.147 -+ && (k_version > 4) && (next[-2] == '.') 25.148 -+ && (next[-1] == 'k') && (next[0] == 'o')) 25.149 -+ ext += 3; 25.150 -+ else 25.151 -+#endif 25.152 -+ if ((next[-1] == '.') && (next[0] == 'o')) 25.153 -+ ext += 2; 25.154 -+ return ext; 25.155 -+} 25.156 -+ 25.157 - /* 25.158 - * This function builds a list of dependency rules from /lib/modules/`uname -r`/modules.dep. 25.159 - * It then fills every modules and aliases with their default options, found by parsing 25.160 -@@ -464,12 +487,7 @@ static struct dep_t *build_dep(void) 25.161 - if (!modpath) 25.162 - modpath = line_buffer; /* module with no path */ 25.163 - /* find the end of the module name in the file name */ 25.164 -- if (ENABLE_FEATURE_2_6_MODULES && 25.165 -- (k_version > 4) && (col[-3] == '.') && 25.166 -- (col[-2] == 'k') && (col[-1] == 'o')) 25.167 -- dot = col - 3; 25.168 -- else if ((col[-2] == '.') && (col[-1] == 'o')) 25.169 -- dot = col - 2; 25.170 -+ dot = col - ext_size(col - 1 USE_FEATURE_2_6_MODULES(, k_version)); 25.171 - 25.172 - mod = xstrndup(mods, dot - mods); 25.173 - 25.174 -@@ -522,12 +540,7 @@ static struct dep_t *build_dep(void) 25.175 - deps = skip_whitespace(deps); 25.176 - 25.177 - /* find the end of the module name in the file name */ 25.178 -- if (ENABLE_FEATURE_2_6_MODULES 25.179 -- && (k_version > 4) && (next[-2] == '.') 25.180 -- && (next[-1] == 'k') && (next[0] == 'o')) 25.181 -- ext = 3; 25.182 -- else if ((next[-1] == '.') && (next[0] == 'o')) 25.183 -- ext = 2; 25.184 -+ ext = ext_size(next USE_FEATURE_2_6_MODULES(, k_version)); 25.185 - 25.186 - /* Cope with blank lines */ 25.187 - if ((next - deps - ext + 1) <= 0) 25.188 - 25.189 ---- busybox-1.12.0/modutils/depmod.c 25.190 -+++ busybox-1.12.0/modutils/depmod.c 25.191 -@@ -109,11 +109,15 @@ 25.192 - ARG_b = (1<<2), /* not /lib/modules/$(uname -r)/ but this base-dir */ 25.193 - ARG_e = (1<<3), /* with -F, print unresolved symbols */ 25.194 - ARG_F = (1<<4), /* System.map that contains the symbols */ 25.195 -- ARG_n = (1<<5) /* dry-run, print to stdout only */ 25.196 -+ ARG_n = (1<<5), /* dry-run, print to stdout only */ 25.197 -+ ARG_u = (1<<6), /* unresolved-error: ignored */ 25.198 -+ ARG_q = (1<<7), /* quiet: ignored */ 25.199 -+ ARG_r = (1<<8), /* root: ignored */ 25.200 -+ ARG_C = (1<<9) /* config: ignored */ 25.201 - }; 25.202 - INIT_G(); 25.203 - 25.204 -- getopt32(argv, "aAb:eF:n", &moddir_base, &system_map); 25.205 -+ getopt32(argv, "aAb:eF:nuqrC", &moddir_base, &system_map); 25.206 - argv += optind; 25.207 - 25.208 - /* If a version is provided, then that kernel version’s module directory 25.209 - 25.210 ---- busybox-1.12.0/modutils/depmod.c 25.211 -+++ busybox-1.12.0/modutils/depmod.c 25.212 -@@ -141,6 +141,11 @@ 25.213 - 25.214 - if (!(option_mask32 & ARG_n)) { /* --dry-run */ 25.215 - chp = concat_path_file(moddir, CONFIG_DEFAULT_DEPMOD_FILE); 25.216 -+ if (option_mask32 & ARG_b) { 25.217 -+ char *s = concat_path_file(moddir_base, chp); 25.218 -+ free(chp); 25.219 -+ chp = s; 25.220 -+ } 25.221 - filedes = xfopen_for_write(chp); 25.222 - if (ENABLE_FEATURE_CLEAN_UP) 25.223 - free(chp);
26.1 --- a/busybox/stuff/busybox-1.12.0.config Wed Jul 07 19:33:09 2010 +0200 26.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 26.3 @@ -1,858 +0,0 @@ 26.4 -# 26.5 -# Automatically generated make config: don't edit 26.6 -# Busybox version: 1.12.0 26.7 -# Mon Jun 29 15:06:02 2009 26.8 -# 26.9 -CONFIG_HAVE_DOT_CONFIG=y 26.10 - 26.11 -# 26.12 -# Busybox Settings 26.13 -# 26.14 - 26.15 -# 26.16 -# General Configuration 26.17 -# 26.18 -CONFIG_DESKTOP=y 26.19 -# CONFIG_EXTRA_COMPAT is not set 26.20 -# CONFIG_FEATURE_ASSUME_UNICODE is not set 26.21 -CONFIG_FEATURE_BUFFERS_USE_MALLOC=y 26.22 -# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set 26.23 -# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set 26.24 -CONFIG_SHOW_USAGE=y 26.25 -CONFIG_FEATURE_VERBOSE_USAGE=y 26.26 -CONFIG_FEATURE_COMPRESS_USAGE=y 26.27 -CONFIG_FEATURE_INSTALLER=y 26.28 -CONFIG_LOCALE_SUPPORT=y 26.29 -CONFIG_GETOPT_LONG=y 26.30 -CONFIG_FEATURE_DEVPTS=y 26.31 -# CONFIG_FEATURE_CLEAN_UP is not set 26.32 -CONFIG_FEATURE_PIDFILE=y 26.33 -CONFIG_FEATURE_SUID=y 26.34 -CONFIG_FEATURE_SUID_CONFIG=y 26.35 -# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set 26.36 -# CONFIG_SELINUX is not set 26.37 -# CONFIG_FEATURE_PREFER_APPLETS is not set 26.38 -CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" 26.39 -CONFIG_FEATURE_SYSLOG=y 26.40 -CONFIG_FEATURE_HAVE_RPC=y 26.41 - 26.42 -# 26.43 -# Build Options 26.44 -# 26.45 -# CONFIG_STATIC is not set 26.46 -# CONFIG_PIE is not set 26.47 -# CONFIG_NOMMU is not set 26.48 -# CONFIG_BUILD_LIBBUSYBOX is not set 26.49 -# CONFIG_FEATURE_INDIVIDUAL is not set 26.50 -# CONFIG_FEATURE_SHARED_BUSYBOX is not set 26.51 -CONFIG_LFS=y 26.52 -CONFIG_CROSS_COMPILER_PREFIX="" 26.53 - 26.54 -# 26.55 -# Debugging Options 26.56 -# 26.57 -# CONFIG_DEBUG is not set 26.58 -# CONFIG_DEBUG_PESSIMIZE is not set 26.59 -# CONFIG_WERROR is not set 26.60 -CONFIG_NO_DEBUG_LIB=y 26.61 -# CONFIG_DMALLOC is not set 26.62 -# CONFIG_EFENCE is not set 26.63 -CONFIG_INCLUDE_SUSv2=y 26.64 -# CONFIG_PARSE is not set 26.65 - 26.66 -# 26.67 -# Installation Options 26.68 -# 26.69 -# CONFIG_INSTALL_NO_USR is not set 26.70 -CONFIG_INSTALL_APPLET_SYMLINKS=y 26.71 -# CONFIG_INSTALL_APPLET_HARDLINKS is not set 26.72 -# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set 26.73 -# CONFIG_INSTALL_APPLET_DONT is not set 26.74 -# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set 26.75 -# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set 26.76 -# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set 26.77 -CONFIG_PREFIX="./_install" 26.78 - 26.79 -# 26.80 -# Busybox Library Tuning 26.81 -# 26.82 -CONFIG_PASSWORD_MINLEN=6 26.83 -CONFIG_MD5_SIZE_VS_SPEED=0 26.84 -# CONFIG_FEATURE_FAST_TOP is not set 26.85 -# CONFIG_FEATURE_ETC_NETWORKS is not set 26.86 -CONFIG_FEATURE_EDITING=y 26.87 -CONFIG_FEATURE_EDITING_MAX_LEN=1024 26.88 -# CONFIG_FEATURE_EDITING_VI is not set 26.89 -CONFIG_FEATURE_EDITING_HISTORY=127 26.90 -CONFIG_FEATURE_EDITING_SAVEHISTORY=y 26.91 -CONFIG_FEATURE_TAB_COMPLETION=y 26.92 -# CONFIG_FEATURE_USERNAME_COMPLETION is not set 26.93 -CONFIG_FEATURE_EDITING_FANCY_PROMPT=y 26.94 -# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set 26.95 -CONFIG_FEATURE_COPYBUF_KB=4 26.96 -CONFIG_MONOTONIC_SYSCALL=y 26.97 -CONFIG_IOCTL_HEX2STR_ERROR=y 26.98 -CONFIG_FEATURE_HWIB=y 26.99 - 26.100 -# 26.101 -# Applets 26.102 -# 26.103 - 26.104 -# 26.105 -# Archival Utilities 26.106 -# 26.107 -CONFIG_FEATURE_SEAMLESS_LZMA=y 26.108 -CONFIG_FEATURE_SEAMLESS_BZ2=y 26.109 -CONFIG_FEATURE_SEAMLESS_GZ=y 26.110 -CONFIG_FEATURE_SEAMLESS_Z=y 26.111 -CONFIG_AR=y 26.112 -# CONFIG_FEATURE_AR_LONG_FILENAMES is not set 26.113 -CONFIG_BUNZIP2=y 26.114 -# CONFIG_BZIP2 is not set 26.115 -CONFIG_CPIO=y 26.116 -CONFIG_FEATURE_CPIO_O=y 26.117 -CONFIG_DPKG=y 26.118 -CONFIG_DPKG_DEB=y 26.119 -CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY=y 26.120 -CONFIG_GUNZIP=y 26.121 -CONFIG_GZIP=y 26.122 -CONFIG_RPM2CPIO=y 26.123 -CONFIG_RPM=y 26.124 -CONFIG_TAR=y 26.125 -CONFIG_FEATURE_TAR_CREATE=y 26.126 -# CONFIG_FEATURE_TAR_AUTODETECT is not set 26.127 -CONFIG_FEATURE_TAR_FROM=y 26.128 -CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y 26.129 -# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set 26.130 -CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y 26.131 -CONFIG_FEATURE_TAR_LONG_OPTIONS=y 26.132 -# CONFIG_FEATURE_TAR_UNAME_GNAME is not set 26.133 -CONFIG_UNCOMPRESS=y 26.134 -CONFIG_UNLZMA=y 26.135 -# CONFIG_FEATURE_LZMA_FAST is not set 26.136 -CONFIG_UNZIP=y 26.137 - 26.138 -# 26.139 -# Coreutils 26.140 -# 26.141 -CONFIG_BASENAME=y 26.142 -CONFIG_CAL=y 26.143 -CONFIG_CAT=y 26.144 -# CONFIG_CATV is not set 26.145 -CONFIG_CHGRP=y 26.146 -CONFIG_CHMOD=y 26.147 -CONFIG_CHOWN=y 26.148 -CONFIG_CHROOT=y 26.149 -CONFIG_CKSUM=y 26.150 -CONFIG_COMM=y 26.151 -CONFIG_CP=y 26.152 -CONFIG_CUT=y 26.153 -CONFIG_DATE=y 26.154 -CONFIG_FEATURE_DATE_ISOFMT=y 26.155 -CONFIG_DD=y 26.156 -CONFIG_FEATURE_DD_SIGNAL_HANDLING=y 26.157 -CONFIG_FEATURE_DD_IBS_OBS=y 26.158 -CONFIG_DF=y 26.159 -CONFIG_FEATURE_DF_INODE=y 26.160 -CONFIG_DIRNAME=y 26.161 -CONFIG_DOS2UNIX=y 26.162 -CONFIG_UNIX2DOS=y 26.163 -CONFIG_DU=y 26.164 -CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y 26.165 -CONFIG_ECHO=y 26.166 -CONFIG_FEATURE_FANCY_ECHO=y 26.167 -CONFIG_ENV=y 26.168 -CONFIG_FEATURE_ENV_LONG_OPTIONS=y 26.169 -CONFIG_EXPAND=y 26.170 -CONFIG_FEATURE_EXPAND_LONG_OPTIONS=y 26.171 -CONFIG_EXPR=y 26.172 -# CONFIG_EXPR_MATH_SUPPORT_64 is not set 26.173 -CONFIG_FALSE=y 26.174 -CONFIG_FOLD=y 26.175 -CONFIG_HEAD=y 26.176 -CONFIG_FEATURE_FANCY_HEAD=y 26.177 -CONFIG_HOSTID=y 26.178 -CONFIG_ID=y 26.179 -CONFIG_INSTALL=y 26.180 -CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y 26.181 -CONFIG_LENGTH=y 26.182 -CONFIG_LN=y 26.183 -CONFIG_LOGNAME=y 26.184 -CONFIG_LS=y 26.185 -CONFIG_FEATURE_LS_FILETYPES=y 26.186 -CONFIG_FEATURE_LS_FOLLOWLINKS=y 26.187 -CONFIG_FEATURE_LS_RECURSIVE=y 26.188 -CONFIG_FEATURE_LS_SORTFILES=y 26.189 -CONFIG_FEATURE_LS_TIMESTAMPS=y 26.190 -CONFIG_FEATURE_LS_USERNAME=y 26.191 -CONFIG_FEATURE_LS_COLOR=y 26.192 -CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y 26.193 -CONFIG_MD5SUM=y 26.194 -CONFIG_MKDIR=y 26.195 -CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y 26.196 -CONFIG_MKFIFO=y 26.197 -CONFIG_MKNOD=y 26.198 -CONFIG_MV=y 26.199 -CONFIG_FEATURE_MV_LONG_OPTIONS=y 26.200 -CONFIG_NICE=y 26.201 -CONFIG_NOHUP=y 26.202 -CONFIG_OD=y 26.203 -CONFIG_PRINTENV=y 26.204 -CONFIG_PRINTF=y 26.205 -CONFIG_PWD=y 26.206 -CONFIG_READLINK=y 26.207 -CONFIG_FEATURE_READLINK_FOLLOW=y 26.208 -CONFIG_REALPATH=y 26.209 -CONFIG_RM=y 26.210 -CONFIG_RMDIR=y 26.211 -# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set 26.212 -CONFIG_SEQ=y 26.213 -CONFIG_SHA1SUM=y 26.214 -CONFIG_SLEEP=y 26.215 -CONFIG_FEATURE_FANCY_SLEEP=y 26.216 -# CONFIG_FEATURE_FLOAT_SLEEP is not set 26.217 -CONFIG_SORT=y 26.218 -CONFIG_FEATURE_SORT_BIG=y 26.219 -CONFIG_SPLIT=y 26.220 -CONFIG_FEATURE_SPLIT_FANCY=y 26.221 -CONFIG_STAT=y 26.222 -CONFIG_FEATURE_STAT_FORMAT=y 26.223 -CONFIG_STTY=y 26.224 -CONFIG_SUM=y 26.225 -CONFIG_SYNC=y 26.226 -CONFIG_TAC=y 26.227 -CONFIG_TAIL=y 26.228 -CONFIG_FEATURE_FANCY_TAIL=y 26.229 -CONFIG_TEE=y 26.230 -CONFIG_FEATURE_TEE_USE_BLOCK_IO=y 26.231 -CONFIG_TEST=y 26.232 -CONFIG_FEATURE_TEST_64=y 26.233 -CONFIG_TOUCH=y 26.234 -CONFIG_TR=y 26.235 -CONFIG_FEATURE_TR_CLASSES=y 26.236 -CONFIG_FEATURE_TR_EQUIV=y 26.237 -CONFIG_TRUE=y 26.238 -CONFIG_TTY=y 26.239 -CONFIG_UNAME=y 26.240 -CONFIG_UNEXPAND=y 26.241 -CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS=y 26.242 -CONFIG_UNIQ=y 26.243 -CONFIG_USLEEP=y 26.244 -CONFIG_UUDECODE=y 26.245 -CONFIG_UUENCODE=y 26.246 -CONFIG_WC=y 26.247 -CONFIG_FEATURE_WC_LARGE=y 26.248 -CONFIG_WHO=y 26.249 -CONFIG_WHOAMI=y 26.250 -CONFIG_YES=y 26.251 - 26.252 -# 26.253 -# Common options for cp and mv 26.254 -# 26.255 -CONFIG_FEATURE_PRESERVE_HARDLINKS=y 26.256 - 26.257 -# 26.258 -# Common options for ls, more and telnet 26.259 -# 26.260 -CONFIG_FEATURE_AUTOWIDTH=y 26.261 - 26.262 -# 26.263 -# Common options for df, du, ls 26.264 -# 26.265 -CONFIG_FEATURE_HUMAN_READABLE=y 26.266 - 26.267 -# 26.268 -# Common options for md5sum, sha1sum 26.269 -# 26.270 -CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y 26.271 - 26.272 -# 26.273 -# Console Utilities 26.274 -# 26.275 -CONFIG_CHVT=y 26.276 -# CONFIG_CLEAR is not set 26.277 -CONFIG_DEALLOCVT=y 26.278 -CONFIG_DUMPKMAP=y 26.279 -CONFIG_KBD_MODE=y 26.280 -CONFIG_LOADFONT=y 26.281 -CONFIG_LOADKMAP=y 26.282 -CONFIG_OPENVT=y 26.283 -# CONFIG_RESET is not set 26.284 -# CONFIG_RESIZE is not set 26.285 -# CONFIG_FEATURE_RESIZE_PRINT is not set 26.286 -CONFIG_SETCONSOLE=y 26.287 -# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set 26.288 -# CONFIG_SETFONT is not set 26.289 -CONFIG_SETKEYCODES=y 26.290 -CONFIG_SETLOGCONS=y 26.291 -# CONFIG_SHOWKEY is not set 26.292 - 26.293 -# 26.294 -# Debian Utilities 26.295 -# 26.296 -CONFIG_MKTEMP=y 26.297 -CONFIG_PIPE_PROGRESS=y 26.298 -# CONFIG_RUN_PARTS is not set 26.299 -# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set 26.300 -# CONFIG_FEATURE_RUN_PARTS_FANCY is not set 26.301 -# CONFIG_START_STOP_DAEMON is not set 26.302 -# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set 26.303 -# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set 26.304 -CONFIG_WHICH=y 26.305 - 26.306 -# 26.307 -# Editors 26.308 -# 26.309 -CONFIG_AWK=y 26.310 -CONFIG_FEATURE_AWK_MATH=y 26.311 -CONFIG_CMP=y 26.312 -CONFIG_DIFF=y 26.313 -CONFIG_FEATURE_DIFF_BINARY=y 26.314 -CONFIG_FEATURE_DIFF_DIR=y 26.315 -CONFIG_FEATURE_DIFF_MINIMAL=y 26.316 -# CONFIG_ED is not set 26.317 -CONFIG_PATCH=y 26.318 -CONFIG_SED=y 26.319 -CONFIG_VI=y 26.320 -CONFIG_FEATURE_VI_MAX_LEN=1024 26.321 -CONFIG_FEATURE_VI_8BIT=y 26.322 -CONFIG_FEATURE_VI_COLON=y 26.323 -CONFIG_FEATURE_VI_YANKMARK=y 26.324 -CONFIG_FEATURE_VI_SEARCH=y 26.325 -CONFIG_FEATURE_VI_USE_SIGNALS=y 26.326 -CONFIG_FEATURE_VI_DOT_CMD=y 26.327 -CONFIG_FEATURE_VI_READONLY=y 26.328 -CONFIG_FEATURE_VI_SETOPTS=y 26.329 -CONFIG_FEATURE_VI_SET=y 26.330 -CONFIG_FEATURE_VI_WIN_RESIZE=y 26.331 -CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y 26.332 -CONFIG_FEATURE_ALLOW_EXEC=y 26.333 - 26.334 -# 26.335 -# Finding Utilities 26.336 -# 26.337 -CONFIG_FIND=y 26.338 -CONFIG_FEATURE_FIND_PRINT0=y 26.339 -CONFIG_FEATURE_FIND_MTIME=y 26.340 -CONFIG_FEATURE_FIND_MMIN=y 26.341 -CONFIG_FEATURE_FIND_PERM=y 26.342 -CONFIG_FEATURE_FIND_TYPE=y 26.343 -CONFIG_FEATURE_FIND_XDEV=y 26.344 -CONFIG_FEATURE_FIND_MAXDEPTH=y 26.345 -CONFIG_FEATURE_FIND_NEWER=y 26.346 -CONFIG_FEATURE_FIND_INUM=y 26.347 -CONFIG_FEATURE_FIND_EXEC=y 26.348 -CONFIG_FEATURE_FIND_USER=y 26.349 -CONFIG_FEATURE_FIND_GROUP=y 26.350 -CONFIG_FEATURE_FIND_NOT=y 26.351 -CONFIG_FEATURE_FIND_DEPTH=y 26.352 -CONFIG_FEATURE_FIND_PAREN=y 26.353 -CONFIG_FEATURE_FIND_SIZE=y 26.354 -CONFIG_FEATURE_FIND_PRUNE=y 26.355 -CONFIG_FEATURE_FIND_DELETE=y 26.356 -CONFIG_FEATURE_FIND_PATH=y 26.357 -CONFIG_FEATURE_FIND_REGEX=y 26.358 -# CONFIG_FEATURE_FIND_CONTEXT is not set 26.359 -CONFIG_GREP=y 26.360 -CONFIG_FEATURE_GREP_EGREP_ALIAS=y 26.361 -CONFIG_FEATURE_GREP_FGREP_ALIAS=y 26.362 -CONFIG_FEATURE_GREP_CONTEXT=y 26.363 -CONFIG_XARGS=y 26.364 -CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y 26.365 -CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y 26.366 -CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y 26.367 -CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y 26.368 - 26.369 -# 26.370 -# Init Utilities 26.371 -# 26.372 -CONFIG_INIT=y 26.373 -# CONFIG_DEBUG_INIT is not set 26.374 -CONFIG_FEATURE_USE_INITTAB=y 26.375 -CONFIG_FEATURE_KILL_REMOVED=y 26.376 -CONFIG_FEATURE_KILL_DELAY=0 26.377 -CONFIG_FEATURE_INIT_SCTTY=y 26.378 -# CONFIG_FEATURE_INIT_SYSLOG is not set 26.379 -CONFIG_FEATURE_EXTRA_QUIET=y 26.380 -# CONFIG_FEATURE_INIT_COREDUMPS is not set 26.381 -CONFIG_FEATURE_INITRD=y 26.382 -CONFIG_HALT=y 26.383 -CONFIG_MESG=y 26.384 - 26.385 -# 26.386 -# Login/Password Management Utilities 26.387 -# 26.388 -CONFIG_FEATURE_SHADOWPASSWDS=y 26.389 -# CONFIG_USE_BB_PWD_GRP is not set 26.390 -# CONFIG_USE_BB_SHADOW is not set 26.391 -CONFIG_USE_BB_CRYPT=y 26.392 -CONFIG_ADDGROUP=y 26.393 -CONFIG_FEATURE_ADDUSER_TO_GROUP=y 26.394 -CONFIG_DELGROUP=y 26.395 -CONFIG_FEATURE_DEL_USER_FROM_GROUP=y 26.396 -# CONFIG_FEATURE_CHECK_NAMES is not set 26.397 -CONFIG_ADDUSER=y 26.398 -# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set 26.399 -CONFIG_DELUSER=y 26.400 -CONFIG_GETTY=y 26.401 -CONFIG_FEATURE_UTMP=y 26.402 -CONFIG_FEATURE_WTMP=y 26.403 -CONFIG_LOGIN=y 26.404 -# CONFIG_PAM is not set 26.405 -# CONFIG_LOGIN_SCRIPTS is not set 26.406 -CONFIG_FEATURE_NOLOGIN=y 26.407 -CONFIG_FEATURE_SECURETTY=y 26.408 -CONFIG_PASSWD=y 26.409 -CONFIG_FEATURE_PASSWD_WEAK_CHECK=y 26.410 -CONFIG_CRYPTPW=y 26.411 -CONFIG_CHPASSWD=y 26.412 -CONFIG_SU=y 26.413 -CONFIG_FEATURE_SU_SYSLOG=y 26.414 -CONFIG_FEATURE_SU_CHECKS_SHELLS=y 26.415 -CONFIG_SULOGIN=y 26.416 -CONFIG_VLOCK=y 26.417 - 26.418 -# 26.419 -# Linux Ext2 FS Progs 26.420 -# 26.421 -# CONFIG_CHATTR is not set 26.422 -# CONFIG_FSCK is not set 26.423 -# CONFIG_LSATTR is not set 26.424 - 26.425 -# 26.426 -# Linux Module Utilities 26.427 -# 26.428 -# CONFIG_MODPROBE_SMALL is not set 26.429 -# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set 26.430 -# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set 26.431 -CONFIG_DEPMOD=y 26.432 -# CONFIG_FEATURE_DEPMOD_PRUNE_FANCY is not set 26.433 -# CONFIG_FEATURE_DEPMOD_ALIAS is not set 26.434 -CONFIG_INSMOD=y 26.435 -# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set 26.436 -# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set 26.437 -# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set 26.438 -# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set 26.439 -# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set 26.440 -CONFIG_RMMOD=y 26.441 -CONFIG_LSMOD=y 26.442 -CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y 26.443 -CONFIG_MODPROBE=y 26.444 -CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS=y 26.445 -CONFIG_FEATURE_MODPROBE_FANCY_ALIAS=y 26.446 -# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set 26.447 -CONFIG_MODINFO=y 26.448 - 26.449 -# 26.450 -# Options common to multiple modutils 26.451 -# 26.452 -CONFIG_FEATURE_CHECK_TAINTED_MODULE=y 26.453 -# CONFIG_FEATURE_2_4_MODULES is not set 26.454 -CONFIG_FEATURE_2_6_MODULES=y 26.455 -CONFIG_DEFAULT_MODULES_DIR="/lib/modules" 26.456 -CONFIG_DEFAULT_DEPMOD_FILE="modules.dep" 26.457 -# CONFIG_FEATURE_QUERY_MODULE_INTERFACE is not set 26.458 - 26.459 -# 26.460 -# Linux System Utilities 26.461 -# 26.462 -CONFIG_DMESG=y 26.463 -CONFIG_FEATURE_DMESG_PRETTY=y 26.464 -CONFIG_FBSET=y 26.465 -CONFIG_FEATURE_FBSET_FANCY=y 26.466 -# CONFIG_FEATURE_FBSET_READMODE is not set 26.467 -CONFIG_FDFLUSH=y 26.468 -CONFIG_FDFORMAT=y 26.469 -CONFIG_FDISK=y 26.470 -CONFIG_FDISK_SUPPORT_LARGE_DISKS=y 26.471 -CONFIG_FEATURE_FDISK_WRITABLE=y 26.472 -# CONFIG_FEATURE_AIX_LABEL is not set 26.473 -# CONFIG_FEATURE_SGI_LABEL is not set 26.474 -# CONFIG_FEATURE_SUN_LABEL is not set 26.475 -# CONFIG_FEATURE_OSF_LABEL is not set 26.476 -# CONFIG_FEATURE_FDISK_ADVANCED is not set 26.477 -# CONFIG_FINDFS is not set 26.478 -CONFIG_FREERAMDISK=y 26.479 -# CONFIG_FSCK_MINIX is not set 26.480 -# CONFIG_MKFS_MINIX is not set 26.481 -# CONFIG_FEATURE_MINIX2 is not set 26.482 -# CONFIG_GETOPT is not set 26.483 -CONFIG_HEXDUMP=y 26.484 -CONFIG_FEATURE_HEXDUMP_REVERSE=y 26.485 -# CONFIG_HD is not set 26.486 -CONFIG_HWCLOCK=y 26.487 -CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y 26.488 -CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y 26.489 -CONFIG_IPCRM=y 26.490 -CONFIG_IPCS=y 26.491 -CONFIG_LOSETUP=y 26.492 -CONFIG_MDEV=y 26.493 -CONFIG_FEATURE_MDEV_CONF=y 26.494 -# CONFIG_FEATURE_MDEV_RENAME is not set 26.495 -# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set 26.496 -CONFIG_FEATURE_MDEV_EXEC=y 26.497 -CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y 26.498 -CONFIG_MKSWAP=y 26.499 -# CONFIG_FEATURE_MKSWAP_V0 is not set 26.500 -CONFIG_MORE=y 26.501 -CONFIG_FEATURE_USE_TERMIOS=y 26.502 -CONFIG_VOLUMEID=y 26.503 -CONFIG_FEATURE_VOLUMEID_EXT=y 26.504 -CONFIG_FEATURE_VOLUMEID_REISERFS=y 26.505 -CONFIG_FEATURE_VOLUMEID_FAT=y 26.506 -CONFIG_FEATURE_VOLUMEID_HFS=y 26.507 -# CONFIG_FEATURE_VOLUMEID_JFS is not set 26.508 -CONFIG_FEATURE_VOLUMEID_XFS=y 26.509 -CONFIG_FEATURE_VOLUMEID_NTFS=y 26.510 -CONFIG_FEATURE_VOLUMEID_ISO9660=y 26.511 -# CONFIG_FEATURE_VOLUMEID_UDF is not set 26.512 -# CONFIG_FEATURE_VOLUMEID_LUKS is not set 26.513 -CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y 26.514 -# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set 26.515 -# CONFIG_FEATURE_VOLUMEID_ROMFS is not set 26.516 -# CONFIG_FEATURE_VOLUMEID_SYSV is not set 26.517 -# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set 26.518 -CONFIG_FEATURE_VOLUMEID_LINUXRAID=y 26.519 -CONFIG_MOUNT=y 26.520 -# CONFIG_FEATURE_MOUNT_FAKE is not set 26.521 -# CONFIG_FEATURE_MOUNT_VERBOSE is not set 26.522 -CONFIG_FEATURE_MOUNT_HELPERS=y 26.523 -CONFIG_FEATURE_MOUNT_LABEL=y 26.524 -CONFIG_FEATURE_MOUNT_NFS=y 26.525 -CONFIG_FEATURE_MOUNT_CIFS=y 26.526 -CONFIG_FEATURE_MOUNT_FLAGS=y 26.527 -CONFIG_FEATURE_MOUNT_FSTAB=y 26.528 -CONFIG_PIVOT_ROOT=y 26.529 -CONFIG_RDATE=y 26.530 -# CONFIG_RDEV is not set 26.531 -CONFIG_READPROFILE=y 26.532 -CONFIG_REPLAY=y 26.533 -# CONFIG_RTCWAKE is not set 26.534 -CONFIG_SCRIPT=y 26.535 -CONFIG_SETARCH=y 26.536 -CONFIG_SWAPONOFF=y 26.537 -CONFIG_FEATURE_SWAPON_PRI=y 26.538 -CONFIG_SWITCH_ROOT=y 26.539 -CONFIG_UMOUNT=y 26.540 -CONFIG_FEATURE_UMOUNT_ALL=y 26.541 - 26.542 -# 26.543 -# Common options for mount/umount 26.544 -# 26.545 -CONFIG_FEATURE_MOUNT_LOOP=y 26.546 -# CONFIG_FEATURE_MTAB_SUPPORT is not set 26.547 - 26.548 -# 26.549 -# Miscellaneous Utilities 26.550 -# 26.551 -CONFIG_ADJTIMEX=y 26.552 -# CONFIG_BBCONFIG is not set 26.553 -CONFIG_CHAT=y 26.554 -CONFIG_FEATURE_CHAT_NOFAIL=y 26.555 -# CONFIG_FEATURE_CHAT_TTY_HIFI is not set 26.556 -CONFIG_FEATURE_CHAT_IMPLICIT_CR=y 26.557 -# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set 26.558 -# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set 26.559 -# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set 26.560 -# CONFIG_FEATURE_CHAT_CLR_ABORT is not set 26.561 -CONFIG_CHRT=y 26.562 -CONFIG_CROND=y 26.563 -# CONFIG_DEBUG_CROND_OPTION is not set 26.564 -# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set 26.565 -CONFIG_CRONTAB=y 26.566 -# CONFIG_DC is not set 26.567 -# CONFIG_DEVFSD is not set 26.568 -# CONFIG_DEVFSD_MODLOAD is not set 26.569 -# CONFIG_DEVFSD_FG_NP is not set 26.570 -# CONFIG_DEVFSD_VERBOSE is not set 26.571 -# CONFIG_FEATURE_DEVFS is not set 26.572 -CONFIG_EJECT=y 26.573 -CONFIG_FEATURE_EJECT_SCSI=y 26.574 -# CONFIG_FBSPLASH is not set 26.575 -CONFIG_IONICE=y 26.576 -# CONFIG_INOTIFYD is not set 26.577 -CONFIG_LAST=y 26.578 -CONFIG_FEATURE_LAST_SMALL=y 26.579 -# CONFIG_FEATURE_LAST_FANCY is not set 26.580 -CONFIG_LESS=y 26.581 -CONFIG_FEATURE_LESS_MAXLINES=9999999 26.582 -CONFIG_FEATURE_LESS_BRACKETS=y 26.583 -CONFIG_FEATURE_LESS_FLAGS=y 26.584 -CONFIG_FEATURE_LESS_FLAGCS=y 26.585 -CONFIG_FEATURE_LESS_MARKS=y 26.586 -CONFIG_FEATURE_LESS_REGEXP=y 26.587 -CONFIG_HDPARM=y 26.588 -CONFIG_FEATURE_HDPARM_GET_IDENTITY=y 26.589 -# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set 26.590 -# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set 26.591 -# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set 26.592 -# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set 26.593 -CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y 26.594 -# CONFIG_MAKEDEVS is not set 26.595 -# CONFIG_FEATURE_MAKEDEVS_LEAF is not set 26.596 -# CONFIG_FEATURE_MAKEDEVS_TABLE is not set 26.597 -# CONFIG_MAN is not set 26.598 -CONFIG_MICROCOM=y 26.599 -CONFIG_MOUNTPOINT=y 26.600 -# CONFIG_MT is not set 26.601 -CONFIG_RAIDAUTORUN=y 26.602 -# CONFIG_READAHEAD is not set 26.603 -# CONFIG_RUNLEVEL is not set 26.604 -# CONFIG_RX is not set 26.605 -CONFIG_SETSID=y 26.606 -CONFIG_STRINGS=y 26.607 -CONFIG_TASKSET=y 26.608 -CONFIG_FEATURE_TASKSET_FANCY=y 26.609 -CONFIG_TIME=y 26.610 -# CONFIG_TTYSIZE is not set 26.611 -CONFIG_VCSA2TXT=y 26.612 -CONFIG_WATCHDOG=y 26.613 - 26.614 -# 26.615 -# Networking Utilities 26.616 -# 26.617 -CONFIG_FEATURE_IPV6=y 26.618 -CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y 26.619 -# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set 26.620 -CONFIG_ARP=y 26.621 -CONFIG_ARPING=y 26.622 -CONFIG_BRCTL=y 26.623 -CONFIG_FEATURE_BRCTL_FANCY=y 26.624 -# CONFIG_FEATURE_BRCTL_SHOW is not set 26.625 -CONFIG_DNSD=y 26.626 -CONFIG_ETHER_WAKE=y 26.627 -CONFIG_FAKEIDENTD=y 26.628 -CONFIG_FTPGET=y 26.629 -CONFIG_FTPPUT=y 26.630 -CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y 26.631 -CONFIG_HOSTNAME=y 26.632 -# CONFIG_HTTPD is not set 26.633 -# CONFIG_FEATURE_HTTPD_RANGES is not set 26.634 -# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set 26.635 -# CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP is not set 26.636 -# CONFIG_FEATURE_HTTPD_SETUID is not set 26.637 -# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set 26.638 -# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set 26.639 -# CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES is not set 26.640 -# CONFIG_FEATURE_HTTPD_CGI is not set 26.641 -# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set 26.642 -# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set 26.643 -# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set 26.644 -# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set 26.645 -# CONFIG_FEATURE_HTTPD_PROXY is not set 26.646 -CONFIG_IFCONFIG=y 26.647 -CONFIG_FEATURE_IFCONFIG_STATUS=y 26.648 -# CONFIG_FEATURE_IFCONFIG_SLIP is not set 26.649 -CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y 26.650 -CONFIG_FEATURE_IFCONFIG_HW=y 26.651 -CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y 26.652 -# CONFIG_IFENSLAVE is not set 26.653 -# CONFIG_IFUPDOWN is not set 26.654 -CONFIG_IFUPDOWN_IFSTATE_PATH="" 26.655 -# CONFIG_FEATURE_IFUPDOWN_IP is not set 26.656 -# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set 26.657 -# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set 26.658 -# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set 26.659 -# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set 26.660 -# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set 26.661 -# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set 26.662 -CONFIG_INETD=y 26.663 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y 26.664 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y 26.665 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y 26.666 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y 26.667 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y 26.668 -CONFIG_FEATURE_INETD_RPC=y 26.669 -CONFIG_IP=y 26.670 -CONFIG_FEATURE_IP_ADDRESS=y 26.671 -CONFIG_FEATURE_IP_LINK=y 26.672 -CONFIG_FEATURE_IP_ROUTE=y 26.673 -CONFIG_FEATURE_IP_TUNNEL=y 26.674 -CONFIG_FEATURE_IP_RULE=y 26.675 -CONFIG_FEATURE_IP_SHORT_FORMS=y 26.676 -# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set 26.677 -CONFIG_IPADDR=y 26.678 -CONFIG_IPLINK=y 26.679 -CONFIG_IPROUTE=y 26.680 -CONFIG_IPTUNNEL=y 26.681 -CONFIG_IPRULE=y 26.682 -CONFIG_IPCALC=y 26.683 -CONFIG_FEATURE_IPCALC_FANCY=y 26.684 -CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y 26.685 -CONFIG_NAMEIF=y 26.686 -# CONFIG_FEATURE_NAMEIF_EXTENDED is not set 26.687 -CONFIG_NC=y 26.688 -CONFIG_NC_SERVER=y 26.689 -# CONFIG_NC_EXTRA is not set 26.690 -CONFIG_NETSTAT=y 26.691 -CONFIG_FEATURE_NETSTAT_WIDE=y 26.692 -CONFIG_FEATURE_NETSTAT_PRG=y 26.693 -CONFIG_NSLOOKUP=y 26.694 -CONFIG_PING=y 26.695 -CONFIG_PING6=y 26.696 -CONFIG_FEATURE_FANCY_PING=y 26.697 -CONFIG_PSCAN=y 26.698 -CONFIG_ROUTE=y 26.699 -# CONFIG_SENDMAIL is not set 26.700 -# CONFIG_FETCHMAIL is not set 26.701 -# CONFIG_SLATTACH is not set 26.702 -CONFIG_TELNET=y 26.703 -CONFIG_FEATURE_TELNET_TTYPE=y 26.704 -CONFIG_FEATURE_TELNET_AUTOLOGIN=y 26.705 -# CONFIG_TELNETD is not set 26.706 -# CONFIG_FEATURE_TELNETD_STANDALONE is not set 26.707 -CONFIG_TFTP=y 26.708 -CONFIG_TFTPD=y 26.709 -CONFIG_FEATURE_TFTPD_RIS=y 26.710 -CONFIG_FEATURE_TFTP_GET=y 26.711 -CONFIG_FEATURE_TFTP_PUT=y 26.712 -CONFIG_FEATURE_TFTP_BLOCKSIZE=y 26.713 -# CONFIG_DEBUG_TFTP is not set 26.714 -CONFIG_TRACEROUTE=y 26.715 -CONFIG_FEATURE_TRACEROUTE_VERBOSE=y 26.716 -CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE=y 26.717 -# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set 26.718 -CONFIG_APP_UDHCPD=y 26.719 -CONFIG_APP_DHCPRELAY=y 26.720 -CONFIG_APP_DUMPLEASES=y 26.721 -# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set 26.722 -CONFIG_DHCPD_LEASES_FILE="/var/lib/udhcpd.leases" 26.723 -CONFIG_APP_UDHCPC=y 26.724 -CONFIG_FEATURE_UDHCPC_ARPING=y 26.725 -# CONFIG_FEATURE_UDHCP_PORT is not set 26.726 -# CONFIG_FEATURE_UDHCP_DEBUG is not set 26.727 -# CONFIG_FEATURE_RFC3397 is not set 26.728 -CONFIG_DHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" 26.729 -CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 26.730 -CONFIG_VCONFIG=y 26.731 -CONFIG_WGET=y 26.732 -CONFIG_FEATURE_WGET_STATUSBAR=y 26.733 -CONFIG_FEATURE_WGET_AUTHENTICATION=y 26.734 -CONFIG_FEATURE_WGET_LONG_OPTIONS=y 26.735 -CONFIG_ZCIP=y 26.736 -# CONFIG_TCPSVD is not set 26.737 -# CONFIG_UDPSVD is not set 26.738 - 26.739 -# 26.740 -# Process Utilities 26.741 -# 26.742 -CONFIG_FREE=y 26.743 -CONFIG_FUSER=y 26.744 -CONFIG_KILL=y 26.745 -CONFIG_KILLALL=y 26.746 -CONFIG_KILLALL5=y 26.747 -CONFIG_NMETER=y 26.748 -# CONFIG_PGREP is not set 26.749 -CONFIG_PIDOF=y 26.750 -CONFIG_FEATURE_PIDOF_SINGLE=y 26.751 -CONFIG_FEATURE_PIDOF_OMIT=y 26.752 -# CONFIG_PKILL is not set 26.753 -CONFIG_PS=y 26.754 -CONFIG_FEATURE_PS_WIDE=y 26.755 -# CONFIG_FEATURE_PS_TIME is not set 26.756 -# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set 26.757 -CONFIG_RENICE=y 26.758 -CONFIG_BB_SYSCTL=y 26.759 -CONFIG_TOP=y 26.760 -CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y 26.761 -CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y 26.762 -# CONFIG_FEATURE_TOP_DECIMALS is not set 26.763 -CONFIG_FEATURE_TOPMEM=y 26.764 -CONFIG_UPTIME=y 26.765 -CONFIG_WATCH=y 26.766 - 26.767 -# 26.768 -# Shells 26.769 -# 26.770 -CONFIG_FEATURE_SH_IS_ASH=y 26.771 -# CONFIG_FEATURE_SH_IS_HUSH is not set 26.772 -# CONFIG_FEATURE_SH_IS_MSH is not set 26.773 -# CONFIG_FEATURE_SH_IS_NONE is not set 26.774 -CONFIG_ASH=y 26.775 - 26.776 -# 26.777 -# Ash Shell Options 26.778 -# 26.779 -CONFIG_ASH_BASH_COMPAT=y 26.780 -CONFIG_ASH_JOB_CONTROL=y 26.781 -CONFIG_ASH_READ_NCHARS=y 26.782 -CONFIG_ASH_READ_TIMEOUT=y 26.783 -CONFIG_ASH_ALIAS=y 26.784 -CONFIG_ASH_MATH_SUPPORT=y 26.785 -CONFIG_ASH_MATH_SUPPORT_64=y 26.786 -CONFIG_ASH_GETOPTS=y 26.787 -CONFIG_ASH_BUILTIN_ECHO=y 26.788 -CONFIG_ASH_BUILTIN_PRINTF=y 26.789 -CONFIG_ASH_BUILTIN_TEST=y 26.790 -CONFIG_ASH_CMDCMD=y 26.791 -# CONFIG_ASH_MAIL is not set 26.792 -CONFIG_ASH_OPTIMIZE_FOR_SIZE=y 26.793 -CONFIG_ASH_RANDOM_SUPPORT=y 26.794 -# CONFIG_ASH_EXPAND_PRMT is not set 26.795 -# CONFIG_HUSH is not set 26.796 -# CONFIG_HUSH_HELP is not set 26.797 -# CONFIG_HUSH_INTERACTIVE is not set 26.798 -# CONFIG_HUSH_JOB is not set 26.799 -# CONFIG_HUSH_TICK is not set 26.800 -# CONFIG_HUSH_IF is not set 26.801 -# CONFIG_HUSH_LOOPS is not set 26.802 -# CONFIG_HUSH_CASE is not set 26.803 -# CONFIG_LASH is not set 26.804 -# CONFIG_MSH is not set 26.805 - 26.806 -# 26.807 -# Bourne Shell Options 26.808 -# 26.809 -CONFIG_FEATURE_SH_EXTRA_QUIET=y 26.810 -# CONFIG_FEATURE_SH_STANDALONE is not set 26.811 -# CONFIG_FEATURE_SH_NOFORK is not set 26.812 -# CONFIG_CTTYHACK is not set 26.813 - 26.814 -# 26.815 -# System Logging Utilities 26.816 -# 26.817 -CONFIG_SYSLOGD=y 26.818 -CONFIG_FEATURE_ROTATE_LOGFILE=y 26.819 -CONFIG_FEATURE_REMOTE_LOG=y 26.820 -CONFIG_FEATURE_SYSLOGD_DUP=y 26.821 -# CONFIG_FEATURE_IPC_SYSLOG is not set 26.822 -CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE= 26.823 -# CONFIG_LOGREAD is not set 26.824 -# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set 26.825 -CONFIG_KLOGD=y 26.826 -CONFIG_LOGGER=y 26.827 - 26.828 -# 26.829 -# Runit Utilities 26.830 -# 26.831 -# CONFIG_RUNSV is not set 26.832 -# CONFIG_RUNSVDIR is not set 26.833 -# CONFIG_SV is not set 26.834 -# CONFIG_SVLOGD is not set 26.835 -# CONFIG_CHPST is not set 26.836 -# CONFIG_SETUIDGID is not set 26.837 -# CONFIG_ENVUIDGID is not set 26.838 -# CONFIG_ENVDIR is not set 26.839 -# CONFIG_SOFTLIMIT is not set 26.840 -# CONFIG_CHCON is not set 26.841 -# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set 26.842 -# CONFIG_GETENFORCE is not set 26.843 -# CONFIG_GETSEBOOL is not set 26.844 -# CONFIG_LOAD_POLICY is not set 26.845 -# CONFIG_MATCHPATHCON is not set 26.846 -# CONFIG_RESTORECON is not set 26.847 -# CONFIG_RUNCON is not set 26.848 -# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set 26.849 -# CONFIG_SELINUXENABLED is not set 26.850 -# CONFIG_SETENFORCE is not set 26.851 -# CONFIG_SETFILES is not set 26.852 -# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set 26.853 -# CONFIG_SETSEBOOL is not set 26.854 -# CONFIG_SESTATUS is not set 26.855 - 26.856 -# 26.857 -# Print Utilities 26.858 -# 26.859 -CONFIG_LPD=y 26.860 -CONFIG_LPR=y 26.861 -CONFIG_LPQ=y
27.1 --- a/busybox/stuff/busybox-1.16.1-cpio-mkdir.u Wed Jul 07 19:33:09 2010 +0200 27.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 27.3 @@ -1,12 +0,0 @@ 27.4 ---- busybox-1.16.1/archival/libunarchive/data_extract_all.c 27.5 -+++ busybox-1.16.1/archival/libunarchive/data_extract_all.c 27.6 -@@ -40,7 +40,8 @@ 27.7 - } 27.8 - } 27.9 - else if (existing_sb.st_mtime >= file_header->mtime) { 27.10 -- if (!(archive_handle->ah_flags & ARCHIVE_EXTRACT_QUIET)) { 27.11 -+ if (!(archive_handle->ah_flags & ARCHIVE_EXTRACT_QUIET) 27.12 -+ && (file_header->mode & S_IFMT) != S_IFDIR) { 27.13 - bb_error_msg("%s not created: newer or " 27.14 - "same age file exists", file_header->name); 27.15 - }
28.1 --- a/busybox/stuff/busybox-1.16.1-dpkg_deb.u Wed Jul 07 19:33:09 2010 +0200 28.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 28.3 @@ -1,14 +0,0 @@ 28.4 ---- busybox-1.16.1/archival/dpkg_deb.c 28.5 -+++ busybox-1.16.1/archival/dpkg_deb.c 28.6 -@@ -41,6 +41,11 @@ 28.7 - llist_add_to(&control_tar_llist, (char*)"control.tar.bz2"); 28.8 - #endif 28.9 - 28.10 -+#if ENABLE_FEATURE_SEAMLESS_LZMA 28.11 -+ llist_add_to(&(ar_archive->accept), (char*)"data.tar.lzma"); 28.12 -+ llist_add_to(&control_tar_llist, (char*)"control.tar.lzma"); 28.13 -+#endif 28.14 -+ 28.15 - opt_complementary = "c--efXx:e--cfXx:f--ceXx:X--cefx:x--cefX"; 28.16 - opt = getopt32(argv, "cefXx"); 28.17 - argv += optind;
29.1 --- a/busybox/stuff/busybox-1.16.1-ftpd.u Wed Jul 07 19:33:09 2010 +0200 29.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 29.3 @@ -1,15 +0,0 @@ 29.4 ---- busybox-1.16.1/networking/ftpd.c 29.5 -+++ busybox-1.16.1/networking/ftpd.c 29.6 -@@ -633,10 +633,10 @@ 29.7 - argv[4] = NULL; 29.8 - 29.9 - /* Improve compatibility with non-RFC conforming FTP clients 29.10 -- * which send e.g. "LIST -l", "LIST -la". 29.11 -+ * which send e.g. "LIST -l", "LIST -la", "LIST -aL". 29.12 - * See https://bugs.kde.org/show_bug.cgi?id=195578 */ 29.13 - if (ENABLE_FEATURE_FTPD_ACCEPT_BROKEN_LIST 29.14 -- && G.ftp_arg && G.ftp_arg[0] == '-' && G.ftp_arg[1] == 'l' 29.15 -+ && G.ftp_arg && G.ftp_arg[0] == '-' 29.16 - ) { 29.17 - const char *tmp = strchr(G.ftp_arg, ' '); 29.18 - if (tmp) /* skip the space */
30.1 --- a/busybox/stuff/busybox-1.16.1-modinfo.u Wed Jul 07 19:33:09 2010 +0200 30.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 30.3 @@ -1,183 +0,0 @@ 30.4 ---- busybox-1.16.1/include/applets.h 30.5 -+++ busybox-1.16.1/include/applets.h 30.6 -@@ -273,6 +273,7 @@ 30.7 - IF_CRYPTPW(APPLET_ODDNAME(mkpasswd, cryptpw, _BB_DIR_USR_BIN, _BB_SUID_DROP, mkpasswd)) 30.8 - IF_MKSWAP(APPLET(mkswap, _BB_DIR_SBIN, _BB_SUID_DROP)) 30.9 - IF_MKTEMP(APPLET(mktemp, _BB_DIR_BIN, _BB_SUID_DROP)) 30.10 -+IF_MODINFO(APPLET(modinfo, _BB_DIR_SBIN, _BB_SUID_DROP)) 30.11 - IF_MODPROBE(APPLET(modprobe, _BB_DIR_SBIN, _BB_SUID_DROP)) 30.12 - IF_MODPROBE_SMALL(APPLET(modprobe, _BB_DIR_SBIN, _BB_SUID_DROP)) 30.13 - IF_MORE(APPLET(more, _BB_DIR_BIN, _BB_SUID_DROP)) 30.14 - 30.15 ---- busybox-1.16.1/include/usage.h 30.16 -+++ busybox-1.16.1/include/usage.h 30.17 -@@ -2984,6 +2984,20 @@ 30.18 - " which are the default for alias 'tulip2' overridden by the options 'irq=2 io=0x210'\n\n" \ 30.19 - " from the command line\n" 30.20 - 30.21 -+#define modinfo_trivial_usage \ 30.22 -+ "[-adlp0] [-F keyword] MODULE" 30.23 -+#define modinfo_full_usage "\n\n" \ 30.24 -+ "Options:" \ 30.25 -+ "\n -a Shortcut for '-F author'" \ 30.26 -+ "\n -d Shortcut for '-F description'" \ 30.27 -+ "\n -l Shortcut for '-F license'" \ 30.28 -+ "\n -p Shortcut for '-F parm'" \ 30.29 -+ "\n -F keyword Keyword to look for" \ 30.30 -+ "\n -0 Use \\0 string separator. Not \\n" \ 30.31 -+ 30.32 -+#define modinfo_example_usage \ 30.33 -+ "$ modinfo -F vermagic loop\n" 30.34 -+ 30.35 - #define more_trivial_usage \ 30.36 - "[FILE]..." 30.37 - #define more_full_usage "\n\n" \ 30.38 - 30.39 ---- busybox-1.16.0/modutils/Config.in 30.40 -+++ busybox-1.16.0/modutils/Config.in 30.41 -@@ -110,6 +110,12 @@ 30.42 - and modules.symbols) that contain dependency information 30.43 - for modprobe. 30.44 - 30.45 -+config MODINFO 30.46 -+ bool "modinfo" 30.47 -+ default n 30.48 -+ help 30.49 -+ Show information about a Linux Kernel module 30.50 -+ 30.51 - comment "Options common to multiple modutils" 30.52 - 30.53 - config FEATURE_2_4_MODULES 30.54 - 30.55 ---- busybox-1.16.1/modutils/Kbuild 30.56 -+++ busybox-1.16.1/modutils/Kbuild 30.57 -@@ -12,3 +12,4 @@ 30.58 - lib-$(CONFIG_MODPROBE) += modprobe.o modutils.o 30.59 - lib-$(CONFIG_RMMOD) += rmmod.o modutils.o 30.60 - lib-$(CONFIG_FEATURE_2_4_MODULES) += modutils-24.o 30.61 -+lib-$(CONFIG_MODINFO) += modinfo.o 30.62 - 30.63 ---- busybox-1.16.1/modutils/modinfo.c 30.64 -+++ busybox-1.16.1/modutils/modinfo.c 30.65 -@@ -0,0 +1,121 @@ 30.66 -+/* vi: set sw=4 ts=4: */ 30.67 -+/* 30.68 -+ * modinfo - retrieve module info 30.69 -+ * Copyright (c) 2008 Pascal Bellard 30.70 -+ * 30.71 -+ * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. 30.72 -+ */ 30.73 -+ 30.74 -+#undef _GNU_SOURCE 30.75 -+#define _GNU_SOURCE 30.76 -+#include <libbb.h> 30.77 -+#include <fnmatch.h> 30.78 -+#include "modutils.h" 30.79 -+#include <sys/utsname.h> /* uname() */ 30.80 -+ 30.81 -+#define ALL_TAGS 0x3F 30.82 -+ 30.83 -+enum { 30.84 -+ ARG_F = (1<<6), /* field name */ 30.85 -+ ARG_0 = (1<<7) /* \0 as separator */ 30.86 -+}; 30.87 -+ 30.88 -+struct modinfo_env { 30.89 -+ char *field; 30.90 -+ int tags; 30.91 -+}; 30.92 -+ 30.93 -+static int display(char *data, const char *pattern, int flag) 30.94 -+{ 30.95 -+ if (flag) { 30.96 -+ int n = printf("%s:",pattern); 30.97 -+ while (n++ < 16) bb_putchar(' '); 30.98 -+ } 30.99 -+ return printf("%s%c",data, (option_mask32 & ARG_0) ? '\0' : '\n'); 30.100 -+} 30.101 -+ 30.102 -+static void modinfo(char *path, struct modinfo_env *env) 30.103 -+{ 30.104 -+ static const char *shortcuts[] = { 30.105 -+ "filename", 30.106 -+ "description", 30.107 -+ "author", 30.108 -+ "license", 30.109 -+ "vermagic", 30.110 -+ "parm", 30.111 -+ }; 30.112 -+ size_t len; 30.113 -+ int j, length; 30.114 -+ char *ptr, *the_module; 30.115 -+ const char *field = env->field; 30.116 -+ int tags = env->tags; 30.117 -+ 30.118 -+ if (tags & 1) { /* filename */ 30.119 -+ display(path,shortcuts[0],1 != tags); 30.120 -+ } 30.121 -+ len = MAXINT(ssize_t); 30.122 -+ the_module = xmalloc_open_zipped_read_close(path, &len); 30.123 -+ if (!the_module) return; 30.124 -+ if (field) tags |= ALL_TAGS+1; 30.125 -+ for (j = 1; (1<<j) & (ALL_TAGS+ALL_TAGS+1); j++) { 30.126 -+ const char *pattern = field; 30.127 -+ if ((1<<j) & ALL_TAGS) pattern = shortcuts[j]; 30.128 -+ if (!((1<<j) & tags)) continue; 30.129 -+ length = strlen(pattern); 30.130 -+ ptr = the_module; 30.131 -+ do { 30.132 -+ ptr = memchr(ptr, *pattern, len - (ptr - (char*)the_module)); 30.133 -+ if (ptr == NULL) /* no occurance left, done */ 30.134 -+ break; 30.135 -+ if (!strncmp(ptr, pattern, length) && ptr[length] == '=') { 30.136 -+ ptr += length + 1; 30.137 -+ ptr += display(ptr,pattern,(1<<j) != tags); 30.138 -+ } 30.139 -+ ++ptr; 30.140 -+ } while (1); 30.141 -+ } 30.142 -+ free(the_module); 30.143 -+} 30.144 -+ 30.145 -+int modinfo_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; 30.146 -+int modinfo_main(int argc, char **argv) 30.147 -+{ 30.148 -+ struct modinfo_env env; 30.149 -+ char name[MODULE_NAME_LEN]; 30.150 -+ struct utsname uts; 30.151 -+ parser_t *p; 30.152 -+ char *colon, *tokens[2]; 30.153 -+ int i; 30.154 -+ 30.155 -+ env.field = NULL; 30.156 -+ getopt32(argv, "fdalvpF:0", &env.field); 30.157 -+ env.tags = (option_mask32) ? option_mask32 & ALL_TAGS : ALL_TAGS; 30.158 -+ 30.159 -+ if (optind >= argc) 30.160 -+ bb_show_usage(); 30.161 -+ 30.162 -+ uname(&uts); 30.163 -+ p = config_open2(concat_path_file(concat_path_file( 30.164 -+ CONFIG_DEFAULT_MODULES_DIR, uts.release), 30.165 -+ CONFIG_DEFAULT_DEPMOD_FILE), xfopen_for_read); 30.166 -+ 30.167 -+ while (config_read(p, tokens, 2, 1, "# \t", PARSE_NORMAL)) { 30.168 -+ colon = last_char_is(tokens[0], ':'); 30.169 -+ if (colon == NULL) 30.170 -+ continue; 30.171 -+ *colon = 0; 30.172 -+ filename2modname(tokens[0], name); 30.173 -+ for (i = optind; i < argc; i++) { 30.174 -+ if (fnmatch(argv[i],name,0) == 0) { 30.175 -+ modinfo(tokens[0], &env); 30.176 -+ argv[i] = (char *) ""; 30.177 -+ } 30.178 -+ } 30.179 -+ } 30.180 -+ for (i = optind; i < argc; i++) { 30.181 -+ if (*argv[i]) { 30.182 -+ modinfo(argv[i], &env); 30.183 -+ } 30.184 -+ } 30.185 -+ return 0; 30.186 -+}
31.1 --- a/busybox/stuff/busybox-1.16.1-modprobe.u Wed Jul 07 19:33:09 2010 +0200 31.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 31.3 @@ -1,64 +0,0 @@ 31.4 ---- busybox-1.16.1/include/usage.h 31.5 -+++ busybox-1.16.1/include/usage.h 31.6 -@@ -2898,7 +2898,7 @@ 31.7 - #define modprobe_trivial_usage \ 31.8 - IF_MODPROBE_SMALL("[-qfwrsv] MODULE [symbol=value]...") \ 31.9 - IF_NOT_MODPROBE_SMALL("[-" \ 31.10 -- IF_FEATURE_2_4_MODULES("k")"nqrsv" \ 31.11 -+ IF_FEATURE_2_4_MODULES("k")"nlqrsv" \ 31.12 - IF_FEATURE_MODPROBE_BLACKLIST("b")"] MODULE [symbol=value]...") 31.13 - #define modprobe_full_usage "\n\n" \ 31.14 - "Options:" \ 31.15 -@@ -2915,6 +2915,7 @@ 31.16 - "\n -k Make module autoclean-able" \ 31.17 - ) \ 31.18 - "\n -n Dry run" \ 31.19 -+ "\n -l List" \ 31.20 - "\n -q Quiet" \ 31.21 - "\n -r Remove module (stacks) or do autoclean" \ 31.22 - "\n -s Report via syslog instead of stderr" \ 31.23 - 31.24 ---- busybox-1.16.1/modutils/modprobe.c 31.25 -+++ busybox-1.16.1/modutils/modprobe.c 31.26 -@@ -367,11 +367,10 @@ 31.27 - opt = getopt32(argv, INSMOD_OPTS MODPROBE_OPTS INSMOD_ARGS, NULL, NULL); 31.28 - argv += optind; 31.29 - 31.30 -- if (opt & (MODPROBE_OPT_DUMP_ONLY | MODPROBE_OPT_LIST_ONLY | 31.31 -- MODPROBE_OPT_SHOW_ONLY)) 31.32 -+ if (opt & (MODPROBE_OPT_DUMP_ONLY | MODPROBE_OPT_SHOW_ONLY)) 31.33 - bb_error_msg_and_die("not supported"); 31.34 - 31.35 -- if (!argv[0]) { 31.36 -+ if (!argv[0] && !(opt & MODPROBE_OPT_LIST_ONLY)) { 31.37 - if (opt & MODPROBE_OPT_REMOVE) { 31.38 - /* "modprobe -r" (w/o params). 31.39 - * "If name is NULL, all unused modules marked 31.40 -@@ -403,6 +402,27 @@ 31.41 - DBG("adding module %s", *argv); 31.42 - add_probe(*argv++); 31.43 - } while (*argv); 31.44 -+ } else if (opt & MODPROBE_OPT_LIST_ONLY) { 31.45 -+ char *colon, name[MODULE_NAME_LEN], *tokens[2]; 31.46 -+ parser_t *p = config_open2(CONFIG_DEFAULT_DEPMOD_FILE, xfopen_for_read); 31.47 -+ 31.48 -+ while (config_read(p, tokens, 2, 1, "# \t", PARSE_NORMAL)) { 31.49 -+ int i; 31.50 -+ 31.51 -+ colon = last_char_is(tokens[0], ':'); 31.52 -+ if (colon == NULL) 31.53 -+ continue; 31.54 -+ *colon = 0; 31.55 -+ filename2modname(tokens[0], name); 31.56 -+ if (!argv[0]) 31.57 -+ puts(tokens[0]); 31.58 -+ else for (i = 0; argv[i]; i++) { 31.59 -+ if (fnmatch(argv[i],name,0) == 0) { 31.60 -+ puts(tokens[0]); 31.61 -+ } 31.62 -+ } 31.63 -+ } 31.64 -+ return EXIT_SUCCESS; 31.65 - } else { 31.66 - /* First argument is module name, rest are parameters */ 31.67 - DBG("probing just module %s", *argv);
32.1 --- a/busybox/stuff/busybox-1.16.1-ris.u Wed Jul 07 19:33:09 2010 +0200 32.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 32.3 @@ -1,97 +0,0 @@ 32.4 ---- busybox-1.16.1/networking/Config.in 32.5 -+++ busybox-1.16.1/networking/Config.in 32.6 -@@ -852,6 +852,15 @@ 32.7 - In other words: it should be run from inetd in nowait mode, 32.8 - or from udpsvd. Example: "udpsvd -E 0 69 tftpd DIR" 32.9 - 32.10 -+config FEATURE_TFTPD_RIS 32.11 -+ bool "Enable \"RIS\" support" 32.12 -+ default y 32.13 -+ depends on TFTPD 32.14 -+ help 32.15 -+ Add support for the Remote Installation Service. This allows 32.16 -+ a client to get files starting with \ without respecting case. 32.17 -+ Each \ will be replaced by a /. 32.18 -+ 32.19 - config FEATURE_TFTP_GET 32.20 - bool "Enable \"get\" command" 32.21 - default y 32.22 - 32.23 ---- busybox-1.16.1/networking/tftp.c 32.24 -+++ busybox-1.16.1/networking/tftp.c 32.25 -@@ -653,6 +653,63 @@ 32.26 - #undef remote_file 32.27 - } 32.28 - 32.29 -+#if ENABLE_FEATURE_TFTPD_RIS 32.30 -+#include <dirent.h> 32.31 -+ 32.32 -+int lookup_entry(const char *comp, char *dest); 32.33 -+void lookup_file(char *filename); 32.34 -+ 32.35 -+int lookup_entry(const char *comp, char *dest) 32.36 -+{ 32.37 -+ DIR *dirp; 32.38 -+ struct dirent *dptr; 32.39 -+ if (!dest) return 0; 32.40 -+ dirp = opendir(dest[0] ? dest : "."); 32.41 -+ while ((dptr = readdir(dirp))) { 32.42 -+ if (!strcasecmp(dptr->d_name, comp)) { 32.43 -+ if (dest[0]) strcat(dest, "/"); 32.44 -+ strcat(dest, dptr->d_name); 32.45 -+ closedir(dirp); 32.46 -+ return 1; 32.47 -+ } 32.48 -+ } 32.49 -+ closedir(dirp); 32.50 -+ return 0; 32.51 -+} 32.52 -+ 32.53 -+void lookup_file(char *filename) 32.54 -+{ 32.55 -+ int found = 0; 32.56 -+ int len = 0; 32.57 -+ char dest[1024]; 32.58 -+ char comp[1024]; 32.59 -+ char *check = filename; 32.60 -+ char *seek = NULL; 32.61 -+ 32.62 -+ dest[0] = 0; 32.63 -+ check++; 32.64 -+ while (*check) { 32.65 -+ seek = strchr(check, '\\'); 32.66 -+ if (!seek) { 32.67 -+ if ((*check) && (lookup_entry(check, dest))) 32.68 -+ found = 1; 32.69 -+ break; 32.70 -+ } 32.71 -+ len = seek - check; 32.72 -+ memcpy(comp, check, len); 32.73 -+ comp[len]=0; 32.74 -+ if (!lookup_entry(comp, dest)) 32.75 -+ break; 32.76 -+ check += len + 1; 32.77 -+ } 32.78 -+ 32.79 -+ if (found) { 32.80 -+ filename[0] = 0; 32.81 -+ strcat(filename, dest); 32.82 -+ } 32.83 -+} 32.84 -+#endif 32.85 -+ 32.86 - #if ENABLE_TFTP 32.87 - 32.88 - int tftp_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; 32.89 -@@ -782,6 +839,11 @@ 32.90 - goto err; 32.91 - } 32.92 - local_file = block_buf + 2; 32.93 -+#if ENABLE_FEATURE_TFTPD_RIS 32.94 -+ if (local_file[0] == '\\') { 32.95 -+ lookup_file(local_file); 32.96 -+ } 32.97 -+#endif 32.98 - if (local_file[0] == '.' || strstr(local_file, "/.")) { 32.99 - error_msg = "dot in file name"; 32.100 - goto err;
33.1 --- a/busybox/stuff/busybox-1.16.1-stat.u Wed Jul 07 19:33:09 2010 +0200 33.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 33.3 @@ -1,75 +0,0 @@ 33.4 ---- busybox-1.16.1/coreutils/stat.c 33.5 -+++ busybox-1.16.1/coreutils/stat.c 33.6 -@@ -14,12 +14,14 @@ 33.7 - */ 33.8 - 33.9 - #include "libbb.h" 33.10 -+#include <linux/fs.h> 33.11 - 33.12 - /* vars to control behavior */ 33.13 - #define OPT_FILESYS (1 << 0) 33.14 - #define OPT_TERSE (1 << 1) 33.15 - #define OPT_DEREFERENCE (1 << 2) 33.16 --#define OPT_SELINUX (1 << 3) 33.17 -+#define OPT_MAP (1 << 3) 33.18 -+#define OPT_SELINUX (1 << 4) 33.19 - 33.20 - #if ENABLE_FEATURE_STAT_FORMAT 33.21 - typedef bool (*statfunc_ptr)(const char *, const char *); 33.22 -@@ -359,6 +361,26 @@ 33.23 - 33.24 - /* Stat the file system and print what we find. */ 33.25 - #if !ENABLE_FEATURE_STAT_FORMAT 33.26 -+#define do_mapfile(filename, format) do_mapfile(filename) 33.27 -+#endif 33.28 -+static bool do_mapfile(const char *filename, const char *format) 33.29 -+{ 33.30 -+ int i = 0; 33.31 -+ int fd = xopen(filename, O_RDONLY); 33.32 -+ 33.33 -+#if ENABLE_FEATURE_STAT_FORMAT 33.34 -+ (void) format; 33.35 -+#endif 33.36 -+ while (1) { 33.37 -+ int blk = i++; 33.38 -+ if (ioctl(fd,FIBMAP,&blk) < 0 || blk == 0) break; 33.39 -+ printf("%u\n",blk); 33.40 -+ } 33.41 -+ return 1; 33.42 -+} 33.43 -+ 33.44 -+/* Stat the file system and print what we find. */ 33.45 -+#if !ENABLE_FEATURE_STAT_FORMAT 33.46 - #define do_statfs(filename, format) do_statfs(filename) 33.47 - #endif 33.48 - static bool do_statfs(const char *filename, const char *format) 33.49 -@@ -649,7 +671,7 @@ 33.50 - statfunc_ptr statfunc = do_stat; 33.51 - 33.52 - opt_complementary = "-1"; /* min one arg */ 33.53 -- opts = getopt32(argv, "ftL" 33.54 -+ opts = getopt32(argv, "ftLm" 33.55 - IF_SELINUX("Z") 33.56 - IF_FEATURE_STAT_FORMAT("c:", &format) 33.57 - ); 33.58 -@@ -660,6 +682,9 @@ 33.59 - selinux_or_die(); 33.60 - } 33.61 - #endif 33.62 -+ if (opts & OPT_MAP) { /* -m */ 33.63 -+ statfunc = do_mapfile; 33.64 -+ } 33.65 - ok = 1; 33.66 - argv += optind; 33.67 - for (i = 0; argv[i]; ++i) 33.68 - 33.69 ---- busybox-1.16.1/include/usage.h 33.70 -+++ busybox-1.16.1/include/usage.h 33.71 -@@ -4201,6 +4201,7 @@ 33.72 - "\n -f Display filesystem status" \ 33.73 - "\n -L Follow links" \ 33.74 - "\n -t Display info in terse form" \ 33.75 -+ "\n -m Display block list" \ 33.76 - IF_SELINUX( \ 33.77 - "\n -Z Print security context" \ 33.78 - ) \
34.1 --- a/busybox/stuff/busybox-1.16.1-syslogd.u Wed Jul 07 19:33:09 2010 +0200 34.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 34.3 @@ -1,11 +0,0 @@ 34.4 ---- busybox-1.16.1/sysklogd/syslogd.c 34.5 -+++ busybox-1.16.1/sysklogd/syslogd.c 34.6 -@@ -46,7 +46,7 @@ 34.7 - #undef SYSLOGD_WRLOCK 34.8 - 34.9 - enum { 34.10 -- MAX_READ = 256, 34.11 -+ MAX_READ = 1024, 34.12 - DNS_WAIT_SEC = 2 * 60, 34.13 - }; 34.14 -
35.1 --- a/busybox/stuff/busybox-1.16.1-tar.u Wed Jul 07 19:33:09 2010 +0200 35.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 35.3 @@ -1,12 +0,0 @@ 35.4 -Accept --wildcards argument 35.5 ---- busybox-1.16.1/archival/tar.c 35.6 -+++ busybox-1.16.1/archival/tar.c 35.7 -@@ -813,6 +813,8 @@ 35.8 - # if ENABLE_FEATURE_TAR_NOPRESERVE_TIME 35.9 - "touch\0" No_argument "m" 35.10 - # endif 35.11 -+ /* ignore --wildcards */ 35.12 -+ "wildcards\0" No_argument "\xfb" 35.13 - /* use numeric uid/gid from tar header, not textual */ 35.14 - "numeric-owner\0" No_argument "\xfc" 35.15 - /* do not restore mode */
36.1 --- a/busybox/stuff/busybox-1.16.1-vcsa2txt.u Wed Jul 07 19:33:09 2010 +0200 36.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 36.3 @@ -1,576 +0,0 @@ 36.4 ---- busybox-1.16.1/include/applets.h 36.5 -+++ busybox-1.16.1/include/applets.h 36.6 -@@ -105,6 +105,7 @@ 36.7 - IF_CLEAR(APPLET(clear, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 36.8 - IF_CMP(APPLET(cmp, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 36.9 - IF_COMM(APPLET(comm, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 36.10 -+IF_VCSA2TXT(APPLET(conspy, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 36.11 - IF_CP(APPLET_NOEXEC(cp, cp, _BB_DIR_BIN, _BB_SUID_DROP, cp)) 36.12 - IF_CPIO(APPLET(cpio, _BB_DIR_BIN, _BB_SUID_DROP)) 36.13 - IF_CROND(APPLET(crond, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) 36.14 -@@ -420,6 +421,7 @@ 36.15 - IF_UUDECODE(APPLET(uudecode, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 36.16 - IF_UUENCODE(APPLET(uuencode, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 36.17 - IF_VCONFIG(APPLET(vconfig, _BB_DIR_SBIN, _BB_SUID_DROP)) 36.18 -+IF_VCSA2TXT(APPLET(vcsa2txt, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 36.19 - IF_VI(APPLET(vi, _BB_DIR_BIN, _BB_SUID_DROP)) 36.20 - IF_VLOCK(APPLET(vlock, _BB_DIR_USR_BIN, _BB_SUID_REQUIRE)) 36.21 - IF_VOLNAME(APPLET(volname, _BB_DIR_USR_BIN, _BB_SUID_DROP)) 36.22 - 36.23 ---- busybox-1.16.1/include/usage.h 36.24 -+++ busybox-1.16.1/include/usage.h 36.25 -@@ -440,6 +440,23 @@ 36.26 - "\n -1 Close stdout" \ 36.27 - "\n -2 Close stderr" \ 36.28 - 36.29 -+#define conspy_trivial_usage \ 36.30 -+ "[-vcsnd] [-x rows] [-y lines] [virtual_console]" 36.31 -+#define conspy_full_usage "\n\n" \ 36.32 -+ "A text-mode VNC like program for Linux virtual terminals.\n" \ 36.33 -+ "\nTo exit, quickly press escape 3 times.\n" \ 36.34 -+ "\nvirtual_console:\n" \ 36.35 -+ " omitted Track the current console.\n" \ 36.36 -+ " 1..63 Virtual console N.\n" \ 36.37 -+ "\nOptions:" \ 36.38 -+ "\n -v Don't send keystrokes to the console." \ 36.39 -+ "\n -c May create device in /dev." \ 36.40 -+ "\n -s Open a SHELL session." \ 36.41 -+ "\n -n No colors. Black & white only." \ 36.42 -+ "\n -d Dump console to stdout."\ 36.43 -+ "\n -x r Skip the r first rows."\ 36.44 -+ "\n -y l Skip the l first lines."\ 36.45 -+ 36.46 - #define setuidgid_trivial_usage \ 36.47 - "USER PROG ARGS" 36.48 - #define setuidgid_full_usage "\n\n" \ 36.49 -@@ -5011,6 +5028,13 @@ 36.50 - "\n set_ingress_map [vlan-name] [skb_priority] [vlan_qos]" \ 36.51 - "\n set_name_type [name-type]" \ 36.52 - 36.53 -+#define vcsa2txt_trivial_usage \ 36.54 -+ "stdin" 36.55 -+#define vcsa2txt_full_usage \ 36.56 -+ " Filter /dev/vcsa* to ansi escape sequences" 36.57 -+#define vcsa2txt_example_usage \ 36.58 -+ "# vcsa2txt < /dev/vcsa1\n" 36.59 -+ 36.60 - #define vi_trivial_usage \ 36.61 - "[OPTIONS] [FILE]..." 36.62 - #define vi_full_usage "\n\n" \ 36.63 - 36.64 ---- busybox-1.16.1/miscutils/Config.in 36.65 -+++ busybox-1.16.1/miscutils/Config.in 36.66 -@@ -625,6 +625,12 @@ 36.67 - help 36.68 - Write a message to all users that are logged in. 36.69 - 36.70 -+config VCSA2TXT 36.71 -+ bool "vcsa2txt/conspy" 36.72 -+ default n 36.73 -+ help 36.74 -+ Filter /dev/vcsa* output to ansi escape sequences. 36.75 -+ 36.76 - config WATCHDOG 36.77 - bool "watchdog" 36.78 - default n 36.79 - 36.80 ---- busybox-1.16.1/util-linux/Kbuild 36.81 -+++ busybox-1.16.1/util-linux/Kbuild 36.82 -@@ -43,3 +43,4 @@ 36.83 - lib-$(CONFIG_SWITCH_ROOT) += switch_root.o 36.84 - lib-$(CONFIG_MKFS_EXT2) += tune2fs.o 36.85 - lib-$(CONFIG_UMOUNT) += umount.o 36.86 -+lib-$(CONFIG_VCSA2TXT) += vcsa2txt.o 36.87 - 36.88 ---- busybox-1.16.1/util-linux/vcsa2txt.c 36.89 -+++ busybox-1.16.1/util-linux/vcsa2txt.c 36.90 -@@ -0,0 +1,489 @@ 36.91 -+/* vi: set sw=4 ts=4: */ 36.92 -+/* 36.93 -+ * A text-mode VNC like program for Linux virtual terminals. 36.94 -+ * 36.95 -+ * pascal.bellard@ads-lu.com 36.96 -+ * 36.97 -+ * Based on Russell Stuart's conspy.c 36.98 -+ * http://ace-host.stuart.id.au/russell/files/conspy.c 36.99 -+ * 36.100 -+ * Licensed under GPLv2 or later, see file License in this tarball for details. 36.101 -+ * 36.102 -+ * example : conspy num shared access to console num 36.103 -+ * or conspy -d num screenshot of console num 36.104 -+ * or conspy -cs num poor man's GNU screen like 36.105 -+ */ 36.106 -+ 36.107 -+//applet:IF_CONSPY(APPLET(conspy, _BB_DIR_BIN, _BB_SUID_DROP)) 36.108 -+ 36.109 -+//kbuild:lib-$(CONFIG_CONSPY) += conspy.o 36.110 -+ 36.111 -+//config:config CONSPY 36.112 -+//config: bool "conspy" 36.113 -+//config: default n 36.114 -+//config: help 36.115 -+//config: A text-mode VNC like program for Linux virtual terminals. 36.116 -+//config: example : conspy num shared access to console num 36.117 -+//config: or conspy -d num screenshot of console num 36.118 -+//config: or conspy -cs num poor man's GNU screen like 36.119 -+ 36.120 -+//usage:#define conspy_trivial_usage 36.121 -+//usage: "[-vcsndf] [-x ROW] [-y LINE] [CONSOLE_NO]" 36.122 -+//usage:#define conspy_full_usage "\n\n" 36.123 -+//usage: "A text-mode VNC like program for Linux virtual consoles." 36.124 -+//usage: "\nTo exit, quickly press ESC 3 times." 36.125 -+//usage: "\n" 36.126 -+//usage: "\nOptions:" 36.127 -+//usage: "\n -v Don't send keystrokes to the console" 36.128 -+//usage: "\n -c Create missing devices in /dev" 36.129 -+//usage: "\n -s Open a SHELL session" 36.130 -+//usage: "\n -n Black & white" 36.131 -+//usage: "\n -d Dump console to stdout" 36.132 -+//usage: "\n -f Follow cursor" 36.133 -+//usage: "\n -x ROW Starting row" 36.134 -+//usage: "\n -y LINE Starting line" 36.135 -+ 36.136 -+#include "libbb.h" 36.137 -+#include <sys/kd.h> 36.138 -+ 36.139 -+struct screen_info { 36.140 -+ unsigned char lines, rows, cursor_x, cursor_y; 36.141 -+}; 36.142 -+ 36.143 -+#define CHAR(x) ((x)[0]) 36.144 -+#define ATTR(x) ((x)[1]) 36.145 -+#define NEXT(x) ((x)+=2) 36.146 -+#define DATA(x) (* (short *) (x)) 36.147 -+ 36.148 -+struct globals { 36.149 -+ char* data; 36.150 -+ int size; 36.151 -+ int x, y; 36.152 -+ int kbd_fd; 36.153 -+ unsigned width; 36.154 -+ unsigned height; 36.155 -+ char last_attr; 36.156 -+ int ioerror_count; 36.157 -+ int key_count; 36.158 -+ int escape_count; 36.159 -+ int nokeys; 36.160 -+ int current; 36.161 -+ int vcsa_fd; 36.162 -+ struct screen_info info; 36.163 -+ struct termios term_orig; 36.164 -+}; 36.165 -+ 36.166 -+#define G (*ptr_to_globals) 36.167 -+#define INIT_G() do { \ 36.168 -+ SET_PTR_TO_GLOBALS(xzalloc(sizeof(G))); \ 36.169 -+} while (0) 36.170 -+ 36.171 -+enum { 36.172 -+ FLAG_v, // view only 36.173 -+ FLAG_c, // create device if need 36.174 -+ FLAG_s, // session 36.175 -+ FLAG_n, // no colors 36.176 -+ FLAG_d, // dump screen 36.177 -+ FLAG_f, // follow cursor 36.178 -+}; 36.179 -+#define FLAG(x) (1 << FLAG_##x) 36.180 -+#define BW (option_mask32 & FLAG(n)) 36.181 -+ 36.182 -+static void screen_read_close(void) 36.183 -+{ 36.184 -+ unsigned i, j; 36.185 -+ char *data = G.data + G.current; 36.186 -+ 36.187 -+ xread(G.vcsa_fd, data, G.size); 36.188 -+ G.last_attr = 0; 36.189 -+ for (i = 0; i < G.info.lines; i++) { 36.190 -+ for (j = 0; j < G.info.rows; j++, NEXT(data)) { 36.191 -+ unsigned x = j - G.x; // if will catch j < G.x too 36.192 -+ unsigned y = i - G.y; // if will catch i < G.y too 36.193 -+ 36.194 -+ if (CHAR(data) < ' ') 36.195 -+ CHAR(data) = ' '; 36.196 -+ if (y >= G.height || x >= G.width) 36.197 -+ DATA(data) = 0; 36.198 -+ } 36.199 -+ } 36.200 -+ close(G.vcsa_fd); 36.201 -+} 36.202 -+ 36.203 -+static void screen_char(char *data) 36.204 -+{ 36.205 -+ if (!BW && G.last_attr != ATTR(data)) { 36.206 -+ // BLGCRMOW 36.207 -+ static const char color[8] = "04261537"; 36.208 -+ 36.209 -+ printf("\033[%c;4%c;3%cm", 36.210 -+ (ATTR(data) & 8) ? '1' // bold 36.211 -+ : '0', // defaults 36.212 -+ color[(ATTR(data) >> 4) & 7], color[ATTR(data) & 7]); 36.213 -+ G.last_attr = ATTR(data); 36.214 -+ } 36.215 -+ bb_putchar(CHAR(data)); 36.216 -+} 36.217 -+ 36.218 -+#define clrscr() printf("\033[1;1H" "\033[0J") 36.219 -+#define curoff() printf("\033[?25l") 36.220 -+ 36.221 -+static void curon(void) 36.222 -+{ 36.223 -+ printf("\033[?25h"); 36.224 -+} 36.225 -+ 36.226 -+static void gotoxy(int row, int line) 36.227 -+{ 36.228 -+ printf("\033[%u;%uH", line + 1, row + 1); 36.229 -+} 36.230 -+ 36.231 -+static void screen_dump(void) 36.232 -+{ 36.233 -+ int linefeed_cnt; 36.234 -+ int line, row; 36.235 -+ int linecnt = G.info.lines - G.y; 36.236 -+ char *data = G.data + G.current + (2 * G.y * G.info.rows); 36.237 -+ 36.238 -+ linefeed_cnt = 0; 36.239 -+ for (line = 0; line < linecnt && line < G.height; line++) { 36.240 -+ int space_cnt = 0; 36.241 -+ for (row = 0; row < G.info.rows; row++, NEXT(data)) { 36.242 -+ unsigned tty_row = row - G.x; // if will catch row < G.x too 36.243 -+ 36.244 -+ if (tty_row >= G.width) 36.245 -+ continue; 36.246 -+ space_cnt++; 36.247 -+ if ((G.last_attr == ATTR(data) || BW) && (CHAR(data) | ' ') == ' ') 36.248 -+ continue; 36.249 -+ while (linefeed_cnt != 0) { 36.250 -+ bb_putchar('\r'); 36.251 -+ bb_putchar('\n'); 36.252 -+ linefeed_cnt--; 36.253 -+ } 36.254 -+ while (--space_cnt) 36.255 -+ bb_putchar(' '); 36.256 -+ screen_char(data); 36.257 -+ } 36.258 -+ linefeed_cnt++; 36.259 -+ } 36.260 -+} 36.261 -+ 36.262 -+static void curmove(void) 36.263 -+{ 36.264 -+ unsigned cx = G.info.cursor_x - G.x; 36.265 -+ unsigned cy = G.info.cursor_y - G.y; 36.266 -+ 36.267 -+ if (cx >= G.width || cy >= G.height) { 36.268 -+ curoff(); 36.269 -+ } else { 36.270 -+ curon(); 36.271 -+ gotoxy(cx, cy); 36.272 -+ } 36.273 -+ fflush_all(); 36.274 -+} 36.275 -+ 36.276 -+static void cleanup(int code) 36.277 -+{ 36.278 -+ curon(); 36.279 -+ fflush_all(); 36.280 -+ tcsetattr(G.kbd_fd, TCSANOW, &G.term_orig); 36.281 -+ if (ENABLE_FEATURE_CLEAN_UP) { 36.282 -+ free(ptr_to_globals); 36.283 -+ close(G.kbd_fd); 36.284 -+ } 36.285 -+ // Reset attributes 36.286 -+ if (!BW) 36.287 -+ printf("\033[0m"); 36.288 -+ bb_putchar('\n'); 36.289 -+ if (code > 1) 36.290 -+ kill_myself_with_sig(code); // does not return 36.291 -+ exit(code); 36.292 -+} 36.293 -+ 36.294 -+static void get_initial_data(const char* vcsa_name) 36.295 -+{ 36.296 -+ G.vcsa_fd = xopen(vcsa_name, O_RDONLY); 36.297 -+ xread(G.vcsa_fd, &G.info, 4); 36.298 -+ G.size = G.info.rows * G.info.lines * 2; 36.299 -+ G.width = G.height = UINT_MAX; 36.300 -+ G.data = xzalloc(2 * G.size); 36.301 -+ screen_read_close(); 36.302 -+} 36.303 -+ 36.304 -+static void create_cdev_if_doesnt_exist(const char* name, dev_t dev) 36.305 -+{ 36.306 -+ int fd = open(name, O_RDONLY); 36.307 -+ if (fd != -1) 36.308 -+ close(fd); 36.309 -+ else if (errno == ENOENT) 36.310 -+ mknod(name, S_IFCHR | 0660, dev); 36.311 -+} 36.312 -+ 36.313 -+static NOINLINE void start_shell_in_child(const char* tty_name) 36.314 -+{ 36.315 -+ int pid = vfork(); 36.316 -+ if (pid < 0) { 36.317 -+ bb_perror_msg_and_die("vfork"); 36.318 -+ } 36.319 -+ if (pid == 0) { 36.320 -+ struct termios termchild; 36.321 -+ char *shell = getenv("SHELL"); 36.322 -+ 36.323 -+ if (!shell) 36.324 -+ shell = (char *) DEFAULT_SHELL; 36.325 -+ signal(SIGHUP, SIG_IGN); 36.326 -+ // set tty as a controlling tty 36.327 -+ setsid(); 36.328 -+ // make tty to be input, output, error 36.329 -+ close(0); 36.330 -+ xopen(tty_name, O_RDWR); // uses fd 0 36.331 -+ xdup2(0, 1); 36.332 -+ xdup2(0, 2); 36.333 -+ ioctl(0, TIOCSCTTY, 1); 36.334 -+ tcsetpgrp(0, getpid()); 36.335 -+ tcgetattr(0, &termchild); 36.336 -+ termchild.c_lflag |= ECHO; 36.337 -+ termchild.c_oflag |= ONLCR | XTABS; 36.338 -+ termchild.c_iflag |= ICRNL; 36.339 -+ termchild.c_iflag &= ~IXOFF; 36.340 -+ tcsetattr_stdin_TCSANOW(&termchild); 36.341 -+ execl(shell, shell, "-i", (char *) NULL); 36.342 -+ bb_simple_perror_msg_and_die(shell); 36.343 -+ } 36.344 -+} 36.345 -+ 36.346 -+int vcsa2txt_main(int argc) MAIN_EXTERNALLY_VISIBLE; 36.347 -+int vcsa2txt_main(int argc) 36.348 -+{ 36.349 -+ INIT_G(); 36.350 -+ option_mask32 = FLAG(n); 36.351 -+ if (argc < 2) option_mask32 = 0; 36.352 -+ xread(0, &G.info, 4); 36.353 -+ G.size = G.info.rows * G.info.lines * 2; 36.354 -+ G.width = G.height = UINT_MAX; 36.355 -+ G.data = xzalloc(G.size); 36.356 -+ screen_read_close(); 36.357 -+ screen_dump(); 36.358 -+ bb_putchar('\n'); 36.359 -+ if (ENABLE_FEATURE_CLEAN_UP) { 36.360 -+ free(ptr_to_globals); 36.361 -+ close(G.kbd_fd); 36.362 -+ } 36.363 -+ return 0; 36.364 -+} 36.365 -+ 36.366 -+int conspy_main(int argc UNUSED_PARAM, char **argv) MAIN_EXTERNALLY_VISIBLE; 36.367 -+int conspy_main(int argc UNUSED_PARAM, char **argv) 36.368 -+{ 36.369 -+ char vcsa_name[sizeof("/dev/vcsa") + 2]; 36.370 -+ char tty_name[sizeof("/dev/tty") + 2]; 36.371 -+#define keybuf bb_common_bufsiz1 36.372 -+ struct termios termbuf; 36.373 -+ unsigned opts; 36.374 -+ unsigned ttynum; 36.375 -+ int poll_timeout_ms; 36.376 -+#if ENABLE_LONG_OPTS 36.377 -+ static const char getopt_longopts[] ALIGN1 = 36.378 -+ "viewonly\0" No_argument "v" 36.379 -+ "createdevice\0" No_argument "c" 36.380 -+ "session\0" No_argument "s" 36.381 -+ "nocolors\0" No_argument "n" 36.382 -+ "dump\0" No_argument "d" 36.383 -+ "follow\0" No_argument "f" 36.384 -+ ; 36.385 -+ 36.386 -+ applet_long_options = getopt_longopts; 36.387 -+#endif 36.388 -+ INIT_G(); 36.389 -+ 36.390 -+ opt_complementary = "x+:y+"; // numeric params 36.391 -+ opts = getopt32(argv, "vcsndfx:y:", &G.x, &G.y); 36.392 -+ argv += optind; 36.393 -+ ttynum = 0; 36.394 -+ if (argv[0]) { 36.395 -+ ttynum = xatou_range(argv[0], 0, 63); 36.396 -+ } 36.397 -+ sprintf(vcsa_name, "/dev/vcsa%u", ttynum); 36.398 -+ sprintf(tty_name, "%s%u", "/dev/tty", ttynum); 36.399 -+ if (opts & FLAG(c)) { 36.400 -+ if ((opts & (FLAG(s)|FLAG(v))) != FLAG(v)) 36.401 -+ create_cdev_if_doesnt_exist(tty_name, makedev(4, ttynum)); 36.402 -+ create_cdev_if_doesnt_exist(vcsa_name, makedev(7, 128 + ttynum)); 36.403 -+ } 36.404 -+ if ((opts & FLAG(s)) && ttynum) { 36.405 -+ start_shell_in_child(tty_name); 36.406 -+ } 36.407 -+ 36.408 -+ get_initial_data(vcsa_name); 36.409 -+ G.kbd_fd = xopen(CURRENT_TTY, O_RDONLY); 36.410 -+ if (opts & FLAG(d)) { 36.411 -+ screen_dump(); 36.412 -+ bb_putchar('\n'); 36.413 -+ if (ENABLE_FEATURE_CLEAN_UP) { 36.414 -+ free(ptr_to_globals); 36.415 -+ close(G.kbd_fd); 36.416 -+ } 36.417 -+ return 0; 36.418 -+ } 36.419 -+ 36.420 -+ bb_signals(BB_FATAL_SIGS, cleanup); 36.421 -+ // All characters must be passed through to us unaltered 36.422 -+ tcgetattr(G.kbd_fd, &G.term_orig); 36.423 -+ termbuf = G.term_orig; 36.424 -+ termbuf.c_iflag &= ~(BRKINT|INLCR|ICRNL|IXON|IXOFF|IUCLC|IXANY|IMAXBEL); 36.425 -+ termbuf.c_oflag &= ~(OPOST); 36.426 -+ termbuf.c_lflag &= ~(ISIG|ICANON|ECHO); 36.427 -+ termbuf.c_cc[VMIN] = 1; 36.428 -+ termbuf.c_cc[VTIME] = 0; 36.429 -+ tcsetattr(G.kbd_fd, TCSANOW, &termbuf); 36.430 -+ poll_timeout_ms = 250; 36.431 -+ while (1) { 36.432 -+ struct pollfd pfd; 36.433 -+ int bytes_read; 36.434 -+ int i, j; 36.435 -+ char *data, *old; 36.436 -+ 36.437 -+ old = G.data + G.current; 36.438 -+ G.current = G.size - G.current; 36.439 -+ data = G.data + G.current; 36.440 -+ 36.441 -+ // Close & re-open vcsa in case they have 36.442 -+ // swapped virtual consoles 36.443 -+ G.vcsa_fd = xopen(vcsa_name, O_RDONLY); 36.444 -+ xread(G.vcsa_fd, &G.info, 4); 36.445 -+ if (G.size != (G.info.rows * G.info.lines * 2)) { 36.446 -+ cleanup(1); 36.447 -+ } 36.448 -+ i = G.width; 36.449 -+ j = G.height; 36.450 -+ get_terminal_width_height(G.kbd_fd, &G.width, &G.height); 36.451 -+ if ((option_mask32 & FLAG(f))) { 36.452 -+ int nx = G.info.cursor_x - G.width + 1; 36.453 -+ int ny = G.info.cursor_y - G.height + 1; 36.454 -+ 36.455 -+ if (G.info.cursor_x < G.x) { 36.456 -+ G.x = G.info.cursor_x; 36.457 -+ i = 0; // force refresh 36.458 -+ } 36.459 -+ if (nx > G.x) { 36.460 -+ G.x = nx; 36.461 -+ i = 0; // force refresh 36.462 -+ } 36.463 -+ if (G.info.cursor_y < G.y) { 36.464 -+ G.y = G.info.cursor_y; 36.465 -+ i = 0; // force refresh 36.466 -+ } 36.467 -+ if (ny > G.y) { 36.468 -+ G.y = ny; 36.469 -+ i = 0; // force refresh 36.470 -+ } 36.471 -+ } 36.472 -+ 36.473 -+ // Scan console data and redraw our tty where needed 36.474 -+ screen_read_close(); 36.475 -+ if (i != G.width || j != G.height) { 36.476 -+ clrscr(); 36.477 -+ screen_dump(); 36.478 -+ } 36.479 -+ else for (i = 0; i < G.info.lines; i++) { 36.480 -+ char *last = last; 36.481 -+ char *first = NULL; 36.482 -+ int iy = i - G.y; 36.483 -+ 36.484 -+ if (iy >= (int) G.height) 36.485 -+ break; 36.486 -+ for (j = 0; j < G.info.rows; j++) { 36.487 -+ last = data; 36.488 -+ if (DATA(data) != DATA(old) && iy >= 0) { 36.489 -+ unsigned jx = j - G.x; 36.490 -+ 36.491 -+ last = NULL; 36.492 -+ if (first == NULL && jx < G.width) { 36.493 -+ first = data; 36.494 -+ gotoxy(jx, iy); 36.495 -+ } 36.496 -+ } 36.497 -+ NEXT(old); 36.498 -+ NEXT(data); 36.499 -+ } 36.500 -+ if (first == NULL) 36.501 -+ continue; 36.502 -+ if (last == NULL) 36.503 -+ last = data; 36.504 -+ 36.505 -+ // Write the data to the screen 36.506 -+ for (; first < last; NEXT(first)) 36.507 -+ screen_char(first); 36.508 -+ } 36.509 -+ curmove(); 36.510 -+ 36.511 -+ // Wait for local user keypresses 36.512 -+ pfd.fd = G.kbd_fd; 36.513 -+ pfd.events = POLLIN; 36.514 -+ bytes_read = 0; 36.515 -+ switch (poll(&pfd, 1, poll_timeout_ms)) { 36.516 -+ char *k; 36.517 -+ case -1: 36.518 -+ if (errno != EINTR) 36.519 -+ cleanup(1); 36.520 -+ break; 36.521 -+ case 0: 36.522 -+ if (++G.nokeys >= 4) 36.523 -+ G.nokeys = G.escape_count = 0; 36.524 -+ break; 36.525 -+ default: 36.526 -+ // Read the keys pressed 36.527 -+ k = keybuf + G.key_count; 36.528 -+ bytes_read = read(G.kbd_fd, k, sizeof(keybuf) - G.key_count); 36.529 -+ if (bytes_read < 0) 36.530 -+ cleanup(1); 36.531 -+ 36.532 -+ // Do exit processing 36.533 -+ for (i = 0; i < bytes_read; i++) { 36.534 -+ if (k[i] != '\033') G.escape_count = 0; 36.535 -+ else if (++G.escape_count >= 3) 36.536 -+ cleanup(0); 36.537 -+ } 36.538 -+ } 36.539 -+ poll_timeout_ms = 250; 36.540 -+ 36.541 -+ // Insert all keys pressed into the virtual console's input 36.542 -+ // buffer. Don't do this if the virtual console is in scan 36.543 -+ // code mode - giving ASCII characters to a program expecting 36.544 -+ // scan codes will confuse it. 36.545 -+ if (!(option_mask32 & FLAG(v)) && G.escape_count == 0) { 36.546 -+ int handle, result; 36.547 -+ long kbd_mode; 36.548 -+ 36.549 -+ G.key_count += bytes_read; 36.550 -+ handle = xopen(tty_name, O_WRONLY); 36.551 -+ result = ioctl(handle, KDGKBMODE, &kbd_mode); 36.552 -+ if (result == -1) 36.553 -+ /* nothing */; 36.554 -+ else if (kbd_mode != K_XLATE && kbd_mode != K_UNICODE) 36.555 -+ G.key_count = 0; // scan code mode 36.556 -+ else { 36.557 -+ for (i = 0; i < G.key_count && result != -1; i++) 36.558 -+ result = ioctl(handle, TIOCSTI, keybuf + i); 36.559 -+ G.key_count -= i; 36.560 -+ if (G.key_count) 36.561 -+ memmove(keybuf, keybuf + i, G.key_count); 36.562 -+ // If there is an application on console which reacts 36.563 -+ // to keypresses, we need to make our first sleep 36.564 -+ // shorter to quickly redraw whatever it printed there. 36.565 -+ poll_timeout_ms = 20; 36.566 -+ } 36.567 -+ // Close & re-open tty in case they have 36.568 -+ // swapped virtual consoles 36.569 -+ close(handle); 36.570 -+ 36.571 -+ // We sometimes get spurious IO errors on the TTY 36.572 -+ // as programs close and re-open it 36.573 -+ if (result != -1) 36.574 -+ G.ioerror_count = 0; 36.575 -+ else if (errno != EIO || ++G.ioerror_count > 4) 36.576 -+ cleanup(1); 36.577 -+ } 36.578 -+ } 36.579 -+}
37.1 --- a/busybox/stuff/busybox-1.16.1-zmodules.u Wed Jul 07 19:33:09 2010 +0200 37.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 37.3 @@ -1,48 +0,0 @@ 37.4 ---- busybox-1.16.1/modutils/depmod.c 37.5 -+++ busybox-1.16.1/modutils/depmod.c 37.6 -@@ -37,7 +37,10 @@ 37.7 - ARG_e = (1<<3), /* with -F, print unresolved symbols */ 37.8 - ARG_F = (1<<4), /* System.map that contains the symbols */ 37.9 - ARG_n = (1<<5), /* dry-run, print to stdout only */ 37.10 -- ARG_r = (1<<6) /* Compat dummy. Linux Makefile uses it */ 37.11 -+ ARG_r = (1<<6), /* Compat dummy. Linux Makefile uses it */ 37.12 -+ ARG_u = (1<<7), /* unresolved-error: ignored */ 37.13 -+ ARG_q = (1<<8), /* quiet: ignored */ 37.14 -+ ARG_C = (1<<9) /* config: ignored */ 37.15 - }; 37.16 - 37.17 - static int FAST_FUNC parse_module(const char *fname, struct stat *sb UNUSED_PARAM, 37.18 -@@ -143,7 +146,7 @@ 37.19 - struct utsname uts; 37.20 - int tmp; 37.21 - 37.22 -- getopt32(argv, "aAb:eF:nr", &moddir_base, NULL); 37.23 -+ getopt32(argv, "aAb:eF:nruqC:", &moddir_base, NULL); 37.24 - argv += optind; 37.25 - 37.26 - /* goto modules location */ 37.27 - 37.28 ---- busybox-1.16.1/libbb/read.c 37.29 -+++ busybox-1.16.1/libbb/read.c 37.30 -@@ -328,16 +328,18 @@ 37.31 - 37.32 - sfx = strrchr(fname, '.'); 37.33 - if (sfx) { 37.34 -- if (ENABLE_FEATURE_SEAMLESS_LZMA && strcmp(sfx, ".lzma") == 0) 37.35 -- /* .lzma has no header/signature, just trust it */ 37.36 -+ xread(fd, &magic, 2); 37.37 -+ if (ENABLE_FEATURE_SEAMLESS_LZMA && 37.38 -+ ((magic[0] == 0x5d && magic[1] == 0) || strcmp(sfx, ".lzma") == 0)) { 37.39 -+ xlseek(fd, 0, SEEK_SET); 37.40 - open_transformer(fd, unpack_lzma_stream, "unlzma"); 37.41 -+ } 37.42 - else 37.43 - if ((ENABLE_FEATURE_SEAMLESS_GZ && strcmp(sfx, ".gz") == 0) 37.44 - || (ENABLE_FEATURE_SEAMLESS_BZ2 && strcmp(sfx, ".bz2") == 0) 37.45 - ) { 37.46 - /* .gz and .bz2 both have 2-byte signature, and their 37.47 - * unpack_XXX_stream wants this header skipped. */ 37.48 -- xread(fd, &magic, 2); 37.49 - #if ENABLE_FEATURE_SEAMLESS_GZ 37.50 - #if BB_MMU 37.51 - xformer = unpack_gz_stream;
38.1 --- a/busybox/stuff/busybox-1.16.1.config Wed Jul 07 19:33:09 2010 +0200 38.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 38.3 @@ -1,923 +0,0 @@ 38.4 -# 38.5 -# Automatically generated make config: don't edit 38.6 -# Busybox version: 1.16.1 38.7 -# Fri Jun 4 16:23:33 2010 38.8 -# 38.9 -CONFIG_HAVE_DOT_CONFIG=y 38.10 - 38.11 -# 38.12 -# Busybox Settings 38.13 -# 38.14 - 38.15 -# 38.16 -# General Configuration 38.17 -# 38.18 -CONFIG_DESKTOP=y 38.19 -# CONFIG_EXTRA_COMPAT is not set 38.20 -CONFIG_INCLUDE_SUSv2=y 38.21 -# CONFIG_USE_PORTABLE_CODE is not set 38.22 -CONFIG_FEATURE_BUFFERS_USE_MALLOC=y 38.23 -# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set 38.24 -# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set 38.25 -CONFIG_SHOW_USAGE=y 38.26 -CONFIG_FEATURE_VERBOSE_USAGE=y 38.27 -CONFIG_FEATURE_COMPRESS_USAGE=y 38.28 -CONFIG_FEATURE_INSTALLER=y 38.29 -CONFIG_LOCALE_SUPPORT=y 38.30 -# CONFIG_FEATURE_ASSUME_UNICODE is not set 38.31 -# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set 38.32 -CONFIG_LONG_OPTS=y 38.33 -CONFIG_FEATURE_DEVPTS=y 38.34 -# CONFIG_FEATURE_CLEAN_UP is not set 38.35 -CONFIG_FEATURE_PIDFILE=y 38.36 -CONFIG_FEATURE_SUID=y 38.37 -CONFIG_FEATURE_SUID_CONFIG=y 38.38 -# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set 38.39 -# CONFIG_SELINUX is not set 38.40 -# CONFIG_FEATURE_PREFER_APPLETS is not set 38.41 -CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" 38.42 -CONFIG_FEATURE_SYSLOG=y 38.43 -CONFIG_FEATURE_HAVE_RPC=y 38.44 - 38.45 -# 38.46 -# Build Options 38.47 -# 38.48 -# CONFIG_STATIC is not set 38.49 -# CONFIG_PIE is not set 38.50 -# CONFIG_NOMMU is not set 38.51 -# CONFIG_BUILD_LIBBUSYBOX is not set 38.52 -# CONFIG_FEATURE_INDIVIDUAL is not set 38.53 -# CONFIG_FEATURE_SHARED_BUSYBOX is not set 38.54 -CONFIG_LFS=y 38.55 -CONFIG_CROSS_COMPILER_PREFIX="" 38.56 -CONFIG_EXTRA_CFLAGS="" 38.57 - 38.58 -# 38.59 -# Debugging Options 38.60 -# 38.61 -# CONFIG_DEBUG is not set 38.62 -# CONFIG_DEBUG_PESSIMIZE is not set 38.63 -# CONFIG_WERROR is not set 38.64 -CONFIG_NO_DEBUG_LIB=y 38.65 -# CONFIG_DMALLOC is not set 38.66 -# CONFIG_EFENCE is not set 38.67 - 38.68 -# 38.69 -# Installation Options 38.70 -# 38.71 -# CONFIG_INSTALL_NO_USR is not set 38.72 -CONFIG_INSTALL_APPLET_SYMLINKS=y 38.73 -# CONFIG_INSTALL_APPLET_HARDLINKS is not set 38.74 -# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set 38.75 -# CONFIG_INSTALL_APPLET_DONT is not set 38.76 -# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set 38.77 -# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set 38.78 -# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set 38.79 -CONFIG_PREFIX="./_install" 38.80 - 38.81 -# 38.82 -# Busybox Library Tuning 38.83 -# 38.84 -CONFIG_PASSWORD_MINLEN=6 38.85 -CONFIG_MD5_SIZE_VS_SPEED=0 38.86 -# CONFIG_FEATURE_FAST_TOP is not set 38.87 -# CONFIG_FEATURE_ETC_NETWORKS is not set 38.88 -CONFIG_FEATURE_EDITING=y 38.89 -CONFIG_FEATURE_EDITING_MAX_LEN=1024 38.90 -# CONFIG_FEATURE_EDITING_VI is not set 38.91 -CONFIG_FEATURE_EDITING_HISTORY=127 38.92 -CONFIG_FEATURE_EDITING_SAVEHISTORY=y 38.93 -CONFIG_FEATURE_TAB_COMPLETION=y 38.94 -# CONFIG_FEATURE_USERNAME_COMPLETION is not set 38.95 -CONFIG_FEATURE_EDITING_FANCY_PROMPT=y 38.96 -# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set 38.97 -CONFIG_FEATURE_NON_POSIX_CP=y 38.98 -# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set 38.99 -CONFIG_FEATURE_COPYBUF_KB=4 38.100 -CONFIG_MONOTONIC_SYSCALL=y 38.101 -CONFIG_IOCTL_HEX2STR_ERROR=y 38.102 -CONFIG_FEATURE_HWIB=y 38.103 - 38.104 -# 38.105 -# Applets 38.106 -# 38.107 - 38.108 -# 38.109 -# Archival Utilities 38.110 -# 38.111 -CONFIG_FEATURE_SEAMLESS_LZMA=y 38.112 -CONFIG_FEATURE_SEAMLESS_BZ2=y 38.113 -CONFIG_FEATURE_SEAMLESS_GZ=y 38.114 -CONFIG_FEATURE_SEAMLESS_Z=y 38.115 -CONFIG_AR=y 38.116 -# CONFIG_FEATURE_AR_LONG_FILENAMES is not set 38.117 -CONFIG_BUNZIP2=y 38.118 -# CONFIG_BZIP2 is not set 38.119 -CONFIG_CPIO=y 38.120 -CONFIG_FEATURE_CPIO_O=y 38.121 -CONFIG_FEATURE_CPIO_P=y 38.122 -CONFIG_DPKG=y 38.123 -CONFIG_DPKG_DEB=y 38.124 -CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY=y 38.125 -CONFIG_GUNZIP=y 38.126 -CONFIG_GZIP=y 38.127 -CONFIG_FEATURE_GZIP_LONG_OPTIONS=y 38.128 -# CONFIG_LZOP is not set 38.129 -# CONFIG_LZOP_COMPR_HIGH is not set 38.130 -CONFIG_RPM2CPIO=y 38.131 -CONFIG_RPM=y 38.132 -CONFIG_TAR=y 38.133 -CONFIG_FEATURE_TAR_CREATE=y 38.134 -# CONFIG_FEATURE_TAR_AUTODETECT is not set 38.135 -CONFIG_FEATURE_TAR_FROM=y 38.136 -CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y 38.137 -CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY=y 38.138 -CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y 38.139 -CONFIG_FEATURE_TAR_LONG_OPTIONS=y 38.140 -CONFIG_FEATURE_TAR_UNAME_GNAME=y 38.141 -CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y 38.142 -CONFIG_UNCOMPRESS=y 38.143 -CONFIG_UNLZMA=y 38.144 -# CONFIG_FEATURE_LZMA_FAST is not set 38.145 -CONFIG_UNZIP=y 38.146 - 38.147 -# 38.148 -# Coreutils 38.149 -# 38.150 -CONFIG_BASENAME=y 38.151 -CONFIG_CAL=y 38.152 -CONFIG_CAT=y 38.153 -# CONFIG_CATV is not set 38.154 -CONFIG_CHGRP=y 38.155 -CONFIG_CHMOD=y 38.156 -CONFIG_CHOWN=y 38.157 -CONFIG_FEATURE_CHOWN_LONG_OPTIONS=y 38.158 -CONFIG_CHROOT=y 38.159 -CONFIG_CKSUM=y 38.160 -CONFIG_COMM=y 38.161 -CONFIG_CP=y 38.162 -CONFIG_FEATURE_CP_LONG_OPTIONS=y 38.163 -CONFIG_CUT=y 38.164 -CONFIG_DATE=y 38.165 -CONFIG_FEATURE_DATE_ISOFMT=y 38.166 -CONFIG_FEATURE_DATE_COMPAT=y 38.167 -CONFIG_DD=y 38.168 -CONFIG_FEATURE_DD_SIGNAL_HANDLING=y 38.169 -# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set 38.170 -CONFIG_FEATURE_DD_IBS_OBS=y 38.171 -CONFIG_DF=y 38.172 -CONFIG_FEATURE_DF_FANCY=y 38.173 -CONFIG_DIRNAME=y 38.174 -CONFIG_DOS2UNIX=y 38.175 -CONFIG_UNIX2DOS=y 38.176 -CONFIG_DU=y 38.177 -CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y 38.178 -CONFIG_ECHO=y 38.179 -CONFIG_FEATURE_FANCY_ECHO=y 38.180 -CONFIG_ENV=y 38.181 -CONFIG_FEATURE_ENV_LONG_OPTIONS=y 38.182 -CONFIG_EXPAND=y 38.183 -CONFIG_FEATURE_EXPAND_LONG_OPTIONS=y 38.184 -CONFIG_EXPR=y 38.185 -# CONFIG_EXPR_MATH_SUPPORT_64 is not set 38.186 -CONFIG_FALSE=y 38.187 -CONFIG_FOLD=y 38.188 -CONFIG_FSYNC=y 38.189 -CONFIG_HEAD=y 38.190 -CONFIG_FEATURE_FANCY_HEAD=y 38.191 -CONFIG_HOSTID=y 38.192 -CONFIG_ID=y 38.193 -CONFIG_INSTALL=y 38.194 -CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y 38.195 -CONFIG_LENGTH=y 38.196 -CONFIG_LN=y 38.197 -CONFIG_LOGNAME=y 38.198 -CONFIG_LS=y 38.199 -CONFIG_FEATURE_LS_FILETYPES=y 38.200 -CONFIG_FEATURE_LS_FOLLOWLINKS=y 38.201 -CONFIG_FEATURE_LS_RECURSIVE=y 38.202 -CONFIG_FEATURE_LS_SORTFILES=y 38.203 -CONFIG_FEATURE_LS_TIMESTAMPS=y 38.204 -CONFIG_FEATURE_LS_USERNAME=y 38.205 -CONFIG_FEATURE_LS_COLOR=y 38.206 -CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y 38.207 -CONFIG_MD5SUM=y 38.208 -CONFIG_MKDIR=y 38.209 -CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y 38.210 -CONFIG_MKFIFO=y 38.211 -CONFIG_MKNOD=y 38.212 -CONFIG_MV=y 38.213 -CONFIG_FEATURE_MV_LONG_OPTIONS=y 38.214 -CONFIG_NICE=y 38.215 -CONFIG_NOHUP=y 38.216 -CONFIG_OD=y 38.217 -CONFIG_PRINTENV=y 38.218 -CONFIG_PRINTF=y 38.219 -CONFIG_PWD=y 38.220 -CONFIG_READLINK=y 38.221 -CONFIG_FEATURE_READLINK_FOLLOW=y 38.222 -CONFIG_REALPATH=y 38.223 -CONFIG_RM=y 38.224 -CONFIG_RMDIR=y 38.225 -CONFIG_FEATURE_RMDIR_LONG_OPTIONS=y 38.226 -CONFIG_SEQ=y 38.227 -CONFIG_SHA1SUM=y 38.228 -CONFIG_SHA256SUM=y 38.229 -# CONFIG_SHA512SUM is not set 38.230 -CONFIG_SLEEP=y 38.231 -CONFIG_FEATURE_FANCY_SLEEP=y 38.232 -# CONFIG_FEATURE_FLOAT_SLEEP is not set 38.233 -CONFIG_SORT=y 38.234 -CONFIG_FEATURE_SORT_BIG=y 38.235 -CONFIG_SPLIT=y 38.236 -CONFIG_FEATURE_SPLIT_FANCY=y 38.237 -CONFIG_STAT=y 38.238 -CONFIG_FEATURE_STAT_FORMAT=y 38.239 -CONFIG_STTY=y 38.240 -CONFIG_SUM=y 38.241 -CONFIG_SYNC=y 38.242 -CONFIG_TAC=y 38.243 -CONFIG_TAIL=y 38.244 -CONFIG_FEATURE_FANCY_TAIL=y 38.245 -CONFIG_TEE=y 38.246 -CONFIG_FEATURE_TEE_USE_BLOCK_IO=y 38.247 -CONFIG_TEST=y 38.248 -CONFIG_FEATURE_TEST_64=y 38.249 -CONFIG_TOUCH=y 38.250 -CONFIG_TR=y 38.251 -CONFIG_FEATURE_TR_CLASSES=y 38.252 -CONFIG_FEATURE_TR_EQUIV=y 38.253 -CONFIG_TRUE=y 38.254 -CONFIG_TTY=y 38.255 -CONFIG_UNAME=y 38.256 -CONFIG_UNEXPAND=y 38.257 -CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS=y 38.258 -CONFIG_UNIQ=y 38.259 -CONFIG_USLEEP=y 38.260 -CONFIG_UUDECODE=y 38.261 -CONFIG_UUENCODE=y 38.262 -CONFIG_WC=y 38.263 -CONFIG_FEATURE_WC_LARGE=y 38.264 -CONFIG_WHO=y 38.265 -CONFIG_WHOAMI=y 38.266 -CONFIG_YES=y 38.267 - 38.268 -# 38.269 -# Common options for cp and mv 38.270 -# 38.271 -CONFIG_FEATURE_PRESERVE_HARDLINKS=y 38.272 - 38.273 -# 38.274 -# Common options for ls, more and telnet 38.275 -# 38.276 -CONFIG_FEATURE_AUTOWIDTH=y 38.277 - 38.278 -# 38.279 -# Common options for df, du, ls 38.280 -# 38.281 -CONFIG_FEATURE_HUMAN_READABLE=y 38.282 - 38.283 -# 38.284 -# Common options for md5sum, sha1sum, sha256sum, sha512sum 38.285 -# 38.286 -CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y 38.287 - 38.288 -# 38.289 -# Console Utilities 38.290 -# 38.291 -CONFIG_CHVT=y 38.292 -CONFIG_CLEAR=y 38.293 -CONFIG_DEALLOCVT=y 38.294 -CONFIG_DUMPKMAP=y 38.295 -CONFIG_KBD_MODE=y 38.296 -CONFIG_LOADFONT=y 38.297 -CONFIG_LOADKMAP=y 38.298 -CONFIG_OPENVT=y 38.299 -CONFIG_RESET=y 38.300 -# CONFIG_RESIZE is not set 38.301 -# CONFIG_FEATURE_RESIZE_PRINT is not set 38.302 -CONFIG_SETCONSOLE=y 38.303 -# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set 38.304 -# CONFIG_SETFONT is not set 38.305 -# CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set 38.306 -CONFIG_DEFAULT_SETFONT_DIR="" 38.307 -CONFIG_SETKEYCODES=y 38.308 -CONFIG_SETLOGCONS=y 38.309 -# CONFIG_SHOWKEY is not set 38.310 - 38.311 -# 38.312 -# Debian Utilities 38.313 -# 38.314 -CONFIG_MKTEMP=y 38.315 -CONFIG_PIPE_PROGRESS=y 38.316 -# CONFIG_RUN_PARTS is not set 38.317 -# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set 38.318 -# CONFIG_FEATURE_RUN_PARTS_FANCY is not set 38.319 -# CONFIG_START_STOP_DAEMON is not set 38.320 -# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set 38.321 -# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set 38.322 -CONFIG_WHICH=y 38.323 - 38.324 -# 38.325 -# Editors 38.326 -# 38.327 -CONFIG_AWK=y 38.328 -CONFIG_FEATURE_AWK_LIBM=y 38.329 -CONFIG_CMP=y 38.330 -CONFIG_DIFF=y 38.331 -CONFIG_FEATURE_DIFF_LONG_OPTIONS=y 38.332 -CONFIG_FEATURE_DIFF_DIR=y 38.333 -# CONFIG_ED is not set 38.334 -CONFIG_PATCH=y 38.335 -CONFIG_SED=y 38.336 -CONFIG_VI=y 38.337 -CONFIG_FEATURE_VI_MAX_LEN=1024 38.338 -CONFIG_FEATURE_VI_8BIT=y 38.339 -CONFIG_FEATURE_VI_COLON=y 38.340 -CONFIG_FEATURE_VI_YANKMARK=y 38.341 -CONFIG_FEATURE_VI_SEARCH=y 38.342 -CONFIG_FEATURE_VI_USE_SIGNALS=y 38.343 -CONFIG_FEATURE_VI_DOT_CMD=y 38.344 -CONFIG_FEATURE_VI_READONLY=y 38.345 -CONFIG_FEATURE_VI_SETOPTS=y 38.346 -CONFIG_FEATURE_VI_SET=y 38.347 -CONFIG_FEATURE_VI_WIN_RESIZE=y 38.348 -CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y 38.349 -CONFIG_FEATURE_ALLOW_EXEC=y 38.350 - 38.351 -# 38.352 -# Finding Utilities 38.353 -# 38.354 -CONFIG_FIND=y 38.355 -CONFIG_FEATURE_FIND_PRINT0=y 38.356 -CONFIG_FEATURE_FIND_MTIME=y 38.357 -CONFIG_FEATURE_FIND_MMIN=y 38.358 -CONFIG_FEATURE_FIND_PERM=y 38.359 -CONFIG_FEATURE_FIND_TYPE=y 38.360 -CONFIG_FEATURE_FIND_XDEV=y 38.361 -CONFIG_FEATURE_FIND_MAXDEPTH=y 38.362 -CONFIG_FEATURE_FIND_NEWER=y 38.363 -CONFIG_FEATURE_FIND_INUM=y 38.364 -CONFIG_FEATURE_FIND_EXEC=y 38.365 -CONFIG_FEATURE_FIND_USER=y 38.366 -CONFIG_FEATURE_FIND_GROUP=y 38.367 -CONFIG_FEATURE_FIND_NOT=y 38.368 -CONFIG_FEATURE_FIND_DEPTH=y 38.369 -CONFIG_FEATURE_FIND_PAREN=y 38.370 -CONFIG_FEATURE_FIND_SIZE=y 38.371 -CONFIG_FEATURE_FIND_PRUNE=y 38.372 -CONFIG_FEATURE_FIND_DELETE=y 38.373 -CONFIG_FEATURE_FIND_PATH=y 38.374 -CONFIG_FEATURE_FIND_REGEX=y 38.375 -# CONFIG_FEATURE_FIND_CONTEXT is not set 38.376 -CONFIG_FEATURE_FIND_LINKS=y 38.377 -CONFIG_GREP=y 38.378 -CONFIG_FEATURE_GREP_EGREP_ALIAS=y 38.379 -CONFIG_FEATURE_GREP_FGREP_ALIAS=y 38.380 -CONFIG_FEATURE_GREP_CONTEXT=y 38.381 -CONFIG_XARGS=y 38.382 -CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y 38.383 -CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y 38.384 -CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y 38.385 -CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y 38.386 - 38.387 -# 38.388 -# Init Utilities 38.389 -# 38.390 -CONFIG_INIT=y 38.391 -CONFIG_FEATURE_USE_INITTAB=y 38.392 -CONFIG_FEATURE_KILL_REMOVED=y 38.393 -CONFIG_FEATURE_KILL_DELAY=0 38.394 -CONFIG_FEATURE_INIT_SCTTY=y 38.395 -CONFIG_FEATURE_INIT_SYSLOG=y 38.396 -CONFIG_FEATURE_EXTRA_QUIET=y 38.397 -# CONFIG_FEATURE_INIT_COREDUMPS is not set 38.398 -CONFIG_FEATURE_INITRD=y 38.399 -CONFIG_HALT=y 38.400 -# CONFIG_FEATURE_CALL_TELINIT is not set 38.401 -CONFIG_TELINIT_PATH="" 38.402 -CONFIG_MESG=y 38.403 - 38.404 -# 38.405 -# Login/Password Management Utilities 38.406 -# 38.407 -CONFIG_FEATURE_SHADOWPASSWDS=y 38.408 -# CONFIG_USE_BB_PWD_GRP is not set 38.409 -# CONFIG_USE_BB_SHADOW is not set 38.410 -CONFIG_USE_BB_CRYPT=y 38.411 -# CONFIG_USE_BB_CRYPT_SHA is not set 38.412 -CONFIG_ADDGROUP=y 38.413 -CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS=y 38.414 -CONFIG_FEATURE_ADDUSER_TO_GROUP=y 38.415 -CONFIG_DELGROUP=y 38.416 -CONFIG_FEATURE_DEL_USER_FROM_GROUP=y 38.417 -# CONFIG_FEATURE_CHECK_NAMES is not set 38.418 -CONFIG_ADDUSER=y 38.419 -CONFIG_FEATURE_ADDUSER_LONG_OPTIONS=y 38.420 -CONFIG_FIRST_SYSTEM_ID=100 38.421 -CONFIG_LAST_SYSTEM_ID=999 38.422 -CONFIG_DELUSER=y 38.423 -CONFIG_GETTY=y 38.424 -CONFIG_FEATURE_UTMP=y 38.425 -CONFIG_FEATURE_WTMP=y 38.426 -CONFIG_LOGIN=y 38.427 -# CONFIG_PAM is not set 38.428 -# CONFIG_LOGIN_SCRIPTS is not set 38.429 -CONFIG_FEATURE_NOLOGIN=y 38.430 -CONFIG_FEATURE_SECURETTY=y 38.431 -CONFIG_PASSWD=y 38.432 -CONFIG_FEATURE_PASSWD_WEAK_CHECK=y 38.433 -# CONFIG_CRYPTPW is not set 38.434 -CONFIG_CHPASSWD=y 38.435 -CONFIG_SU=y 38.436 -CONFIG_FEATURE_SU_SYSLOG=y 38.437 -CONFIG_FEATURE_SU_CHECKS_SHELLS=y 38.438 -CONFIG_SULOGIN=y 38.439 -CONFIG_VLOCK=y 38.440 - 38.441 -# 38.442 -# Linux Ext2 FS Progs 38.443 -# 38.444 -CONFIG_CHATTR=y 38.445 -CONFIG_FSCK=y 38.446 -CONFIG_LSATTR=y 38.447 - 38.448 -# 38.449 -# Linux Module Utilities 38.450 -# 38.451 -# CONFIG_MODPROBE_SMALL is not set 38.452 -# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set 38.453 -# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set 38.454 -CONFIG_INSMOD=y 38.455 -CONFIG_RMMOD=y 38.456 -CONFIG_LSMOD=y 38.457 -CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y 38.458 -CONFIG_MODPROBE=y 38.459 -CONFIG_FEATURE_MODPROBE_BLACKLIST=y 38.460 -CONFIG_DEPMOD=y 38.461 -CONFIG_MODINFO=y 38.462 - 38.463 -# 38.464 -# Options common to multiple modutils 38.465 -# 38.466 -# CONFIG_FEATURE_2_4_MODULES is not set 38.467 -# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set 38.468 -# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set 38.469 -# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set 38.470 -# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set 38.471 -# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set 38.472 -# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set 38.473 -CONFIG_FEATURE_CHECK_TAINTED_MODULE=y 38.474 -CONFIG_FEATURE_MODUTILS_ALIAS=y 38.475 -CONFIG_FEATURE_MODUTILS_SYMBOLS=y 38.476 -CONFIG_DEFAULT_MODULES_DIR="/lib/modules" 38.477 -CONFIG_DEFAULT_DEPMOD_FILE="modules.dep" 38.478 - 38.479 -# 38.480 -# Linux System Utilities 38.481 -# 38.482 -# CONFIG_ACPID is not set 38.483 -# CONFIG_FEATURE_ACPID_COMPAT is not set 38.484 -CONFIG_BLKID=y 38.485 -CONFIG_DMESG=y 38.486 -CONFIG_FEATURE_DMESG_PRETTY=y 38.487 -CONFIG_FBSET=y 38.488 -CONFIG_FEATURE_FBSET_FANCY=y 38.489 -# CONFIG_FEATURE_FBSET_READMODE is not set 38.490 -CONFIG_FDFLUSH=y 38.491 -CONFIG_FDFORMAT=y 38.492 -CONFIG_FDISK=y 38.493 -CONFIG_FDISK_SUPPORT_LARGE_DISKS=y 38.494 -CONFIG_FEATURE_FDISK_WRITABLE=y 38.495 -# CONFIG_FEATURE_AIX_LABEL is not set 38.496 -# CONFIG_FEATURE_SGI_LABEL is not set 38.497 -# CONFIG_FEATURE_SUN_LABEL is not set 38.498 -# CONFIG_FEATURE_OSF_LABEL is not set 38.499 -# CONFIG_FEATURE_FDISK_ADVANCED is not set 38.500 -CONFIG_FINDFS=y 38.501 -CONFIG_FREERAMDISK=y 38.502 -# CONFIG_FSCK_MINIX is not set 38.503 -CONFIG_MKFS_EXT2=y 38.504 -# CONFIG_MKFS_MINIX is not set 38.505 -# CONFIG_FEATURE_MINIX2 is not set 38.506 -# CONFIG_MKFS_REISER is not set 38.507 -CONFIG_MKFS_VFAT=y 38.508 -# CONFIG_GETOPT is not set 38.509 -# CONFIG_FEATURE_GETOPT_LONG is not set 38.510 -CONFIG_HEXDUMP=y 38.511 -CONFIG_FEATURE_HEXDUMP_REVERSE=y 38.512 -# CONFIG_HD is not set 38.513 -CONFIG_HWCLOCK=y 38.514 -CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y 38.515 -CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y 38.516 -CONFIG_IPCRM=y 38.517 -CONFIG_IPCS=y 38.518 -CONFIG_LOSETUP=y 38.519 -CONFIG_LSPCI=y 38.520 -CONFIG_LSUSB=y 38.521 -# CONFIG_MDEV is not set 38.522 -# CONFIG_FEATURE_MDEV_CONF is not set 38.523 -# CONFIG_FEATURE_MDEV_RENAME is not set 38.524 -# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set 38.525 -# CONFIG_FEATURE_MDEV_EXEC is not set 38.526 -# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set 38.527 -CONFIG_MKSWAP=y 38.528 -CONFIG_FEATURE_MKSWAP_UUID=y 38.529 -CONFIG_MORE=y 38.530 -CONFIG_FEATURE_USE_TERMIOS=y 38.531 -CONFIG_VOLUMEID=y 38.532 -CONFIG_FEATURE_VOLUMEID_EXT=y 38.533 -CONFIG_FEATURE_VOLUMEID_BTRFS=y 38.534 -CONFIG_FEATURE_VOLUMEID_REISERFS=y 38.535 -CONFIG_FEATURE_VOLUMEID_FAT=y 38.536 -CONFIG_FEATURE_VOLUMEID_HFS=y 38.537 -# CONFIG_FEATURE_VOLUMEID_JFS is not set 38.538 -CONFIG_FEATURE_VOLUMEID_XFS=y 38.539 -CONFIG_FEATURE_VOLUMEID_NTFS=y 38.540 -CONFIG_FEATURE_VOLUMEID_ISO9660=y 38.541 -# CONFIG_FEATURE_VOLUMEID_UDF is not set 38.542 -CONFIG_FEATURE_VOLUMEID_LUKS=y 38.543 -CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y 38.544 -# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set 38.545 -# CONFIG_FEATURE_VOLUMEID_ROMFS is not set 38.546 -# CONFIG_FEATURE_VOLUMEID_SYSV is not set 38.547 -# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set 38.548 -CONFIG_FEATURE_VOLUMEID_LINUXRAID=y 38.549 -CONFIG_MOUNT=y 38.550 -# CONFIG_FEATURE_MOUNT_FAKE is not set 38.551 -# CONFIG_FEATURE_MOUNT_VERBOSE is not set 38.552 -CONFIG_FEATURE_MOUNT_HELPERS=y 38.553 -CONFIG_FEATURE_MOUNT_LABEL=y 38.554 -CONFIG_FEATURE_MOUNT_NFS=y 38.555 -CONFIG_FEATURE_MOUNT_CIFS=y 38.556 -CONFIG_FEATURE_MOUNT_FLAGS=y 38.557 -CONFIG_FEATURE_MOUNT_FSTAB=y 38.558 -CONFIG_PIVOT_ROOT=y 38.559 -CONFIG_RDATE=y 38.560 -CONFIG_RDEV=y 38.561 -CONFIG_READPROFILE=y 38.562 -CONFIG_RTCWAKE=y 38.563 -CONFIG_SCRIPT=y 38.564 -CONFIG_SCRIPTREPLAY=y 38.565 -CONFIG_SETARCH=y 38.566 -CONFIG_SWAPONOFF=y 38.567 -CONFIG_FEATURE_SWAPON_PRI=y 38.568 -CONFIG_SWITCH_ROOT=y 38.569 -CONFIG_UMOUNT=y 38.570 -CONFIG_FEATURE_UMOUNT_ALL=y 38.571 - 38.572 -# 38.573 -# Common options for mount/umount 38.574 -# 38.575 -CONFIG_FEATURE_MOUNT_LOOP=y 38.576 -# CONFIG_FEATURE_MTAB_SUPPORT is not set 38.577 - 38.578 -# 38.579 -# Miscellaneous Utilities 38.580 -# 38.581 -CONFIG_ADJTIMEX=y 38.582 -# CONFIG_BBCONFIG is not set 38.583 -CONFIG_BEEP=y 38.584 -CONFIG_FEATURE_BEEP_FREQ=4000 38.585 -CONFIG_FEATURE_BEEP_LENGTH_MS=30 38.586 -CONFIG_CHAT=y 38.587 -CONFIG_FEATURE_CHAT_NOFAIL=y 38.588 -# CONFIG_FEATURE_CHAT_TTY_HIFI is not set 38.589 -CONFIG_FEATURE_CHAT_IMPLICIT_CR=y 38.590 -# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set 38.591 -# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set 38.592 -# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set 38.593 -# CONFIG_FEATURE_CHAT_CLR_ABORT is not set 38.594 -CONFIG_CHRT=y 38.595 -CONFIG_CROND=y 38.596 -# CONFIG_FEATURE_CROND_D is not set 38.597 -# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set 38.598 -CONFIG_FEATURE_CROND_DIR="/var/spool/cron" 38.599 -CONFIG_CRONTAB=y 38.600 -# CONFIG_DC is not set 38.601 -# CONFIG_FEATURE_DC_LIBM is not set 38.602 -# CONFIG_DEVFSD is not set 38.603 -# CONFIG_DEVFSD_MODLOAD is not set 38.604 -# CONFIG_DEVFSD_FG_NP is not set 38.605 -# CONFIG_DEVFSD_VERBOSE is not set 38.606 -# CONFIG_FEATURE_DEVFS is not set 38.607 -# CONFIG_DEVMEM is not set 38.608 -CONFIG_EJECT=y 38.609 -CONFIG_FEATURE_EJECT_SCSI=y 38.610 -# CONFIG_FBSPLASH is not set 38.611 -# CONFIG_FLASHCP is not set 38.612 -# CONFIG_FLASH_LOCK is not set 38.613 -# CONFIG_FLASH_UNLOCK is not set 38.614 -# CONFIG_FLASH_ERASEALL is not set 38.615 -CONFIG_IONICE=y 38.616 -# CONFIG_INOTIFYD is not set 38.617 -CONFIG_LAST=y 38.618 -CONFIG_FEATURE_LAST_SMALL=y 38.619 -# CONFIG_FEATURE_LAST_FANCY is not set 38.620 -CONFIG_LESS=y 38.621 -CONFIG_FEATURE_LESS_MAXLINES=9999999 38.622 -CONFIG_FEATURE_LESS_BRACKETS=y 38.623 -CONFIG_FEATURE_LESS_FLAGS=y 38.624 -CONFIG_FEATURE_LESS_MARKS=y 38.625 -CONFIG_FEATURE_LESS_REGEXP=y 38.626 -# CONFIG_FEATURE_LESS_WINCH is not set 38.627 -# CONFIG_FEATURE_LESS_DASHCMD is not set 38.628 -# CONFIG_FEATURE_LESS_LINENUMS is not set 38.629 -CONFIG_HDPARM=y 38.630 -CONFIG_FEATURE_HDPARM_GET_IDENTITY=y 38.631 -# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set 38.632 -# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set 38.633 -# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set 38.634 -# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set 38.635 -CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y 38.636 -# CONFIG_MAKEDEVS is not set 38.637 -# CONFIG_FEATURE_MAKEDEVS_LEAF is not set 38.638 -# CONFIG_FEATURE_MAKEDEVS_TABLE is not set 38.639 -# CONFIG_MAN is not set 38.640 -CONFIG_MICROCOM=y 38.641 -CONFIG_MOUNTPOINT=y 38.642 -# CONFIG_MT is not set 38.643 -CONFIG_RAIDAUTORUN=y 38.644 -# CONFIG_READAHEAD is not set 38.645 -# CONFIG_RUNLEVEL is not set 38.646 -# CONFIG_RX is not set 38.647 -CONFIG_SETSID=y 38.648 -CONFIG_STRINGS=y 38.649 -CONFIG_TASKSET=y 38.650 -CONFIG_FEATURE_TASKSET_FANCY=y 38.651 -CONFIG_TIME=y 38.652 -CONFIG_TIMEOUT=y 38.653 -# CONFIG_TTYSIZE is not set 38.654 -# CONFIG_VOLNAME is not set 38.655 -CONFIG_WALL=y 38.656 -CONFIG_VCSA2TXT=y 38.657 -CONFIG_WATCHDOG=y 38.658 - 38.659 -# 38.660 -# Networking Utilities 38.661 -# 38.662 -CONFIG_FEATURE_IPV6=y 38.663 -# CONFIG_FEATURE_UNIX_LOCAL is not set 38.664 -CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y 38.665 -# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set 38.666 -CONFIG_ARP=y 38.667 -CONFIG_ARPING=y 38.668 -CONFIG_BRCTL=y 38.669 -CONFIG_FEATURE_BRCTL_FANCY=y 38.670 -# CONFIG_FEATURE_BRCTL_SHOW is not set 38.671 -CONFIG_DNSD=y 38.672 -CONFIG_ETHER_WAKE=y 38.673 -CONFIG_FAKEIDENTD=y 38.674 -# CONFIG_FTPD is not set 38.675 -# CONFIG_FEATURE_FTP_WRITE is not set 38.676 -# CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST is not set 38.677 -CONFIG_FTPGET=y 38.678 -CONFIG_FTPPUT=y 38.679 -CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y 38.680 -CONFIG_HOSTNAME=y 38.681 -CONFIG_HTTPD=y 38.682 -CONFIG_FEATURE_HTTPD_RANGES=y 38.683 -# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set 38.684 -CONFIG_FEATURE_HTTPD_SETUID=y 38.685 -CONFIG_FEATURE_HTTPD_BASIC_AUTH=y 38.686 -CONFIG_FEATURE_HTTPD_AUTH_MD5=y 38.687 -CONFIG_FEATURE_HTTPD_CGI=y 38.688 -CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR=y 38.689 -CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV=y 38.690 -CONFIG_FEATURE_HTTPD_ENCODE_URL_STR=y 38.691 -CONFIG_FEATURE_HTTPD_ERROR_PAGES=y 38.692 -CONFIG_FEATURE_HTTPD_PROXY=y 38.693 -CONFIG_IFCONFIG=y 38.694 -CONFIG_FEATURE_IFCONFIG_STATUS=y 38.695 -# CONFIG_FEATURE_IFCONFIG_SLIP is not set 38.696 -CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y 38.697 -CONFIG_FEATURE_IFCONFIG_HW=y 38.698 -CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y 38.699 -CONFIG_IFENSLAVE=y 38.700 -# CONFIG_IFPLUGD is not set 38.701 -# CONFIG_IFUPDOWN is not set 38.702 -CONFIG_IFUPDOWN_IFSTATE_PATH="" 38.703 -# CONFIG_FEATURE_IFUPDOWN_IP is not set 38.704 -# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set 38.705 -# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set 38.706 -# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set 38.707 -# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set 38.708 -# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set 38.709 -# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set 38.710 -CONFIG_INETD=y 38.711 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y 38.712 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y 38.713 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y 38.714 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y 38.715 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y 38.716 -CONFIG_FEATURE_INETD_RPC=y 38.717 -CONFIG_IP=y 38.718 -CONFIG_FEATURE_IP_ADDRESS=y 38.719 -CONFIG_FEATURE_IP_LINK=y 38.720 -CONFIG_FEATURE_IP_ROUTE=y 38.721 -CONFIG_FEATURE_IP_TUNNEL=y 38.722 -CONFIG_FEATURE_IP_RULE=y 38.723 -CONFIG_FEATURE_IP_SHORT_FORMS=y 38.724 -# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set 38.725 -CONFIG_IPADDR=y 38.726 -CONFIG_IPLINK=y 38.727 -CONFIG_IPROUTE=y 38.728 -CONFIG_IPTUNNEL=y 38.729 -CONFIG_IPRULE=y 38.730 -CONFIG_IPCALC=y 38.731 -CONFIG_FEATURE_IPCALC_FANCY=y 38.732 -CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y 38.733 -CONFIG_NAMEIF=y 38.734 -# CONFIG_FEATURE_NAMEIF_EXTENDED is not set 38.735 -CONFIG_NC=y 38.736 -CONFIG_NC_SERVER=y 38.737 -CONFIG_NC_EXTRA=y 38.738 -CONFIG_NETSTAT=y 38.739 -CONFIG_FEATURE_NETSTAT_WIDE=y 38.740 -CONFIG_FEATURE_NETSTAT_PRG=y 38.741 -CONFIG_NSLOOKUP=y 38.742 -CONFIG_NTPD=y 38.743 -CONFIG_FEATURE_NTPD_SERVER=y 38.744 -CONFIG_PING=y 38.745 -CONFIG_PING6=y 38.746 -CONFIG_FEATURE_FANCY_PING=y 38.747 -CONFIG_PSCAN=y 38.748 -CONFIG_ROUTE=y 38.749 -# CONFIG_SLATTACH is not set 38.750 -CONFIG_TELNET=y 38.751 -CONFIG_FEATURE_TELNET_TTYPE=y 38.752 -CONFIG_FEATURE_TELNET_AUTOLOGIN=y 38.753 -# CONFIG_TELNETD is not set 38.754 -# CONFIG_FEATURE_TELNETD_STANDALONE is not set 38.755 -# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set 38.756 -CONFIG_TFTP=y 38.757 -CONFIG_TFTPD=y 38.758 -CONFIG_FEATURE_TFTPD_RIS=y 38.759 -CONFIG_FEATURE_TFTP_GET=y 38.760 -CONFIG_FEATURE_TFTP_PUT=y 38.761 -CONFIG_FEATURE_TFTP_BLOCKSIZE=y 38.762 -# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set 38.763 -# CONFIG_TFTP_DEBUG is not set 38.764 -CONFIG_TRACEROUTE=y 38.765 -# CONFIG_TRACEROUTE6 is not set 38.766 -CONFIG_FEATURE_TRACEROUTE_VERBOSE=y 38.767 -CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE=y 38.768 -# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set 38.769 -CONFIG_UDHCPD=y 38.770 -CONFIG_DHCPRELAY=y 38.771 -CONFIG_DUMPLEASES=y 38.772 -CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY=y 38.773 -CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases" 38.774 -CONFIG_UDHCPC=y 38.775 -CONFIG_FEATURE_UDHCPC_ARPING=y 38.776 -# CONFIG_FEATURE_UDHCP_PORT is not set 38.777 -CONFIG_UDHCP_DEBUG=0 38.778 -# CONFIG_FEATURE_UDHCP_RFC3397 is not set 38.779 -CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" 38.780 -CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 38.781 -CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="" 38.782 -CONFIG_VCONFIG=y 38.783 -CONFIG_WGET=y 38.784 -CONFIG_FEATURE_WGET_STATUSBAR=y 38.785 -CONFIG_FEATURE_WGET_AUTHENTICATION=y 38.786 -CONFIG_FEATURE_WGET_LONG_OPTIONS=y 38.787 -CONFIG_ZCIP=y 38.788 -# CONFIG_TCPSVD is not set 38.789 -CONFIG_TUNCTL=y 38.790 -# CONFIG_FEATURE_TUNCTL_UG is not set 38.791 -# CONFIG_UDPSVD is not set 38.792 - 38.793 -# 38.794 -# Print Utilities 38.795 -# 38.796 -# CONFIG_LPD is not set 38.797 -CONFIG_LPR=y 38.798 -# CONFIG_LPQ is not set 38.799 - 38.800 -# 38.801 -# Mail Utilities 38.802 -# 38.803 -# CONFIG_MAKEMIME is not set 38.804 -CONFIG_FEATURE_MIME_CHARSET="us-ascii" 38.805 -# CONFIG_POPMAILDIR is not set 38.806 -# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set 38.807 -# CONFIG_REFORMIME is not set 38.808 -# CONFIG_FEATURE_REFORMIME_COMPAT is not set 38.809 -CONFIG_SENDMAIL=y 38.810 - 38.811 -# 38.812 -# Process Utilities 38.813 -# 38.814 -CONFIG_FREE=y 38.815 -CONFIG_FUSER=y 38.816 -CONFIG_KILL=y 38.817 -CONFIG_KILLALL=y 38.818 -CONFIG_KILLALL5=y 38.819 -CONFIG_NMETER=y 38.820 -CONFIG_PGREP=y 38.821 -CONFIG_PIDOF=y 38.822 -CONFIG_FEATURE_PIDOF_SINGLE=y 38.823 -CONFIG_FEATURE_PIDOF_OMIT=y 38.824 -CONFIG_PKILL=y 38.825 -CONFIG_PS=y 38.826 -CONFIG_FEATURE_PS_WIDE=y 38.827 -CONFIG_FEATURE_PS_TIME=y 38.828 -CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS=y 38.829 -# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set 38.830 -CONFIG_RENICE=y 38.831 -CONFIG_BB_SYSCTL=y 38.832 -CONFIG_TOP=y 38.833 -CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y 38.834 -CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y 38.835 -CONFIG_FEATURE_TOP_SMP_CPU=y 38.836 -CONFIG_FEATURE_TOP_DECIMALS=y 38.837 -CONFIG_FEATURE_TOP_SMP_PROCESS=y 38.838 -CONFIG_FEATURE_TOPMEM=y 38.839 -CONFIG_FEATURE_SHOW_THREADS=y 38.840 -CONFIG_UPTIME=y 38.841 -CONFIG_WATCH=y 38.842 - 38.843 -# 38.844 -# Runit Utilities 38.845 -# 38.846 -# CONFIG_RUNSV is not set 38.847 -# CONFIG_RUNSVDIR is not set 38.848 -# CONFIG_FEATURE_RUNSVDIR_LOG is not set 38.849 -# CONFIG_SV is not set 38.850 -CONFIG_SV_DEFAULT_SERVICE_DIR="" 38.851 -# CONFIG_SVLOGD is not set 38.852 -# CONFIG_CHPST is not set 38.853 -# CONFIG_SETUIDGID is not set 38.854 -# CONFIG_ENVUIDGID is not set 38.855 -# CONFIG_ENVDIR is not set 38.856 -# CONFIG_SOFTLIMIT is not set 38.857 -# CONFIG_CHCON is not set 38.858 -# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set 38.859 -# CONFIG_GETENFORCE is not set 38.860 -# CONFIG_GETSEBOOL is not set 38.861 -# CONFIG_LOAD_POLICY is not set 38.862 -# CONFIG_MATCHPATHCON is not set 38.863 -# CONFIG_RESTORECON is not set 38.864 -# CONFIG_RUNCON is not set 38.865 -# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set 38.866 -# CONFIG_SELINUXENABLED is not set 38.867 -# CONFIG_SETENFORCE is not set 38.868 -# CONFIG_SETFILES is not set 38.869 -# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set 38.870 -# CONFIG_SETSEBOOL is not set 38.871 -# CONFIG_SESTATUS is not set 38.872 - 38.873 -# 38.874 -# Shells 38.875 -# 38.876 -CONFIG_FEATURE_SH_IS_ASH=y 38.877 -# CONFIG_FEATURE_SH_IS_HUSH is not set 38.878 -# CONFIG_FEATURE_SH_IS_NONE is not set 38.879 -CONFIG_ASH=y 38.880 -CONFIG_ASH_BASH_COMPAT=y 38.881 -CONFIG_ASH_JOB_CONTROL=y 38.882 -CONFIG_ASH_ALIAS=y 38.883 -CONFIG_ASH_GETOPTS=y 38.884 -CONFIG_ASH_BUILTIN_ECHO=y 38.885 -CONFIG_ASH_BUILTIN_PRINTF=y 38.886 -CONFIG_ASH_BUILTIN_TEST=y 38.887 -CONFIG_ASH_CMDCMD=y 38.888 -# CONFIG_ASH_MAIL is not set 38.889 -CONFIG_ASH_OPTIMIZE_FOR_SIZE=y 38.890 -CONFIG_ASH_RANDOM_SUPPORT=y 38.891 -# CONFIG_ASH_EXPAND_PRMT is not set 38.892 -# CONFIG_HUSH is not set 38.893 -# CONFIG_HUSH_BASH_COMPAT is not set 38.894 -# CONFIG_HUSH_HELP is not set 38.895 -# CONFIG_HUSH_INTERACTIVE is not set 38.896 -# CONFIG_HUSH_JOB is not set 38.897 -# CONFIG_HUSH_TICK is not set 38.898 -# CONFIG_HUSH_IF is not set 38.899 -# CONFIG_HUSH_LOOPS is not set 38.900 -# CONFIG_HUSH_CASE is not set 38.901 -# CONFIG_HUSH_FUNCTIONS is not set 38.902 -# CONFIG_HUSH_LOCAL is not set 38.903 -# CONFIG_HUSH_EXPORT_N is not set 38.904 -# CONFIG_HUSH_RANDOM_SUPPORT is not set 38.905 -# CONFIG_LASH is not set 38.906 -# CONFIG_MSH is not set 38.907 -CONFIG_SH_MATH_SUPPORT=y 38.908 -# CONFIG_SH_MATH_SUPPORT_64 is not set 38.909 -CONFIG_FEATURE_SH_EXTRA_QUIET=y 38.910 -# CONFIG_FEATURE_SH_STANDALONE is not set 38.911 -# CONFIG_FEATURE_SH_NOFORK is not set 38.912 -# CONFIG_CTTYHACK is not set 38.913 - 38.914 -# 38.915 -# System Logging Utilities 38.916 -# 38.917 -CONFIG_SYSLOGD=y 38.918 -CONFIG_FEATURE_ROTATE_LOGFILE=y 38.919 -CONFIG_FEATURE_REMOTE_LOG=y 38.920 -CONFIG_FEATURE_SYSLOGD_DUP=y 38.921 -# CONFIG_FEATURE_IPC_SYSLOG is not set 38.922 -CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0 38.923 -# CONFIG_LOGREAD is not set 38.924 -# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set 38.925 -CONFIG_KLOGD=y 38.926 -CONFIG_LOGGER=y
39.1 --- a/busybox/stuff/busybox-1.17.0-cpio-mkdir.u Wed Jul 07 19:33:09 2010 +0200 39.2 +++ b/busybox/stuff/busybox-1.17.0-cpio-mkdir.u Wed Jul 07 20:55:53 2010 +0200 39.3 @@ -1,5 +1,6 @@ 39.4 ---- busybox-1.16.1/archival/libunarchive/data_extract_all.c 39.5 -+++ busybox-1.16.1/archival/libunarchive/data_extract_all.c 39.6 +FIXME: Add test case !! 39.7 +--- busybox-1.17.0/archival/libunarchive/data_extract_all.c 39.8 ++++ busybox-1.17.0/archival/libunarchive/data_extract_all.c 39.9 @@ -69,7 +69,8 @@ 39.10 } 39.11 }
40.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 40.2 +++ b/busybox/stuff/busybox-1.17.0-depmod.u Wed Jul 07 20:55:53 2010 +0200 40.3 @@ -0,0 +1,25 @@ 40.4 +Accept and ignore: --unresolved-error, --quiet, --config somefile 40.5 +--- busybox-1.17.0/modutils/depmod.c 40.6 ++++ busybox-1.17.0/modutils/depmod.c 40.7 +@@ -35,7 +35,10 @@ 40.8 + ARG_e = (1<<3), /* with -F, print unresolved symbols */ 40.9 + ARG_F = (1<<4), /* System.map that contains the symbols */ 40.10 + ARG_n = (1<<5), /* dry-run, print to stdout only */ 40.11 +- ARG_r = (1<<6) /* Compat dummy. Linux Makefile uses it */ 40.12 ++ ARG_r = (1<<6), /* Compat dummy. Linux Makefile uses it */ 40.13 ++ ARG_u = (1<<7), /* unresolved-error: ignored */ 40.14 ++ ARG_q = (1<<8), /* quiet: ignored */ 40.15 ++ ARG_C = (1<<9) /* config: ignored */ 40.16 + }; 40.17 + 40.18 + static int FAST_FUNC parse_module(const char *fname, struct stat *sb UNUSED_PARAM, 40.19 +@@ -143,7 +146,7 @@ 40.20 + struct utsname uts; 40.21 + int tmp; 40.22 + 40.23 +- getopt32(argv, "aAb:eF:nr", &moddir_base, NULL); 40.24 ++ getopt32(argv, "aAb:eF:nruqC:", &moddir_base, NULL, NULL); 40.25 + argv += optind; 40.26 + 40.27 + /* goto modules location */ 40.28 +
41.1 --- a/busybox/stuff/busybox-1.17.0-ris.u Wed Jul 07 19:33:09 2010 +0200 41.2 +++ b/busybox/stuff/busybox-1.17.0-ris.u Wed Jul 07 20:55:53 2010 +0200 41.3 @@ -1,3 +1,4 @@ 41.4 +Add support for the Windows Remote Installation Service 41.5 --- busybox-1.17.0/networking/Config.src 41.6 +++ busybox-1.17.0/networking/Config.src 41.7 @@ -841,6 +841,15 @@ 41.8 @@ -9,7 +10,7 @@ 41.9 + default y 41.10 + depends on TFTPD 41.11 + help 41.12 -+ Add support for the Remote Installation Service. This allows 41.13 ++ Add support for the Windows Remote Installation Service. This allows 41.14 + a client to get files starting with \ without respecting case. 41.15 + Each \ will be replaced by a /. 41.16 + 41.17 @@ -19,63 +20,59 @@ 41.18 41.19 --- busybox-1.17.0/networking/tftp.c 41.20 +++ busybox-1.17.0/networking/tftp.c 41.21 -@@ -656,6 +656,63 @@ 41.22 +@@ -656,6 +656,59 @@ 41.23 #undef remote_file 41.24 } 41.25 41.26 +#if ENABLE_FEATURE_TFTPD_RIS 41.27 +#include <dirent.h> 41.28 + 41.29 -+int lookup_entry(const char *comp, char *dest); 41.30 -+void lookup_file(char *filename); 41.31 ++static int lookup_entry(const char *search, char *unixpath); 41.32 ++static void unixfilename(char *filename); 41.33 + 41.34 -+int lookup_entry(const char *comp, char *dest) 41.35 ++// lookup search and concat real filename to unixpath 41.36 ++static int lookup_entry(const char *search, char *unixpath) 41.37 +{ 41.38 -+ DIR *dirp; 41.39 -+ struct dirent *dptr; 41.40 -+ if (!dest) return 0; 41.41 -+ dirp = opendir(dest[0] ? dest : "."); 41.42 -+ while ((dptr = readdir(dirp))) { 41.43 -+ if (!strcasecmp(dptr->d_name, comp)) { 41.44 -+ if (dest[0]) strcat(dest, "/"); 41.45 -+ strcat(dest, dptr->d_name); 41.46 -+ closedir(dirp); 41.47 -+ return 1; 41.48 ++ int status = 0; 41.49 ++ DIR *dirp = opendir(unixpath[0] ? unixpath : "."); 41.50 ++ 41.51 ++ if (dirp != NULL) { 41.52 ++ struct dirent *entry; 41.53 ++ 41.54 ++ while ((entry = readdir(dirp))) { 41.55 ++ if (!strcasecmp(entry->d_name, search)) { 41.56 ++ if (unixpath[0]) strcat(unixpath, "/"); 41.57 ++ strcat(unixpath, entry->d_name); 41.58 ++ status++; 41.59 ++ break; 41.60 ++ } 41.61 + } 41.62 -+ } 41.63 -+ closedir(dirp); 41.64 -+ return 0; 41.65 ++ closedir(dirp); 41.66 ++ } 41.67 ++ return status; 41.68 +} 41.69 + 41.70 -+void lookup_file(char *filename) 41.71 ++// update filename with real file path found 41.72 ++static void unixfilename(char *filename) 41.73 +{ 41.74 -+ int found = 0; 41.75 -+ int len = 0; 41.76 -+ char dest[1024]; 41.77 -+ char comp[1024]; 41.78 -+ char *check = filename; 41.79 -+ char *seek = NULL; 41.80 ++ char unixpath[PATH_MAX]; 41.81 ++ char *s = unixpath + 1; 41.82 ++ char *check = filename + 1; 41.83 ++ int len; 41.84 + 41.85 -+ dest[0] = 0; 41.86 -+ check++; 41.87 -+ while (*check) { 41.88 -+ seek = strchr(check, '\\'); 41.89 -+ if (!seek) { 41.90 -+ if ((*check) && (lookup_entry(check, dest))) 41.91 -+ found = 1; 41.92 ++ for (unixpath[0] = 0; *check; len++, s += len, check += len) { 41.93 ++ char *seek = strchr(check, '\\'); 41.94 ++ 41.95 ++ if (!seek) { // basename of filename 41.96 ++ if (lookup_entry(check, unixpath)) 41.97 ++ strcpy(filename, unixpath); // found 41.98 + break; 41.99 + } 41.100 + len = seek - check; 41.101 -+ memcpy(comp, check, len); 41.102 -+ comp[len]=0; 41.103 -+ if (!lookup_entry(comp, dest)) 41.104 -+ break; 41.105 -+ check += len + 1; 41.106 -+ } 41.107 -+ 41.108 -+ if (found) { 41.109 -+ filename[0] = 0; 41.110 -+ strcat(filename, dest); 41.111 ++ memcpy(s, check, len); 41.112 ++ s[len] = '\0'; 41.113 ++ if (!lookup_entry(s, unixpath)) 41.114 ++ break; // path mismatch 41.115 + } 41.116 +} 41.117 +#endif 41.118 @@ -83,14 +80,13 @@ 41.119 #if ENABLE_TFTP 41.120 41.121 int tftp_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; 41.122 -@@ -785,6 +842,11 @@ 41.123 +@@ -785,6 +838,10 @@ 41.124 goto err; 41.125 } 41.126 local_file = block_buf + 2; 41.127 +#if ENABLE_FEATURE_TFTPD_RIS 41.128 -+ if (local_file[0] == '\\') { 41.129 -+ lookup_file(local_file); 41.130 -+ } 41.131 ++ if (local_file[0] == '\\') 41.132 ++ unixfilename(local_file); 41.133 +#endif 41.134 if (local_file[0] == '.' || strstr(local_file, "/.")) { 41.135 error_msg = "dot in file name";
42.1 --- a/busybox/stuff/busybox-1.17.0-stat.u Wed Jul 07 19:33:09 2010 +0200 42.2 +++ b/busybox/stuff/busybox-1.17.0-stat.u Wed Jul 07 20:55:53 2010 +0200 42.3 @@ -1,3 +1,5 @@ 42.4 +Add non standard stat -m support to display file block list 42.5 +Useful to patch read-only filesystems such as ISO9660 42.6 --- busybox-1.17.0/include/usage.src.h 42.7 +++ busybox-1.17.0/include/usage.src.h 42.8 @@ -3979,6 +3979,7 @@
43.1 --- a/busybox/stuff/busybox-1.17.0-tar.u Wed Jul 07 19:33:09 2010 +0200 43.2 +++ b/busybox/stuff/busybox-1.17.0-tar.u Wed Jul 07 20:55:53 2010 +0200 43.3 @@ -1,9 +1,12 @@ 43.4 -Accept --wildcards argument 43.5 +Accept and ignore --wildcards argument 43.6 --- busybox-1.17.0/archival/tar.c 43.7 +++ busybox-1.17.0/archival/tar.c 43.8 -@@ -843,6 +843,8 @@ 43.9 +@@ -841,8 +841,10 @@ 43.10 + "touch\0" No_argument "m" 43.11 + # endif 43.12 # if ENABLE_FEATURE_TAR_TO_COMMAND 43.13 - "to-command\0" Required_argument "\xfb" 43.14 +- "to-command\0" Required_argument "\xfb" 43.15 ++ "to-command\0" Required_argument "\xfa" 43.16 # endif 43.17 + /* ignore --wildcards */ 43.18 + "wildcards\0" No_argument "\xfb"
44.1 --- a/busybox/stuff/busybox-1.17.0-zmodules.u Wed Jul 07 19:33:09 2010 +0200 44.2 +++ b/busybox/stuff/busybox-1.17.0-zmodules.u Wed Jul 07 20:55:53 2010 +0200 44.3 @@ -1,45 +1,41 @@ 44.4 ---- busybox-1.17.0/modutils/depmod.c 44.5 -+++ busybox-1.17.0/modutils/depmod.c 44.6 -@@ -35,7 +35,10 @@ 44.7 - ARG_e = (1<<3), /* with -F, print unresolved symbols */ 44.8 - ARG_F = (1<<4), /* System.map that contains the symbols */ 44.9 - ARG_n = (1<<5), /* dry-run, print to stdout only */ 44.10 -- ARG_r = (1<<6) /* Compat dummy. Linux Makefile uses it */ 44.11 -+ ARG_r = (1<<6), /* Compat dummy. Linux Makefile uses it */ 44.12 -+ ARG_u = (1<<7), /* unresolved-error: ignored */ 44.13 -+ ARG_q = (1<<8), /* quiet: ignored */ 44.14 -+ ARG_C = (1<<9) /* config: ignored */ 44.15 - }; 44.16 - 44.17 - static int FAST_FUNC parse_module(const char *fname, struct stat *sb UNUSED_PARAM, 44.18 -@@ -143,7 +146,7 @@ 44.19 - struct utsname uts; 44.20 - int tmp; 44.21 - 44.22 -- getopt32(argv, "aAb:eF:nr", &moddir_base, NULL); 44.23 -+ getopt32(argv, "aAb:eF:nruqC:", &moddir_base, NULL); 44.24 - argv += optind; 44.25 - 44.26 - /* goto modules location */ 44.27 +Add LZMA_DEFAULT_MAGIC support 44.28 +--- busybox-1.17.0/include/unarchive.h 44.29 ++++ busybox-1.17.0/include/unarchive.h 44.30 +@@ -9,6 +9,8 @@ 44.31 + COMPRESS_MAGIC = 0x1f9d, 44.32 + GZIP_MAGIC = 0x1f8b, 44.33 + BZIP2_MAGIC = 'B' * 256 + 'Z', 44.34 ++ /* lzma default options: lc=3 lp=0 pb=2, historic % 256 == 0 */ 44.35 ++ LZMA_DEFAULT_MAGIC = 0x5d00, 44.36 + /* .xz signature: 0xfd, '7', 'z', 'X', 'Z', 0x00 */ 44.37 + /* More info at: http://tukaani.org/xz/xz-file-format.txt */ 44.38 + XZ_MAGIC1 = 0xfd * 256 + '7', 44.39 +@@ -20,6 +22,8 @@ 44.40 + COMPRESS_MAGIC = 0x9d1f, 44.41 + GZIP_MAGIC = 0x8b1f, 44.42 + BZIP2_MAGIC = 'Z' * 256 + 'B', 44.43 ++ /* lzma default options: lc=3 lp=0 pb=2, historic % 256 == 0 */ 44.44 ++ LZMA_DEFAULT_MAGIC = 0x5d, 44.45 + XZ_MAGIC1 = '7' * 256 + 0xfd, 44.46 + XZ_MAGIC2 = ((0 * 256 + 'Z') * 256 + 'X') * 256 + 'z', 44.47 + XZ_MAGIC1a = (('X' * 256 + 'z') * 256 + '7') * 256 + 0xfd, 44.48 44.49 --- busybox-1.17.0/libbb/read_printf.c 44.50 +++ busybox-1.17.0/libbb/read_printf.c 44.51 -@@ -337,10 +337,16 @@ 44.52 - 44.53 - sfx = strrchr(fname, '.'); 44.54 - if (sfx) { 44.55 -+ char magic[2]; 44.56 -+ 44.57 - sfx++; 44.58 -- if (ENABLE_FEATURE_SEAMLESS_LZMA && strcmp(sfx, "lzma") == 0) 44.59 -- /* .lzma has no header/signature, just trust it */ 44.60 -+ xread(fd, &magic, 2); 44.61 -+ xlseek(fd, 0, SEEK_SET); 44.62 -+ if (ENABLE_FEATURE_SEAMLESS_LZMA 44.63 -+ && ((magic[0] == 0x5d && magic[1] == 0) 44.64 -+ || strcmp(sfx, ".lzma") == 0)) { 44.65 - open_transformer(fd, unpack_lzma_stream, "unlzma"); 44.66 -+ } 44.67 - else 44.68 - if ((ENABLE_FEATURE_SEAMLESS_GZ && strcmp(sfx, "gz") == 0) 44.69 - || (ENABLE_FEATURE_SEAMLESS_BZ2 && strcmp(sfx, "bz2") == 0) 44.70 +@@ -286,6 +286,16 @@ 44.71 + # endif 44.72 + goto found_magic; 44.73 + } 44.74 ++ if (ENABLE_FEATURE_SEAMLESS_LZMA 44.75 ++ && magic.b16[0] == LZMA_DEFAULT_MAGIC 44.76 ++ ) { 44.77 ++# if BB_MMU 44.78 ++ xformer = unpack_lzma_stream; 44.79 ++# else 44.80 ++ xformer_prog = "unlzma"; 44.81 ++# endif 44.82 ++ goto found_magic; 44.83 ++ } 44.84 + if (ENABLE_FEATURE_SEAMLESS_XZ 44.85 + && magic.b16[0] == XZ_MAGIC1 44.86 + ) {
45.1 --- a/busybox/stuff/udhcp.script Wed Jul 07 19:33:09 2010 +0200 45.2 +++ b/busybox/stuff/udhcp.script Wed Jul 07 20:55:53 2010 +0200 45.3 @@ -4,6 +4,7 @@ 45.4 45.5 [ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1 45.6 45.7 +[ "$subnet" == "255.255.255.255" ] && subnet="255.255.0.0" # qemu weirdness 45.8 RESOLV_CONF="/etc/resolv.conf" 45.9 [ -n "$broadcast" ] && BROADCAST="broadcast $broadcast" 45.10 [ -n "$subnet" ] && NETMASK="netmask $subnet"