wok-6.x rev 3196
busybox/su: fix environment
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Wed May 27 18:15:16 2009 +0200 (2009-05-27) |
parents | 77070ef5bae8 |
children | ba5bb45bb8fa |
files | busybox/receipt busybox/stuff/busybox-1.10.0-cpio-mkdir.u busybox/stuff/busybox-1.10.0-cpio.u busybox/stuff/busybox-1.10.0-dhcpc.u busybox/stuff/busybox-1.10.0-patch.u busybox/stuff/busybox-1.10.0-vcsa2txt.u busybox/stuff/busybox-1.10.0.config busybox/stuff/busybox-1.10.1-cpio-mkdir.u busybox/stuff/busybox-1.10.1-cpio-mtime.u busybox/stuff/busybox-1.10.1-cpio.u busybox/stuff/busybox-1.10.1-dhcpc.u busybox/stuff/busybox-1.10.1-fixes-1.10.1.u busybox/stuff/busybox-1.10.1-header_tar.u busybox/stuff/busybox-1.10.1-patch.u busybox/stuff/busybox-1.10.1-script.u busybox/stuff/busybox-1.10.1-stat.u busybox/stuff/busybox-1.10.1-tar.u busybox/stuff/busybox-1.10.1-tftp.u busybox/stuff/busybox-1.10.1-unlzma.u busybox/stuff/busybox-1.10.1-vcsa2txt.u busybox/stuff/busybox-1.10.1.config busybox/stuff/busybox-1.10.3-cpio-mkdir.u busybox/stuff/busybox-1.10.3-cpio-mtime.u busybox/stuff/busybox-1.10.3-cpio.u busybox/stuff/busybox-1.10.3-dhcpc.u busybox/stuff/busybox-1.10.3-header_tar.u busybox/stuff/busybox-1.10.3-patch.u busybox/stuff/busybox-1.10.3-script.u busybox/stuff/busybox-1.10.3-stat.u busybox/stuff/busybox-1.10.3-syslogd.u busybox/stuff/busybox-1.10.3-tar.u busybox/stuff/busybox-1.10.3-tftp.u busybox/stuff/busybox-1.10.3-unlzma.u busybox/stuff/busybox-1.10.3-vcsa2txt.u busybox/stuff/busybox-1.10.3.config busybox/stuff/busybox-1.11.0-cpio-mkdir.u busybox/stuff/busybox-1.11.0-cpio-mtime.u busybox/stuff/busybox-1.11.0-stat.u busybox/stuff/busybox-1.11.0-unlzma.u busybox/stuff/busybox-1.11.0-vcsa2txt.u busybox/stuff/busybox-1.11.0.config busybox/stuff/busybox-1.12.0-su.u busybox/stuff/busybox-1.12.0.config busybox/stuff/busybox-1.7.3-df.u busybox/stuff/busybox-1.7.3-hexdump.u busybox/stuff/busybox-1.7.3-patch.u busybox/stuff/busybox-1.7.3-script.u busybox/stuff/busybox-1.7.3-usage-df.u busybox/stuff/busybox-1.7.3-vcsa2txt.u busybox/stuff/busybox-1.7.3.config |
line diff
1.1 --- a/busybox/receipt Wed May 27 11:52:33 2009 +0200 1.2 +++ b/busybox/receipt Wed May 27 18:15:16 2009 +0200 1.3 @@ -34,6 +34,7 @@ 1.4 mkswap.u 1.5 install.u 1.6 basename.u 1.7 +su.u 1.8 EOT 1.9 cp ../stuff/$PACKAGE-$VERSION.config .config 1.10 make oldconfig
2.1 --- a/busybox/stuff/busybox-1.10.0-cpio-mkdir.u Wed May 27 11:52:33 2009 +0200 2.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 2.3 @@ -1,21 +0,0 @@ 2.4 ---- busybox-1.10.0/archival/libunarchive/data_extract_all.c 2.5 -+++ busybox-1.10.0/archival/libunarchive/data_extract_all.c 2.6 -@@ -38,7 +38,8 @@ 2.7 - } 2.8 - } 2.9 - else if (statbuf.st_mtime <= file_header->mtime) { 2.10 -- if (!(archive_handle->flags & ARCHIVE_EXTRACT_QUIET)) { 2.11 -+ if (!(archive_handle->flags & ARCHIVE_EXTRACT_QUIET) && 2.12 -+ (file_header->mode & S_IFMT) != S_IFDIR) { 2.13 - bb_error_msg("%s not created: newer or " 2.14 - "same age file exists", file_header->name); 2.15 - } 2.16 -@@ -77,7 +78,7 @@ 2.17 - } 2.18 - case S_IFDIR: 2.19 - res = mkdir(file_header->name, file_header->mode); 2.20 -- if ((res == -1) && (errno != EISDIR) 2.21 -+ if ((res == -1) && (errno != EISDIR) && (errno != EEXIST) 2.22 - && !(archive_handle->flags & ARCHIVE_EXTRACT_QUIET) 2.23 - ) { 2.24 - bb_perror_msg("cannot make dir %s", file_header->name);
3.1 --- a/busybox/stuff/busybox-1.10.0-cpio.u Wed May 27 11:52:33 2009 +0200 3.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 3.3 @@ -1,220 +0,0 @@ 3.4 -diff -purN busybox-1.10.0/archival/Config.in busybox/archival/Config.in 3.5 ---- busybox-1.10.0/archival/Config.in 2008-03-29 21:47:37.000000000 +0100 3.6 -+++ busybox-1.10.0/archival/Config.in 2008-03-29 21:47:37.000000000 +0100 3.7 -@@ -78,6 +78,14 @@ config CPIO 3.8 - Unless you have a specific application which requires cpio, you should 3.9 - probably say N here. 3.10 - 3.11 -+config FEATURE_CPIO_O 3.12 -+ bool "Support for archive creation" 3.13 -+ default n 3.14 -+ depends on CPIO 3.15 -+ help 3.16 -+ This implementation of cpio can create cpio archives in the "newc" 3.17 -+ format only. 3.18 -+ 3.19 - config DPKG 3.20 - bool "dpkg" 3.21 - default n 3.22 -diff -purN busybox-1.10.0/archival/cpio.c busybox/archival/cpio.c 3.23 ---- busybox-1.10.0/archival/cpio.c 2008-03-29 21:47:55.000000000 +0100 3.24 -+++ busybox-1.10.0/archival/cpio.c 2008-03-29 21:47:55.000000000 +0100 3.25 -@@ -21,12 +21,146 @@ 3.26 - #define CPIO_OPT_FILE 0x10 3.27 - #define CPIO_OPT_CREATE_LEADING_DIR 0x20 3.28 - #define CPIO_OPT_PRESERVE_MTIME 0x40 3.29 -+#define CPIO_OPT_CREATE 0x80 3.30 -+#define CPIO_OPT_FORMAT 0x100 3.31 -+ 3.32 -+#if ENABLE_FEATURE_CPIO_O 3.33 -+static void cpio_pad(off_t *size, int n) 3.34 -+{ 3.35 -+ int i; 3.36 -+ for (*size += i = (-*size) & n; --i >= 0; bb_putchar(0)); 3.37 -+} 3.38 -+ 3.39 -+static void cpio_o(void) 3.40 -+{ 3.41 -+ struct name_s { 3.42 -+ struct name_s *next; 3.43 -+ char name[0]; 3.44 -+ }; 3.45 -+ struct inodes_s { 3.46 -+ struct name_s *names; 3.47 -+ struct inodes_s *next; 3.48 -+ struct stat st; 3.49 -+ } *links = NULL; 3.50 -+ off_t bytes = 0; // output bytes count 3.51 -+#if CONFIG_FEATURE_COPYBUF_KB < 1 3.52 -+ char buf[1024]; 3.53 -+#else 3.54 -+ char buf[CONFIG_FEATURE_COPYBUF_KB * 1024]; 3.55 -+#endif 3.56 -+ 3.57 -+ while (1) { 3.58 -+ const char *name = "TRAILER!!!"; 3.59 -+ char *line = xmalloc_getline(stdin); 3.60 -+ // allocate inode struct each loop to avoid struct stat copy 3.61 -+ struct inodes_s *inode = xzalloc(sizeof(*inode)); // die if fail 3.62 -+ off_t size; 3.63 -+ 3.64 -+ inode->st.st_nlink++; // =1 3.65 -+ if (line) { 3.66 -+ /* Strip leading `./' from the filename. */ 3.67 -+ for (name = line; name[0] == '.' && name[1] == '/';) { 3.68 -+ while (*++name == '/'); 3.69 -+ } 3.70 -+ if (!*name) goto free_and_continue; // line empty 3.71 -+ if (lstat(name, &inode->st)) { 3.72 -+ abort_cpio_o: 3.73 -+ bb_perror_msg_and_die(name); 3.74 -+ } 3.75 -+ if (!S_ISLNK(inode->st.st_mode) && !S_ISREG(inode->st.st_mode)) 3.76 -+ inode->st.st_size = 0; 3.77 -+ } 3.78 -+ // hard links will are stored and will be processed later 3.79 -+ if (!S_ISDIR(inode->st.st_mode) && inode->st.st_nlink > 1) { 3.80 -+ struct name_s *n; 3.81 -+ struct inodes_s *l; 3.82 -+ 3.83 -+ for (l = links; l && l->st.st_ino != inode->st.st_ino; l = l->next); 3.84 -+ if (l == NULL) { // not found: new hard links set 3.85 -+ l = inode; // l->names = NULL; l->st = inode->st 3.86 -+ l->next = links; 3.87 -+ links = l; 3.88 -+ } 3.89 -+ n = xmalloc(sizeof(*n) + strlen(name) + 1); // die if fail 3.90 -+ strcpy(n->name, name); 3.91 -+ n->next = l->names; 3.92 -+ l->names = n; // will not free inode if l == inode 3.93 -+ goto free_and_continue; 3.94 -+ } 3.95 -+ size = inode->st.st_size; 3.96 -+ // no more files ? process hard links 3.97 -+ if (!line && links) { 3.98 -+ struct name_s *n; 3.99 -+ 3.100 -+ free(inode); // trailer pseudo inode 3.101 -+ inode = links; 3.102 -+ n = links->names; 3.103 -+ name = line = xstrdup(n->name); // line will free *name memory 3.104 -+ links->names = n->next; 3.105 -+ if (links->names == NULL) { // inode will free *links memory 3.106 -+ size = links->st.st_size; 3.107 -+ links = links->next; 3.108 -+ } 3.109 -+ free(n); 3.110 -+ } 3.111 -+ bytes += printf("070701%08lx%08lx%08lx%08lx%08lx%08lx%08lx" 3.112 -+ "%08lx%08lx%08lx%08lx%08lx%08lx%s%c", 3.113 -+ (unsigned long) inode->st.st_ino, 3.114 -+ (unsigned long) inode->st.st_mode, 3.115 -+ (unsigned long) inode->st.st_uid, 3.116 -+ (unsigned long) inode->st.st_gid, 3.117 -+ (unsigned long) inode->st.st_nlink, 3.118 -+ (unsigned long) inode->st.st_mtime, 3.119 -+ (unsigned long) size, 3.120 -+ (unsigned long) major(inode->st.st_dev), 3.121 -+ (unsigned long) minor(inode->st.st_dev), 3.122 -+ (unsigned long) major(inode->st.st_rdev), 3.123 -+ (unsigned long) minor(inode->st.st_rdev), 3.124 -+ strlen(name) + 1UL, 0UL, name, 0); 3.125 -+ cpio_pad(&bytes, (line) ? 4-1 : 512-1); 3.126 -+ if (size) { 3.127 -+ if (S_ISLNK(inode->st.st_mode)) { 3.128 -+ char *lpath = xmalloc_readlink_or_warn(name); 3.129 -+ 3.130 -+ if (!lpath) goto abort_cpio_o; 3.131 -+ bytes += printf("%s", lpath); 3.132 -+ free(lpath); 3.133 -+ } 3.134 -+ if (S_ISREG(inode->st.st_mode)) { 3.135 -+ int fd = open_or_warn(name, O_RDONLY); 3.136 -+ 3.137 -+ while (1) { 3.138 -+ int len = full_read(fd, buf, sizeof(buf)); 3.139 -+ if (len < 0) goto abort_cpio_o; 3.140 -+ if (len == 0) break; 3.141 -+ bytes += len; 3.142 -+ fwrite(buf, 1, len, stdout); 3.143 -+ } 3.144 -+ close(fd); 3.145 -+ } 3.146 -+ cpio_pad(&bytes, 4-1); 3.147 -+ } 3.148 -+ 3.149 -+ if (!line) { 3.150 -+ fputc('\n', stderr); // GNU cpio do that... 3.151 -+ return; // was trailer 3.152 -+ } 3.153 -+ 3.154 -+ free_and_continue: 3.155 -+ if (!inode->names) free(inode); 3.156 -+ free(line); 3.157 -+ } 3.158 -+} 3.159 -+#endif 3.160 - 3.161 - int cpio_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; 3.162 - int cpio_main(int argc, char **argv) 3.163 - { 3.164 - archive_handle_t *archive_handle; 3.165 - char *cpio_filename = NULL; 3.166 -+#if ENABLE_FEATURE_CPIO_O 3.167 -+ const char *cpio_fmt = ""; 3.168 -+#endif 3.169 - unsigned opt; 3.170 - 3.171 - /* Initialise */ 3.172 -@@ -35,10 +169,26 @@ int cpio_main(int argc, char **argv) 3.173 - archive_handle->seek = seek_by_read; 3.174 - archive_handle->flags = ARCHIVE_EXTRACT_NEWER | ARCHIVE_PRESERVE_DATE; 3.175 - 3.176 -+#if ENABLE_FEATURE_CPIO_O 3.177 -+ opt = getopt32(argv, "ituvF:dmoH:", &cpio_filename,&cpio_fmt); 3.178 -+ 3.179 -+ if (opt & CPIO_OPT_CREATE) { 3.180 -+ if (*cpio_fmt != 'n') 3.181 -+ goto cpio_show_usage; 3.182 -+ if (cpio_filename) { 3.183 -+ fclose(stdout); 3.184 -+ stdout = fopen(cpio_filename,"w"); 3.185 -+ } 3.186 -+ cpio_o(); 3.187 -+ return EXIT_SUCCESS; 3.188 -+ } 3.189 -+#else 3.190 - opt = getopt32(argv, "ituvF:dm", &cpio_filename); 3.191 -+#endif 3.192 - 3.193 - /* One of either extract or test options must be given */ 3.194 - if ((opt & (CPIO_OPT_TEST | CPIO_OPT_EXTRACT)) == 0) { 3.195 -+ cpio_show_usage: 3.196 - bb_show_usage(); 3.197 - } 3.198 - 3.199 -diff -purN busybox-1.10.0/include/usage.h busybox/include/usage.h 3.200 ---- busybox-1.10.0/include/usage.h 2008-03-29 21:48:22.000000000 +0100 3.201 -+++ busybox-1.10.0/include/usage.h 2008-03-29 21:48:22.000000000 +0100 3.202 -@@ -496,13 +496,19 @@ 3.203 - "\n -l,-s Create (sym)links" \ 3.204 - 3.205 - #define cpio_trivial_usage \ 3.206 -- "-[dimtuv][F cpiofile]" 3.207 -+ "-[dim" USE_FEATURE_CPIO_O("o") "tuv][F cpiofile]" \ 3.208 -+ USE_FEATURE_CPIO_O( "[H newc]" ) 3.209 - #define cpio_full_usage \ 3.210 -- "Extract or list files from a cpio archive\n" \ 3.211 -+ "Extract or list files from a cpio archive" \ 3.212 -+ USE_FEATURE_CPIO_O( ", or create a cpio archive" ) "\n" \ 3.213 - "Main operation mode:" \ 3.214 - "\n d Make leading directories" \ 3.215 - "\n i Extract" \ 3.216 - "\n m Preserve mtime" \ 3.217 -+ USE_FEATURE_CPIO_O( \ 3.218 -+ "\n o Create" \ 3.219 -+ "\n H newc Define format" \ 3.220 -+ ) \ 3.221 - "\n t List" \ 3.222 - "\n v Verbose" \ 3.223 - "\n u Unconditional overwrite" \
4.1 --- a/busybox/stuff/busybox-1.10.0-dhcpc.u Wed May 27 11:52:33 2009 +0200 4.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 4.3 @@ -1,15 +0,0 @@ 4.4 ---- busybox-1.10.0/networking/udhcp/dhcpc.c 4.5 -+++ busybox-1.10.0/networking/udhcp/dhcpc.c 4.6 -@@ -377,7 +377,11 @@ 4.7 - xid = random_xid(); 4.8 - 4.9 - /* send discover packet */ 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.10.0-patch.u Wed May 27 11:52:33 2009 +0200 5.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 5.3 @@ -1,412 +0,0 @@ 5.4 ---- busybox-1.10.0/editors/patch.c 2008-03-24 15:46:20.000000000 +0100 5.5 -+++ busybox-1.10.0/editors/patch.c 2008-03-24 15:46:20.000000000 +0100 5.6 -@@ -19,15 +19,11 @@ 5.7 - * - Reject file isnt saved 5.8 - */ 5.9 - 5.10 --#include <getopt.h> 5.11 -- 5.12 - #include "libbb.h" 5.13 - 5.14 --static unsigned int copy_lines(FILE *src_stream, FILE *dest_stream, const unsigned int lines_count) 5.15 -+static unsigned copy_lines(FILE *src_stream, FILE *dest_stream, unsigned lines_count) 5.16 - { 5.17 -- unsigned int i = 0; 5.18 -- 5.19 -- while (src_stream && (i < lines_count)) { 5.20 -+ while (src_stream && lines_count) { 5.21 - char *line; 5.22 - line = xmalloc_fgets(src_stream); 5.23 - if (line == NULL) { 5.24 -@@ -37,60 +33,70 @@ 5.25 - bb_perror_msg_and_die("error writing to new file"); 5.26 - } 5.27 - free(line); 5.28 -- 5.29 -- i++; 5.30 -+ lines_count--; 5.31 - } 5.32 -- return i; 5.33 -+ return lines_count; 5.34 - } 5.35 - 5.36 - /* If patch_level is -1 it will remove all directory names 5.37 - * char *line must be greater than 4 chars 5.38 - * returns NULL if the file doesnt exist or error 5.39 - * returns malloc'ed filename 5.40 -+ * NB: frees 1st argument! 5.41 - */ 5.42 - 5.43 --static char *extract_filename(char *line, int patch_level) 5.44 -+static char *extract_filename(char *line, unsigned patch_level, const char *pat) 5.45 - { 5.46 -- char *temp, *filename_start_ptr = line + 4; 5.47 -- int i; 5.48 -+ char *temp = NULL, *filename_start_ptr = line + 4; 5.49 - 5.50 -- /* Terminate string at end of source filename */ 5.51 -- temp = strchrnul(filename_start_ptr, '\t'); 5.52 -- *temp = '\0'; 5.53 -- 5.54 -- /* Skip over (patch_level) number of leading directories */ 5.55 -- if (patch_level == -1) 5.56 -- patch_level = INT_MAX; 5.57 -- for (i = 0; i < patch_level; i++) { 5.58 -- temp = strchr(filename_start_ptr, '/'); 5.59 -- if (!temp) 5.60 -- break; 5.61 -- filename_start_ptr = temp + 1; 5.62 -+ if (strncmp(line, pat, 4) == 0) { 5.63 -+ /* Terminate string at end of source filename */ 5.64 -+ line[strcspn(line,"\t\n\r")] = '\0'; 5.65 -+ 5.66 -+ /* Skip over (patch_level) number of leading directories */ 5.67 -+ while (patch_level--) { 5.68 -+ temp = strchr(filename_start_ptr, '/'); 5.69 -+ if (!temp) 5.70 -+ break; 5.71 -+ filename_start_ptr = temp + 1; 5.72 -+ } 5.73 -+ temp = xstrdup(filename_start_ptr); 5.74 - } 5.75 -- 5.76 -- return xstrdup(filename_start_ptr); 5.77 -+ free(line); 5.78 -+ return temp; 5.79 - } 5.80 - 5.81 - int patch_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; 5.82 - int patch_main(int argc ATTRIBUTE_UNUSED, char **argv) 5.83 - { 5.84 -- int patch_level = -1; 5.85 -- char *patch_line; 5.86 -- int ret; 5.87 -- FILE *patch_file = NULL; 5.88 - struct stat saved_stat; 5.89 -- 5.90 -+ char *patch_line; 5.91 -+ FILE *patch_file; 5.92 -+ int patch_level; 5.93 -+ int ret = 0; 5.94 -+#define ENABLE_FEATURE_PATCH_REVERSE 1 5.95 -+#if ENABLE_FEATURE_PATCH_REVERSE 5.96 -+ char minus = '-'; 5.97 -+ char plus = '+'; 5.98 -+#else 5.99 -+ const char minus = '-'; 5.100 -+ const char plus = '+'; 5.101 -+#endif 5.102 -+ 5.103 -+ xfunc_error_retval = 2; 5.104 - { 5.105 -- char *p, *i; 5.106 -- ret = getopt32(argv, "p:i:", &p, &i); 5.107 -- if (ret & 1) 5.108 -- patch_level = xatol_range(p, -1, USHRT_MAX); 5.109 -- if (ret & 2) { 5.110 -- patch_file = xfopen(i, "r"); 5.111 -- } else { 5.112 -- patch_file = stdin; 5.113 -- } 5.114 -- ret = 0; 5.115 -+ const char *p = "-1"; 5.116 -+ const char *i = "-"; /* compat */ 5.117 -+#if ENABLE_FEATURE_PATCH_REVERSE 5.118 -+ if (getopt32(argv, "p:i:R", &p, &i) & 4) { 5.119 -+ minus = '+'; 5.120 -+ plus = '-'; 5.121 -+ } 5.122 -+#else 5.123 -+ getopt32(argv, "p:i:", &p, &i); 5.124 -+#endif 5.125 -+ patch_level = xatoi(p); /* can be negative! */ 5.126 -+ patch_file = xfopen_stdin(i); 5.127 - } 5.128 - 5.129 - patch_line = xmalloc_getline(patch_file); 5.130 -@@ -100,38 +106,38 @@ 5.131 - char *original_filename; 5.132 - char *new_filename; 5.133 - char *backup_filename; 5.134 -- unsigned int src_cur_line = 1; 5.135 -- unsigned int dest_cur_line = 0; 5.136 -- unsigned int dest_beg_line; 5.137 -- unsigned int bad_hunk_count = 0; 5.138 -- unsigned int hunk_count = 0; 5.139 -- char copy_trailing_lines_flag = 0; 5.140 -+ unsigned src_cur_line = 1; 5.141 -+ unsigned dest_cur_line = 0; 5.142 -+ unsigned dest_beg_line; 5.143 -+ unsigned bad_hunk_count = 0; 5.144 -+ unsigned hunk_count = 0; 5.145 -+ smallint copy_trailing_lines_flag = 0; 5.146 - 5.147 - /* Skip everything upto the "---" marker 5.148 - * No need to parse the lines "Only in <dir>", and "diff <args>" 5.149 - */ 5.150 -- while (patch_line && strncmp(patch_line, "--- ", 4) != 0) { 5.151 -- free(patch_line); 5.152 -+ do { 5.153 -+ /* Extract the filename used before the patch was generated */ 5.154 -+ original_filename = extract_filename(patch_line, patch_level, "--- "); 5.155 - patch_line = xmalloc_getline(patch_file); 5.156 -- } 5.157 -- /* FIXME: patch_line NULL check?? */ 5.158 -+ if (!patch_line) goto quit; 5.159 -+ } while (!original_filename); 5.160 - 5.161 -- /* Extract the filename used before the patch was generated */ 5.162 -- original_filename = extract_filename(patch_line, patch_level); 5.163 -- free(patch_line); 5.164 -- 5.165 -- patch_line = xmalloc_getline(patch_file); 5.166 -- /* FIXME: NULL check?? */ 5.167 -- if (strncmp(patch_line, "+++ ", 4) != 0) { 5.168 -- ret = 2; 5.169 -- bb_error_msg("invalid patch"); 5.170 -- continue; 5.171 -+ new_filename = extract_filename(patch_line, patch_level, "+++ "); 5.172 -+ if (!new_filename) { 5.173 -+ bb_error_msg_and_die("invalid patch"); 5.174 -+ } 5.175 -+#if ENABLE_FEATURE_PATCH_REVERSE 5.176 -+ if (plus != '+') { 5.177 -+ /* reverse patch */ 5.178 -+ char *tmp = original_filename; 5.179 -+ original_filename = new_filename; 5.180 -+ new_filename = tmp; 5.181 - } 5.182 -- new_filename = extract_filename(patch_line, patch_level); 5.183 -- free(patch_line); 5.184 -+#endif 5.185 - 5.186 - /* Get access rights from the file to be patched, -1 file does not exist */ 5.187 -- if (stat(new_filename, &saved_stat)) { 5.188 -+ if (stat(new_filename, &saved_stat) != 0) { 5.189 - char *line_ptr; 5.190 - /* Create leading directories */ 5.191 - line_ptr = strrchr(new_filename, '/'); 5.192 -@@ -140,132 +146,137 @@ 5.193 - bb_make_directory(new_filename, -1, FILEUTILS_RECUR); 5.194 - *line_ptr = '/'; 5.195 - } 5.196 -- dst_stream = xfopen(new_filename, "w+"); 5.197 - backup_filename = NULL; 5.198 -+ saved_stat.st_mode = 0644; 5.199 - } else { 5.200 -- backup_filename = xmalloc(strlen(new_filename) + 6); 5.201 -- strcpy(backup_filename, new_filename); 5.202 -- strcat(backup_filename, ".orig"); 5.203 -+ backup_filename = xasprintf("%s.orig", new_filename); 5.204 - xrename(new_filename, backup_filename); 5.205 -- dst_stream = xfopen(new_filename, "w"); 5.206 -- fchmod(fileno(dst_stream), saved_stat.st_mode); 5.207 - } 5.208 -- 5.209 -- if ((backup_filename == NULL) || stat(original_filename, &saved_stat)) { 5.210 -- src_stream = NULL; 5.211 -- } else { 5.212 -- if (strcmp(original_filename, new_filename) == 0) { 5.213 -- src_stream = xfopen(backup_filename, "r"); 5.214 -- } else { 5.215 -- src_stream = xfopen(original_filename, "r"); 5.216 -- } 5.217 -+ dst_stream = xfopen(new_filename, "w"); 5.218 -+ fchmod(fileno(dst_stream), saved_stat.st_mode); 5.219 -+ src_stream = NULL; 5.220 -+ 5.221 -+ if (backup_filename && !stat(original_filename, &saved_stat)) { 5.222 -+ src_stream = xfopen((strcmp(original_filename, new_filename)) ? 5.223 -+ original_filename : backup_filename, "r"); 5.224 - } 5.225 - 5.226 - printf("patching file %s\n", new_filename); 5.227 - 5.228 -- /* Handle each hunk */ 5.229 -+ /* Handle all hunks for this file */ 5.230 - patch_line = xmalloc_fgets(patch_file); 5.231 - while (patch_line) { 5.232 -- unsigned int count; 5.233 -- unsigned int src_beg_line; 5.234 -- unsigned int unused; 5.235 -- unsigned int hunk_offset_start = 0; 5.236 -- int hunk_error = 0; 5.237 -- 5.238 -- /* This bit should be improved */ 5.239 -- if ((sscanf(patch_line, "@@ -%d,%d +%d,%d @@", &src_beg_line, &unused, &dest_beg_line, &unused) != 4) && 5.240 -- (sscanf(patch_line, "@@ -%d,%d +%d @@", &src_beg_line, &unused, &dest_beg_line) != 3) && 5.241 -- (sscanf(patch_line, "@@ -%d +%d,%d @@", &src_beg_line, &dest_beg_line, &unused) != 3)) { 5.242 -+ unsigned count; 5.243 -+ unsigned src_beg_line; 5.244 -+ unsigned hunk_offset_start; 5.245 -+ unsigned src_last_line = 1; 5.246 -+#if ENABLE_FEATURE_PATCH_REVERSE 5.247 -+ unsigned dst_last_line = 1; 5.248 -+ 5.249 -+ if ((sscanf(patch_line, "@@ -%d,%d +%d,%d", &src_beg_line, &src_last_line, &dest_beg_line, &dst_last_line) < 3) && 5.250 -+ (sscanf(patch_line, "@@ -%d +%d,%d", &src_beg_line, &dest_beg_line, &dst_last_line) < 2)) { 5.251 - /* No more hunks for this file */ 5.252 - break; 5.253 - } 5.254 -- free(patch_line); 5.255 -+ if (plus != '+') { 5.256 -+ /* reverse patch */ 5.257 -+ unsigned tmp = src_last_line; 5.258 -+ src_last_line = dst_last_line; 5.259 -+ dst_last_line = tmp; 5.260 -+ tmp = src_beg_line; 5.261 -+ src_beg_line = dest_beg_line; 5.262 -+ dest_beg_line = tmp; 5.263 -+ } 5.264 -+#else 5.265 -+ 5.266 -+ if ((sscanf(patch_line, "@@ -%d,%d +%d", &src_beg_line, &src_last_line, &dest_beg_line) != 3) && 5.267 -+ (sscanf(patch_line, "@@ -%d +%d", &src_beg_line, &dest_beg_line) != 2)) { 5.268 -+ /* No more hunks for this file */ 5.269 -+ break; 5.270 -+ } 5.271 -+#endif 5.272 - hunk_count++; 5.273 - 5.274 - if (src_beg_line && dest_beg_line) { 5.275 - /* Copy unmodified lines upto start of hunk */ 5.276 -- /* src_beg_line will be 0 if its a new file */ 5.277 -+ /* src_beg_line will be 0 if it's a new file */ 5.278 - count = src_beg_line - src_cur_line; 5.279 -- if (copy_lines(src_stream, dst_stream, count) != count) { 5.280 -+ if (copy_lines(src_stream, dst_stream, count)) { 5.281 - bb_error_msg_and_die("bad src file"); 5.282 - } 5.283 - src_cur_line += count; 5.284 - dest_cur_line += count; 5.285 - copy_trailing_lines_flag = 1; 5.286 - } 5.287 -- hunk_offset_start = src_cur_line; 5.288 -- 5.289 -- while ((patch_line = xmalloc_fgets(patch_file)) != NULL) { 5.290 -- if ((*patch_line == '-') || (*patch_line == ' ')) { 5.291 -+ src_last_line += hunk_offset_start = src_cur_line; 5.292 -+#if ENABLE_FEATURE_PATCH_REVERSE 5.293 -+ dst_last_line += dest_cur_line; 5.294 -+#endif 5.295 -+ while (1) { 5.296 -+ free(patch_line); 5.297 -+ patch_line = xmalloc_fgets(patch_file); 5.298 -+ if (patch_line == NULL) break; 5.299 -+ if ((*patch_line == minus) || (*patch_line == ' ')) { 5.300 - char *src_line = NULL; 5.301 -+ if (src_cur_line == src_last_line) break; 5.302 - if (src_stream) { 5.303 - src_line = xmalloc_fgets(src_stream); 5.304 -- if (!src_line) { 5.305 -- hunk_error++; 5.306 -- break; 5.307 -- } else { 5.308 -+ if (src_line) { 5.309 -+ int diff = strcmp(src_line, patch_line + 1); 5.310 - src_cur_line++; 5.311 -+ free(src_line); 5.312 -+ if (diff) src_line = NULL; 5.313 - } 5.314 -- if (strcmp(src_line, patch_line + 1) != 0) { 5.315 -- bb_error_msg("hunk #%d FAILED at %d", hunk_count, hunk_offset_start); 5.316 -- hunk_error++; 5.317 -- free(patch_line); 5.318 -- /* Probably need to find next hunk, etc... */ 5.319 -- /* but for now we just bail out */ 5.320 -- patch_line = NULL; 5.321 -- break; 5.322 -- } 5.323 -- free(src_line); 5.324 - } 5.325 -- if (*patch_line == ' ') { 5.326 -- fputs(patch_line + 1, dst_stream); 5.327 -- dest_cur_line++; 5.328 -+ if (!src_line) { 5.329 -+ bb_error_msg("hunk #%u FAILED at %u", hunk_count, hunk_offset_start); 5.330 -+ bad_hunk_count++; 5.331 -+ break; 5.332 - } 5.333 -- } else if (*patch_line == '+') { 5.334 -- fputs(patch_line + 1, dst_stream); 5.335 -- dest_cur_line++; 5.336 -- } else { 5.337 -+ if (*patch_line != ' ') { 5.338 -+ continue; 5.339 -+ } 5.340 -+ } else if (*patch_line != plus) { 5.341 - break; 5.342 - } 5.343 -- free(patch_line); 5.344 -- } 5.345 -- if (hunk_error) { 5.346 -- bad_hunk_count++; 5.347 -- } 5.348 -- } 5.349 -+#if ENABLE_FEATURE_PATCH_REVERSE 5.350 -+ if (dest_cur_line == dst_last_line) break; 5.351 -+#endif 5.352 -+ fputs(patch_line + 1, dst_stream); 5.353 -+ dest_cur_line++; 5.354 -+ } /* end of while loop handling one hunk */ 5.355 -+ } /* end of while loop handling one file */ 5.356 - 5.357 - /* Cleanup last patched file */ 5.358 - if (copy_trailing_lines_flag) { 5.359 -- copy_lines(src_stream, dst_stream, -1); 5.360 -+ copy_lines(src_stream, dst_stream, (unsigned)(-1)); 5.361 - } 5.362 - if (src_stream) { 5.363 - fclose(src_stream); 5.364 - } 5.365 -- if (dst_stream) { 5.366 -- fclose(dst_stream); 5.367 -- } 5.368 -+ fclose(dst_stream); 5.369 - if (bad_hunk_count) { 5.370 -- if (!ret) { 5.371 -- ret = 1; 5.372 -- } 5.373 -- bb_error_msg("%d out of %d hunk FAILED", bad_hunk_count, hunk_count); 5.374 -+ ret = 1; 5.375 -+ bb_error_msg("%u out of %u hunk FAILED", bad_hunk_count, hunk_count); 5.376 - } else { 5.377 - /* It worked, we can remove the backup */ 5.378 - if (backup_filename) { 5.379 - unlink(backup_filename); 5.380 -+ free(backup_filename); 5.381 - } 5.382 - if ((dest_cur_line == 0) || (dest_beg_line == 0)) { 5.383 - /* The new patched file is empty, remove it */ 5.384 - xunlink(new_filename); 5.385 -- if (strcmp(new_filename, original_filename) != 0) 5.386 -- xunlink(original_filename); 5.387 -+ /* original_filename and new_filename may be the same file */ 5.388 -+ unlink(original_filename); 5.389 - } 5.390 - } 5.391 -- } 5.392 -+ } /* end of "while there are patch lines" */ 5.393 -+quit: 5.394 - 5.395 - /* 0 = SUCCESS 5.396 - * 1 = Some hunks failed 5.397 -- * 2 = More serious problems 5.398 -+ * 2 = More serious problems (exited earlier) 5.399 - */ 5.400 - return ret; 5.401 - } 5.402 - 5.403 ---- busybox-1.10.0/include/usage.h 2008-03-24 16:20:43.000000000 +0100 5.404 -+++ busybox-1.10.0/include/usage.h 2008-03-24 16:22:06.000000000 +0100 5.405 -@@ -2833,8 +2833,9 @@ 5.406 - ) 5.407 - 5.408 - #define patch_trivial_usage \ 5.409 -- "[-p NUM] [-i DIFF]" 5.410 -+ "[-R] [-p NUM] [-i DIFF]" 5.411 - #define patch_full_usage \ 5.412 -+ " -R Reverse patch\n" \ 5.413 - " -p NUM Strip NUM leading components from file names" \ 5.414 - "\n -i DIFF Read DIFF instead of stdin" \ 5.415 -
6.1 --- a/busybox/stuff/busybox-1.10.0-vcsa2txt.u Wed May 27 11:52:33 2009 +0200 6.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 6.3 @@ -1,134 +0,0 @@ 6.4 ---- busybox-1.10.0/include/applets.h Sat Mar 22 02:31:50 2008 6.5 -+++ busybox-1.10.0/include/applets.h Sat Mar 22 02:31:50 2008 6.6 -@@ -382,6 +382,7 @@ 6.7 - USE_UUDECODE(APPLET(uudecode, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 6.8 - USE_UUENCODE(APPLET(uuencode, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 6.9 - USE_VCONFIG(APPLET(vconfig, _BB_DIR_SBIN, _BB_SUID_NEVER)) 6.10 -+USE_VCSA2TXT(APPLET(vcsa2txt, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 6.11 - USE_VI(APPLET(vi, _BB_DIR_BIN, _BB_SUID_NEVER)) 6.12 - USE_VLOCK(APPLET(vlock, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS)) 6.13 - USE_WATCH(APPLET(watch, _BB_DIR_BIN, _BB_SUID_NEVER)) 6.14 - 6.15 ---- busybox-1.10.0/include/usage.h Sat Mar 22 02:31:50 2008 6.16 -+++ busybox-1.10.0/include/usage.h Sat Mar 22 02:31:50 2008 6.17 -@@ -4314,6 +4314,13 @@ 6.18 - "\n set_ingress_map [vlan-name] [skb_priority] [vlan_qos]" \ 6.19 - "\n set_name_type [name-type]" \ 6.20 - 6.21 -+#define vcsa2txt_trivial_usage \ 6.22 -+ "stdin" 6.23 -+#define vcsa2txt_full_usage \ 6.24 -+ "Filter /dev/vcsa* to ansi escape sequences" 6.25 -+#define vcsa2txt_example_usage \ 6.26 -+ "# vcsa2txt < /dev/vcsa1\n" 6.27 -+ 6.28 - #define vi_trivial_usage \ 6.29 - "[OPTION] [FILE]..." 6.30 - #define vi_full_usage \ 6.31 - 6.32 ---- busybox-1.10.0/miscutils/Config.in Sat Mar 22 02:31:50 2008 6.33 -+++ busybox-1.10.0/miscutils/Config.in Sat Mar 22 02:31:50 2008 6.34 -@@ -461,6 +461,12 @@ 6.35 - only height, or both, in any order. It also does not complain on error, 6.36 - but returns default 80x24. Usage in shell scripts: width=`ttysize w`. 6.37 - 6.38 -+config VCSA2TXT 6.39 -+ bool "vcsa2txt" 6.40 -+ default n 6.41 -+ help 6.42 -+ Filter /dev/vcsa* output to ansi escape sequences. 6.43 -+ 6.44 - config WATCHDOG 6.45 - bool "watchdog" 6.46 - default n 6.47 - 6.48 ---- busybox-1.10.0/util-linux/Kbuild Sat Mar 22 02:31:53 2008 6.49 -+++ busybox-1.10.0/util-linux/Kbuild Sat Mar 22 02:31:53 2008 6.50 -@@ -33,3 +33,4 @@ 6.51 - lib-$(CONFIG_SWAPONOFF) += swaponoff.o 6.52 - lib-$(CONFIG_SWITCH_ROOT) += switch_root.o 6.53 - lib-$(CONFIG_UMOUNT) += umount.o 6.54 -+lib-$(CONFIG_VCSA2TXT) += vcsa2txt.o 6.55 - 6.56 ---- busybox-1.10.0/util-linux/vcsa2txt.c Sat Mar 22 19:40:15 2008 6.57 -+++ busybox-1.10.0/util-linux/vcsa2txt.c Sat Mar 22 19:40:15 2008 6.58 -@@ -0,0 +1,79 @@ 6.59 -+/* vi: set sw=4 ts=4: */ 6.60 -+/* 6.61 -+ * /dev/vcsa* filter for busybox 6.62 -+ * 6.63 -+ * pascal.bellard@ads-lu.com 6.64 -+ * 6.65 -+ * Licensed under GPLv2 or later, see file License in this tarball for details. 6.66 -+ */ 6.67 -+ 6.68 -+#include "libbb.h" 6.69 -+ 6.70 -+int vcsa2txt_main(int argc) MAIN_EXTERNALLY_VISIBLE; 6.71 -+int vcsa2txt_main(int argc) 6.72 -+{ 6.73 -+ struct { 6.74 -+ unsigned char l, c, x, y; // man 4 console_codes 6.75 -+ } scrn; 6.76 -+ unsigned char last = 0, ch[2]; // BLGCRMOW 6.77 -+ static unsigned char end[5] = "\e[0m\n", color[8] = "04261537"; 6.78 -+ int sp, lf, x; 6.79 -+ 6.80 -+ if (safe_read(0, &scrn, 4) < 0) return 1; 6.81 -+ for (lf = 0; scrn.l; lf++, scrn.l--) { 6.82 -+ for (sp = x = 0; ++x <= scrn.c;) { 6.83 -+ if (safe_read(0, &ch[0], 2) < 0) return 1; 6.84 -+ if (argc > 1) ch[1] = 0; 6.85 -+ sp++; 6.86 -+ if (last == ch[1] && ch[0] == ' ') continue; 6.87 -+ for (lf++; --lf;) bb_putchar('\n'); 6.88 -+ while (--sp) bb_putchar(' '); 6.89 -+#define ENABLE_VCSA_PACKED 1 6.90 -+#if ENABLE_VCSA_PACKED 6.91 -+ if (last ^= ch[1]) { 6.92 -+ char esc[16],*s; 6.93 -+ struct offsets { 6.94 -+ char mask, type, shr; 6.95 -+ } *p; 6.96 -+ static struct offsets offset[3] = { 6.97 -+ {8,0,1}, {0x70,'4',4}, {7,'3',0} 6.98 -+ }; 6.99 -+ static char init = 0x7F; 6.100 -+ 6.101 -+ s = esc+2; 6.102 -+ *(short *)esc = ntohs(256*'\e'+'['); 6.103 -+ p = offset; 6.104 -+ do { 6.105 -+ if ((init|last) & p->mask) { 6.106 -+ int c = (ch[1] & p->mask) >> p->shr; 6.107 -+ 6.108 -+ if ((*s = p->type) != 0) s++; 6.109 -+ else if (c == 0) { 6.110 -+ c = 2; 6.111 -+ *s++ = '2'; /* normal */ 6.112 -+ } 6.113 -+ *s++ = color[c]; 6.114 -+ *s++ = ';'; 6.115 -+ } 6.116 -+ } while (p++->shr); 6.117 -+ s[-1] = 'm'; 6.118 -+ init = 0; 6.119 -+ fwrite(esc,s-esc,1,stdout); 6.120 -+ } 6.121 -+ last = ch[1]; 6.122 -+#else 6.123 -+ if (last != ch[1]) { 6.124 -+ static char esc[10] = "\e[0;47;37m"; 6.125 -+ 6.126 -+ esc[2] = ((last = ch[1]) & 8) ? '1' /* bold */ : '0' /* defaults */; 6.127 -+ esc[sizeof(esc)-5] = color[(ch[1] >> 4) & 7]; 6.128 -+ esc[sizeof(esc)-2] = color[ch[1] & 7]; 6.129 -+ fwrite(esc,sizeof(esc),1,stdout); 6.130 -+ } 6.131 -+#endif 6.132 -+ bb_putchar(ch[0]); 6.133 -+ } 6.134 -+ } 6.135 -+ fwrite(end,sizeof(end),1,stdout); 6.136 -+ return 0; 6.137 -+}
7.1 --- a/busybox/stuff/busybox-1.10.0.config Wed May 27 11:52:33 2009 +0200 7.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 7.3 @@ -1,832 +0,0 @@ 7.4 -# TODO: add RESET CLEAR RMMOD LSMOD 7.5 -# 7.6 -# Automatically generated make config: don't edit 7.7 -# Busybox version: 1.10.0 7.8 -# Sat Mar 22 19:45:26 2008 7.9 -# 7.10 -CONFIG_HAVE_DOT_CONFIG=y 7.11 - 7.12 -# 7.13 -# Busybox Settings 7.14 -# 7.15 - 7.16 -# 7.17 -# General Configuration 7.18 -# 7.19 -# CONFIG_NITPICK is not set 7.20 -CONFIG_DESKTOP=y 7.21 -# CONFIG_FEATURE_BUFFERS_USE_MALLOC is not set 7.22 -# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set 7.23 -# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set 7.24 -CONFIG_SHOW_USAGE=y 7.25 -CONFIG_FEATURE_VERBOSE_USAGE=y 7.26 -CONFIG_FEATURE_COMPRESS_USAGE=y 7.27 -CONFIG_FEATURE_INSTALLER=y 7.28 -CONFIG_LOCALE_SUPPORT=y 7.29 -CONFIG_GETOPT_LONG=y 7.30 -CONFIG_FEATURE_DEVPTS=y 7.31 -# CONFIG_FEATURE_CLEAN_UP is not set 7.32 -CONFIG_FEATURE_PIDFILE=y 7.33 -CONFIG_FEATURE_SUID=y 7.34 -CONFIG_FEATURE_SUID_CONFIG=y 7.35 -# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set 7.36 -# CONFIG_SELINUX is not set 7.37 -# CONFIG_FEATURE_PREFER_APPLETS is not set 7.38 -CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" 7.39 -CONFIG_FEATURE_SYSLOG=y 7.40 -CONFIG_FEATURE_HAVE_RPC=y 7.41 - 7.42 -# 7.43 -# Build Options 7.44 -# 7.45 -# CONFIG_STATIC is not set 7.46 -# CONFIG_NOMMU is not set 7.47 -# CONFIG_BUILD_LIBBUSYBOX is not set 7.48 -# CONFIG_FEATURE_INDIVIDUAL is not set 7.49 -# CONFIG_FEATURE_SHARED_BUSYBOX is not set 7.50 -CONFIG_LFS=y 7.51 - 7.52 -# 7.53 -# Debugging Options 7.54 -# 7.55 -# CONFIG_DEBUG is not set 7.56 -# CONFIG_WERROR is not set 7.57 -CONFIG_NO_DEBUG_LIB=y 7.58 -# CONFIG_DMALLOC is not set 7.59 -# CONFIG_EFENCE is not set 7.60 -CONFIG_INCLUDE_SUSv2=y 7.61 - 7.62 -# 7.63 -# Installation Options 7.64 -# 7.65 -# CONFIG_INSTALL_NO_USR is not set 7.66 -CONFIG_INSTALL_APPLET_SYMLINKS=y 7.67 -# CONFIG_INSTALL_APPLET_HARDLINKS is not set 7.68 -# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set 7.69 -# CONFIG_INSTALL_APPLET_DONT is not set 7.70 -# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set 7.71 -# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set 7.72 -# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set 7.73 -CONFIG_PREFIX="./_install" 7.74 - 7.75 -# 7.76 -# Busybox Library Tuning 7.77 -# 7.78 -CONFIG_PASSWORD_MINLEN=6 7.79 -CONFIG_MD5_SIZE_VS_SPEED=0 7.80 -# CONFIG_FEATURE_FAST_TOP is not set 7.81 -# CONFIG_FEATURE_ETC_NETWORKS is not set 7.82 -CONFIG_FEATURE_EDITING=y 7.83 -CONFIG_FEATURE_EDITING_MAX_LEN=1024 7.84 -# CONFIG_FEATURE_EDITING_VI is not set 7.85 -CONFIG_FEATURE_EDITING_HISTORY=127 7.86 -CONFIG_FEATURE_EDITING_SAVEHISTORY=y 7.87 -CONFIG_FEATURE_TAB_COMPLETION=y 7.88 -# CONFIG_FEATURE_USERNAME_COMPLETION is not set 7.89 -CONFIG_FEATURE_EDITING_FANCY_PROMPT=y 7.90 -# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set 7.91 -CONFIG_FEATURE_COPYBUF_KB=4 7.92 -CONFIG_MONOTONIC_SYSCALL=y 7.93 -CONFIG_IOCTL_HEX2STR_ERROR=y 7.94 - 7.95 -# 7.96 -# Applets 7.97 -# 7.98 - 7.99 -# 7.100 -# Archival Utilities 7.101 -# 7.102 -# CONFIG_AR is not set 7.103 -# CONFIG_FEATURE_AR_LONG_FILENAMES is not set 7.104 -CONFIG_BUNZIP2=y 7.105 -# CONFIG_BZIP2 is not set 7.106 -CONFIG_CPIO=y 7.107 -CONFIG_FEATURE_CPIO_O=y 7.108 -CONFIG_DPKG=y 7.109 -CONFIG_DPKG_DEB=y 7.110 -CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY=y 7.111 -CONFIG_GUNZIP=y 7.112 -CONFIG_FEATURE_GUNZIP_UNCOMPRESS=y 7.113 -CONFIG_GZIP=y 7.114 -CONFIG_RPM2CPIO=y 7.115 -CONFIG_RPM=y 7.116 -CONFIG_FEATURE_RPM_BZ2=y 7.117 -CONFIG_TAR=y 7.118 -CONFIG_FEATURE_TAR_CREATE=y 7.119 -CONFIG_FEATURE_TAR_GZIP=y 7.120 -CONFIG_FEATURE_TAR_BZIP2=y 7.121 -CONFIG_FEATURE_TAR_LZMA=y 7.122 -CONFIG_FEATURE_TAR_COMPRESS=y 7.123 -CONFIG_FEATURE_TAR_AUTODETECT=y 7.124 -CONFIG_FEATURE_TAR_FROM=y 7.125 -CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y 7.126 -# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set 7.127 -CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y 7.128 -CONFIG_FEATURE_TAR_LONG_OPTIONS=y 7.129 -# CONFIG_FEATURE_TAR_UNAME_GNAME is not set 7.130 -CONFIG_UNCOMPRESS=y 7.131 -CONFIG_UNLZMA=y 7.132 -# CONFIG_FEATURE_LZMA_FAST is not set 7.133 -CONFIG_UNZIP=y 7.134 - 7.135 -# 7.136 -# Common options for cpio and tar 7.137 -# 7.138 -# CONFIG_FEATURE_UNARCHIVE_TAPE is not set 7.139 - 7.140 -# 7.141 -# Common options for dpkg and dpkg_deb 7.142 -# 7.143 -CONFIG_FEATURE_DEB_TAR_GZ=y 7.144 -CONFIG_FEATURE_DEB_TAR_BZ2=y 7.145 -CONFIG_FEATURE_DEB_TAR_LZMA=y 7.146 - 7.147 -# 7.148 -# Coreutils 7.149 -# 7.150 -CONFIG_BASENAME=y 7.151 -CONFIG_CAL=y 7.152 -CONFIG_CAT=y 7.153 -# CONFIG_CATV is not set 7.154 -CONFIG_CHGRP=y 7.155 -CONFIG_CHMOD=y 7.156 -CONFIG_CHOWN=y 7.157 -CONFIG_CHROOT=y 7.158 -CONFIG_CKSUM=y 7.159 -CONFIG_COMM=y 7.160 -CONFIG_CP=y 7.161 -CONFIG_CUT=y 7.162 -CONFIG_DATE=y 7.163 -CONFIG_FEATURE_DATE_ISOFMT=y 7.164 -CONFIG_DD=y 7.165 -CONFIG_FEATURE_DD_SIGNAL_HANDLING=y 7.166 -CONFIG_FEATURE_DD_IBS_OBS=y 7.167 -CONFIG_DF=y 7.168 -CONFIG_FEATURE_DF_INODE=y 7.169 -CONFIG_DIRNAME=y 7.170 -CONFIG_DOS2UNIX=y 7.171 -CONFIG_UNIX2DOS=y 7.172 -CONFIG_DU=y 7.173 -CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y 7.174 -CONFIG_ECHO=y 7.175 -CONFIG_FEATURE_FANCY_ECHO=y 7.176 -CONFIG_ENV=y 7.177 -CONFIG_FEATURE_ENV_LONG_OPTIONS=y 7.178 -CONFIG_EXPAND=y 7.179 -CONFIG_FEATURE_EXPAND_LONG_OPTIONS=y 7.180 -CONFIG_EXPR=y 7.181 -# CONFIG_EXPR_MATH_SUPPORT_64 is not set 7.182 -CONFIG_FALSE=y 7.183 -CONFIG_FOLD=y 7.184 -CONFIG_HEAD=y 7.185 -CONFIG_FEATURE_FANCY_HEAD=y 7.186 -CONFIG_HOSTID=y 7.187 -CONFIG_ID=y 7.188 -CONFIG_INSTALL=y 7.189 -CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y 7.190 -CONFIG_LENGTH=y 7.191 -CONFIG_LN=y 7.192 -CONFIG_LOGNAME=y 7.193 -CONFIG_LS=y 7.194 -CONFIG_FEATURE_LS_FILETYPES=y 7.195 -CONFIG_FEATURE_LS_FOLLOWLINKS=y 7.196 -CONFIG_FEATURE_LS_RECURSIVE=y 7.197 -CONFIG_FEATURE_LS_SORTFILES=y 7.198 -CONFIG_FEATURE_LS_TIMESTAMPS=y 7.199 -CONFIG_FEATURE_LS_USERNAME=y 7.200 -CONFIG_FEATURE_LS_COLOR=y 7.201 -CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y 7.202 -CONFIG_MD5SUM=y 7.203 -CONFIG_MKDIR=y 7.204 -CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y 7.205 -CONFIG_MKFIFO=y 7.206 -CONFIG_MKNOD=y 7.207 -CONFIG_MV=y 7.208 -CONFIG_FEATURE_MV_LONG_OPTIONS=y 7.209 -CONFIG_NICE=y 7.210 -CONFIG_NOHUP=y 7.211 -CONFIG_OD=y 7.212 -CONFIG_PRINTENV=y 7.213 -CONFIG_PRINTF=y 7.214 -CONFIG_PWD=y 7.215 -CONFIG_READLINK=y 7.216 -CONFIG_FEATURE_READLINK_FOLLOW=y 7.217 -CONFIG_REALPATH=y 7.218 -CONFIG_RM=y 7.219 -CONFIG_RMDIR=y 7.220 -# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set 7.221 -CONFIG_SEQ=y 7.222 -CONFIG_SHA1SUM=y 7.223 -CONFIG_SLEEP=y 7.224 -CONFIG_FEATURE_FANCY_SLEEP=y 7.225 -CONFIG_SORT=y 7.226 -CONFIG_FEATURE_SORT_BIG=y 7.227 -CONFIG_SPLIT=y 7.228 -CONFIG_FEATURE_SPLIT_FANCY=y 7.229 -CONFIG_STAT=y 7.230 -CONFIG_FEATURE_STAT_FORMAT=y 7.231 -CONFIG_STTY=y 7.232 -CONFIG_SUM=y 7.233 -CONFIG_SYNC=y 7.234 -# CONFIG_TAC is not set 7.235 -CONFIG_TAIL=y 7.236 -CONFIG_FEATURE_FANCY_TAIL=y 7.237 -CONFIG_TEE=y 7.238 -CONFIG_FEATURE_TEE_USE_BLOCK_IO=y 7.239 -CONFIG_TEST=y 7.240 -CONFIG_FEATURE_TEST_64=y 7.241 -CONFIG_TOUCH=y 7.242 -CONFIG_TR=y 7.243 -CONFIG_FEATURE_TR_CLASSES=y 7.244 -CONFIG_FEATURE_TR_EQUIV=y 7.245 -CONFIG_TRUE=y 7.246 -CONFIG_TTY=y 7.247 -CONFIG_UNAME=y 7.248 -CONFIG_UNEXPAND=y 7.249 -CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS=y 7.250 -CONFIG_UNIQ=y 7.251 -CONFIG_USLEEP=y 7.252 -CONFIG_UUDECODE=y 7.253 -CONFIG_UUENCODE=y 7.254 -CONFIG_WC=y 7.255 -CONFIG_FEATURE_WC_LARGE=y 7.256 -CONFIG_WHO=y 7.257 -CONFIG_WHOAMI=y 7.258 -CONFIG_YES=y 7.259 - 7.260 -# 7.261 -# Common options for cp and mv 7.262 -# 7.263 -CONFIG_FEATURE_PRESERVE_HARDLINKS=y 7.264 - 7.265 -# 7.266 -# Common options for ls, more and telnet 7.267 -# 7.268 -CONFIG_FEATURE_AUTOWIDTH=y 7.269 - 7.270 -# 7.271 -# Common options for df, du, ls 7.272 -# 7.273 -CONFIG_FEATURE_HUMAN_READABLE=y 7.274 - 7.275 -# 7.276 -# Common options for md5sum, sha1sum 7.277 -# 7.278 -CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y 7.279 - 7.280 -# 7.281 -# Console Utilities 7.282 -# 7.283 -CONFIG_CHVT=y 7.284 -# CONFIG_CLEAR is not set 7.285 -CONFIG_DEALLOCVT=y 7.286 -CONFIG_DUMPKMAP=y 7.287 -# CONFIG_KBD_MODE is not set 7.288 -CONFIG_LOADFONT=y 7.289 -CONFIG_LOADKMAP=y 7.290 -CONFIG_OPENVT=y 7.291 -# CONFIG_RESET is not set 7.292 -# CONFIG_RESIZE is not set 7.293 -# CONFIG_FEATURE_RESIZE_PRINT is not set 7.294 -CONFIG_SETCONSOLE=y 7.295 -# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set 7.296 -CONFIG_SETKEYCODES=y 7.297 -# CONFIG_SETLOGCONS is not set 7.298 - 7.299 -# 7.300 -# Debian Utilities 7.301 -# 7.302 -CONFIG_MKTEMP=y 7.303 -CONFIG_PIPE_PROGRESS=y 7.304 -# CONFIG_RUN_PARTS is not set 7.305 -# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set 7.306 -# CONFIG_FEATURE_RUN_PARTS_FANCY is not set 7.307 -# CONFIG_START_STOP_DAEMON is not set 7.308 -# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set 7.309 -# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set 7.310 -CONFIG_WHICH=y 7.311 - 7.312 -# 7.313 -# Editors 7.314 -# 7.315 -CONFIG_AWK=y 7.316 -CONFIG_FEATURE_AWK_MATH=y 7.317 -CONFIG_CMP=y 7.318 -CONFIG_DIFF=y 7.319 -CONFIG_FEATURE_DIFF_BINARY=y 7.320 -CONFIG_FEATURE_DIFF_DIR=y 7.321 -CONFIG_FEATURE_DIFF_MINIMAL=y 7.322 -# CONFIG_ED is not set 7.323 -CONFIG_PATCH=y 7.324 -CONFIG_SED=y 7.325 -CONFIG_VI=y 7.326 -CONFIG_FEATURE_VI_MAX_LEN=1024 7.327 -CONFIG_FEATURE_VI_8BIT=y 7.328 -CONFIG_FEATURE_VI_COLON=y 7.329 -CONFIG_FEATURE_VI_YANKMARK=y 7.330 -CONFIG_FEATURE_VI_SEARCH=y 7.331 -CONFIG_FEATURE_VI_USE_SIGNALS=y 7.332 -CONFIG_FEATURE_VI_DOT_CMD=y 7.333 -CONFIG_FEATURE_VI_READONLY=y 7.334 -CONFIG_FEATURE_VI_SETOPTS=y 7.335 -CONFIG_FEATURE_VI_SET=y 7.336 -CONFIG_FEATURE_VI_WIN_RESIZE=y 7.337 -CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y 7.338 -CONFIG_FEATURE_ALLOW_EXEC=y 7.339 - 7.340 -# 7.341 -# Finding Utilities 7.342 -# 7.343 -CONFIG_FIND=y 7.344 -CONFIG_FEATURE_FIND_PRINT0=y 7.345 -CONFIG_FEATURE_FIND_MTIME=y 7.346 -CONFIG_FEATURE_FIND_MMIN=y 7.347 -CONFIG_FEATURE_FIND_PERM=y 7.348 -CONFIG_FEATURE_FIND_TYPE=y 7.349 -CONFIG_FEATURE_FIND_XDEV=y 7.350 -CONFIG_FEATURE_FIND_MAXDEPTH=y 7.351 -CONFIG_FEATURE_FIND_NEWER=y 7.352 -CONFIG_FEATURE_FIND_INUM=y 7.353 -CONFIG_FEATURE_FIND_EXEC=y 7.354 -CONFIG_FEATURE_FIND_USER=y 7.355 -CONFIG_FEATURE_FIND_GROUP=y 7.356 -CONFIG_FEATURE_FIND_NOT=y 7.357 -CONFIG_FEATURE_FIND_DEPTH=y 7.358 -CONFIG_FEATURE_FIND_PAREN=y 7.359 -CONFIG_FEATURE_FIND_SIZE=y 7.360 -CONFIG_FEATURE_FIND_PRUNE=y 7.361 -CONFIG_FEATURE_FIND_DELETE=y 7.362 -CONFIG_FEATURE_FIND_PATH=y 7.363 -CONFIG_FEATURE_FIND_REGEX=y 7.364 -# CONFIG_FEATURE_FIND_CONTEXT is not set 7.365 -CONFIG_GREP=y 7.366 -CONFIG_FEATURE_GREP_EGREP_ALIAS=y 7.367 -CONFIG_FEATURE_GREP_FGREP_ALIAS=y 7.368 -CONFIG_FEATURE_GREP_CONTEXT=y 7.369 -CONFIG_XARGS=y 7.370 -CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y 7.371 -CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y 7.372 -CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y 7.373 -CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y 7.374 - 7.375 -# 7.376 -# Init Utilities 7.377 -# 7.378 -CONFIG_INIT=y 7.379 -# CONFIG_DEBUG_INIT is not set 7.380 -CONFIG_FEATURE_USE_INITTAB=y 7.381 -CONFIG_FEATURE_KILL_REMOVED=y 7.382 -CONFIG_FEATURE_KILL_DELAY=0 7.383 -CONFIG_FEATURE_INIT_SCTTY=y 7.384 -# CONFIG_FEATURE_INIT_SYSLOG is not set 7.385 -CONFIG_FEATURE_EXTRA_QUIET=y 7.386 -# CONFIG_FEATURE_INIT_COREDUMPS is not set 7.387 -CONFIG_FEATURE_INITRD=y 7.388 -CONFIG_HALT=y 7.389 -CONFIG_MESG=y 7.390 - 7.391 -# 7.392 -# Login/Password Management Utilities 7.393 -# 7.394 -CONFIG_FEATURE_SHADOWPASSWDS=y 7.395 -# CONFIG_USE_BB_SHADOW is not set 7.396 -# CONFIG_USE_BB_PWD_GRP is not set 7.397 -CONFIG_ADDGROUP=y 7.398 -CONFIG_FEATURE_ADDUSER_TO_GROUP=y 7.399 -CONFIG_DELGROUP=y 7.400 -CONFIG_FEATURE_DEL_USER_FROM_GROUP=y 7.401 -# CONFIG_FEATURE_CHECK_NAMES is not set 7.402 -CONFIG_ADDUSER=y 7.403 -# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set 7.404 -CONFIG_DELUSER=y 7.405 -CONFIG_GETTY=y 7.406 -CONFIG_FEATURE_UTMP=y 7.407 -CONFIG_FEATURE_WTMP=y 7.408 -CONFIG_LOGIN=y 7.409 -# CONFIG_PAM is not set 7.410 -# CONFIG_LOGIN_SCRIPTS is not set 7.411 -# CONFIG_FEATURE_NOLOGIN is not set 7.412 -CONFIG_FEATURE_SECURETTY=y 7.413 -CONFIG_PASSWD=y 7.414 -CONFIG_FEATURE_PASSWD_WEAK_CHECK=y 7.415 -CONFIG_CRYPTPW=y 7.416 -CONFIG_CHPASSWD=y 7.417 -CONFIG_SU=y 7.418 -CONFIG_FEATURE_SU_SYSLOG=y 7.419 -CONFIG_FEATURE_SU_CHECKS_SHELLS=y 7.420 -CONFIG_SULOGIN=y 7.421 -CONFIG_VLOCK=y 7.422 - 7.423 -# 7.424 -# Linux Ext2 FS Progs 7.425 -# 7.426 -CONFIG_CHATTR=y 7.427 -CONFIG_FSCK=y 7.428 -CONFIG_LSATTR=y 7.429 - 7.430 -# 7.431 -# Linux Module Utilities 7.432 -# 7.433 -# CONFIG_INSMOD is not set 7.434 -# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set 7.435 -# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set 7.436 -# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set 7.437 -# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set 7.438 -# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set 7.439 -# CONFIG_RMMOD is not set 7.440 -# CONFIG_LSMOD is not set 7.441 -# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set 7.442 -# CONFIG_MODPROBE is not set 7.443 -# CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS is not set 7.444 -# CONFIG_FEATURE_MODPROBE_FANCY_ALIAS is not set 7.445 -# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set 7.446 -# CONFIG_FEATURE_2_4_MODULES is not set 7.447 -# CONFIG_FEATURE_2_6_MODULES is not set 7.448 -# CONFIG_FEATURE_QUERY_MODULE_INTERFACE is not set 7.449 - 7.450 -# 7.451 -# Linux System Utilities 7.452 -# 7.453 -CONFIG_DMESG=y 7.454 -CONFIG_FEATURE_DMESG_PRETTY=y 7.455 -CONFIG_FBSET=y 7.456 -CONFIG_FEATURE_FBSET_FANCY=y 7.457 -# CONFIG_FEATURE_FBSET_READMODE is not set 7.458 -CONFIG_FDFLUSH=y 7.459 -CONFIG_FDFORMAT=y 7.460 -CONFIG_FDISK=y 7.461 -CONFIG_FDISK_SUPPORT_LARGE_DISKS=y 7.462 -CONFIG_FEATURE_FDISK_WRITABLE=y 7.463 -# CONFIG_FEATURE_AIX_LABEL is not set 7.464 -# CONFIG_FEATURE_SGI_LABEL is not set 7.465 -# CONFIG_FEATURE_SUN_LABEL is not set 7.466 -# CONFIG_FEATURE_OSF_LABEL is not set 7.467 -# CONFIG_FEATURE_FDISK_ADVANCED is not set 7.468 -# CONFIG_FINDFS is not set 7.469 -CONFIG_FREERAMDISK=y 7.470 -# CONFIG_FSCK_MINIX is not set 7.471 -# CONFIG_MKFS_MINIX is not set 7.472 -# CONFIG_FEATURE_MINIX2 is not set 7.473 -# CONFIG_GETOPT is not set 7.474 -CONFIG_HEXDUMP=y 7.475 -CONFIG_FEATURE_HEXDUMP_REVERSE=y 7.476 -# CONFIG_HD is not set 7.477 -CONFIG_HWCLOCK=y 7.478 -CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y 7.479 -CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y 7.480 -CONFIG_IPCRM=y 7.481 -CONFIG_IPCS=y 7.482 -CONFIG_LOSETUP=y 7.483 -CONFIG_MDEV=y 7.484 -CONFIG_FEATURE_MDEV_CONF=y 7.485 -# CONFIG_FEATURE_MDEV_RENAME is not set 7.486 -CONFIG_FEATURE_MDEV_EXEC=y 7.487 -CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y 7.488 -CONFIG_MKSWAP=y 7.489 -# CONFIG_FEATURE_MKSWAP_V0 is not set 7.490 -CONFIG_MORE=y 7.491 -CONFIG_FEATURE_USE_TERMIOS=y 7.492 -CONFIG_VOLUMEID=y 7.493 -CONFIG_FEATURE_VOLUMEID_EXT=y 7.494 -CONFIG_FEATURE_VOLUMEID_REISERFS=y 7.495 -CONFIG_FEATURE_VOLUMEID_FAT=y 7.496 -# CONFIG_FEATURE_VOLUMEID_HFS is not set 7.497 -# CONFIG_FEATURE_VOLUMEID_JFS is not set 7.498 -# CONFIG_FEATURE_VOLUMEID_XFS is not set 7.499 -CONFIG_FEATURE_VOLUMEID_NTFS=y 7.500 -CONFIG_FEATURE_VOLUMEID_ISO9660=y 7.501 -# CONFIG_FEATURE_VOLUMEID_UDF is not set 7.502 -# CONFIG_FEATURE_VOLUMEID_LUKS is not set 7.503 -CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y 7.504 -# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set 7.505 -# CONFIG_FEATURE_VOLUMEID_ROMFS is not set 7.506 -# CONFIG_FEATURE_VOLUMEID_SYSV is not set 7.507 -# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set 7.508 -CONFIG_FEATURE_VOLUMEID_LINUXRAID=y 7.509 -CONFIG_MOUNT=y 7.510 -# CONFIG_FEATURE_MOUNT_FAKE is not set 7.511 -# CONFIG_FEATURE_MOUNT_VERBOSE is not set 7.512 -# CONFIG_FEATURE_MOUNT_HELPERS is not set 7.513 -CONFIG_FEATURE_MOUNT_LABEL=y 7.514 -CONFIG_FEATURE_MOUNT_NFS=y 7.515 -CONFIG_FEATURE_MOUNT_CIFS=y 7.516 -CONFIG_FEATURE_MOUNT_FLAGS=y 7.517 -CONFIG_FEATURE_MOUNT_FSTAB=y 7.518 -CONFIG_PIVOT_ROOT=y 7.519 -CONFIG_RDATE=y 7.520 -CONFIG_READPROFILE=y 7.521 -# CONFIG_RTCWAKE is not set 7.522 -CONFIG_SETARCH=y 7.523 -CONFIG_SWAPONOFF=y 7.524 -CONFIG_SWITCH_ROOT=y 7.525 -CONFIG_UMOUNT=y 7.526 -CONFIG_FEATURE_UMOUNT_ALL=y 7.527 - 7.528 -# 7.529 -# Common options for mount/umount 7.530 -# 7.531 -CONFIG_FEATURE_MOUNT_LOOP=y 7.532 -# CONFIG_FEATURE_MTAB_SUPPORT is not set 7.533 - 7.534 -# 7.535 -# Miscellaneous Utilities 7.536 -# 7.537 -CONFIG_ADJTIMEX=y 7.538 -# CONFIG_BBCONFIG is not set 7.539 -CONFIG_CHAT=y 7.540 -CONFIG_FEATURE_CHAT_NOFAIL=y 7.541 -# CONFIG_FEATURE_CHAT_TTY_HIFI is not set 7.542 -CONFIG_FEATURE_CHAT_IMPLICIT_CR=y 7.543 -# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set 7.544 -# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set 7.545 -# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set 7.546 -# CONFIG_FEATURE_CHAT_CLR_ABORT is not set 7.547 -CONFIG_CHRT=y 7.548 -CONFIG_CROND=y 7.549 -# CONFIG_DEBUG_CROND_OPTION is not set 7.550 -# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set 7.551 -CONFIG_CRONTAB=y 7.552 -# CONFIG_DC is not set 7.553 -# CONFIG_DEVFSD is not set 7.554 -# CONFIG_DEVFSD_MODLOAD is not set 7.555 -# CONFIG_DEVFSD_FG_NP is not set 7.556 -# CONFIG_DEVFSD_VERBOSE is not set 7.557 -# CONFIG_FEATURE_DEVFS is not set 7.558 -CONFIG_EJECT=y 7.559 -CONFIG_FEATURE_EJECT_SCSI=y 7.560 -CONFIG_LAST=y 7.561 -CONFIG_LESS=y 7.562 -CONFIG_FEATURE_LESS_MAXLINES=9999999 7.563 -CONFIG_FEATURE_LESS_BRACKETS=y 7.564 -CONFIG_FEATURE_LESS_FLAGS=y 7.565 -CONFIG_FEATURE_LESS_FLAGCS=y 7.566 -CONFIG_FEATURE_LESS_MARKS=y 7.567 -CONFIG_FEATURE_LESS_REGEXP=y 7.568 -CONFIG_HDPARM=y 7.569 -CONFIG_FEATURE_HDPARM_GET_IDENTITY=y 7.570 -# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set 7.571 -# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set 7.572 -# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set 7.573 -# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set 7.574 -CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y 7.575 -# CONFIG_MAKEDEVS is not set 7.576 -# CONFIG_FEATURE_MAKEDEVS_LEAF is not set 7.577 -# CONFIG_FEATURE_MAKEDEVS_TABLE is not set 7.578 -CONFIG_MICROCOM=y 7.579 -CONFIG_MOUNTPOINT=y 7.580 -# CONFIG_MT is not set 7.581 -# CONFIG_RAIDAUTORUN is not set 7.582 -# CONFIG_READAHEAD is not set 7.583 -# CONFIG_RUNLEVEL is not set 7.584 -# CONFIG_RX is not set 7.585 -CONFIG_SCRIPT=y 7.586 -CONFIG_STRINGS=y 7.587 -CONFIG_SETSID=y 7.588 -CONFIG_TASKSET=y 7.589 -CONFIG_FEATURE_TASKSET_FANCY=y 7.590 -CONFIG_TIME=y 7.591 -# CONFIG_TTYSIZE is not set 7.592 -CONFIG_VCSA2TXT=y 7.593 -CONFIG_WATCHDOG=y 7.594 - 7.595 -# 7.596 -# Networking Utilities 7.597 -# 7.598 -CONFIG_FEATURE_IPV6=y 7.599 -CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y 7.600 -# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set 7.601 -CONFIG_ARP=y 7.602 -CONFIG_ARPING=y 7.603 -CONFIG_BRCTL=y 7.604 -CONFIG_FEATURE_BRCTL_FANCY=y 7.605 -CONFIG_DNSD=y 7.606 -CONFIG_ETHER_WAKE=y 7.607 -CONFIG_FAKEIDENTD=y 7.608 -CONFIG_FTPGET=y 7.609 -CONFIG_FTPPUT=y 7.610 -CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y 7.611 -CONFIG_HOSTNAME=y 7.612 -# CONFIG_HTTPD is not set 7.613 -# CONFIG_FEATURE_HTTPD_RANGES is not set 7.614 -# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set 7.615 -# CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP is not set 7.616 -# CONFIG_FEATURE_HTTPD_SETUID is not set 7.617 -# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set 7.618 -# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set 7.619 -# CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES is not set 7.620 -# CONFIG_FEATURE_HTTPD_CGI is not set 7.621 -# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set 7.622 -# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set 7.623 -# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set 7.624 -# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set 7.625 -# CONFIG_FEATURE_HTTPD_PROXY is not set 7.626 -CONFIG_IFCONFIG=y 7.627 -CONFIG_FEATURE_IFCONFIG_STATUS=y 7.628 -# CONFIG_FEATURE_IFCONFIG_SLIP is not set 7.629 -CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y 7.630 -CONFIG_FEATURE_IFCONFIG_HW=y 7.631 -CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y 7.632 -# CONFIG_IFENSLAVE is not set 7.633 -# CONFIG_IFUPDOWN is not set 7.634 -CONFIG_IFUPDOWN_IFSTATE_PATH="" 7.635 -# CONFIG_FEATURE_IFUPDOWN_IP is not set 7.636 -# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set 7.637 -# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set 7.638 -# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set 7.639 -# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set 7.640 -# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set 7.641 -# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set 7.642 -CONFIG_INETD=y 7.643 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y 7.644 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y 7.645 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y 7.646 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y 7.647 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y 7.648 -CONFIG_FEATURE_INETD_RPC=y 7.649 -# CONFIG_IP is not set 7.650 -# CONFIG_FEATURE_IP_ADDRESS is not set 7.651 -# CONFIG_FEATURE_IP_LINK is not set 7.652 -# CONFIG_FEATURE_IP_ROUTE is not set 7.653 -# CONFIG_FEATURE_IP_TUNNEL is not set 7.654 -# CONFIG_FEATURE_IP_RULE is not set 7.655 -# CONFIG_FEATURE_IP_SHORT_FORMS is not set 7.656 -# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set 7.657 -# CONFIG_IPADDR is not set 7.658 -# CONFIG_IPLINK is not set 7.659 -# CONFIG_IPROUTE is not set 7.660 -# CONFIG_IPTUNNEL is not set 7.661 -# CONFIG_IPRULE is not set 7.662 -CONFIG_IPCALC=y 7.663 -CONFIG_FEATURE_IPCALC_FANCY=y 7.664 -CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y 7.665 -CONFIG_NAMEIF=y 7.666 -# CONFIG_FEATURE_NAMEIF_EXTENDED is not set 7.667 -CONFIG_NC=y 7.668 -CONFIG_NC_SERVER=y 7.669 -# CONFIG_NC_EXTRA is not set 7.670 -CONFIG_NETSTAT=y 7.671 -CONFIG_FEATURE_NETSTAT_WIDE=y 7.672 -CONFIG_NSLOOKUP=y 7.673 -CONFIG_PING=y 7.674 -CONFIG_PING6=y 7.675 -CONFIG_FEATURE_FANCY_PING=y 7.676 -CONFIG_PSCAN=y 7.677 -CONFIG_ROUTE=y 7.678 -# CONFIG_SENDMAIL is not set 7.679 -# CONFIG_FETCHMAIL is not set 7.680 -# CONFIG_SLATTACH is not set 7.681 -CONFIG_TELNET=y 7.682 -CONFIG_FEATURE_TELNET_TTYPE=y 7.683 -CONFIG_FEATURE_TELNET_AUTOLOGIN=y 7.684 -# CONFIG_TELNETD is not set 7.685 -# CONFIG_FEATURE_TELNETD_STANDALONE is not set 7.686 -CONFIG_TFTP=y 7.687 -CONFIG_TFTPD=y 7.688 -CONFIG_FEATURE_TFTP_GET=y 7.689 -CONFIG_FEATURE_TFTP_PUT=y 7.690 -CONFIG_FEATURE_TFTP_BLOCKSIZE=y 7.691 -# CONFIG_DEBUG_TFTP is not set 7.692 -CONFIG_TRACEROUTE=y 7.693 -CONFIG_FEATURE_TRACEROUTE_VERBOSE=y 7.694 -CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE=y 7.695 -# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set 7.696 -CONFIG_APP_UDHCPD=y 7.697 -CONFIG_APP_DHCPRELAY=y 7.698 -# CONFIG_APP_DUMPLEASES is not set 7.699 -# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set 7.700 -CONFIG_DHCPD_LEASES_FILE="/var/lib/udhcpd.leases" 7.701 -CONFIG_APP_UDHCPC=y 7.702 -CONFIG_FEATURE_UDHCPC_ARPING=y 7.703 -# CONFIG_FEATURE_UDHCP_PORT is not set 7.704 -# CONFIG_FEATURE_UDHCP_DEBUG is not set 7.705 -# CONFIG_FEATURE_RFC3397 is not set 7.706 -CONFIG_DHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" 7.707 -CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 7.708 -CONFIG_VCONFIG=y 7.709 -CONFIG_WGET=y 7.710 -CONFIG_FEATURE_WGET_STATUSBAR=y 7.711 -CONFIG_FEATURE_WGET_AUTHENTICATION=y 7.712 -CONFIG_FEATURE_WGET_LONG_OPTIONS=y 7.713 -CONFIG_ZCIP=y 7.714 -# CONFIG_TCPSVD is not set 7.715 -# CONFIG_UDPSVD is not set 7.716 - 7.717 -# 7.718 -# Process Utilities 7.719 -# 7.720 -CONFIG_FREE=y 7.721 -CONFIG_FUSER=y 7.722 -CONFIG_KILL=y 7.723 -CONFIG_KILLALL=y 7.724 -CONFIG_KILLALL5=y 7.725 -CONFIG_NMETER=y 7.726 -# CONFIG_PGREP is not set 7.727 -CONFIG_PIDOF=y 7.728 -CONFIG_FEATURE_PIDOF_SINGLE=y 7.729 -CONFIG_FEATURE_PIDOF_OMIT=y 7.730 -# CONFIG_PKILL is not set 7.731 -CONFIG_PS=y 7.732 -CONFIG_FEATURE_PS_WIDE=y 7.733 -# CONFIG_FEATURE_PS_TIME is not set 7.734 -# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set 7.735 -CONFIG_RENICE=y 7.736 -CONFIG_BB_SYSCTL=y 7.737 -CONFIG_TOP=y 7.738 -CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y 7.739 -CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y 7.740 -# CONFIG_FEATURE_TOP_DECIMALS is not set 7.741 -CONFIG_FEATURE_TOPMEM=y 7.742 -CONFIG_UPTIME=y 7.743 -CONFIG_WATCH=y 7.744 - 7.745 -# 7.746 -# Shells 7.747 -# 7.748 -CONFIG_FEATURE_SH_IS_ASH=y 7.749 -# CONFIG_FEATURE_SH_IS_HUSH is not set 7.750 -# CONFIG_FEATURE_SH_IS_MSH is not set 7.751 -# CONFIG_FEATURE_SH_IS_NONE is not set 7.752 -CONFIG_ASH=y 7.753 - 7.754 -# 7.755 -# Ash Shell Options 7.756 -# 7.757 -CONFIG_ASH_JOB_CONTROL=y 7.758 -CONFIG_ASH_READ_NCHARS=y 7.759 -CONFIG_ASH_READ_TIMEOUT=y 7.760 -CONFIG_ASH_ALIAS=y 7.761 -CONFIG_ASH_MATH_SUPPORT=y 7.762 -CONFIG_ASH_MATH_SUPPORT_64=y 7.763 -CONFIG_ASH_GETOPTS=y 7.764 -CONFIG_ASH_BUILTIN_ECHO=y 7.765 -CONFIG_ASH_BUILTIN_TEST=y 7.766 -CONFIG_ASH_CMDCMD=y 7.767 -# CONFIG_ASH_MAIL is not set 7.768 -CONFIG_ASH_OPTIMIZE_FOR_SIZE=y 7.769 -CONFIG_ASH_RANDOM_SUPPORT=y 7.770 -# CONFIG_ASH_EXPAND_PRMT is not set 7.771 -# CONFIG_HUSH is not set 7.772 -# CONFIG_HUSH_HELP is not set 7.773 -# CONFIG_HUSH_INTERACTIVE is not set 7.774 -# CONFIG_HUSH_JOB is not set 7.775 -# CONFIG_HUSH_TICK is not set 7.776 -# CONFIG_HUSH_IF is not set 7.777 -# CONFIG_HUSH_LOOPS is not set 7.778 -# CONFIG_LASH is not set 7.779 -# CONFIG_MSH is not set 7.780 - 7.781 -# 7.782 -# Bourne Shell Options 7.783 -# 7.784 -CONFIG_FEATURE_SH_EXTRA_QUIET=y 7.785 -# CONFIG_FEATURE_SH_STANDALONE is not set 7.786 -# CONFIG_CTTYHACK is not set 7.787 - 7.788 -# 7.789 -# System Logging Utilities 7.790 -# 7.791 -CONFIG_SYSLOGD=y 7.792 -CONFIG_FEATURE_ROTATE_LOGFILE=y 7.793 -CONFIG_FEATURE_REMOTE_LOG=y 7.794 -# CONFIG_FEATURE_SYSLOGD_DUP is not set 7.795 -# CONFIG_FEATURE_IPC_SYSLOG is not set 7.796 -CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE= 7.797 -# CONFIG_LOGREAD is not set 7.798 -# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set 7.799 -CONFIG_KLOGD=y 7.800 -CONFIG_LOGGER=y 7.801 - 7.802 -# 7.803 -# Runit Utilities 7.804 -# 7.805 -# CONFIG_RUNSV is not set 7.806 -# CONFIG_RUNSVDIR is not set 7.807 -# CONFIG_SV is not set 7.808 -# CONFIG_SVLOGD is not set 7.809 -# CONFIG_CHPST is not set 7.810 -# CONFIG_SETUIDGID is not set 7.811 -# CONFIG_ENVUIDGID is not set 7.812 -# CONFIG_ENVDIR is not set 7.813 -# CONFIG_SOFTLIMIT is not set 7.814 -# CONFIG_CHCON is not set 7.815 -# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set 7.816 -# CONFIG_GETENFORCE is not set 7.817 -# CONFIG_GETSEBOOL is not set 7.818 -# CONFIG_LOAD_POLICY is not set 7.819 -# CONFIG_MATCHPATHCON is not set 7.820 -# CONFIG_RESTORECON is not set 7.821 -# CONFIG_RUNCON is not set 7.822 -# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set 7.823 -# CONFIG_SELINUXENABLED is not set 7.824 -# CONFIG_SETENFORCE is not set 7.825 -# CONFIG_SETFILES is not set 7.826 -# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set 7.827 -# CONFIG_SETSEBOOL is not set 7.828 -# CONFIG_SESTATUS is not set 7.829 - 7.830 -# 7.831 -# Print Utilities 7.832 -# 7.833 -CONFIG_LPD=y 7.834 -CONFIG_LPR=y 7.835 -CONFIG_LPQ=y
8.1 --- a/busybox/stuff/busybox-1.10.1-cpio-mkdir.u Wed May 27 11:52:33 2009 +0200 8.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 8.3 @@ -1,1 +0,0 @@ 8.4 -busybox-1.10.0-cpio-mkdir.u 8.5 \ No newline at end of file
9.1 --- a/busybox/stuff/busybox-1.10.1-cpio-mtime.u Wed May 27 11:52:33 2009 +0200 9.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 9.3 @@ -1,21 +0,0 @@ 9.4 ---- busybox-1.10.0/archival/cpio.c 9.5 -+++ busybox-1.10.0/archival/cpio.c 9.6 -@@ -167,7 +167,7 @@ 9.7 - archive_handle = init_handle(); 9.8 - archive_handle->src_fd = STDIN_FILENO; 9.9 - archive_handle->seek = seek_by_read; 9.10 -- archive_handle->flags = ARCHIVE_EXTRACT_NEWER | ARCHIVE_PRESERVE_DATE; 9.11 -+ archive_handle->flags = ARCHIVE_EXTRACT_NEWER; 9.12 - 9.13 - #if ENABLE_FEATURE_CPIO_O 9.14 - opt = getopt32(argv, "ituvF:dmoH:", &cpio_filename,&cpio_fmt); 9.15 -@@ -220,6 +220,9 @@ 9.16 - if (opt & CPIO_OPT_CREATE_LEADING_DIR) { 9.17 - archive_handle->flags |= ARCHIVE_CREATE_LEADING_DIRS; 9.18 - } 9.19 -+ if (opt & CPIO_OPT_PRESERVE_MTIME) { 9.20 -+ archive_handle->flags |= ARCHIVE_PRESERVE_DATE; 9.21 -+ } 9.22 - 9.23 - while (optind < argc) { 9.24 - archive_handle->filter = filter_accept_list;
10.1 --- a/busybox/stuff/busybox-1.10.1-cpio.u Wed May 27 11:52:33 2009 +0200 10.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 10.3 @@ -1,1 +0,0 @@ 10.4 -busybox-1.10.0-cpio.u 10.5 \ No newline at end of file
11.1 --- a/busybox/stuff/busybox-1.10.1-dhcpc.u Wed May 27 11:52:33 2009 +0200 11.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 11.3 @@ -1,1 +0,0 @@ 11.4 -busybox-1.10.0-dhcpc.u 11.5 \ No newline at end of file
12.1 --- a/busybox/stuff/busybox-1.10.1-fixes-1.10.1.u Wed May 27 11:52:33 2009 +0200 12.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 12.3 @@ -1,971 +0,0 @@ 12.4 -http://busybox.net/downloads/fixes-1.10.1/busybox-1.10.1-completion.patch 12.5 ---- busybox-1.10.1/libbb/lineedit.c Sat Apr 19 05:50:33 2008 12.6 -+++ busybox-1.10.1-completion/libbb/lineedit.c Thu Apr 24 06:45:39 2008 12.7 -@@ -518,8 +518,8 @@ 12.8 - 12.9 - for (i = 0; i < npaths; i++) { 12.10 - dir = opendir(paths[i]); 12.11 -- if (!dir) /* Don't print an error */ 12.12 -- continue; 12.13 -+ if (!dir) 12.14 -+ continue; /* don't print an error */ 12.15 - 12.16 - while ((next = readdir(dir)) != NULL) { 12.17 - int len1; 12.18 -@@ -529,18 +529,21 @@ 12.19 - if (strncmp(str_found, pfind, strlen(pfind))) 12.20 - continue; 12.21 - /* not see .name without .match */ 12.22 -- if (*str_found == '.' && *pfind == 0) { 12.23 -+ if (*str_found == '.' && *pfind == '\0') { 12.24 - if (NOT_LONE_CHAR(paths[i], '/') || str_found[1]) 12.25 - continue; 12.26 - str_found = ""; /* only "/" */ 12.27 - } 12.28 - found = concat_path_file(paths[i], str_found); 12.29 -- /* hmm, remover in progress? */ 12.30 -- if (lstat(found, &st) < 0) 12.31 -+ /* hmm, remove in progress? */ 12.32 -+ /* NB: stat() first so that we see is it a directory; 12.33 -+ * but if that fails, use lstat() so that 12.34 -+ * we still match dangling links */ 12.35 -+ if (stat(found, &st) && lstat(found, &st)) 12.36 - goto cont; 12.37 - /* find with dirs? */ 12.38 - if (paths[i] != dirbuf) 12.39 -- strcpy(found, next->d_name); /* only name */ 12.40 -+ strcpy(found, next->d_name); /* only name */ 12.41 - 12.42 - len1 = strlen(found); 12.43 - found = xrealloc(found, len1 + 2); 12.44 -@@ -548,7 +551,7 @@ 12.45 - found[len1+1] = '\0'; 12.46 - 12.47 - if (S_ISDIR(st.st_mode)) { 12.48 -- /* name is directory */ 12.49 -+ /* name is a directory */ 12.50 - if (found[len1-1] != '/') { 12.51 - found[len1] = '/'; 12.52 - } 12.53 -@@ -566,7 +569,7 @@ 12.54 - closedir(dir); 12.55 - } 12.56 - if (paths != path1) { 12.57 -- free(paths[0]); /* allocated memory only in first member */ 12.58 -+ free(paths[0]); /* allocated memory is only in first member */ 12.59 - free(paths); 12.60 - } 12.61 - #undef dirbuf 12.62 -http://busybox.net/downloads/fixes-1.10.1/busybox-1.10.1-echo.patch 12.63 ---- busybox-1.10.1/coreutils/echo.c Sat Apr 19 05:50:32 2008 12.64 -+++ busybox-1.10.1-echo/coreutils/echo.c Wed Apr 30 02:37:08 2008 12.65 -@@ -27,10 +27,8 @@ 12.66 - 12.67 - /* This is a NOFORK applet. Be very careful! */ 12.68 - 12.69 --/* argc is unused, but removing it precludes compiler from 12.70 -- * using call -> jump optimization */ 12.71 -+/* NB: can be used by shell even if not enabled as applet */ 12.72 - 12.73 --int echo_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; 12.74 - int echo_main(int argc ATTRIBUTE_UNUSED, char **argv) 12.75 - { 12.76 - const char *arg; 12.77 -@@ -110,15 +108,19 @@ 12.78 - } 12.79 - #if !ENABLE_FEATURE_FANCY_ECHO 12.80 - /* SUSv3 specifies that octal escapes must begin with '0'. */ 12.81 -- if ( (((unsigned char)*arg) - '1') >= 7) 12.82 -+ if ( ((int)(unsigned char)(*arg) - '0') >= 8) /* '8' or bigger */ 12.83 - #endif 12.84 - { 12.85 - /* Since SUSv3 mandates a first digit of 0, 4-digit octals 12.86 - * of the form \0### are accepted. */ 12.87 -- if (*arg == '0' && ((unsigned char)(arg[1]) - '0') < 8) { 12.88 -- arg++; 12.89 -+ if (*arg == '0') { 12.90 -+ /* NB: don't turn "...\0" into "...\" */ 12.91 -+ if (arg[1] && ((unsigned char)(arg[1]) - '0') < 8) { 12.92 -+ arg++; 12.93 -+ } 12.94 - } 12.95 -- /* bb_process_escape_sequence can handle nul correctly */ 12.96 -+ /* bb_process_escape_sequence handles NUL correctly 12.97 -+ * ("...\" case). */ 12.98 - c = bb_process_escape_sequence(&arg); 12.99 - } 12.100 - } 12.101 -http://busybox.net/downloads/fixes-1.10.1/busybox-1.10.1-fixes-1.10.1.u 12.102 -http://busybox.net/downloads/fixes-1.10.1/busybox-1.10.1-hppa.patch 12.103 ---- busybox-1.10.1/include/libbb.h Sat Apr 19 05:50:36 2008 12.104 -+++ busybox-1.10.1-hppa/include/libbb.h Mon Apr 28 10:34:36 2008 12.105 -@@ -288,20 +288,20 @@ 12.106 - * SIGSYS Bad argument to routine 12.107 - * SIGTRAP Trace/breakpoint trap 12.108 - */ 12.109 -- BB_FATAL_SIGS = 0 12.110 -- + (1 << SIGHUP) 12.111 -- + (1 << SIGINT) 12.112 -- + (1 << SIGTERM) 12.113 -- + (1 << SIGPIPE) // Write to pipe with no readers 12.114 -- + (1 << SIGQUIT) // Quit from keyboard 12.115 -- + (1 << SIGABRT) // Abort signal from abort(3) 12.116 -- + (1 << SIGALRM) // Timer signal from alarm(2) 12.117 -- + (1 << SIGVTALRM) // Virtual alarm clock 12.118 -- + (1 << SIGXCPU) // CPU time limit exceeded 12.119 -- + (1 << SIGXFSZ) // File size limit exceeded 12.120 -- + (1 << SIGUSR1) // Yes kids, these are also fatal! 12.121 -- + (1 << SIGUSR2) 12.122 -- + 0, 12.123 -+ BB_FATAL_SIGS = (int)(0 12.124 -+ + (1LL << SIGHUP) 12.125 -+ + (1LL << SIGINT) 12.126 -+ + (1LL << SIGTERM) 12.127 -+ + (1LL << SIGPIPE) // Write to pipe with no readers 12.128 -+ + (1LL << SIGQUIT) // Quit from keyboard 12.129 -+ + (1LL << SIGABRT) // Abort signal from abort(3) 12.130 -+ + (1LL << SIGALRM) // Timer signal from alarm(2) 12.131 -+ + (1LL << SIGVTALRM) // Virtual alarm clock 12.132 -+ + (1LL << SIGXCPU) // CPU time limit exceeded 12.133 -+ + (1LL << SIGXFSZ) // File size limit exceeded 12.134 -+ + (1LL << SIGUSR1) // Yes kids, these are also fatal! 12.135 -+ + (1LL << SIGUSR2) 12.136 -+ + 0), 12.137 - }; 12.138 - void bb_signals(int sigs, void (*f)(int)); 12.139 - /* Unlike signal() and bb_signals, sets handler with sigaction() 12.140 -http://busybox.net/downloads/fixes-1.10.1/busybox-1.10.1-httpd.patch 12.141 ---- busybox-1.10.1/networking/httpd.c Sat Apr 19 05:50:27 2008 12.142 -+++ busybox-1.10.1-httpd/networking/httpd.c Wed May 7 11:19:11 2008 12.143 -@@ -1457,6 +1457,11 @@ 12.144 - } 12.145 - } 12.146 - #endif 12.147 -+ /* restore default signal dispositions for CGI process */ 12.148 -+ signal(SIGCHLD, SIG_DFL); 12.149 -+ signal(SIGPIPE, SIG_DFL); 12.150 -+ signal(SIGHUP, SIG_DFL); 12.151 -+ 12.152 - execv(fullpath, argv); 12.153 - if (verbose) 12.154 - bb_perror_msg("exec %s", fullpath); 12.155 -http://busybox.net/downloads/fixes-1.10.1/busybox-1.10.1-ioctl.patch 12.156 ---- busybox-1.10.1/include/libbb.h Sat Apr 19 05:50:36 2008 12.157 -+++ busybox-1.10.1-ioctl/include/libbb.h Thu Apr 24 06:45:03 2008 12.158 -@@ -995,16 +995,16 @@ 12.159 - /* NB: typically you want to pass fd 0, not 1. Think 'applet | grep something' */ 12.160 - int get_terminal_width_height(int fd, int *width, int *height); 12.161 - 12.162 --int ioctl_or_perror(int fd, int request, void *argp, const char *fmt,...) __attribute__ ((format (printf, 4, 5))); 12.163 --void ioctl_or_perror_and_die(int fd, int request, void *argp, const char *fmt,...) __attribute__ ((format (printf, 4, 5))); 12.164 -+int ioctl_or_perror(int fd, unsigned request, void *argp, const char *fmt,...) __attribute__ ((format (printf, 4, 5))); 12.165 -+void ioctl_or_perror_and_die(int fd, unsigned request, void *argp, const char *fmt,...) __attribute__ ((format (printf, 4, 5))); 12.166 - #if ENABLE_IOCTL_HEX2STR_ERROR 12.167 --int bb_ioctl_or_warn(int fd, int request, void *argp, const char *ioctl_name); 12.168 --void bb_xioctl(int fd, int request, void *argp, const char *ioctl_name); 12.169 -+int bb_ioctl_or_warn(int fd, unsigned request, void *argp, const char *ioctl_name); 12.170 -+void bb_xioctl(int fd, unsigned request, void *argp, const char *ioctl_name); 12.171 - #define ioctl_or_warn(fd,request,argp) bb_ioctl_or_warn(fd,request,argp,#request) 12.172 - #define xioctl(fd,request,argp) bb_xioctl(fd,request,argp,#request) 12.173 - #else 12.174 --int bb_ioctl_or_warn(int fd, int request, void *argp); 12.175 --void bb_xioctl(int fd, int request, void *argp); 12.176 -+int bb_ioctl_or_warn(int fd, unsigned request, void *argp); 12.177 -+void bb_xioctl(int fd, unsigned request, void *argp); 12.178 - #define ioctl_or_warn(fd,request,argp) bb_ioctl_or_warn(fd,request,argp) 12.179 - #define xioctl(fd,request,argp) bb_xioctl(fd,request,argp) 12.180 - #endif 12.181 ---- busybox-1.10.1/libbb/xfuncs.c Sat Apr 19 05:50:33 2008 12.182 -+++ busybox-1.10.1-ioctl/libbb/xfuncs.c Thu Apr 24 06:45:14 2008 12.183 -@@ -704,7 +704,7 @@ 12.184 - return ret; 12.185 - } 12.186 - 12.187 --void ioctl_or_perror_and_die(int fd, int request, void *argp, const char *fmt,...) 12.188 -+void ioctl_or_perror_and_die(int fd, unsigned request, void *argp, const char *fmt,...) 12.189 - { 12.190 - va_list p; 12.191 - 12.192 -@@ -717,7 +717,7 @@ 12.193 - } 12.194 - } 12.195 - 12.196 --int ioctl_or_perror(int fd, int request, void *argp, const char *fmt,...) 12.197 -+int ioctl_or_perror(int fd, unsigned request, void *argp, const char *fmt,...) 12.198 - { 12.199 - va_list p; 12.200 - int ret = ioctl(fd, request, argp); 12.201 -@@ -731,7 +731,7 @@ 12.202 - } 12.203 - 12.204 - #if ENABLE_IOCTL_HEX2STR_ERROR 12.205 --int bb_ioctl_or_warn(int fd, int request, void *argp, const char *ioctl_name) 12.206 -+int bb_ioctl_or_warn(int fd, unsigned request, void *argp, const char *ioctl_name) 12.207 - { 12.208 - int ret; 12.209 - 12.210 -@@ -740,13 +740,13 @@ 12.211 - bb_simple_perror_msg(ioctl_name); 12.212 - return ret; 12.213 - } 12.214 --void bb_xioctl(int fd, int request, void *argp, const char *ioctl_name) 12.215 -+void bb_xioctl(int fd, unsigned request, void *argp, const char *ioctl_name) 12.216 - { 12.217 - if (ioctl(fd, request, argp) < 0) 12.218 - bb_simple_perror_msg_and_die(ioctl_name); 12.219 - } 12.220 - #else 12.221 --int bb_ioctl_or_warn(int fd, int request, void *argp) 12.222 -+int bb_ioctl_or_warn(int fd, unsigned request, void *argp) 12.223 - { 12.224 - int ret; 12.225 - 12.226 -@@ -755,7 +755,7 @@ 12.227 - bb_perror_msg("ioctl %#x failed", request); 12.228 - return ret; 12.229 - } 12.230 --void bb_xioctl(int fd, int request, void *argp) 12.231 -+void bb_xioctl(int fd, unsigned request, void *argp) 12.232 - { 12.233 - if (ioctl(fd, request, argp) < 0) 12.234 - bb_perror_msg_and_die("ioctl %#x failed", request); 12.235 -http://busybox.net/downloads/fixes-1.10.1/busybox-1.10.1-mdev.patch 12.236 ---- busybox-1.10.1/util-linux/mdev.c Sat Apr 19 05:50:39 2008 12.237 -+++ busybox-1.10.1-mdev/util-linux/mdev.c Fri May 2 14:48:06 2008 12.238 -@@ -12,6 +12,8 @@ 12.239 - #include "libbb.h" 12.240 - #include "xregex.h" 12.241 - 12.242 -+#define ENABLE_FEATURE_MDEV_RENAME_REGEXP 1 12.243 -+ 12.244 - struct globals { 12.245 - int root_major, root_minor; 12.246 - }; 12.247 -@@ -21,7 +23,21 @@ 12.248 - 12.249 - #define MAX_SYSFS_DEPTH 3 /* prevent infinite loops in /sys symlinks */ 12.250 - 12.251 -+/* We use additional 64+ bytes in make_device() */ 12.252 -+#define SCRATCH_SIZE 80 12.253 -+ 12.254 -+static char *next_field(char *s) 12.255 -+{ 12.256 -+ char *end = skip_non_whitespace(s); 12.257 -+ s = skip_whitespace(end); 12.258 -+ *end = '\0'; 12.259 -+ if (*s == '\0') 12.260 -+ s = NULL; 12.261 -+ return s; 12.262 -+} 12.263 -+ 12.264 - /* mknod in /dev based on a path like "/sys/block/hda/hda1" */ 12.265 -+/* NB: "mdev -s" may call us many times, do not leak memory/fds! */ 12.266 - static void make_device(char *path, int delete) 12.267 - { 12.268 - const char *device_name; 12.269 -@@ -29,7 +45,7 @@ 12.270 - int mode = 0660; 12.271 - uid_t uid = 0; 12.272 - gid_t gid = 0; 12.273 -- char *temp = path + strlen(path); 12.274 -+ char *dev_maj_min = path + strlen(path); 12.275 - char *command = NULL; 12.276 - char *alias = NULL; 12.277 - 12.278 -@@ -42,156 +58,178 @@ 12.279 - * also depend on path having writeable space after it. 12.280 - */ 12.281 - if (!delete) { 12.282 -- strcat(path, "/dev"); 12.283 -- len = open_read_close(path, temp + 1, 64); 12.284 -- *temp++ = 0; 12.285 -+ strcpy(dev_maj_min, "/dev"); 12.286 -+ len = open_read_close(path, dev_maj_min + 1, 64); 12.287 -+ *dev_maj_min++ = '\0'; 12.288 - if (len < 1) { 12.289 -- if (ENABLE_FEATURE_MDEV_EXEC) 12.290 -- /* no "dev" file, so just try to run script */ 12.291 -- *temp = 0; 12.292 -- else 12.293 -+ if (!ENABLE_FEATURE_MDEV_EXEC) 12.294 - return; 12.295 -+ /* no "dev" file, so just try to run script */ 12.296 -+ *dev_maj_min = '\0'; 12.297 - } 12.298 - } 12.299 - 12.300 - /* Determine device name, type, major and minor */ 12.301 - device_name = bb_basename(path); 12.302 -- type = (path[5] == 'c' ? S_IFCHR : S_IFBLK); 12.303 -+ /* http://kernel.org/doc/pending/hotplug.txt says that only 12.304 -+ * "/sys/block/..." is for block devices. "sys/bus" etc is not! */ 12.305 -+ type = (strncmp(&path[5], "block/", 6) == 0 ? S_IFBLK : S_IFCHR); 12.306 - 12.307 - if (ENABLE_FEATURE_MDEV_CONF) { 12.308 - FILE *fp; 12.309 -- char *line, *vline; 12.310 -+ char *line, *val, *next; 12.311 - unsigned lineno = 0; 12.312 - 12.313 -- /* If we have a config file, look up the user settings */ 12.314 -+ /* If we have config file, look up user settings */ 12.315 - fp = fopen_or_warn("/etc/mdev.conf", "r"); 12.316 - if (!fp) 12.317 - goto end_parse; 12.318 - 12.319 -- while ((vline = line = xmalloc_getline(fp)) != NULL) { 12.320 -- int field; 12.321 -+ while ((line = xmalloc_getline(fp)) != NULL) { 12.322 -+ regmatch_t off[1+9*ENABLE_FEATURE_MDEV_RENAME_REGEXP]; 12.323 - 12.324 -- /* A pristine copy for command execution. */ 12.325 -- char *orig_line; 12.326 -- if (ENABLE_FEATURE_MDEV_EXEC) 12.327 -- orig_line = xstrdup(line); 12.328 -- 12.329 - ++lineno; 12.330 -+ trim(line); 12.331 -+ if (!line[0]) 12.332 -+ goto next_line; 12.333 - 12.334 -- /* Three fields: regex, uid:gid, mode */ 12.335 -- for (field = 0; field < (3 + ENABLE_FEATURE_MDEV_RENAME + ENABLE_FEATURE_MDEV_EXEC); ++field) { 12.336 -+ /* Fields: regex uid:gid mode [alias] [cmd] */ 12.337 - 12.338 -- /* Find a non-empty field */ 12.339 -- char *val; 12.340 -- do { 12.341 -- val = strtok(vline, " \t"); 12.342 -- vline = NULL; 12.343 -- } while (val && !*val); 12.344 -- if (!val) { 12.345 -- if (field) 12.346 -- break; 12.347 -- else 12.348 -- goto next_line; 12.349 -- } 12.350 -+ /* 1st field: regex to match this device */ 12.351 -+ next = next_field(line); 12.352 -+ { 12.353 -+ regex_t match; 12.354 -+ int result; 12.355 - 12.356 -- if (field == 0) { 12.357 -+ /* Is this it? */ 12.358 -+ xregcomp(&match, line, REG_EXTENDED); 12.359 -+ result = regexec(&match, device_name, ARRAY_SIZE(off), off, 0); 12.360 -+ regfree(&match); 12.361 - 12.362 -- /* Regex to match this device */ 12.363 -- regex_t match; 12.364 -- regmatch_t off; 12.365 -- int result; 12.366 -+ //bb_error_msg("matches:"); 12.367 -+ //for (int i = 0; i < ARRAY_SIZE(off); i++) { 12.368 -+ // if (off[i].rm_so < 0) continue; 12.369 -+ // bb_error_msg("match %d: '%.*s'\n", i, 12.370 -+ // (int)(off[i].rm_eo - off[i].rm_so), 12.371 -+ // device_name + off[i].rm_so); 12.372 -+ //} 12.373 - 12.374 -- /* Is this it? */ 12.375 -- xregcomp(&match, val, REG_EXTENDED); 12.376 -- result = regexec(&match, device_name, 1, &off, 0); 12.377 -- regfree(&match); 12.378 -+ /* If not this device, skip rest of line */ 12.379 -+ /* (regexec returns whole pattern as "range" 0) */ 12.380 -+ if (result || off[0].rm_so || off[0].rm_eo != strlen(device_name)) 12.381 -+ goto next_line; 12.382 -+ } 12.383 - 12.384 -- /* If not this device, skip rest of line */ 12.385 -- if (result || off.rm_so || off.rm_eo != strlen(device_name)) 12.386 -- goto next_line; 12.387 -+ /* This line matches: stop parsing the file 12.388 -+ * after parsing the rest of fields */ 12.389 - 12.390 -- } else if (field == 1) { 12.391 -+ /* 2nd field: uid:gid - device ownership */ 12.392 -+ if (!next) /* field must exist */ 12.393 -+ bb_error_msg_and_die("bad line %u", lineno); 12.394 -+ val = next; 12.395 -+ next = next_field(val); 12.396 -+ { 12.397 -+ struct passwd *pass; 12.398 -+ struct group *grp; 12.399 -+ char *str_uid = val; 12.400 -+ char *str_gid = strchrnul(val, ':'); 12.401 - 12.402 -- /* uid:gid device ownership */ 12.403 -- struct passwd *pass; 12.404 -- struct group *grp; 12.405 -+ if (*str_gid) 12.406 -+ *str_gid++ = '\0'; 12.407 -+ /* Parse UID */ 12.408 -+ pass = getpwnam(str_uid); 12.409 -+ if (pass) 12.410 -+ uid = pass->pw_uid; 12.411 -+ else 12.412 -+ uid = strtoul(str_uid, NULL, 10); 12.413 -+ /* Parse GID */ 12.414 -+ grp = getgrnam(str_gid); 12.415 -+ if (grp) 12.416 -+ gid = grp->gr_gid; 12.417 -+ else 12.418 -+ gid = strtoul(str_gid, NULL, 10); 12.419 -+ } 12.420 - 12.421 -- char *str_uid = val; 12.422 -- char *str_gid = strchr(val, ':'); 12.423 -- if (str_gid) 12.424 -- *str_gid = '\0', ++str_gid; 12.425 -+ /* 3rd field: mode - device permissions */ 12.426 -+ if (!next) /* field must exist */ 12.427 -+ bb_error_msg_and_die("bad line %u", lineno); 12.428 -+ val = next; 12.429 -+ next = next_field(val); 12.430 -+ mode = strtoul(val, NULL, 8); 12.431 - 12.432 -- /* Parse UID */ 12.433 -- pass = getpwnam(str_uid); 12.434 -- if (pass) 12.435 -- uid = pass->pw_uid; 12.436 -- else 12.437 -- uid = strtoul(str_uid, NULL, 10); 12.438 -+ /* 4th field (opt): >alias */ 12.439 -+ if (ENABLE_FEATURE_MDEV_RENAME) { 12.440 -+ if (!next) 12.441 -+ break; 12.442 -+ if (*next == '>') { 12.443 -+#if ENABLE_FEATURE_MDEV_RENAME_REGEXP 12.444 -+ char *s, *p; 12.445 -+ unsigned i, n; 12.446 -+#endif 12.447 -+ val = next; 12.448 -+ next = next_field(val); 12.449 -+#if ENABLE_FEATURE_MDEV_RENAME_REGEXP 12.450 -+ /* substitute %1..9 with off[1..9], if any */ 12.451 -+ n = 0; 12.452 -+ s = val; 12.453 -+ while (*s && *s++ == '%') 12.454 -+ n++; 12.455 - 12.456 -- /* parse GID */ 12.457 -- grp = getgrnam(str_gid); 12.458 -- if (grp) 12.459 -- gid = grp->gr_gid; 12.460 -- else 12.461 -- gid = strtoul(str_gid, NULL, 10); 12.462 -- 12.463 -- } else if (field == 2) { 12.464 -- 12.465 -- /* Mode device permissions */ 12.466 -- mode = strtoul(val, NULL, 8); 12.467 -- 12.468 -- } else if (ENABLE_FEATURE_MDEV_RENAME && field == 3) { 12.469 -- 12.470 -- if (*val != '>') 12.471 -- ++field; 12.472 -- else 12.473 -- alias = xstrdup(val + 1); 12.474 -- 12.475 -+ p = alias = xzalloc(strlen(val) + n * strlen(device_name)); 12.476 -+ s = val + 1; 12.477 -+ while (*s) { 12.478 -+ *p = *s; 12.479 -+ if ('%' == *s) { 12.480 -+ i = (s[1] - '0'); 12.481 -+ if (i <= 9 && off[i].rm_so >= 0) { 12.482 -+ n = off[i].rm_eo - off[i].rm_so; 12.483 -+ strncpy(p, device_name + off[i].rm_so, n); 12.484 -+ p += n - 1; 12.485 -+ s++; 12.486 -+ } 12.487 -+ } 12.488 -+ p++; 12.489 -+ s++; 12.490 -+ } 12.491 -+#else 12.492 -+ alias = xstrdup(val + 1); 12.493 -+#endif 12.494 - } 12.495 -+ } 12.496 - 12.497 -- if (ENABLE_FEATURE_MDEV_EXEC && field == 3 + ENABLE_FEATURE_MDEV_RENAME) { 12.498 -+ /* The rest (opt): command to run */ 12.499 -+ if (!next) 12.500 -+ break; 12.501 -+ val = next; 12.502 -+ if (ENABLE_FEATURE_MDEV_EXEC) { 12.503 -+ const char *s = "@$*"; 12.504 -+ const char *s2 = strchr(s, *val); 12.505 - 12.506 -- /* Optional command to run */ 12.507 -- const char *s = "@$*"; 12.508 -- const char *s2 = strchr(s, *val); 12.509 -+ if (!s2) 12.510 -+ bb_error_msg_and_die("bad line %u", lineno); 12.511 - 12.512 -- if (!s2) { 12.513 -- /* Force error */ 12.514 -- field = 1; 12.515 -- break; 12.516 -- } 12.517 -- 12.518 -- /* Correlate the position in the "@$*" with the delete 12.519 -- * step so that we get the proper behavior. 12.520 -- */ 12.521 -- if ((s2 - s + 1) & (1 << delete)) 12.522 -- command = xstrdup(orig_line + (val + 1 - line)); 12.523 -+ /* Correlate the position in the "@$*" with the delete 12.524 -+ * step so that we get the proper behavior: 12.525 -+ * @cmd: run on create 12.526 -+ * $cmd: run on delete 12.527 -+ * *cmd: run on both 12.528 -+ */ 12.529 -+ if ((s2 - s + 1) /*1/2/3*/ & /*1/2*/ (1 + delete)) { 12.530 -+ command = xstrdup(val + 1); 12.531 - } 12.532 - } 12.533 -- 12.534 -- /* Did everything parse happily? */ 12.535 -- if (field <= 2) 12.536 -- bb_error_msg_and_die("bad line %u", lineno); 12.537 -- 12.538 -+ /* end of field parsing */ 12.539 -+ break; /* we found matching line, stop */ 12.540 - next_line: 12.541 - free(line); 12.542 -- if (ENABLE_FEATURE_MDEV_EXEC) 12.543 -- free(orig_line); 12.544 -- } 12.545 -+ } /* end of "while line is read from /etc/mdev.conf" */ 12.546 - 12.547 -- if (ENABLE_FEATURE_CLEAN_UP) 12.548 -- fclose(fp); 12.549 -- 12.550 -- end_parse: /* nothing */ ; 12.551 -+ free(line); /* in case we used "break" to get here */ 12.552 -+ fclose(fp); 12.553 - } 12.554 -+ end_parse: 12.555 - 12.556 -- if (!delete) { 12.557 -- if (sscanf(temp, "%d:%d", &major, &minor) != 2) { 12.558 -- if (ENABLE_FEATURE_MDEV_EXEC) 12.559 -- goto skip_creation; 12.560 -- else 12.561 -- return; 12.562 -- } 12.563 -+ if (!delete && sscanf(dev_maj_min, "%u:%u", &major, &minor) == 2) { 12.564 - 12.565 - if (ENABLE_FEATURE_MDEV_RENAME) 12.566 - unlink(device_name); 12.567 -@@ -208,39 +246,44 @@ 12.568 - if (ENABLE_FEATURE_MDEV_RENAME && alias) { 12.569 - char *dest; 12.570 - 12.571 -- temp = strrchr(alias, '/'); 12.572 -- if (temp) { 12.573 -- if (temp[1] != '\0') 12.574 -- /* given a file name, so rename it */ 12.575 -- *temp = '\0'; 12.576 -+ /* ">bar/": rename to bar/device_name */ 12.577 -+ /* ">bar[/]baz": rename to bar[/]baz */ 12.578 -+ dest = strrchr(alias, '/'); 12.579 -+ if (dest) { /* ">bar/[baz]" ? */ 12.580 -+ *dest = '\0'; /* mkdir bar */ 12.581 - bb_make_directory(alias, 0755, FILEUTILS_RECUR); 12.582 -- dest = concat_path_file(alias, device_name); 12.583 -- } else 12.584 -- dest = alias; 12.585 -+ *dest = '/'; 12.586 -+ if (dest[1] == '\0') { /* ">bar/" => ">bar/device_name" */ 12.587 -+ dest = alias; 12.588 -+ alias = concat_path_file(alias, device_name); 12.589 -+ free(dest); 12.590 -+ } 12.591 -+ } 12.592 - 12.593 -- rename(device_name, dest); // TODO: xrename? 12.594 -- symlink(dest, device_name); 12.595 -+ /* recreate device_name as a symlink to moved device node */ 12.596 -+ if (rename(device_name, alias) == 0) { 12.597 -+ symlink(alias, device_name); 12.598 -+ } 12.599 - 12.600 -- if (alias != dest) 12.601 -- free(alias); 12.602 -- free(dest); 12.603 -+ free(alias); 12.604 - } 12.605 - } 12.606 -- skip_creation: /* nothing */ ; 12.607 - } 12.608 -+ 12.609 - if (ENABLE_FEATURE_MDEV_EXEC && command) { 12.610 -- /* setenv will leak memory, so use putenv */ 12.611 -+ /* setenv will leak memory, use putenv/unsetenv/free */ 12.612 - char *s = xasprintf("MDEV=%s", device_name); 12.613 - putenv(s); 12.614 - if (system(command) == -1) 12.615 -- bb_perror_msg_and_die("cannot run %s", command); 12.616 -+ bb_perror_msg_and_die("can't run '%s'", command); 12.617 - s[4] = '\0'; 12.618 - unsetenv(s); 12.619 - free(s); 12.620 - free(command); 12.621 - } 12.622 -+ 12.623 - if (delete) 12.624 -- remove_file(device_name, FILEUTILS_FORCE); 12.625 -+ unlink(device_name); 12.626 - } 12.627 - 12.628 - /* File callback for /sys/ traversal */ 12.629 -@@ -249,14 +292,15 @@ 12.630 - void *userData, 12.631 - int depth ATTRIBUTE_UNUSED) 12.632 - { 12.633 -- size_t len = strlen(fileName) - 4; 12.634 -+ size_t len = strlen(fileName) - 4; /* can't underflow */ 12.635 - char *scratch = userData; 12.636 - 12.637 -- if (strcmp(fileName + len, "/dev")) 12.638 -+ /* len check is for paranoid reasons */ 12.639 -+ if (strcmp(fileName + len, "/dev") || len >= PATH_MAX) 12.640 - return FALSE; 12.641 - 12.642 - strcpy(scratch, fileName); 12.643 -- scratch[len] = 0; 12.644 -+ scratch[len] = '\0'; 12.645 - make_device(scratch, 0); 12.646 - 12.647 - return TRUE; 12.648 -@@ -287,12 +331,6 @@ 12.649 - int cnt; 12.650 - int firmware_fd, loading_fd, data_fd; 12.651 - 12.652 -- /* check for $FIRMWARE from kernel */ 12.653 -- /* XXX: dont bother: open(NULL) works same as open("no-such-file") 12.654 -- * if (!firmware) 12.655 -- * return; 12.656 -- */ 12.657 -- 12.658 - /* check for /lib/firmware/$FIRMWARE */ 12.659 - xchdir("/lib/firmware"); 12.660 - firmware_fd = xopen(firmware, O_RDONLY); 12.661 -@@ -304,16 +342,15 @@ 12.662 - xchdir(sysfs_path); 12.663 - for (cnt = 0; cnt < 30; ++cnt) { 12.664 - loading_fd = open("loading", O_WRONLY); 12.665 -- if (loading_fd == -1) 12.666 -- sleep(1); 12.667 -- else 12.668 -- break; 12.669 -+ if (loading_fd != -1) 12.670 -+ goto loading; 12.671 -+ sleep(1); 12.672 - } 12.673 -- if (loading_fd == -1) 12.674 -- goto out; 12.675 -+ goto out; 12.676 - 12.677 -+ loading: 12.678 - /* tell kernel we're loading by `echo 1 > /sys/$DEVPATH/loading` */ 12.679 -- if (write(loading_fd, "1", 1) != 1) 12.680 -+ if (full_write(loading_fd, "1", 1) != 1) 12.681 - goto out; 12.682 - 12.683 - /* load firmware by `cat /lib/firmware/$FIRMWARE > /sys/$DEVPATH/data */ 12.684 -@@ -324,9 +361,9 @@ 12.685 - 12.686 - /* tell kernel result by `echo [0|-1] > /sys/$DEVPATH/loading` */ 12.687 - if (cnt > 0) 12.688 -- write(loading_fd, "0", 1); 12.689 -+ full_write(loading_fd, "0", 1); 12.690 - else 12.691 -- write(loading_fd, "-1", 2); 12.692 -+ full_write(loading_fd, "-1", 2); 12.693 - 12.694 - out: 12.695 - if (ENABLE_FEATURE_CLEAN_UP) { 12.696 -@@ -341,16 +378,14 @@ 12.697 - { 12.698 - char *action; 12.699 - char *env_path; 12.700 -- RESERVE_CONFIG_BUFFER(temp,PATH_MAX); 12.701 -+ RESERVE_CONFIG_BUFFER(temp, PATH_MAX + SCRATCH_SIZE); 12.702 - 12.703 - xchdir("/dev"); 12.704 - 12.705 -- if (argc == 2 && !strcmp(argv[1],"-s")) { 12.706 -- 12.707 -+ if (argc == 2 && !strcmp(argv[1], "-s")) { 12.708 - /* Scan: 12.709 - * mdev -s 12.710 - */ 12.711 -- 12.712 - struct stat st; 12.713 - 12.714 - xstat("/", &st); 12.715 -@@ -366,26 +401,27 @@ 12.716 - fileAction, dirAction, temp, 0); 12.717 - 12.718 - } else { 12.719 -- 12.720 - /* Hotplug: 12.721 - * env ACTION=... DEVPATH=... mdev 12.722 - * ACTION can be "add" or "remove" 12.723 - * DEVPATH is like "/block/sda" or "/class/input/mice" 12.724 - */ 12.725 -- 12.726 - action = getenv("ACTION"); 12.727 - env_path = getenv("DEVPATH"); 12.728 - if (!action || !env_path) 12.729 - bb_show_usage(); 12.730 - 12.731 -- sprintf(temp, "/sys%s", env_path); 12.732 -+ snprintf(temp, PATH_MAX, "/sys%s", env_path); 12.733 - if (!strcmp(action, "remove")) 12.734 - make_device(temp, 1); 12.735 - else if (!strcmp(action, "add")) { 12.736 - make_device(temp, 0); 12.737 - 12.738 -- if (ENABLE_FEATURE_MDEV_LOAD_FIRMWARE) 12.739 -- load_firmware(getenv("FIRMWARE"), temp); 12.740 -+ if (ENABLE_FEATURE_MDEV_LOAD_FIRMWARE) { 12.741 -+ char *fw = getenv("FIRMWARE"); 12.742 -+ if (fw) 12.743 -+ load_firmware(fw, temp); 12.744 -+ } 12.745 - } 12.746 - } 12.747 - 12.748 -http://busybox.net/downloads/fixes-1.10.1/busybox-1.10.1-pidof.patch 12.749 ---- busybox-1.10.1/libbb/procps.c Sat Apr 19 05:50:33 2008 12.750 -+++ busybox-1.10.1-pidof/libbb/procps.c Sat Apr 26 01:18:32 2008 12.751 -@@ -258,7 +258,7 @@ 12.752 - &sp->start_time, 12.753 - &vsz, 12.754 - &rss); 12.755 -- if (n != 10) 12.756 -+ if (n != 11) 12.757 - break; 12.758 - /* vsz is in bytes and we want kb */ 12.759 - sp->vsz = vsz >> 10; 12.760 -http://busybox.net/downloads/fixes-1.10.1/busybox-1.10.1-ssd.patch 12.761 ---- busybox-1.10.1/debianutils/start_stop_daemon.c Sat Apr 19 05:50:30 2008 12.762 -+++ busybox-1.10.1-ssd/debianutils/start_stop_daemon.c Tue Apr 22 03:13:13 2008 12.763 -@@ -11,7 +11,6 @@ 12.764 - /* NB: we have a problem here with /proc/NN/exe usage, similar to 12.765 - * one fixed in killall/pidof */ 12.766 - 12.767 --#include <getopt.h> 12.768 - #include <sys/resource.h> 12.769 - 12.770 - /* Override ENABLE_FEATURE_PIDFILE */ 12.771 -@@ -33,6 +32,7 @@ 12.772 - int user_id; 12.773 - smallint quiet; 12.774 - smallint signal_nr; 12.775 -+ struct stat execstat; 12.776 - }; 12.777 - #define G (*(struct globals*)&bb_common_bufsiz1) 12.778 - #define found (G.found ) 12.779 -@@ -43,6 +43,7 @@ 12.780 - #define user_id (G.user_id ) 12.781 - #define quiet (G.quiet ) 12.782 - #define signal_nr (G.signal_nr ) 12.783 -+#define execstat (G.execstat ) 12.784 - #define INIT_G() \ 12.785 - do { \ 12.786 - user_id = -1; \ 12.787 -@@ -50,25 +51,21 @@ 12.788 - } while (0) 12.789 - 12.790 - 12.791 --static int pid_is_exec(pid_t pid, const char *name) 12.792 -+static int pid_is_exec(pid_t pid) 12.793 - { 12.794 -+ struct stat st; 12.795 - char buf[sizeof("/proc//exe") + sizeof(int)*3]; 12.796 -- char *execbuf; 12.797 -- int n; 12.798 - 12.799 - sprintf(buf, "/proc/%u/exe", pid); 12.800 -- n = strlen(name) + 1; 12.801 -- execbuf = xzalloc(n + 1); 12.802 -- readlink(buf, execbuf, n); 12.803 -- /* if readlink fails because link target is longer than strlen(name), 12.804 -- * execbuf still contains "", and strcmp will return !0. */ 12.805 -- n = strcmp(execbuf, name); 12.806 -- if (ENABLE_FEATURE_CLEAN_UP) 12.807 -- free(execbuf); 12.808 -- return !n; /* nonzero (true) if execbuf == name */ 12.809 -+ if (stat(buf, &st) < 0) 12.810 -+ return 0; 12.811 -+ if (st.st_dev == execstat.st_dev 12.812 -+ && st.st_ino == execstat.st_ino) 12.813 -+ return 1; 12.814 -+ return 0; 12.815 - } 12.816 - 12.817 --static int pid_is_user(int pid, int uid) 12.818 -+static int pid_is_user(int pid) 12.819 - { 12.820 - struct stat sb; 12.821 - char buf[sizeof("/proc/") + sizeof(int)*3]; 12.822 -@@ -76,42 +73,39 @@ 12.823 - sprintf(buf, "/proc/%u", pid); 12.824 - if (stat(buf, &sb) != 0) 12.825 - return 0; 12.826 -- return (sb.st_uid == uid); 12.827 -+ return (sb.st_uid == user_id); 12.828 - } 12.829 - 12.830 --static int pid_is_cmd(pid_t pid, const char *name) 12.831 -+static int pid_is_cmd(pid_t pid) 12.832 - { 12.833 -- char fname[sizeof("/proc//stat") + sizeof(int)*3]; 12.834 -- char *buf; 12.835 -- int r = 0; 12.836 -+ char buf[256]; /* is it big enough? */ 12.837 -+ char *p, *pe; 12.838 - 12.839 -- sprintf(fname, "/proc/%u/stat", pid); 12.840 -- buf = xmalloc_open_read_close(fname, NULL); 12.841 -- if (buf) { 12.842 -- char *p = strchr(buf, '('); 12.843 -- if (p) { 12.844 -- char *pe = strrchr(++p, ')'); 12.845 -- if (pe) { 12.846 -- *pe = '\0'; 12.847 -- r = !strcmp(p, name); 12.848 -- } 12.849 -- } 12.850 -- free(buf); 12.851 -- } 12.852 -- return r; 12.853 -+ sprintf(buf, "/proc/%u/stat", pid); 12.854 -+ if (open_read_close(buf, buf, sizeof(buf) - 1) < 0) 12.855 -+ return 0; 12.856 -+ buf[sizeof(buf) - 1] = '\0'; /* paranoia */ 12.857 -+ p = strchr(buf, '('); 12.858 -+ if (!p) 12.859 -+ return 0; 12.860 -+ pe = strrchr(++p, ')'); 12.861 -+ if (!pe) 12.862 -+ return 0; 12.863 -+ *pe = '\0'; 12.864 -+ return !strcmp(p, cmdname); 12.865 - } 12.866 - 12.867 - static void check(int pid) 12.868 - { 12.869 - struct pid_list *p; 12.870 - 12.871 -- if (execname && !pid_is_exec(pid, execname)) { 12.872 -+ if (execname && !pid_is_exec(pid)) { 12.873 - return; 12.874 - } 12.875 -- if (userspec && !pid_is_user(pid, user_id)) { 12.876 -+ if (userspec && !pid_is_user(pid)) { 12.877 - return; 12.878 - } 12.879 -- if (cmdname && !pid_is_cmd(pid, cmdname)) { 12.880 -+ if (cmdname && !pid_is_cmd(pid)) { 12.881 - return; 12.882 - } 12.883 - p = xmalloc(sizeof(*p)); 12.884 -@@ -148,9 +142,16 @@ 12.885 - procdir = xopendir("/proc"); 12.886 - 12.887 - pid = 0; 12.888 -- while ((entry = readdir(procdir)) != NULL) { 12.889 -+ while(1) { 12.890 -+ errno = 0; /* clear any previous error */ 12.891 -+ entry = readdir(procdir); 12.892 -+// TODO: check for exact errno(s) which mean that we got stale entry 12.893 -+ if (errno) /* Stale entry, process has died after opendir */ 12.894 -+ continue; 12.895 -+ if (!entry) /* EOF, no more entries */ 12.896 -+ break; 12.897 - pid = bb_strtou(entry->d_name, NULL, 10); 12.898 -- if (errno) 12.899 -+ if (errno) /* NaN */ 12.900 - continue; 12.901 - check(pid); 12.902 - } 12.903 -@@ -165,8 +166,6 @@ 12.904 - struct pid_list *p; 12.905 - int killed = 0; 12.906 - 12.907 -- do_procinit(); 12.908 -- 12.909 - if (cmdname) { 12.910 - if (ENABLE_FEATURE_CLEAN_UP) what = xstrdup(cmdname); 12.911 - if (!ENABLE_FEATURE_CLEAN_UP) what = cmdname; 12.912 -@@ -251,7 +250,7 @@ 12.913 - }; 12.914 - 12.915 - int start_stop_daemon_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; 12.916 --int start_stop_daemon_main(int argc, char **argv) 12.917 -+int start_stop_daemon_main(int argc ATTRIBUTE_UNUSED, char **argv) 12.918 - { 12.919 - unsigned opt; 12.920 - char *signame; 12.921 -@@ -293,7 +292,7 @@ 12.922 - // if (retry_arg) 12.923 - // retries = xatoi_u(retry_arg); 12.924 - // ) 12.925 -- argc -= optind; 12.926 -+ //argc -= optind; 12.927 - argv += optind; 12.928 - 12.929 - if (userspec) { 12.930 -@@ -301,13 +300,15 @@ 12.931 - if (errno) 12.932 - user_id = xuname2uid(userspec); 12.933 - } 12.934 -+ if (execname) 12.935 -+ xstat(execname, &execstat); 12.936 - 12.937 -+ do_procinit(); /* Both start and stop needs to know current processes */ 12.938 -+ 12.939 - if (opt & CTX_STOP) { 12.940 - int i = do_stop(); 12.941 - return (opt & OPT_OKNODO) ? 0 : (i <= 0); 12.942 - } 12.943 -- 12.944 -- do_procinit(); 12.945 - 12.946 - if (found) { 12.947 - if (!quiet) 12.948 -http://busybox.net/downloads/fixes-1.10.1/busybox-1.10.1-taskset.patch 12.949 ---- busybox-1.10.1/miscutils/taskset.c Sat Apr 19 06:03:13 2008 12.950 -+++ busybox-1.10.1-taskset/miscutils/taskset.c Fri Apr 25 18:58:53 2008 12.951 -@@ -94,8 +94,10 @@ 12.952 - unsigned i; 12.953 - /* Do not allow zero mask: */ 12.954 - unsigned long long m = xstrtoull_range(aff, 0, 1, ULLONG_MAX); 12.955 -+ enum { CNT_BIT = CPU_SETSIZE < sizeof(m)*8 ? CPU_SETSIZE : sizeof(m)*8 }; 12.956 -+ 12.957 - CPU_ZERO(&mask); 12.958 -- for (i = 0; i < CPU_SETSIZE; i++) { 12.959 -+ for (i = 0; i < CNT_BIT; i++) { 12.960 - unsigned long long bit = (1ULL << i); 12.961 - if (bit & m) 12.962 - CPU_SET(i, &mask); 12.963 -http://busybox.net/downloads/fixes-1.10.1/busybox-1.10.1-trylink.patch 12.964 ---- busybox-1.10.1/scripts/trylink Sat Apr 19 05:50:27 2008 12.965 -+++ busybox-1.10.1-trylink/scripts/trylink Wed Apr 30 02:10:19 2008 12.966 -@@ -66,7 +66,7 @@ 12.967 - #if defined(__GLIBC__) && !defined(__UCLIBC__) 12.968 - syntax error here 12.969 - #endif 12.970 -- " >"$tempname" 12.971 -+ " >"$tempname".c 12.972 - if $CC "$tempname".c -c -o "$tempname".o >/dev/null 2>&1; then 12.973 - echo "$2"; 12.974 - else
13.1 --- a/busybox/stuff/busybox-1.10.1-header_tar.u Wed May 27 11:52:33 2009 +0200 13.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 13.3 @@ -1,24 +0,0 @@ 13.4 ---- busybox-1.10.1/archival/libunarchive/get_header_tar.c 13.5 -+++ busybox-1.10.1/archival/libunarchive/get_header_tar.c 13.6 -@@ -24,18 +24,20 @@ 13.7 - }; 13.8 - #endif 13.9 - 13.10 --/* NB: _DESTROYS_ str[len] character! */ 13.11 - static unsigned long long getOctal(char *str, int len) 13.12 - { 13.13 - unsigned long long v; 13.14 -+ char last; 13.15 - /* Actually, tar header allows leading spaces also. 13.16 - * Oh well, we will be liberal and skip this... 13.17 - * The only downside probably is that we allow "-123" too :) 13.18 - if (*str < '0' || *str > '7') 13.19 - bb_error_msg_and_die("corrupted octal value in tar header"); 13.20 - */ 13.21 -+ last = str[len]; 13.22 - str[len] = '\0'; 13.23 - v = strtoull(str, &str, 8); 13.24 -+ str[len] = last; 13.25 - if (*str && (!ENABLE_FEATURE_TAR_OLDGNU_COMPATIBILITY || *str != ' ')) 13.26 - bb_error_msg_and_die("corrupted octal value in tar header"); 13.27 - return v;
14.1 --- a/busybox/stuff/busybox-1.10.1-patch.u Wed May 27 11:52:33 2009 +0200 14.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 14.3 @@ -1,1 +0,0 @@ 14.4 -busybox-1.10.0-patch.u 14.5 \ No newline at end of file
15.1 --- a/busybox/stuff/busybox-1.10.1-script.u Wed May 27 11:52:33 2009 +0200 15.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 15.3 @@ -1,12 +0,0 @@ 15.4 ---- busybox-1.10.1/util-linux/script.c 15.5 -+++ busybox-1.10.1/util-linux/script.c 15.6 -@@ -132,8 +132,7 @@ 15.7 - count = safe_read(pty, buf, sizeof(buf)); 15.8 - if (count <= 0 && errno != EAGAIN) { 15.9 - /* err/eof: don't read anymore */ 15.10 -- pfd[1].revents = 0; 15.11 -- fd_count--; 15.12 -+ break; 15.13 - } 15.14 - if (count > 0) { 15.15 - full_write(1, buf, count);
16.1 --- a/busybox/stuff/busybox-1.10.1-stat.u Wed May 27 11:52:33 2009 +0200 16.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 16.3 @@ -1,73 +0,0 @@ 16.4 ---- busybox-1.10.1/coreutils/stat.c 16.5 -+++ busybox-1.10.1/coreutils/stat.c 16.6 -@@ -14,12 +14,14 @@ 16.7 - */ 16.8 - 16.9 - #include "libbb.h" 16.10 -+#include <linux/fs.h> 16.11 - 16.12 - /* vars to control behavior */ 16.13 - #define OPT_FILESYS (1 << 0) 16.14 - #define OPT_TERSE (1 << 1) 16.15 - #define OPT_DEREFERENCE (1 << 2) 16.16 --#define OPT_SELINUX (1 << 3) 16.17 -+#define OPT_MAP (1 << 3) 16.18 -+#define OPT_SELINUX (1 << 4) 16.19 - 16.20 - #if ENABLE_FEATURE_STAT_FORMAT 16.21 - typedef bool (*statfunc_ptr)(const char *, const char *); 16.22 -@@ -345,6 +347,26 @@ 16.23 - 16.24 - /* Stat the file system and print what we find. */ 16.25 - #if !ENABLE_FEATURE_STAT_FORMAT 16.26 -+#define do_mapfile(filename, format) do_mapfile(filename) 16.27 -+#endif 16.28 -+static bool do_mapfile(const char *filename, const char *format) 16.29 -+{ 16.30 -+ int i = 0; 16.31 -+ int fd = xopen(filename, O_RDONLY); 16.32 -+ 16.33 -+#if ENABLE_FEATURE_STAT_FORMAT 16.34 -+ (void) format; 16.35 -+#endif 16.36 -+ while (1) { 16.37 -+ int blk = i++; 16.38 -+ if (ioctl(fd,FIBMAP,&blk) < 0 || blk == 0) break; 16.39 -+ printf("%u\n",blk); 16.40 -+ } 16.41 -+ return 1; 16.42 -+} 16.43 -+ 16.44 -+/* Stat the file system and print what we find. */ 16.45 -+#if !ENABLE_FEATURE_STAT_FORMAT 16.46 - #define do_statfs(filename, format) do_statfs(filename) 16.47 - #endif 16.48 - static bool do_statfs(const char *filename, const char *format) 16.49 -@@ -632,13 +654,15 @@ 16.50 - int ok = 1; 16.51 - statfunc_ptr statfunc = do_stat; 16.52 - 16.53 -- getopt32(argv, "ftL" 16.54 -+ getopt32(argv, "ftLm" 16.55 - USE_SELINUX("Z") 16.56 - USE_FEATURE_STAT_FORMAT("c:", &format) 16.57 - ); 16.58 - 16.59 - if (option_mask32 & OPT_FILESYS) /* -f */ 16.60 - statfunc = do_statfs; 16.61 -+ if (option_mask32 & OPT_MAP) /* -m */ 16.62 -+ statfunc = do_mapfile; 16.63 - if (argc == optind) /* files */ 16.64 - bb_show_usage(); 16.65 - 16.66 - 16.67 ---- busybox-1.10.1/include/usage.h 16.68 -+++ busybox-1.10.1/include/usage.h 16.69 -@@ -3585,6 +3585,7 @@ 16.70 - ) \ 16.71 - "\n -f Display filesystem status" \ 16.72 - "\n -L Dereference links" \ 16.73 -+ "\n -m Display block list" \ 16.74 - "\n -t Display info in terse form" \ 16.75 - USE_SELINUX( \ 16.76 - "\n -Z Print security context" \
17.1 --- a/busybox/stuff/busybox-1.10.1-tar.u Wed May 27 11:52:33 2009 +0200 17.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 17.3 @@ -1,6 +0,0 @@ 17.4 ---- busybox-1.10.1/archival/tar.c 17.5 -+++ busybox-1.10.1/archival/tar.c 17.6 -@@ -787,2 +787,3 @@ 17.7 - # endif 17.8 -+ "wildcards\0" No_argument "\xfc" 17.9 - "no-same-owner\0" No_argument "\xfd"
18.1 --- a/busybox/stuff/busybox-1.10.1-tftp.u Wed May 27 11:52:33 2009 +0200 18.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 18.3 @@ -1,134 +0,0 @@ 18.4 ---- busybox-1.10.1/networking/tftp.c 18.5 -+++ busybox-1.10.1/networking/tftp.c 18.6 -@@ -39,7 +39,7 @@ 18.7 - #define TFTP_ERROR 5 18.8 - #define TFTP_OACK 6 18.9 - 18.10 --/* error codes sent over network (we use only 0, 3 and 8) */ 18.11 -+/* error codes sent over network (we use only 0, 1, 3 and 8) */ 18.12 - /* generic (error message is included in the packet) */ 18.13 - #define ERR_UNSPEC 0 18.14 - #define ERR_NOFILE 1 18.15 -@@ -121,9 +121,8 @@ 18.16 - return blksize; 18.17 - } 18.18 - 18.19 --static char *tftp_get_blksize(char *buf, int len) 18.20 -+static char *tftp_get_option(const char *option, char *buf, int len) 18.21 - { 18.22 --#define option "blksize" 18.23 - int opt_val = 0; 18.24 - int opt_found = 0; 18.25 - int k; 18.26 -@@ -155,7 +154,6 @@ 18.27 - } 18.28 - 18.29 - return NULL; 18.30 --#undef option 18.31 - } 18.32 - 18.33 - #endif 18.34 -@@ -165,6 +163,7 @@ 18.35 - len_and_sockaddr *peer_lsa, 18.36 - const char *local_file, 18.37 - USE_TFTP(const char *remote_file,) 18.38 -+ USE_FEATURE_TFTP_BLOCKSIZE(void *tsize,) 18.39 - int blksize) 18.40 - { 18.41 - #if !ENABLE_TFTP 18.42 -@@ -243,9 +242,9 @@ 18.43 - if (NOT_LONE_DASH(local_file)) 18.44 - local_fd = xopen(local_file, open_mode); 18.45 - } else { 18.46 -- local_fd = open_or_warn(local_file, open_mode); 18.47 -+ local_fd = open(local_file, open_mode); 18.48 - if (local_fd < 0) { 18.49 -- /*error_pkt_reason = ERR_NOFILE/ERR_ACCESS?*/ 18.50 -+ error_pkt_reason = ERR_NOFILE; 18.51 - strcpy(error_pkt_str, "can't open file"); 18.52 - goto send_err_pkt; 18.53 - } 18.54 -@@ -253,7 +252,7 @@ 18.55 - 18.56 - if (!ENABLE_TFTP || our_lsa) { 18.57 - #if ENABLE_FEATURE_TFTP_BLOCKSIZE 18.58 -- if (blksize != TFTP_BLKSIZE_DEFAULT) { 18.59 -+ if (blksize != TFTP_BLKSIZE_DEFAULT || tsize) { 18.60 - /* Create and send OACK packet. */ 18.61 - /* For the download case, block_nr is still 1 - 18.62 - * we expect 1st ACK from peer to be for (block_nr-1), 18.63 -@@ -313,10 +312,20 @@ 18.64 - 18.65 - #if ENABLE_FEATURE_TFTP_BLOCKSIZE 18.66 - add_blksize_opt: 18.67 -- /* add "blksize", <nul>, blksize, <nul> */ 18.68 -- strcpy(cp, "blksize"); 18.69 -- cp += sizeof("blksize"); 18.70 -- cp += snprintf(cp, 6, "%d", blksize) + 1; 18.71 -+ if (tsize) { 18.72 -+ struct stat st; 18.73 -+ /* add "tsize", <nul>, size, <nul> */ 18.74 -+ strcpy(cp, "tsize"); 18.75 -+ cp += sizeof("tsize"); 18.76 -+ fstat(local_fd,&st); 18.77 -+ cp += snprintf(cp, 10, "%u", (int) st.st_size) + 1; 18.78 -+ } 18.79 -+ if (blksize != TFTP_BLKSIZE_DEFAULT) { 18.80 -+ /* add "blksize", <nul>, blksize, <nul> */ 18.81 -+ strcpy(cp, "blksize"); 18.82 -+ cp += sizeof("blksize"); 18.83 -+ cp += snprintf(cp, 6, "%d", blksize) + 1; 18.84 -+ } 18.85 - #endif 18.86 - /* First packet is built, so skip packet generation */ 18.87 - goto send_pkt; 18.88 -@@ -450,7 +459,7 @@ 18.89 - /* server seems to support options */ 18.90 - char *res; 18.91 - 18.92 -- res = tftp_get_blksize(&rbuf[2], len - 2); 18.93 -+ res = tftp_get_option("blksize", &rbuf[2], len - 2); 18.94 - if (res) { 18.95 - blksize = tftp_blksize_check(res, blksize); 18.96 - if (blksize < 0) { 18.97 -@@ -596,6 +605,7 @@ 18.98 - result = tftp_protocol( 18.99 - NULL /* our_lsa*/, peer_lsa, 18.100 - local_file, remote_file, 18.101 -+ USE_FEATURE_TFTP_BLOCKSIZE(NULL,) 18.102 - blksize); 18.103 - 18.104 - if (result != EXIT_SUCCESS && NOT_LONE_DASH(local_file) && CMD_GET(opt)) { 18.105 -@@ -631,6 +641,7 @@ 18.106 - const char *error_msg; 18.107 - int opt, result, opcode; 18.108 - int blksize = TFTP_BLKSIZE_DEFAULT; 18.109 -+ USE_FEATURE_TFTP_BLOCKSIZE(char *tsize = NULL;) 18.110 - 18.111 - INIT_G(); 18.112 - 18.113 -@@ -676,7 +687,7 @@ 18.114 - char *opt_str = mode + sizeof("octet"); 18.115 - int opt_len = block_buf + result - opt_str; 18.116 - if (opt_len > 0) { 18.117 -- res = tftp_get_blksize(opt_str, opt_len); 18.118 -+ res = tftp_get_option("blksize", opt_str, opt_len); 18.119 - if (res) { 18.120 - blksize = tftp_blksize_check(res, 65564); 18.121 - if (blksize < 0) { 18.122 -@@ -685,6 +696,7 @@ 18.123 - goto do_proto; 18.124 - } 18.125 - } 18.126 -+ tsize = tftp_get_option("tsize", opt_str, opt_len); 18.127 - } 18.128 - } 18.129 - #endif 18.130 -@@ -710,6 +722,7 @@ 18.131 - result = tftp_protocol( 18.132 - our_lsa, peer_lsa, 18.133 - local_file, USE_TFTP(NULL /*remote_file*/,) 18.134 -+ USE_FEATURE_TFTP_BLOCKSIZE(tsize,) 18.135 - blksize 18.136 - ); 18.137 -
19.1 --- a/busybox/stuff/busybox-1.10.1-unlzma.u Wed May 27 11:52:33 2009 +0200 19.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 19.3 @@ -1,23 +0,0 @@ 19.4 ---- busybox-1.10.1/archival/libunarchive/decompress_unlzma.c 19.5 -+++ busybox-1.10.1/archival/libunarchive/decompress_unlzma.c 19.6 -@@ -491,10 +491,16 @@ 19.7 - 19.8 - if (full_write(dst_fd, buffer, buffer_pos) != buffer_pos) { 19.9 - bad: 19.10 -+ len = -1; 19.11 -+ } 19.12 -+ else { 19.13 -+ USE_DESKTOP(total_written += buffer_pos;) 19.14 -+ len = USE_DESKTOP(total_written) + 0; 19.15 -+ } 19.16 -+ if (ENABLE_FEATURE_CLEAN_UP) { 19.17 - rc_free(rc); 19.18 -- return -1; 19.19 -+ free(buffer); 19.20 -+ free(p); 19.21 - } 19.22 -- rc_free(rc); 19.23 -- USE_DESKTOP(total_written += buffer_pos;) 19.24 -- return USE_DESKTOP(total_written) + 0; 19.25 -+ return len; 19.26 - }
20.1 --- a/busybox/stuff/busybox-1.10.1-vcsa2txt.u Wed May 27 11:52:33 2009 +0200 20.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 20.3 @@ -1,1 +0,0 @@ 20.4 -busybox-1.10.0-vcsa2txt.u 20.5 \ No newline at end of file
21.1 --- a/busybox/stuff/busybox-1.10.1.config Wed May 27 11:52:33 2009 +0200 21.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 21.3 @@ -1,1 +0,0 @@ 21.4 -busybox-1.10.0.config 21.5 \ No newline at end of file
22.1 --- a/busybox/stuff/busybox-1.10.3-cpio-mkdir.u Wed May 27 11:52:33 2009 +0200 22.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 22.3 @@ -1,1 +0,0 @@ 22.4 -busybox-1.10.1-cpio-mkdir.u 22.5 \ No newline at end of file
23.1 --- a/busybox/stuff/busybox-1.10.3-cpio-mtime.u Wed May 27 11:52:33 2009 +0200 23.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 23.3 @@ -1,1 +0,0 @@ 23.4 -busybox-1.10.1-cpio-mtime.u 23.5 \ No newline at end of file
24.1 --- a/busybox/stuff/busybox-1.10.3-cpio.u Wed May 27 11:52:33 2009 +0200 24.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 24.3 @@ -1,220 +0,0 @@ 24.4 -diff -purN busybox-1.10.0/archival/Config.in busybox/archival/Config.in 24.5 ---- busybox-1.10.0/archival/Config.in 2008-03-29 21:47:37.000000000 +0100 24.6 -+++ busybox-1.10.0/archival/Config.in 2008-03-29 21:47:37.000000000 +0100 24.7 -@@ -78,6 +78,14 @@ config CPIO 24.8 - Unless you have a specific application which requires cpio, you should 24.9 - probably say N here. 24.10 - 24.11 -+config FEATURE_CPIO_O 24.12 -+ bool "Support for archive creation" 24.13 -+ default n 24.14 -+ depends on CPIO 24.15 -+ help 24.16 -+ This implementation of cpio can create cpio archives in the "newc" 24.17 -+ format only. 24.18 -+ 24.19 - config DPKG 24.20 - bool "dpkg" 24.21 - default n 24.22 -diff -purN busybox-1.10.0/archival/cpio.c busybox/archival/cpio.c 24.23 ---- busybox-1.10.0/archival/cpio.c 2008-03-29 21:47:55.000000000 +0100 24.24 -+++ busybox-1.10.0/archival/cpio.c 2008-03-29 21:47:55.000000000 +0100 24.25 -@@ -21,12 +21,146 @@ 24.26 - #define CPIO_OPT_FILE 0x10 24.27 - #define CPIO_OPT_CREATE_LEADING_DIR 0x20 24.28 - #define CPIO_OPT_PRESERVE_MTIME 0x40 24.29 -+#define CPIO_OPT_CREATE 0x80 24.30 -+#define CPIO_OPT_FORMAT 0x100 24.31 -+ 24.32 -+#if ENABLE_FEATURE_CPIO_O 24.33 -+static void cpio_pad(off_t *size, int n) 24.34 -+{ 24.35 -+ int i; 24.36 -+ for (*size += i = (-*size) & n; --i >= 0; bb_putchar(0)); 24.37 -+} 24.38 -+ 24.39 -+static void cpio_o(void) 24.40 -+{ 24.41 -+ struct name_s { 24.42 -+ struct name_s *next; 24.43 -+ char name[0]; 24.44 -+ }; 24.45 -+ struct inodes_s { 24.46 -+ struct name_s *names; 24.47 -+ struct inodes_s *next; 24.48 -+ struct stat st; 24.49 -+ } *links = NULL; 24.50 -+ off_t bytes = 0; // output bytes count 24.51 -+#if CONFIG_FEATURE_COPYBUF_KB < 1 24.52 -+ char buf[1024]; 24.53 -+#else 24.54 -+ char buf[CONFIG_FEATURE_COPYBUF_KB * 1024]; 24.55 -+#endif 24.56 -+ 24.57 -+ while (1) { 24.58 -+ const char *name = "TRAILER!!!"; 24.59 -+ char *line = xmalloc_getline(stdin); 24.60 -+ // allocate inode struct each loop to avoid struct stat copy 24.61 -+ struct inodes_s *inode = xzalloc(sizeof(*inode)); // die if fail 24.62 -+ off_t size; 24.63 -+ 24.64 -+ inode->st.st_nlink++; // =1 24.65 -+ if (line) { 24.66 -+ /* Strip leading `./' from the filename. */ 24.67 -+ for (name = line; name[0] == '.' && name[1] == '/';) { 24.68 -+ while (*++name == '/'); 24.69 -+ } 24.70 -+ if (!*name) goto free_and_continue; // line empty 24.71 -+ if (lstat(name, &inode->st)) { 24.72 -+ abort_cpio_o: 24.73 -+ bb_perror_msg_and_die(name); 24.74 -+ } 24.75 -+ if (!S_ISLNK(inode->st.st_mode) && !S_ISREG(inode->st.st_mode)) 24.76 -+ inode->st.st_size = 0; 24.77 -+ } 24.78 -+ // hard links will are stored and will be processed later 24.79 -+ if (!S_ISDIR(inode->st.st_mode) && !S_ISLNK(inode->st.st_mode) && inode->st.st_nlink > 1) { 24.80 -+ struct name_s *n; 24.81 -+ struct inodes_s *l; 24.82 -+ 24.83 -+ for (l = links; l && l->st.st_ino != inode->st.st_ino; l = l->next); 24.84 -+ if (l == NULL) { // not found: new hard links set 24.85 -+ l = inode; // l->names = NULL; l->st = inode->st 24.86 -+ l->next = links; 24.87 -+ links = l; 24.88 -+ } 24.89 -+ n = xmalloc(sizeof(*n) + strlen(name) + 1); // die if fail 24.90 -+ strcpy(n->name, name); 24.91 -+ n->next = l->names; 24.92 -+ l->names = n; // will not free inode if l == inode 24.93 -+ goto free_and_continue; 24.94 -+ } 24.95 -+ size = inode->st.st_size; 24.96 -+ // no more files ? process hard links 24.97 -+ if (!line && links) { 24.98 -+ struct name_s *n; 24.99 -+ 24.100 -+ free(inode); // trailer pseudo inode 24.101 -+ inode = links; 24.102 -+ n = links->names; 24.103 -+ name = line = xstrdup(n->name); // line will free *name memory 24.104 -+ links->names = n->next; 24.105 -+ if (links->names == NULL) { // inode will free *links memory 24.106 -+ size = links->st.st_size; 24.107 -+ links = links->next; 24.108 -+ } 24.109 -+ free(n); 24.110 -+ } 24.111 -+ bytes += printf("070701%08lx%08lx%08lx%08lx%08lx%08lx%08lx" 24.112 -+ "%08lx%08lx%08lx%08lx%08lx%08lx%s%c", 24.113 -+ (unsigned long) inode->st.st_ino, 24.114 -+ (unsigned long) inode->st.st_mode, 24.115 -+ (unsigned long) inode->st.st_uid, 24.116 -+ (unsigned long) inode->st.st_gid, 24.117 -+ (unsigned long) inode->st.st_nlink, 24.118 -+ (unsigned long) inode->st.st_mtime, 24.119 -+ (unsigned long) size, 24.120 -+ (unsigned long) major(inode->st.st_dev), 24.121 -+ (unsigned long) minor(inode->st.st_dev), 24.122 -+ (unsigned long) major(inode->st.st_rdev), 24.123 -+ (unsigned long) minor(inode->st.st_rdev), 24.124 -+ strlen(name) + 1UL, 0UL, name, 0); 24.125 -+ cpio_pad(&bytes, (line) ? 4-1 : 512-1); 24.126 -+ if (size) { 24.127 -+ if (S_ISLNK(inode->st.st_mode)) { 24.128 -+ char *lpath = xmalloc_readlink_or_warn(name); 24.129 -+ 24.130 -+ if (!lpath) goto abort_cpio_o; 24.131 -+ bytes += printf("%s", lpath); 24.132 -+ free(lpath); 24.133 -+ } 24.134 -+ if (S_ISREG(inode->st.st_mode)) { 24.135 -+ int fd = open_or_warn(name, O_RDONLY); 24.136 -+ 24.137 -+ while (1) { 24.138 -+ int len = full_read(fd, buf, sizeof(buf)); 24.139 -+ if (len < 0) goto abort_cpio_o; 24.140 -+ if (len == 0) break; 24.141 -+ bytes += len; 24.142 -+ fwrite(buf, 1, len, stdout); 24.143 -+ } 24.144 -+ close(fd); 24.145 -+ } 24.146 -+ cpio_pad(&bytes, 4-1); 24.147 -+ } 24.148 -+ 24.149 -+ if (!line) { 24.150 -+ fputc('\n', stderr); // GNU cpio do that... 24.151 -+ return; // was trailer 24.152 -+ } 24.153 -+ 24.154 -+ free_and_continue: 24.155 -+ if (!inode->names) free(inode); 24.156 -+ free(line); 24.157 -+ } 24.158 -+} 24.159 -+#endif 24.160 - 24.161 - int cpio_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; 24.162 - int cpio_main(int argc, char **argv) 24.163 - { 24.164 - archive_handle_t *archive_handle; 24.165 - char *cpio_filename = NULL; 24.166 -+#if ENABLE_FEATURE_CPIO_O 24.167 -+ const char *cpio_fmt = ""; 24.168 -+#endif 24.169 - unsigned opt; 24.170 - 24.171 - /* Initialise */ 24.172 -@@ -35,10 +169,26 @@ int cpio_main(int argc, char **argv) 24.173 - archive_handle->seek = seek_by_read; 24.174 - archive_handle->flags = ARCHIVE_EXTRACT_NEWER | ARCHIVE_PRESERVE_DATE; 24.175 - 24.176 -+#if ENABLE_FEATURE_CPIO_O 24.177 -+ opt = getopt32(argv, "ituvF:dmoH:", &cpio_filename,&cpio_fmt); 24.178 -+ 24.179 -+ if (opt & CPIO_OPT_CREATE) { 24.180 -+ if (*cpio_fmt != 'n') 24.181 -+ goto cpio_show_usage; 24.182 -+ if (cpio_filename) { 24.183 -+ fclose(stdout); 24.184 -+ stdout = fopen(cpio_filename,"w"); 24.185 -+ } 24.186 -+ cpio_o(); 24.187 -+ return EXIT_SUCCESS; 24.188 -+ } 24.189 -+#else 24.190 - opt = getopt32(argv, "ituvF:dm", &cpio_filename); 24.191 -+#endif 24.192 - 24.193 - /* One of either extract or test options must be given */ 24.194 - if ((opt & (CPIO_OPT_TEST | CPIO_OPT_EXTRACT)) == 0) { 24.195 -+ cpio_show_usage: 24.196 - bb_show_usage(); 24.197 - } 24.198 - 24.199 -diff -purN busybox-1.10.0/include/usage.h busybox/include/usage.h 24.200 ---- busybox-1.10.0/include/usage.h 2008-03-29 21:48:22.000000000 +0100 24.201 -+++ busybox-1.10.0/include/usage.h 2008-03-29 21:48:22.000000000 +0100 24.202 -@@ -496,13 +496,19 @@ 24.203 - "\n -l,-s Create (sym)links" \ 24.204 - 24.205 - #define cpio_trivial_usage \ 24.206 -- "-[dimtuv][F cpiofile]" 24.207 -+ "-[dim" USE_FEATURE_CPIO_O("o") "tuv][F cpiofile]" \ 24.208 -+ USE_FEATURE_CPIO_O( "[H newc]" ) 24.209 - #define cpio_full_usage \ 24.210 -- "Extract or list files from a cpio archive\n" \ 24.211 -+ "Extract or list files from a cpio archive" \ 24.212 -+ USE_FEATURE_CPIO_O( ", or create a cpio archive" ) "\n" \ 24.213 - "Main operation mode:" \ 24.214 - "\n d Make leading directories" \ 24.215 - "\n i Extract" \ 24.216 - "\n m Preserve mtime" \ 24.217 -+ USE_FEATURE_CPIO_O( \ 24.218 -+ "\n o Create" \ 24.219 -+ "\n H newc Define format" \ 24.220 -+ ) \ 24.221 - "\n t List" \ 24.222 - "\n v Verbose" \ 24.223 - "\n u Unconditional overwrite" \
25.1 --- a/busybox/stuff/busybox-1.10.3-dhcpc.u Wed May 27 11:52:33 2009 +0200 25.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 25.3 @@ -1,1 +0,0 @@ 25.4 -busybox-1.10.1-dhcpc.u 25.5 \ No newline at end of file
26.1 --- a/busybox/stuff/busybox-1.10.3-header_tar.u Wed May 27 11:52:33 2009 +0200 26.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 26.3 @@ -1,1 +0,0 @@ 26.4 -busybox-1.10.1-header_tar.u 26.5 \ No newline at end of file
27.1 --- a/busybox/stuff/busybox-1.10.3-patch.u Wed May 27 11:52:33 2009 +0200 27.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 27.3 @@ -1,412 +0,0 @@ 27.4 ---- busybox-1.10.3/editors/patch.c 2008-03-24 15:46:20.000000000 +0100 27.5 -+++ busybox-1.10.3/editors/patch.c 2008-03-24 15:46:20.000000000 +0100 27.6 -@@ -19,15 +19,11 @@ 27.7 - * - Reject file isnt saved 27.8 - */ 27.9 - 27.10 --#include <getopt.h> 27.11 -- 27.12 - #include "libbb.h" 27.13 - 27.14 --static unsigned int copy_lines(FILE *src_stream, FILE *dest_stream, const unsigned int lines_count) 27.15 -+static unsigned copy_lines(FILE *src_stream, FILE *dest_stream, unsigned lines_count) 27.16 - { 27.17 -- unsigned int i = 0; 27.18 -- 27.19 -- while (src_stream && (i < lines_count)) { 27.20 -+ while (src_stream && lines_count) { 27.21 - char *line; 27.22 - line = xmalloc_fgets(src_stream); 27.23 - if (line == NULL) { 27.24 -@@ -37,60 +33,70 @@ 27.25 - bb_perror_msg_and_die("error writing to new file"); 27.26 - } 27.27 - free(line); 27.28 -- 27.29 -- i++; 27.30 -+ lines_count--; 27.31 - } 27.32 -- return i; 27.33 -+ return lines_count; 27.34 - } 27.35 - 27.36 - /* If patch_level is -1 it will remove all directory names 27.37 - * char *line must be greater than 4 chars 27.38 - * returns NULL if the file doesnt exist or error 27.39 - * returns malloc'ed filename 27.40 -+ * NB: frees 1st argument! 27.41 - */ 27.42 - 27.43 --static char *extract_filename(char *line, int patch_level) 27.44 -+static char *extract_filename(char *line, unsigned patch_level, const char *pat) 27.45 - { 27.46 -- char *temp, *filename_start_ptr = line + 4; 27.47 -- int i; 27.48 -+ char *temp = NULL, *filename_start_ptr = line + 4; 27.49 - 27.50 -- /* Terminate string at end of source filename */ 27.51 -- temp = strchrnul(filename_start_ptr, '\t'); 27.52 -- *temp = '\0'; 27.53 -- 27.54 -- /* Skip over (patch_level) number of leading directories */ 27.55 -- if (patch_level == -1) 27.56 -- patch_level = INT_MAX; 27.57 -- for (i = 0; i < patch_level; i++) { 27.58 -- temp = strchr(filename_start_ptr, '/'); 27.59 -- if (!temp) 27.60 -- break; 27.61 -- filename_start_ptr = temp + 1; 27.62 -+ if (strncmp(line, pat, 4) == 0) { 27.63 -+ /* Terminate string at end of source filename */ 27.64 -+ line[strcspn(line,"\t\n\r")] = '\0'; 27.65 -+ 27.66 -+ /* Skip over (patch_level) number of leading directories */ 27.67 -+ while (patch_level--) { 27.68 -+ temp = strchr(filename_start_ptr, '/'); 27.69 -+ if (!temp) 27.70 -+ break; 27.71 -+ filename_start_ptr = temp + 1; 27.72 -+ } 27.73 -+ temp = xstrdup(filename_start_ptr); 27.74 - } 27.75 -- 27.76 -- return xstrdup(filename_start_ptr); 27.77 -+ free(line); 27.78 -+ return temp; 27.79 - } 27.80 - 27.81 - int patch_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; 27.82 - int patch_main(int argc ATTRIBUTE_UNUSED, char **argv) 27.83 - { 27.84 -- int patch_level = -1; 27.85 -- char *patch_line; 27.86 -- int ret; 27.87 -- FILE *patch_file = NULL; 27.88 - struct stat saved_stat; 27.89 -- 27.90 -+ char *patch_line; 27.91 -+ FILE *patch_file; 27.92 -+ int patch_level; 27.93 -+ int ret = 0; 27.94 -+#define ENABLE_FEATURE_PATCH_REVERSE 1 27.95 -+#if ENABLE_FEATURE_PATCH_REVERSE 27.96 -+ char minus = '-'; 27.97 -+ char plus = '+'; 27.98 -+#else 27.99 -+ const char minus = '-'; 27.100 -+ const char plus = '+'; 27.101 -+#endif 27.102 -+ 27.103 -+ xfunc_error_retval = 2; 27.104 - { 27.105 -- char *p, *i; 27.106 -- ret = getopt32(argv, "p:i:", &p, &i); 27.107 -- if (ret & 1) 27.108 -- patch_level = xatol_range(p, -1, USHRT_MAX); 27.109 -- if (ret & 2) { 27.110 -- patch_file = xfopen(i, "r"); 27.111 -- } else { 27.112 -- patch_file = stdin; 27.113 -- } 27.114 -- ret = 0; 27.115 -+ const char *p = "-1"; 27.116 -+ const char *i = "-"; /* compat */ 27.117 -+#if ENABLE_FEATURE_PATCH_REVERSE 27.118 -+ if (getopt32(argv, "p:i:R", &p, &i) & 4) { 27.119 -+ minus = '+'; 27.120 -+ plus = '-'; 27.121 -+ } 27.122 -+#else 27.123 -+ getopt32(argv, "p:i:", &p, &i); 27.124 -+#endif 27.125 -+ patch_level = xatoi(p); /* can be negative! */ 27.126 -+ patch_file = xfopen_stdin(i); 27.127 - } 27.128 - 27.129 - patch_line = xmalloc_getline(patch_file); 27.130 -@@ -100,38 +106,38 @@ 27.131 - char *original_filename; 27.132 - char *new_filename; 27.133 - char *backup_filename; 27.134 -- unsigned int src_cur_line = 1; 27.135 -- unsigned int dest_cur_line = 0; 27.136 -- unsigned int dest_beg_line; 27.137 -- unsigned int bad_hunk_count = 0; 27.138 -- unsigned int hunk_count = 0; 27.139 -- char copy_trailing_lines_flag = 0; 27.140 -+ unsigned src_cur_line = 1; 27.141 -+ unsigned dest_cur_line = 0; 27.142 -+ unsigned dest_beg_line; 27.143 -+ unsigned bad_hunk_count = 0; 27.144 -+ unsigned hunk_count = 0; 27.145 -+ smallint copy_trailing_lines_flag = 0; 27.146 - 27.147 - /* Skip everything upto the "---" marker 27.148 - * No need to parse the lines "Only in <dir>", and "diff <args>" 27.149 - */ 27.150 -- while (patch_line && strncmp(patch_line, "--- ", 4) != 0) { 27.151 -- free(patch_line); 27.152 -+ do { 27.153 -+ /* Extract the filename used before the patch was generated */ 27.154 -+ original_filename = extract_filename(patch_line, patch_level, "--- "); 27.155 - patch_line = xmalloc_getline(patch_file); 27.156 -- } 27.157 -- /* FIXME: patch_line NULL check?? */ 27.158 -+ if (!patch_line) goto quit; 27.159 -+ } while (!original_filename); 27.160 - 27.161 -- /* Extract the filename used before the patch was generated */ 27.162 -- original_filename = extract_filename(patch_line, patch_level); 27.163 -- free(patch_line); 27.164 -- 27.165 -- patch_line = xmalloc_getline(patch_file); 27.166 -- /* FIXME: NULL check?? */ 27.167 -- if (strncmp(patch_line, "+++ ", 4) != 0) { 27.168 -- ret = 2; 27.169 -- bb_error_msg("invalid patch"); 27.170 -- continue; 27.171 -+ new_filename = extract_filename(patch_line, patch_level, "+++ "); 27.172 -+ if (!new_filename) { 27.173 -+ bb_error_msg_and_die("invalid patch"); 27.174 -+ } 27.175 -+#if ENABLE_FEATURE_PATCH_REVERSE 27.176 -+ if (plus != '+') { 27.177 -+ /* reverse patch */ 27.178 -+ char *tmp = original_filename; 27.179 -+ original_filename = new_filename; 27.180 -+ new_filename = tmp; 27.181 - } 27.182 -- new_filename = extract_filename(patch_line, patch_level); 27.183 -- free(patch_line); 27.184 -+#endif 27.185 - 27.186 - /* Get access rights from the file to be patched, -1 file does not exist */ 27.187 -- if (stat(new_filename, &saved_stat)) { 27.188 -+ if (stat(new_filename, &saved_stat) != 0) { 27.189 - char *line_ptr; 27.190 - /* Create leading directories */ 27.191 - line_ptr = strrchr(new_filename, '/'); 27.192 -@@ -140,132 +146,137 @@ 27.193 - bb_make_directory(new_filename, -1, FILEUTILS_RECUR); 27.194 - *line_ptr = '/'; 27.195 - } 27.196 -- dst_stream = xfopen(new_filename, "w+"); 27.197 - backup_filename = NULL; 27.198 -+ saved_stat.st_mode = 0644; 27.199 - } else { 27.200 -- backup_filename = xmalloc(strlen(new_filename) + 6); 27.201 -- strcpy(backup_filename, new_filename); 27.202 -- strcat(backup_filename, ".orig"); 27.203 -+ backup_filename = xasprintf("%s.orig", new_filename); 27.204 - xrename(new_filename, backup_filename); 27.205 -- dst_stream = xfopen(new_filename, "w"); 27.206 -- fchmod(fileno(dst_stream), saved_stat.st_mode); 27.207 - } 27.208 -- 27.209 -- if ((backup_filename == NULL) || stat(original_filename, &saved_stat)) { 27.210 -- src_stream = NULL; 27.211 -- } else { 27.212 -- if (strcmp(original_filename, new_filename) == 0) { 27.213 -- src_stream = xfopen(backup_filename, "r"); 27.214 -- } else { 27.215 -- src_stream = xfopen(original_filename, "r"); 27.216 -- } 27.217 -+ dst_stream = xfopen(new_filename, "w"); 27.218 -+ fchmod(fileno(dst_stream), saved_stat.st_mode); 27.219 -+ src_stream = NULL; 27.220 -+ 27.221 -+ if (backup_filename && !stat(original_filename, &saved_stat)) { 27.222 -+ src_stream = xfopen((strcmp(original_filename, new_filename)) ? 27.223 -+ original_filename : backup_filename, "r"); 27.224 - } 27.225 - 27.226 - printf("patching file %s\n", new_filename); 27.227 - 27.228 -- /* Handle each hunk */ 27.229 -+ /* Handle all hunks for this file */ 27.230 - patch_line = xmalloc_fgets(patch_file); 27.231 - while (patch_line) { 27.232 -- unsigned int count; 27.233 -- unsigned int src_beg_line; 27.234 -- unsigned int unused; 27.235 -- unsigned int hunk_offset_start = 0; 27.236 -- int hunk_error = 0; 27.237 -- 27.238 -- /* This bit should be improved */ 27.239 -- if ((sscanf(patch_line, "@@ -%d,%d +%d,%d @@", &src_beg_line, &unused, &dest_beg_line, &unused) != 4) && 27.240 -- (sscanf(patch_line, "@@ -%d,%d +%d @@", &src_beg_line, &unused, &dest_beg_line) != 3) && 27.241 -- (sscanf(patch_line, "@@ -%d +%d,%d @@", &src_beg_line, &dest_beg_line, &unused) != 3)) { 27.242 -+ unsigned count; 27.243 -+ unsigned src_beg_line; 27.244 -+ unsigned hunk_offset_start; 27.245 -+ unsigned src_last_line = 1; 27.246 -+#if ENABLE_FEATURE_PATCH_REVERSE 27.247 -+ unsigned dst_last_line = 1; 27.248 -+ 27.249 -+ if ((sscanf(patch_line, "@@ -%d,%d +%d,%d", &src_beg_line, &src_last_line, &dest_beg_line, &dst_last_line) < 3) && 27.250 -+ (sscanf(patch_line, "@@ -%d +%d,%d", &src_beg_line, &dest_beg_line, &dst_last_line) < 2)) { 27.251 - /* No more hunks for this file */ 27.252 - break; 27.253 - } 27.254 -- free(patch_line); 27.255 -+ if (plus != '+') { 27.256 -+ /* reverse patch */ 27.257 -+ unsigned tmp = src_last_line; 27.258 -+ src_last_line = dst_last_line; 27.259 -+ dst_last_line = tmp; 27.260 -+ tmp = src_beg_line; 27.261 -+ src_beg_line = dest_beg_line; 27.262 -+ dest_beg_line = tmp; 27.263 -+ } 27.264 -+#else 27.265 -+ 27.266 -+ if ((sscanf(patch_line, "@@ -%d,%d +%d", &src_beg_line, &src_last_line, &dest_beg_line) != 3) && 27.267 -+ (sscanf(patch_line, "@@ -%d +%d", &src_beg_line, &dest_beg_line) != 2)) { 27.268 -+ /* No more hunks for this file */ 27.269 -+ break; 27.270 -+ } 27.271 -+#endif 27.272 - hunk_count++; 27.273 - 27.274 - if (src_beg_line && dest_beg_line) { 27.275 - /* Copy unmodified lines upto start of hunk */ 27.276 -- /* src_beg_line will be 0 if its a new file */ 27.277 -+ /* src_beg_line will be 0 if it's a new file */ 27.278 - count = src_beg_line - src_cur_line; 27.279 -- if (copy_lines(src_stream, dst_stream, count) != count) { 27.280 -+ if (copy_lines(src_stream, dst_stream, count)) { 27.281 - bb_error_msg_and_die("bad src file"); 27.282 - } 27.283 - src_cur_line += count; 27.284 - dest_cur_line += count; 27.285 - copy_trailing_lines_flag = 1; 27.286 - } 27.287 -- hunk_offset_start = src_cur_line; 27.288 -- 27.289 -- while ((patch_line = xmalloc_fgets(patch_file)) != NULL) { 27.290 -- if ((*patch_line == '-') || (*patch_line == ' ')) { 27.291 -+ src_last_line += hunk_offset_start = src_cur_line; 27.292 -+#if ENABLE_FEATURE_PATCH_REVERSE 27.293 -+ dst_last_line += dest_cur_line; 27.294 -+#endif 27.295 -+ while (1) { 27.296 -+ free(patch_line); 27.297 -+ patch_line = xmalloc_fgets(patch_file); 27.298 -+ if (patch_line == NULL) break; 27.299 -+ if ((*patch_line == minus) || (*patch_line == ' ')) { 27.300 - char *src_line = NULL; 27.301 -+ if (src_cur_line == src_last_line) break; 27.302 - if (src_stream) { 27.303 - src_line = xmalloc_fgets(src_stream); 27.304 -- if (!src_line) { 27.305 -- hunk_error++; 27.306 -- break; 27.307 -- } else { 27.308 -+ if (src_line) { 27.309 -+ int diff = strcmp(src_line, patch_line + 1); 27.310 - src_cur_line++; 27.311 -+ free(src_line); 27.312 -+ if (diff) src_line = NULL; 27.313 - } 27.314 -- if (strcmp(src_line, patch_line + 1) != 0) { 27.315 -- bb_error_msg("hunk #%d FAILED at %d", hunk_count, hunk_offset_start); 27.316 -- hunk_error++; 27.317 -- free(patch_line); 27.318 -- /* Probably need to find next hunk, etc... */ 27.319 -- /* but for now we just bail out */ 27.320 -- patch_line = NULL; 27.321 -- break; 27.322 -- } 27.323 -- free(src_line); 27.324 - } 27.325 -- if (*patch_line == ' ') { 27.326 -- fputs(patch_line + 1, dst_stream); 27.327 -- dest_cur_line++; 27.328 -+ if (!src_line) { 27.329 -+ bb_error_msg("hunk #%u FAILED at %u", hunk_count, hunk_offset_start); 27.330 -+ bad_hunk_count++; 27.331 -+ break; 27.332 - } 27.333 -- } else if (*patch_line == '+') { 27.334 -- fputs(patch_line + 1, dst_stream); 27.335 -- dest_cur_line++; 27.336 -- } else { 27.337 -+ if (*patch_line != ' ') { 27.338 -+ continue; 27.339 -+ } 27.340 -+ } else if (*patch_line != plus) { 27.341 - break; 27.342 - } 27.343 -- free(patch_line); 27.344 -- } 27.345 -- if (hunk_error) { 27.346 -- bad_hunk_count++; 27.347 -- } 27.348 -- } 27.349 -+#if ENABLE_FEATURE_PATCH_REVERSE 27.350 -+ if (dest_cur_line == dst_last_line) break; 27.351 -+#endif 27.352 -+ fputs(patch_line + 1, dst_stream); 27.353 -+ dest_cur_line++; 27.354 -+ } /* end of while loop handling one hunk */ 27.355 -+ } /* end of while loop handling one file */ 27.356 - 27.357 - /* Cleanup last patched file */ 27.358 - if (copy_trailing_lines_flag) { 27.359 -- copy_lines(src_stream, dst_stream, -1); 27.360 -+ copy_lines(src_stream, dst_stream, (unsigned)(-1)); 27.361 - } 27.362 - if (src_stream) { 27.363 - fclose(src_stream); 27.364 - } 27.365 -- if (dst_stream) { 27.366 -- fclose(dst_stream); 27.367 -- } 27.368 -+ fclose(dst_stream); 27.369 - if (bad_hunk_count) { 27.370 -- if (!ret) { 27.371 -- ret = 1; 27.372 -- } 27.373 -- bb_error_msg("%d out of %d hunk FAILED", bad_hunk_count, hunk_count); 27.374 -+ ret = 1; 27.375 -+ bb_error_msg("%u out of %u hunk FAILED", bad_hunk_count, hunk_count); 27.376 - } else { 27.377 - /* It worked, we can remove the backup */ 27.378 - if (backup_filename) { 27.379 - unlink(backup_filename); 27.380 -+ free(backup_filename); 27.381 - } 27.382 - if ((dest_cur_line == 0) || (dest_beg_line == 0)) { 27.383 - /* The new patched file is empty, remove it */ 27.384 - xunlink(new_filename); 27.385 -- if (strcmp(new_filename, original_filename) != 0) 27.386 -- xunlink(original_filename); 27.387 -+ /* original_filename and new_filename may be the same file */ 27.388 -+ unlink(original_filename); 27.389 - } 27.390 - } 27.391 -- } 27.392 -+ } /* end of "while there are patch lines" */ 27.393 -+quit: 27.394 - 27.395 - /* 0 = SUCCESS 27.396 - * 1 = Some hunks failed 27.397 -- * 2 = More serious problems 27.398 -+ * 2 = More serious problems (exited earlier) 27.399 - */ 27.400 - return ret; 27.401 - } 27.402 - 27.403 ---- busybox-1.10.3/include/usage.h 2008-03-24 16:20:43.000000000 +0100 27.404 -+++ busybox-1.10.3/include/usage.h 2008-03-24 16:22:06.000000000 +0100 27.405 -@@ -2837,8 +2837,9 @@ 27.406 - ) 27.407 - 27.408 - #define patch_trivial_usage \ 27.409 -- "[-p NUM] [-i DIFF]" 27.410 -+ "[-R] [-p NUM] [-i DIFF]" 27.411 - #define patch_full_usage \ 27.412 -+ " -R Reverse patch\n" \ 27.413 - " -p NUM Strip NUM leading components from file names" \ 27.414 - "\n -i DIFF Read DIFF instead of stdin" \ 27.415 -
28.1 --- a/busybox/stuff/busybox-1.10.3-script.u Wed May 27 11:52:33 2009 +0200 28.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 28.3 @@ -1,1 +0,0 @@ 28.4 -busybox-1.10.1-script.u 28.5 \ No newline at end of file
29.1 --- a/busybox/stuff/busybox-1.10.3-stat.u Wed May 27 11:52:33 2009 +0200 29.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 29.3 @@ -1,73 +0,0 @@ 29.4 ---- busybox-1.10.1/coreutils/stat.c 29.5 -+++ busybox-1.10.1/coreutils/stat.c 29.6 -@@ -14,12 +14,14 @@ 29.7 - */ 29.8 - 29.9 - #include "libbb.h" 29.10 -+#include <linux/fs.h> 29.11 - 29.12 - /* vars to control behavior */ 29.13 - #define OPT_FILESYS (1 << 0) 29.14 - #define OPT_TERSE (1 << 1) 29.15 - #define OPT_DEREFERENCE (1 << 2) 29.16 --#define OPT_SELINUX (1 << 3) 29.17 -+#define OPT_MAP (1 << 3) 29.18 -+#define OPT_SELINUX (1 << 4) 29.19 - 29.20 - #if ENABLE_FEATURE_STAT_FORMAT 29.21 - typedef bool (*statfunc_ptr)(const char *, const char *); 29.22 -@@ -345,6 +347,26 @@ 29.23 - 29.24 - /* Stat the file system and print what we find. */ 29.25 - #if !ENABLE_FEATURE_STAT_FORMAT 29.26 -+#define do_mapfile(filename, format) do_mapfile(filename) 29.27 -+#endif 29.28 -+static bool do_mapfile(const char *filename, const char *format) 29.29 -+{ 29.30 -+ int i = 0; 29.31 -+ int fd = xopen(filename, O_RDONLY); 29.32 -+ 29.33 -+#if ENABLE_FEATURE_STAT_FORMAT 29.34 -+ (void) format; 29.35 -+#endif 29.36 -+ while (1) { 29.37 -+ int blk = i++; 29.38 -+ if (ioctl(fd,FIBMAP,&blk) < 0 || blk == 0) break; 29.39 -+ printf("%u\n",blk); 29.40 -+ } 29.41 -+ return 1; 29.42 -+} 29.43 -+ 29.44 -+/* Stat the file system and print what we find. */ 29.45 -+#if !ENABLE_FEATURE_STAT_FORMAT 29.46 - #define do_statfs(filename, format) do_statfs(filename) 29.47 - #endif 29.48 - static bool do_statfs(const char *filename, const char *format) 29.49 -@@ -632,13 +654,15 @@ 29.50 - int ok = 1; 29.51 - statfunc_ptr statfunc = do_stat; 29.52 - 29.53 -- getopt32(argv, "ftL" 29.54 -+ getopt32(argv, "ftLm" 29.55 - USE_SELINUX("Z") 29.56 - USE_FEATURE_STAT_FORMAT("c:", &format) 29.57 - ); 29.58 - 29.59 - if (option_mask32 & OPT_FILESYS) /* -f */ 29.60 - statfunc = do_statfs; 29.61 -+ if (option_mask32 & OPT_MAP) /* -m */ 29.62 -+ statfunc = do_mapfile; 29.63 - if (argc == optind) /* files */ 29.64 - bb_show_usage(); 29.65 - 29.66 - 29.67 ---- busybox-1.10.1/include/usage.h 29.68 -+++ busybox-1.10.1/include/usage.h 29.69 -@@ -3589,6 +3589,7 @@ 29.70 - ) \ 29.71 - "\n -f Display filesystem status" \ 29.72 - "\n -L Dereference links" \ 29.73 -+ "\n -m Display block list" \ 29.74 - "\n -t Display info in terse form" \ 29.75 - USE_SELINUX( \ 29.76 - "\n -Z Print security context" \
30.1 --- a/busybox/stuff/busybox-1.10.3-syslogd.u Wed May 27 11:52:33 2009 +0200 30.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 30.3 @@ -1,11 +0,0 @@ 30.4 ---- busybox-1.10.3/sysklogd/syslogd.c 30.5 -+++ busybox-1.10.3/sysklogd/syslogd.c 30.6 -@@ -41,7 +41,7 @@ 30.7 - #undef SYSLOGD_MARK 30.8 - 30.9 - enum { 30.10 -- MAX_READ = 256, 30.11 -+ MAX_READ = 1024, 30.12 - DNS_WAIT_SEC = 2 * 60, 30.13 - }; 30.14 -
31.1 --- a/busybox/stuff/busybox-1.10.3-tar.u Wed May 27 11:52:33 2009 +0200 31.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 31.3 @@ -1,1 +0,0 @@ 31.4 -busybox-1.10.1-tar.u 31.5 \ No newline at end of file
32.1 --- a/busybox/stuff/busybox-1.10.3-tftp.u Wed May 27 11:52:33 2009 +0200 32.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 32.3 @@ -1,1 +0,0 @@ 32.4 -busybox-1.10.1-tftp.u 32.5 \ No newline at end of file
33.1 --- a/busybox/stuff/busybox-1.10.3-unlzma.u Wed May 27 11:52:33 2009 +0200 33.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 33.3 @@ -1,1 +0,0 @@ 33.4 -busybox-1.10.1-unlzma.u 33.5 \ No newline at end of file
34.1 --- a/busybox/stuff/busybox-1.10.3-vcsa2txt.u Wed May 27 11:52:33 2009 +0200 34.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 34.3 @@ -1,134 +0,0 @@ 34.4 ---- busybox-1.10.3/include/applets.h Sat Mar 22 02:31:50 2008 34.5 -+++ busybox-1.10.3/include/applets.h Sat Mar 22 02:31:50 2008 34.6 -@@ -382,6 +382,7 @@ 34.7 - USE_UUDECODE(APPLET(uudecode, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 34.8 - USE_UUENCODE(APPLET(uuencode, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 34.9 - USE_VCONFIG(APPLET(vconfig, _BB_DIR_SBIN, _BB_SUID_NEVER)) 34.10 -+USE_VCSA2TXT(APPLET(vcsa2txt, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 34.11 - USE_VI(APPLET(vi, _BB_DIR_BIN, _BB_SUID_NEVER)) 34.12 - USE_VLOCK(APPLET(vlock, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS)) 34.13 - USE_WATCH(APPLET(watch, _BB_DIR_BIN, _BB_SUID_NEVER)) 34.14 - 34.15 ---- busybox-1.10.3/include/usage.h Sat Mar 22 02:31:50 2008 34.16 -+++ busybox-1.10.3/include/usage.h Sat Mar 22 02:31:50 2008 34.17 -@@ -4318,6 +4318,13 @@ 34.18 - "\n set_ingress_map [vlan-name] [skb_priority] [vlan_qos]" \ 34.19 - "\n set_name_type [name-type]" \ 34.20 - 34.21 -+#define vcsa2txt_trivial_usage \ 34.22 -+ "stdin" 34.23 -+#define vcsa2txt_full_usage \ 34.24 -+ "Filter /dev/vcsa* to ansi escape sequences" 34.25 -+#define vcsa2txt_example_usage \ 34.26 -+ "# vcsa2txt < /dev/vcsa1\n" 34.27 -+ 34.28 - #define vi_trivial_usage \ 34.29 - "[OPTION] [FILE]..." 34.30 - #define vi_full_usage \ 34.31 - 34.32 ---- busybox-1.10.3/miscutils/Config.in Sat Mar 22 02:31:50 2008 34.33 -+++ busybox-1.10.3/miscutils/Config.in Sat Mar 22 02:31:50 2008 34.34 -@@ -461,6 +461,12 @@ 34.35 - only height, or both, in any order. It also does not complain on error, 34.36 - but returns default 80x24. Usage in shell scripts: width=`ttysize w`. 34.37 - 34.38 -+config VCSA2TXT 34.39 -+ bool "vcsa2txt" 34.40 -+ default n 34.41 -+ help 34.42 -+ Filter /dev/vcsa* output to ansi escape sequences. 34.43 -+ 34.44 - config WATCHDOG 34.45 - bool "watchdog" 34.46 - default n 34.47 - 34.48 ---- busybox-1.10.3/util-linux/Kbuild Sat Mar 22 02:31:53 2008 34.49 -+++ busybox-1.10.3/util-linux/Kbuild Sat Mar 22 02:31:53 2008 34.50 -@@ -33,3 +33,4 @@ 34.51 - lib-$(CONFIG_SWAPONOFF) += swaponoff.o 34.52 - lib-$(CONFIG_SWITCH_ROOT) += switch_root.o 34.53 - lib-$(CONFIG_UMOUNT) += umount.o 34.54 -+lib-$(CONFIG_VCSA2TXT) += vcsa2txt.o 34.55 - 34.56 ---- busybox-1.10.3/util-linux/vcsa2txt.c Sat Mar 22 19:40:15 2008 34.57 -+++ busybox-1.10.3/util-linux/vcsa2txt.c Sat Mar 22 19:40:15 2008 34.58 -@@ -0,0 +1,79 @@ 34.59 -+/* vi: set sw=4 ts=4: */ 34.60 -+/* 34.61 -+ * /dev/vcsa* filter for busybox 34.62 -+ * 34.63 -+ * pascal.bellard@ads-lu.com 34.64 -+ * 34.65 -+ * Licensed under GPLv2 or later, see file License in this tarball for details. 34.66 -+ */ 34.67 -+ 34.68 -+#include "libbb.h" 34.69 -+ 34.70 -+int vcsa2txt_main(int argc) MAIN_EXTERNALLY_VISIBLE; 34.71 -+int vcsa2txt_main(int argc) 34.72 -+{ 34.73 -+ struct { 34.74 -+ unsigned char l, c, x, y; // man 4 console_codes 34.75 -+ } scrn; 34.76 -+ unsigned char last = 0, ch[2]; // BLGCRMOW 34.77 -+ static unsigned char end[5] = "\e[0m\n", color[8] = "04261537"; 34.78 -+ int sp, lf, x; 34.79 -+ 34.80 -+ if (safe_read(0, &scrn, 4) < 0) return 1; 34.81 -+ for (lf = 0; scrn.l; lf++, scrn.l--) { 34.82 -+ for (sp = x = 0; ++x <= scrn.c;) { 34.83 -+ if (safe_read(0, &ch[0], 2) < 0) return 1; 34.84 -+ if (argc > 1) ch[1] = 0; 34.85 -+ sp++; 34.86 -+ if (last == ch[1] && ch[0] == ' ') continue; 34.87 -+ for (lf++; --lf;) bb_putchar('\n'); 34.88 -+ while (--sp) bb_putchar(' '); 34.89 -+#define ENABLE_VCSA_PACKED 1 34.90 -+#if ENABLE_VCSA_PACKED 34.91 -+ if (last ^= ch[1]) { 34.92 -+ char esc[16],*s; 34.93 -+ struct offsets { 34.94 -+ char mask, type, shr; 34.95 -+ } *p; 34.96 -+ static struct offsets offset[3] = { 34.97 -+ {8,0,1}, {0x70,'4',4}, {7,'3',0} 34.98 -+ }; 34.99 -+ static char init = 0x7F; 34.100 -+ 34.101 -+ s = esc+2; 34.102 -+ *(short *)esc = ntohs(256*'\e'+'['); 34.103 -+ p = offset; 34.104 -+ do { 34.105 -+ if ((init|last) & p->mask) { 34.106 -+ int c = (ch[1] & p->mask) >> p->shr; 34.107 -+ 34.108 -+ if ((*s = p->type) != 0) s++; 34.109 -+ else if (c == 0) { 34.110 -+ c = 2; 34.111 -+ *s++ = '2'; /* normal */ 34.112 -+ } 34.113 -+ *s++ = color[c]; 34.114 -+ *s++ = ';'; 34.115 -+ } 34.116 -+ } while (p++->shr); 34.117 -+ s[-1] = 'm'; 34.118 -+ init = 0; 34.119 -+ fwrite(esc,s-esc,1,stdout); 34.120 -+ } 34.121 -+ last = ch[1]; 34.122 -+#else 34.123 -+ if (last != ch[1]) { 34.124 -+ static char esc[10] = "\e[0;47;37m"; 34.125 -+ 34.126 -+ esc[2] = ((last = ch[1]) & 8) ? '1' /* bold */ : '0' /* defaults */; 34.127 -+ esc[sizeof(esc)-5] = color[(ch[1] >> 4) & 7]; 34.128 -+ esc[sizeof(esc)-2] = color[ch[1] & 7]; 34.129 -+ fwrite(esc,sizeof(esc),1,stdout); 34.130 -+ } 34.131 -+#endif 34.132 -+ bb_putchar(ch[0]); 34.133 -+ } 34.134 -+ } 34.135 -+ fwrite(end,sizeof(end),1,stdout); 34.136 -+ return 0; 34.137 -+}
35.1 --- a/busybox/stuff/busybox-1.10.3.config Wed May 27 11:52:33 2009 +0200 35.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 35.3 @@ -1,831 +0,0 @@ 35.4 -# 35.5 -# Automatically generated make config: don't edit 35.6 -# Busybox version: 1.10.3 35.7 -# Sat Jul 12 20:22:54 2008 35.8 -# 35.9 -CONFIG_HAVE_DOT_CONFIG=y 35.10 - 35.11 -# 35.12 -# Busybox Settings 35.13 -# 35.14 - 35.15 -# 35.16 -# General Configuration 35.17 -# 35.18 -# CONFIG_NITPICK is not set 35.19 -CONFIG_DESKTOP=y 35.20 -# CONFIG_FEATURE_BUFFERS_USE_MALLOC is not set 35.21 -# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set 35.22 -# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set 35.23 -CONFIG_SHOW_USAGE=y 35.24 -CONFIG_FEATURE_VERBOSE_USAGE=y 35.25 -CONFIG_FEATURE_COMPRESS_USAGE=y 35.26 -CONFIG_FEATURE_INSTALLER=y 35.27 -CONFIG_LOCALE_SUPPORT=y 35.28 -CONFIG_GETOPT_LONG=y 35.29 -CONFIG_FEATURE_DEVPTS=y 35.30 -# CONFIG_FEATURE_CLEAN_UP is not set 35.31 -CONFIG_FEATURE_PIDFILE=y 35.32 -CONFIG_FEATURE_SUID=y 35.33 -CONFIG_FEATURE_SUID_CONFIG=y 35.34 -# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set 35.35 -# CONFIG_SELINUX is not set 35.36 -# CONFIG_FEATURE_PREFER_APPLETS is not set 35.37 -CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" 35.38 -CONFIG_FEATURE_SYSLOG=y 35.39 -CONFIG_FEATURE_HAVE_RPC=y 35.40 - 35.41 -# 35.42 -# Build Options 35.43 -# 35.44 -# CONFIG_STATIC is not set 35.45 -# CONFIG_NOMMU is not set 35.46 -# CONFIG_BUILD_LIBBUSYBOX is not set 35.47 -# CONFIG_FEATURE_INDIVIDUAL is not set 35.48 -# CONFIG_FEATURE_SHARED_BUSYBOX is not set 35.49 -CONFIG_LFS=y 35.50 - 35.51 -# 35.52 -# Debugging Options 35.53 -# 35.54 -# CONFIG_DEBUG is not set 35.55 -# CONFIG_WERROR is not set 35.56 -CONFIG_NO_DEBUG_LIB=y 35.57 -# CONFIG_DMALLOC is not set 35.58 -# CONFIG_EFENCE is not set 35.59 -CONFIG_INCLUDE_SUSv2=y 35.60 - 35.61 -# 35.62 -# Installation Options 35.63 -# 35.64 -# CONFIG_INSTALL_NO_USR is not set 35.65 -CONFIG_INSTALL_APPLET_SYMLINKS=y 35.66 -# CONFIG_INSTALL_APPLET_HARDLINKS is not set 35.67 -# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set 35.68 -# CONFIG_INSTALL_APPLET_DONT is not set 35.69 -# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set 35.70 -# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set 35.71 -# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set 35.72 -CONFIG_PREFIX="./_install" 35.73 - 35.74 -# 35.75 -# Busybox Library Tuning 35.76 -# 35.77 -CONFIG_PASSWORD_MINLEN=6 35.78 -CONFIG_MD5_SIZE_VS_SPEED=0 35.79 -# CONFIG_FEATURE_FAST_TOP is not set 35.80 -# CONFIG_FEATURE_ETC_NETWORKS is not set 35.81 -CONFIG_FEATURE_EDITING=y 35.82 -CONFIG_FEATURE_EDITING_MAX_LEN=1024 35.83 -# CONFIG_FEATURE_EDITING_VI is not set 35.84 -CONFIG_FEATURE_EDITING_HISTORY=127 35.85 -CONFIG_FEATURE_EDITING_SAVEHISTORY=y 35.86 -CONFIG_FEATURE_TAB_COMPLETION=y 35.87 -# CONFIG_FEATURE_USERNAME_COMPLETION is not set 35.88 -CONFIG_FEATURE_EDITING_FANCY_PROMPT=y 35.89 -# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set 35.90 -CONFIG_FEATURE_COPYBUF_KB=4 35.91 -CONFIG_MONOTONIC_SYSCALL=y 35.92 -CONFIG_IOCTL_HEX2STR_ERROR=y 35.93 - 35.94 -# 35.95 -# Applets 35.96 -# 35.97 - 35.98 -# 35.99 -# Archival Utilities 35.100 -# 35.101 -# CONFIG_AR is not set 35.102 -# CONFIG_FEATURE_AR_LONG_FILENAMES is not set 35.103 -CONFIG_BUNZIP2=y 35.104 -# CONFIG_BZIP2 is not set 35.105 -CONFIG_CPIO=y 35.106 -CONFIG_FEATURE_CPIO_O=y 35.107 -CONFIG_DPKG=y 35.108 -CONFIG_DPKG_DEB=y 35.109 -CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY=y 35.110 -CONFIG_GUNZIP=y 35.111 -CONFIG_FEATURE_GUNZIP_UNCOMPRESS=y 35.112 -CONFIG_GZIP=y 35.113 -CONFIG_RPM2CPIO=y 35.114 -CONFIG_RPM=y 35.115 -CONFIG_FEATURE_RPM_BZ2=y 35.116 -CONFIG_TAR=y 35.117 -CONFIG_FEATURE_TAR_CREATE=y 35.118 -CONFIG_FEATURE_TAR_GZIP=y 35.119 -CONFIG_FEATURE_TAR_BZIP2=y 35.120 -CONFIG_FEATURE_TAR_LZMA=y 35.121 -CONFIG_FEATURE_TAR_COMPRESS=y 35.122 -CONFIG_FEATURE_TAR_AUTODETECT=y 35.123 -CONFIG_FEATURE_TAR_FROM=y 35.124 -CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y 35.125 -# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set 35.126 -CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y 35.127 -CONFIG_FEATURE_TAR_LONG_OPTIONS=y 35.128 -# CONFIG_FEATURE_TAR_UNAME_GNAME is not set 35.129 -CONFIG_UNCOMPRESS=y 35.130 -CONFIG_UNLZMA=y 35.131 -# CONFIG_FEATURE_LZMA_FAST is not set 35.132 -CONFIG_UNZIP=y 35.133 - 35.134 -# 35.135 -# Common options for cpio and tar 35.136 -# 35.137 -# CONFIG_FEATURE_UNARCHIVE_TAPE is not set 35.138 - 35.139 -# 35.140 -# Common options for dpkg and dpkg_deb 35.141 -# 35.142 -CONFIG_FEATURE_DEB_TAR_GZ=y 35.143 -CONFIG_FEATURE_DEB_TAR_BZ2=y 35.144 -CONFIG_FEATURE_DEB_TAR_LZMA=y 35.145 - 35.146 -# 35.147 -# Coreutils 35.148 -# 35.149 -CONFIG_BASENAME=y 35.150 -CONFIG_CAL=y 35.151 -CONFIG_CAT=y 35.152 -# CONFIG_CATV is not set 35.153 -CONFIG_CHGRP=y 35.154 -CONFIG_CHMOD=y 35.155 -CONFIG_CHOWN=y 35.156 -CONFIG_CHROOT=y 35.157 -CONFIG_CKSUM=y 35.158 -CONFIG_COMM=y 35.159 -CONFIG_CP=y 35.160 -CONFIG_CUT=y 35.161 -CONFIG_DATE=y 35.162 -CONFIG_FEATURE_DATE_ISOFMT=y 35.163 -CONFIG_DD=y 35.164 -CONFIG_FEATURE_DD_SIGNAL_HANDLING=y 35.165 -CONFIG_FEATURE_DD_IBS_OBS=y 35.166 -CONFIG_DF=y 35.167 -CONFIG_FEATURE_DF_INODE=y 35.168 -CONFIG_DIRNAME=y 35.169 -CONFIG_DOS2UNIX=y 35.170 -CONFIG_UNIX2DOS=y 35.171 -CONFIG_DU=y 35.172 -CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y 35.173 -CONFIG_ECHO=y 35.174 -CONFIG_FEATURE_FANCY_ECHO=y 35.175 -CONFIG_ENV=y 35.176 -CONFIG_FEATURE_ENV_LONG_OPTIONS=y 35.177 -CONFIG_EXPAND=y 35.178 -CONFIG_FEATURE_EXPAND_LONG_OPTIONS=y 35.179 -CONFIG_EXPR=y 35.180 -# CONFIG_EXPR_MATH_SUPPORT_64 is not set 35.181 -CONFIG_FALSE=y 35.182 -CONFIG_FOLD=y 35.183 -CONFIG_HEAD=y 35.184 -CONFIG_FEATURE_FANCY_HEAD=y 35.185 -CONFIG_HOSTID=y 35.186 -CONFIG_ID=y 35.187 -CONFIG_INSTALL=y 35.188 -CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y 35.189 -CONFIG_LENGTH=y 35.190 -CONFIG_LN=y 35.191 -CONFIG_LOGNAME=y 35.192 -CONFIG_LS=y 35.193 -CONFIG_FEATURE_LS_FILETYPES=y 35.194 -CONFIG_FEATURE_LS_FOLLOWLINKS=y 35.195 -CONFIG_FEATURE_LS_RECURSIVE=y 35.196 -CONFIG_FEATURE_LS_SORTFILES=y 35.197 -CONFIG_FEATURE_LS_TIMESTAMPS=y 35.198 -CONFIG_FEATURE_LS_USERNAME=y 35.199 -CONFIG_FEATURE_LS_COLOR=y 35.200 -CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y 35.201 -CONFIG_MD5SUM=y 35.202 -CONFIG_MKDIR=y 35.203 -CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y 35.204 -CONFIG_MKFIFO=y 35.205 -CONFIG_MKNOD=y 35.206 -CONFIG_MV=y 35.207 -CONFIG_FEATURE_MV_LONG_OPTIONS=y 35.208 -CONFIG_NICE=y 35.209 -CONFIG_NOHUP=y 35.210 -CONFIG_OD=y 35.211 -CONFIG_PRINTENV=y 35.212 -CONFIG_PRINTF=y 35.213 -CONFIG_PWD=y 35.214 -CONFIG_READLINK=y 35.215 -CONFIG_FEATURE_READLINK_FOLLOW=y 35.216 -CONFIG_REALPATH=y 35.217 -CONFIG_RM=y 35.218 -CONFIG_RMDIR=y 35.219 -# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set 35.220 -CONFIG_SEQ=y 35.221 -CONFIG_SHA1SUM=y 35.222 -CONFIG_SLEEP=y 35.223 -CONFIG_FEATURE_FANCY_SLEEP=y 35.224 -CONFIG_SORT=y 35.225 -CONFIG_FEATURE_SORT_BIG=y 35.226 -CONFIG_SPLIT=y 35.227 -CONFIG_FEATURE_SPLIT_FANCY=y 35.228 -CONFIG_STAT=y 35.229 -CONFIG_FEATURE_STAT_FORMAT=y 35.230 -CONFIG_STTY=y 35.231 -CONFIG_SUM=y 35.232 -CONFIG_SYNC=y 35.233 -# CONFIG_TAC is not set 35.234 -CONFIG_TAIL=y 35.235 -CONFIG_FEATURE_FANCY_TAIL=y 35.236 -CONFIG_TEE=y 35.237 -CONFIG_FEATURE_TEE_USE_BLOCK_IO=y 35.238 -CONFIG_TEST=y 35.239 -CONFIG_FEATURE_TEST_64=y 35.240 -CONFIG_TOUCH=y 35.241 -CONFIG_TR=y 35.242 -CONFIG_FEATURE_TR_CLASSES=y 35.243 -CONFIG_FEATURE_TR_EQUIV=y 35.244 -CONFIG_TRUE=y 35.245 -CONFIG_TTY=y 35.246 -CONFIG_UNAME=y 35.247 -CONFIG_UNEXPAND=y 35.248 -CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS=y 35.249 -CONFIG_UNIQ=y 35.250 -CONFIG_USLEEP=y 35.251 -CONFIG_UUDECODE=y 35.252 -CONFIG_UUENCODE=y 35.253 -CONFIG_WC=y 35.254 -CONFIG_FEATURE_WC_LARGE=y 35.255 -CONFIG_WHO=y 35.256 -CONFIG_WHOAMI=y 35.257 -CONFIG_YES=y 35.258 - 35.259 -# 35.260 -# Common options for cp and mv 35.261 -# 35.262 -CONFIG_FEATURE_PRESERVE_HARDLINKS=y 35.263 - 35.264 -# 35.265 -# Common options for ls, more and telnet 35.266 -# 35.267 -CONFIG_FEATURE_AUTOWIDTH=y 35.268 - 35.269 -# 35.270 -# Common options for df, du, ls 35.271 -# 35.272 -CONFIG_FEATURE_HUMAN_READABLE=y 35.273 - 35.274 -# 35.275 -# Common options for md5sum, sha1sum 35.276 -# 35.277 -CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y 35.278 - 35.279 -# 35.280 -# Console Utilities 35.281 -# 35.282 -CONFIG_CHVT=y 35.283 -# CONFIG_CLEAR is not set 35.284 -CONFIG_DEALLOCVT=y 35.285 -CONFIG_DUMPKMAP=y 35.286 -# CONFIG_KBD_MODE is not set 35.287 -CONFIG_LOADFONT=y 35.288 -CONFIG_LOADKMAP=y 35.289 -CONFIG_OPENVT=y 35.290 -# CONFIG_RESET is not set 35.291 -# CONFIG_RESIZE is not set 35.292 -# CONFIG_FEATURE_RESIZE_PRINT is not set 35.293 -CONFIG_SETCONSOLE=y 35.294 -# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set 35.295 -CONFIG_SETKEYCODES=y 35.296 -# CONFIG_SETLOGCONS is not set 35.297 - 35.298 -# 35.299 -# Debian Utilities 35.300 -# 35.301 -CONFIG_MKTEMP=y 35.302 -CONFIG_PIPE_PROGRESS=y 35.303 -# CONFIG_RUN_PARTS is not set 35.304 -# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set 35.305 -# CONFIG_FEATURE_RUN_PARTS_FANCY is not set 35.306 -# CONFIG_START_STOP_DAEMON is not set 35.307 -# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set 35.308 -# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set 35.309 -CONFIG_WHICH=y 35.310 - 35.311 -# 35.312 -# Editors 35.313 -# 35.314 -CONFIG_AWK=y 35.315 -CONFIG_FEATURE_AWK_MATH=y 35.316 -CONFIG_CMP=y 35.317 -CONFIG_DIFF=y 35.318 -CONFIG_FEATURE_DIFF_BINARY=y 35.319 -CONFIG_FEATURE_DIFF_DIR=y 35.320 -CONFIG_FEATURE_DIFF_MINIMAL=y 35.321 -# CONFIG_ED is not set 35.322 -CONFIG_PATCH=y 35.323 -CONFIG_SED=y 35.324 -CONFIG_VI=y 35.325 -CONFIG_FEATURE_VI_MAX_LEN=1024 35.326 -CONFIG_FEATURE_VI_8BIT=y 35.327 -CONFIG_FEATURE_VI_COLON=y 35.328 -CONFIG_FEATURE_VI_YANKMARK=y 35.329 -CONFIG_FEATURE_VI_SEARCH=y 35.330 -CONFIG_FEATURE_VI_USE_SIGNALS=y 35.331 -CONFIG_FEATURE_VI_DOT_CMD=y 35.332 -CONFIG_FEATURE_VI_READONLY=y 35.333 -CONFIG_FEATURE_VI_SETOPTS=y 35.334 -CONFIG_FEATURE_VI_SET=y 35.335 -CONFIG_FEATURE_VI_WIN_RESIZE=y 35.336 -CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y 35.337 -CONFIG_FEATURE_ALLOW_EXEC=y 35.338 - 35.339 -# 35.340 -# Finding Utilities 35.341 -# 35.342 -CONFIG_FIND=y 35.343 -CONFIG_FEATURE_FIND_PRINT0=y 35.344 -CONFIG_FEATURE_FIND_MTIME=y 35.345 -CONFIG_FEATURE_FIND_MMIN=y 35.346 -CONFIG_FEATURE_FIND_PERM=y 35.347 -CONFIG_FEATURE_FIND_TYPE=y 35.348 -CONFIG_FEATURE_FIND_XDEV=y 35.349 -CONFIG_FEATURE_FIND_MAXDEPTH=y 35.350 -CONFIG_FEATURE_FIND_NEWER=y 35.351 -CONFIG_FEATURE_FIND_INUM=y 35.352 -CONFIG_FEATURE_FIND_EXEC=y 35.353 -CONFIG_FEATURE_FIND_USER=y 35.354 -CONFIG_FEATURE_FIND_GROUP=y 35.355 -CONFIG_FEATURE_FIND_NOT=y 35.356 -CONFIG_FEATURE_FIND_DEPTH=y 35.357 -CONFIG_FEATURE_FIND_PAREN=y 35.358 -CONFIG_FEATURE_FIND_SIZE=y 35.359 -CONFIG_FEATURE_FIND_PRUNE=y 35.360 -CONFIG_FEATURE_FIND_DELETE=y 35.361 -CONFIG_FEATURE_FIND_PATH=y 35.362 -CONFIG_FEATURE_FIND_REGEX=y 35.363 -# CONFIG_FEATURE_FIND_CONTEXT is not set 35.364 -CONFIG_GREP=y 35.365 -CONFIG_FEATURE_GREP_EGREP_ALIAS=y 35.366 -CONFIG_FEATURE_GREP_FGREP_ALIAS=y 35.367 -CONFIG_FEATURE_GREP_CONTEXT=y 35.368 -CONFIG_XARGS=y 35.369 -CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y 35.370 -CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y 35.371 -CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y 35.372 -CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y 35.373 - 35.374 -# 35.375 -# Init Utilities 35.376 -# 35.377 -CONFIG_INIT=y 35.378 -# CONFIG_DEBUG_INIT is not set 35.379 -CONFIG_FEATURE_USE_INITTAB=y 35.380 -CONFIG_FEATURE_KILL_REMOVED=y 35.381 -CONFIG_FEATURE_KILL_DELAY=0 35.382 -CONFIG_FEATURE_INIT_SCTTY=y 35.383 -# CONFIG_FEATURE_INIT_SYSLOG is not set 35.384 -CONFIG_FEATURE_EXTRA_QUIET=y 35.385 -# CONFIG_FEATURE_INIT_COREDUMPS is not set 35.386 -CONFIG_FEATURE_INITRD=y 35.387 -CONFIG_HALT=y 35.388 -CONFIG_MESG=y 35.389 - 35.390 -# 35.391 -# Login/Password Management Utilities 35.392 -# 35.393 -CONFIG_FEATURE_SHADOWPASSWDS=y 35.394 -# CONFIG_USE_BB_SHADOW is not set 35.395 -# CONFIG_USE_BB_PWD_GRP is not set 35.396 -CONFIG_ADDGROUP=y 35.397 -CONFIG_FEATURE_ADDUSER_TO_GROUP=y 35.398 -CONFIG_DELGROUP=y 35.399 -CONFIG_FEATURE_DEL_USER_FROM_GROUP=y 35.400 -# CONFIG_FEATURE_CHECK_NAMES is not set 35.401 -CONFIG_ADDUSER=y 35.402 -# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set 35.403 -CONFIG_DELUSER=y 35.404 -CONFIG_GETTY=y 35.405 -CONFIG_FEATURE_UTMP=y 35.406 -CONFIG_FEATURE_WTMP=y 35.407 -CONFIG_LOGIN=y 35.408 -# CONFIG_PAM is not set 35.409 -# CONFIG_LOGIN_SCRIPTS is not set 35.410 -CONFIG_FEATURE_NOLOGIN=y 35.411 -CONFIG_FEATURE_SECURETTY=y 35.412 -CONFIG_PASSWD=y 35.413 -CONFIG_FEATURE_PASSWD_WEAK_CHECK=y 35.414 -CONFIG_CRYPTPW=y 35.415 -CONFIG_CHPASSWD=y 35.416 -CONFIG_SU=y 35.417 -CONFIG_FEATURE_SU_SYSLOG=y 35.418 -CONFIG_FEATURE_SU_CHECKS_SHELLS=y 35.419 -CONFIG_SULOGIN=y 35.420 -CONFIG_VLOCK=y 35.421 - 35.422 -# 35.423 -# Linux Ext2 FS Progs 35.424 -# 35.425 -# CONFIG_CHATTR is not set 35.426 -# CONFIG_FSCK is not set 35.427 -# CONFIG_LSATTR is not set 35.428 - 35.429 -# 35.430 -# Linux Module Utilities 35.431 -# 35.432 -# CONFIG_INSMOD is not set 35.433 -# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set 35.434 -# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set 35.435 -# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set 35.436 -# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set 35.437 -# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set 35.438 -# CONFIG_RMMOD is not set 35.439 -# CONFIG_LSMOD is not set 35.440 -# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set 35.441 -# CONFIG_MODPROBE is not set 35.442 -# CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS is not set 35.443 -# CONFIG_FEATURE_MODPROBE_FANCY_ALIAS is not set 35.444 -# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set 35.445 -# CONFIG_FEATURE_2_4_MODULES is not set 35.446 -# CONFIG_FEATURE_2_6_MODULES is not set 35.447 -# CONFIG_FEATURE_QUERY_MODULE_INTERFACE is not set 35.448 - 35.449 -# 35.450 -# Linux System Utilities 35.451 -# 35.452 -CONFIG_DMESG=y 35.453 -CONFIG_FEATURE_DMESG_PRETTY=y 35.454 -CONFIG_FBSET=y 35.455 -CONFIG_FEATURE_FBSET_FANCY=y 35.456 -# CONFIG_FEATURE_FBSET_READMODE is not set 35.457 -CONFIG_FDFLUSH=y 35.458 -CONFIG_FDFORMAT=y 35.459 -CONFIG_FDISK=y 35.460 -CONFIG_FDISK_SUPPORT_LARGE_DISKS=y 35.461 -CONFIG_FEATURE_FDISK_WRITABLE=y 35.462 -# CONFIG_FEATURE_AIX_LABEL is not set 35.463 -# CONFIG_FEATURE_SGI_LABEL is not set 35.464 -# CONFIG_FEATURE_SUN_LABEL is not set 35.465 -# CONFIG_FEATURE_OSF_LABEL is not set 35.466 -# CONFIG_FEATURE_FDISK_ADVANCED is not set 35.467 -# CONFIG_FINDFS is not set 35.468 -CONFIG_FREERAMDISK=y 35.469 -# CONFIG_FSCK_MINIX is not set 35.470 -# CONFIG_MKFS_MINIX is not set 35.471 -# CONFIG_FEATURE_MINIX2 is not set 35.472 -# CONFIG_GETOPT is not set 35.473 -CONFIG_HEXDUMP=y 35.474 -CONFIG_FEATURE_HEXDUMP_REVERSE=y 35.475 -# CONFIG_HD is not set 35.476 -CONFIG_HWCLOCK=y 35.477 -CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y 35.478 -CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y 35.479 -CONFIG_IPCRM=y 35.480 -CONFIG_IPCS=y 35.481 -CONFIG_LOSETUP=y 35.482 -CONFIG_MDEV=y 35.483 -CONFIG_FEATURE_MDEV_CONF=y 35.484 -# CONFIG_FEATURE_MDEV_RENAME is not set 35.485 -CONFIG_FEATURE_MDEV_EXEC=y 35.486 -CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y 35.487 -CONFIG_MKSWAP=y 35.488 -# CONFIG_FEATURE_MKSWAP_V0 is not set 35.489 -CONFIG_MORE=y 35.490 -CONFIG_FEATURE_USE_TERMIOS=y 35.491 -CONFIG_VOLUMEID=y 35.492 -CONFIG_FEATURE_VOLUMEID_EXT=y 35.493 -CONFIG_FEATURE_VOLUMEID_REISERFS=y 35.494 -CONFIG_FEATURE_VOLUMEID_FAT=y 35.495 -# CONFIG_FEATURE_VOLUMEID_HFS is not set 35.496 -# CONFIG_FEATURE_VOLUMEID_JFS is not set 35.497 -CONFIG_FEATURE_VOLUMEID_XFS=y 35.498 -CONFIG_FEATURE_VOLUMEID_NTFS=y 35.499 -CONFIG_FEATURE_VOLUMEID_ISO9660=y 35.500 -# CONFIG_FEATURE_VOLUMEID_UDF is not set 35.501 -# CONFIG_FEATURE_VOLUMEID_LUKS is not set 35.502 -CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y 35.503 -# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set 35.504 -# CONFIG_FEATURE_VOLUMEID_ROMFS is not set 35.505 -# CONFIG_FEATURE_VOLUMEID_SYSV is not set 35.506 -# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set 35.507 -CONFIG_FEATURE_VOLUMEID_LINUXRAID=y 35.508 -CONFIG_MOUNT=y 35.509 -# CONFIG_FEATURE_MOUNT_FAKE is not set 35.510 -# CONFIG_FEATURE_MOUNT_VERBOSE is not set 35.511 -# CONFIG_FEATURE_MOUNT_HELPERS is not set 35.512 -CONFIG_FEATURE_MOUNT_LABEL=y 35.513 -CONFIG_FEATURE_MOUNT_NFS=y 35.514 -CONFIG_FEATURE_MOUNT_CIFS=y 35.515 -CONFIG_FEATURE_MOUNT_FLAGS=y 35.516 -CONFIG_FEATURE_MOUNT_FSTAB=y 35.517 -CONFIG_PIVOT_ROOT=y 35.518 -CONFIG_RDATE=y 35.519 -CONFIG_READPROFILE=y 35.520 -# CONFIG_RTCWAKE is not set 35.521 -CONFIG_SETARCH=y 35.522 -CONFIG_SWAPONOFF=y 35.523 -CONFIG_SWITCH_ROOT=y 35.524 -CONFIG_UMOUNT=y 35.525 -CONFIG_FEATURE_UMOUNT_ALL=y 35.526 - 35.527 -# 35.528 -# Common options for mount/umount 35.529 -# 35.530 -CONFIG_FEATURE_MOUNT_LOOP=y 35.531 -# CONFIG_FEATURE_MTAB_SUPPORT is not set 35.532 - 35.533 -# 35.534 -# Miscellaneous Utilities 35.535 -# 35.536 -CONFIG_ADJTIMEX=y 35.537 -# CONFIG_BBCONFIG is not set 35.538 -CONFIG_CHAT=y 35.539 -CONFIG_FEATURE_CHAT_NOFAIL=y 35.540 -# CONFIG_FEATURE_CHAT_TTY_HIFI is not set 35.541 -CONFIG_FEATURE_CHAT_IMPLICIT_CR=y 35.542 -# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set 35.543 -# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set 35.544 -# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set 35.545 -# CONFIG_FEATURE_CHAT_CLR_ABORT is not set 35.546 -CONFIG_CHRT=y 35.547 -CONFIG_CROND=y 35.548 -# CONFIG_DEBUG_CROND_OPTION is not set 35.549 -# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set 35.550 -CONFIG_CRONTAB=y 35.551 -# CONFIG_DC is not set 35.552 -# CONFIG_DEVFSD is not set 35.553 -# CONFIG_DEVFSD_MODLOAD is not set 35.554 -# CONFIG_DEVFSD_FG_NP is not set 35.555 -# CONFIG_DEVFSD_VERBOSE is not set 35.556 -# CONFIG_FEATURE_DEVFS is not set 35.557 -CONFIG_EJECT=y 35.558 -CONFIG_FEATURE_EJECT_SCSI=y 35.559 -CONFIG_LAST=y 35.560 -CONFIG_LESS=y 35.561 -CONFIG_FEATURE_LESS_MAXLINES=9999999 35.562 -CONFIG_FEATURE_LESS_BRACKETS=y 35.563 -CONFIG_FEATURE_LESS_FLAGS=y 35.564 -CONFIG_FEATURE_LESS_FLAGCS=y 35.565 -CONFIG_FEATURE_LESS_MARKS=y 35.566 -CONFIG_FEATURE_LESS_REGEXP=y 35.567 -CONFIG_HDPARM=y 35.568 -CONFIG_FEATURE_HDPARM_GET_IDENTITY=y 35.569 -# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set 35.570 -# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set 35.571 -# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set 35.572 -# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set 35.573 -CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y 35.574 -# CONFIG_MAKEDEVS is not set 35.575 -# CONFIG_FEATURE_MAKEDEVS_LEAF is not set 35.576 -# CONFIG_FEATURE_MAKEDEVS_TABLE is not set 35.577 -CONFIG_MICROCOM=y 35.578 -CONFIG_MOUNTPOINT=y 35.579 -# CONFIG_MT is not set 35.580 -# CONFIG_RAIDAUTORUN is not set 35.581 -# CONFIG_READAHEAD is not set 35.582 -# CONFIG_RUNLEVEL is not set 35.583 -# CONFIG_RX is not set 35.584 -CONFIG_SCRIPT=y 35.585 -CONFIG_STRINGS=y 35.586 -CONFIG_SETSID=y 35.587 -CONFIG_TASKSET=y 35.588 -CONFIG_FEATURE_TASKSET_FANCY=y 35.589 -CONFIG_TIME=y 35.590 -# CONFIG_TTYSIZE is not set 35.591 -CONFIG_VCSA2TXT=y 35.592 -CONFIG_WATCHDOG=y 35.593 - 35.594 -# 35.595 -# Networking Utilities 35.596 -# 35.597 -CONFIG_FEATURE_IPV6=y 35.598 -CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y 35.599 -# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set 35.600 -CONFIG_ARP=y 35.601 -CONFIG_ARPING=y 35.602 -CONFIG_BRCTL=y 35.603 -CONFIG_FEATURE_BRCTL_FANCY=y 35.604 -CONFIG_DNSD=y 35.605 -CONFIG_ETHER_WAKE=y 35.606 -CONFIG_FAKEIDENTD=y 35.607 -CONFIG_FTPGET=y 35.608 -CONFIG_FTPPUT=y 35.609 -CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y 35.610 -CONFIG_HOSTNAME=y 35.611 -# CONFIG_HTTPD is not set 35.612 -# CONFIG_FEATURE_HTTPD_RANGES is not set 35.613 -# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set 35.614 -# CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP is not set 35.615 -# CONFIG_FEATURE_HTTPD_SETUID is not set 35.616 -# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set 35.617 -# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set 35.618 -# CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES is not set 35.619 -# CONFIG_FEATURE_HTTPD_CGI is not set 35.620 -# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set 35.621 -# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set 35.622 -# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set 35.623 -# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set 35.624 -# CONFIG_FEATURE_HTTPD_PROXY is not set 35.625 -CONFIG_IFCONFIG=y 35.626 -CONFIG_FEATURE_IFCONFIG_STATUS=y 35.627 -# CONFIG_FEATURE_IFCONFIG_SLIP is not set 35.628 -CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y 35.629 -CONFIG_FEATURE_IFCONFIG_HW=y 35.630 -CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y 35.631 -# CONFIG_IFENSLAVE is not set 35.632 -# CONFIG_IFUPDOWN is not set 35.633 -CONFIG_IFUPDOWN_IFSTATE_PATH="" 35.634 -# CONFIG_FEATURE_IFUPDOWN_IP is not set 35.635 -# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set 35.636 -# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set 35.637 -# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set 35.638 -# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set 35.639 -# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set 35.640 -# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set 35.641 -CONFIG_INETD=y 35.642 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y 35.643 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y 35.644 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y 35.645 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y 35.646 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y 35.647 -CONFIG_FEATURE_INETD_RPC=y 35.648 -# CONFIG_IP is not set 35.649 -# CONFIG_FEATURE_IP_ADDRESS is not set 35.650 -# CONFIG_FEATURE_IP_LINK is not set 35.651 -# CONFIG_FEATURE_IP_ROUTE is not set 35.652 -# CONFIG_FEATURE_IP_TUNNEL is not set 35.653 -# CONFIG_FEATURE_IP_RULE is not set 35.654 -# CONFIG_FEATURE_IP_SHORT_FORMS is not set 35.655 -# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set 35.656 -# CONFIG_IPADDR is not set 35.657 -# CONFIG_IPLINK is not set 35.658 -# CONFIG_IPROUTE is not set 35.659 -# CONFIG_IPTUNNEL is not set 35.660 -# CONFIG_IPRULE is not set 35.661 -CONFIG_IPCALC=y 35.662 -CONFIG_FEATURE_IPCALC_FANCY=y 35.663 -CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y 35.664 -CONFIG_NAMEIF=y 35.665 -# CONFIG_FEATURE_NAMEIF_EXTENDED is not set 35.666 -CONFIG_NC=y 35.667 -CONFIG_NC_SERVER=y 35.668 -# CONFIG_NC_EXTRA is not set 35.669 -CONFIG_NETSTAT=y 35.670 -CONFIG_FEATURE_NETSTAT_WIDE=y 35.671 -CONFIG_NSLOOKUP=y 35.672 -CONFIG_PING=y 35.673 -CONFIG_PING6=y 35.674 -CONFIG_FEATURE_FANCY_PING=y 35.675 -CONFIG_PSCAN=y 35.676 -CONFIG_ROUTE=y 35.677 -# CONFIG_SENDMAIL is not set 35.678 -# CONFIG_FETCHMAIL is not set 35.679 -# CONFIG_SLATTACH is not set 35.680 -CONFIG_TELNET=y 35.681 -CONFIG_FEATURE_TELNET_TTYPE=y 35.682 -CONFIG_FEATURE_TELNET_AUTOLOGIN=y 35.683 -# CONFIG_TELNETD is not set 35.684 -# CONFIG_FEATURE_TELNETD_STANDALONE is not set 35.685 -CONFIG_TFTP=y 35.686 -CONFIG_TFTPD=y 35.687 -CONFIG_FEATURE_TFTP_GET=y 35.688 -CONFIG_FEATURE_TFTP_PUT=y 35.689 -CONFIG_FEATURE_TFTP_BLOCKSIZE=y 35.690 -# CONFIG_DEBUG_TFTP is not set 35.691 -CONFIG_TRACEROUTE=y 35.692 -CONFIG_FEATURE_TRACEROUTE_VERBOSE=y 35.693 -CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE=y 35.694 -# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set 35.695 -CONFIG_APP_UDHCPD=y 35.696 -CONFIG_APP_DHCPRELAY=y 35.697 -CONFIG_APP_DUMPLEASES=y 35.698 -# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set 35.699 -CONFIG_DHCPD_LEASES_FILE="/var/lib/udhcpd.leases" 35.700 -CONFIG_APP_UDHCPC=y 35.701 -CONFIG_FEATURE_UDHCPC_ARPING=y 35.702 -# CONFIG_FEATURE_UDHCP_PORT is not set 35.703 -# CONFIG_FEATURE_UDHCP_DEBUG is not set 35.704 -# CONFIG_FEATURE_RFC3397 is not set 35.705 -CONFIG_DHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" 35.706 -CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 35.707 -CONFIG_VCONFIG=y 35.708 -CONFIG_WGET=y 35.709 -CONFIG_FEATURE_WGET_STATUSBAR=y 35.710 -CONFIG_FEATURE_WGET_AUTHENTICATION=y 35.711 -CONFIG_FEATURE_WGET_LONG_OPTIONS=y 35.712 -CONFIG_ZCIP=y 35.713 -# CONFIG_TCPSVD is not set 35.714 -# CONFIG_UDPSVD is not set 35.715 - 35.716 -# 35.717 -# Process Utilities 35.718 -# 35.719 -CONFIG_FREE=y 35.720 -CONFIG_FUSER=y 35.721 -CONFIG_KILL=y 35.722 -CONFIG_KILLALL=y 35.723 -CONFIG_KILLALL5=y 35.724 -CONFIG_NMETER=y 35.725 -# CONFIG_PGREP is not set 35.726 -CONFIG_PIDOF=y 35.727 -CONFIG_FEATURE_PIDOF_SINGLE=y 35.728 -CONFIG_FEATURE_PIDOF_OMIT=y 35.729 -# CONFIG_PKILL is not set 35.730 -CONFIG_PS=y 35.731 -CONFIG_FEATURE_PS_WIDE=y 35.732 -# CONFIG_FEATURE_PS_TIME is not set 35.733 -# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set 35.734 -CONFIG_RENICE=y 35.735 -CONFIG_BB_SYSCTL=y 35.736 -CONFIG_TOP=y 35.737 -CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y 35.738 -CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y 35.739 -# CONFIG_FEATURE_TOP_DECIMALS is not set 35.740 -CONFIG_FEATURE_TOPMEM=y 35.741 -CONFIG_UPTIME=y 35.742 -CONFIG_WATCH=y 35.743 - 35.744 -# 35.745 -# Shells 35.746 -# 35.747 -CONFIG_FEATURE_SH_IS_ASH=y 35.748 -# CONFIG_FEATURE_SH_IS_HUSH is not set 35.749 -# CONFIG_FEATURE_SH_IS_MSH is not set 35.750 -# CONFIG_FEATURE_SH_IS_NONE is not set 35.751 -CONFIG_ASH=y 35.752 - 35.753 -# 35.754 -# Ash Shell Options 35.755 -# 35.756 -CONFIG_ASH_JOB_CONTROL=y 35.757 -CONFIG_ASH_READ_NCHARS=y 35.758 -CONFIG_ASH_READ_TIMEOUT=y 35.759 -CONFIG_ASH_ALIAS=y 35.760 -CONFIG_ASH_MATH_SUPPORT=y 35.761 -CONFIG_ASH_MATH_SUPPORT_64=y 35.762 -CONFIG_ASH_GETOPTS=y 35.763 -CONFIG_ASH_BUILTIN_ECHO=y 35.764 -CONFIG_ASH_BUILTIN_TEST=y 35.765 -CONFIG_ASH_CMDCMD=y 35.766 -# CONFIG_ASH_MAIL is not set 35.767 -CONFIG_ASH_OPTIMIZE_FOR_SIZE=y 35.768 -CONFIG_ASH_RANDOM_SUPPORT=y 35.769 -# CONFIG_ASH_EXPAND_PRMT is not set 35.770 -# CONFIG_HUSH is not set 35.771 -# CONFIG_HUSH_HELP is not set 35.772 -# CONFIG_HUSH_INTERACTIVE is not set 35.773 -# CONFIG_HUSH_JOB is not set 35.774 -# CONFIG_HUSH_TICK is not set 35.775 -# CONFIG_HUSH_IF is not set 35.776 -# CONFIG_HUSH_LOOPS is not set 35.777 -# CONFIG_LASH is not set 35.778 -# CONFIG_MSH is not set 35.779 - 35.780 -# 35.781 -# Bourne Shell Options 35.782 -# 35.783 -CONFIG_FEATURE_SH_EXTRA_QUIET=y 35.784 -# CONFIG_FEATURE_SH_STANDALONE is not set 35.785 -# CONFIG_CTTYHACK is not set 35.786 - 35.787 -# 35.788 -# System Logging Utilities 35.789 -# 35.790 -CONFIG_SYSLOGD=y 35.791 -CONFIG_FEATURE_ROTATE_LOGFILE=y 35.792 -CONFIG_FEATURE_REMOTE_LOG=y 35.793 -CONFIG_FEATURE_SYSLOGD_DUP=y 35.794 -# CONFIG_FEATURE_IPC_SYSLOG is not set 35.795 -CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE= 35.796 -# CONFIG_LOGREAD is not set 35.797 -# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set 35.798 -CONFIG_KLOGD=y 35.799 -CONFIG_LOGGER=y 35.800 - 35.801 -# 35.802 -# Runit Utilities 35.803 -# 35.804 -# CONFIG_RUNSV is not set 35.805 -# CONFIG_RUNSVDIR is not set 35.806 -# CONFIG_SV is not set 35.807 -# CONFIG_SVLOGD is not set 35.808 -# CONFIG_CHPST is not set 35.809 -# CONFIG_SETUIDGID is not set 35.810 -# CONFIG_ENVUIDGID is not set 35.811 -# CONFIG_ENVDIR is not set 35.812 -# CONFIG_SOFTLIMIT is not set 35.813 -# CONFIG_CHCON is not set 35.814 -# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set 35.815 -# CONFIG_GETENFORCE is not set 35.816 -# CONFIG_GETSEBOOL is not set 35.817 -# CONFIG_LOAD_POLICY is not set 35.818 -# CONFIG_MATCHPATHCON is not set 35.819 -# CONFIG_RESTORECON is not set 35.820 -# CONFIG_RUNCON is not set 35.821 -# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set 35.822 -# CONFIG_SELINUXENABLED is not set 35.823 -# CONFIG_SETENFORCE is not set 35.824 -# CONFIG_SETFILES is not set 35.825 -# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set 35.826 -# CONFIG_SETSEBOOL is not set 35.827 -# CONFIG_SESTATUS is not set 35.828 - 35.829 -# 35.830 -# Print Utilities 35.831 -# 35.832 -CONFIG_LPD=y 35.833 -CONFIG_LPR=y 35.834 -CONFIG_LPQ=y
36.1 --- a/busybox/stuff/busybox-1.11.0-cpio-mkdir.u Wed May 27 11:52:33 2009 +0200 36.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 36.3 @@ -1,1 +0,0 @@ 36.4 -busybox-1.10.3-cpio-mkdir.u 36.5 \ No newline at end of file
37.1 --- a/busybox/stuff/busybox-1.11.0-cpio-mtime.u Wed May 27 11:52:33 2009 +0200 37.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 37.3 @@ -1,21 +0,0 @@ 37.4 ---- busybox-1.11.0/archival/cpio.c 37.5 -+++ busybox-1.11.0/archival/cpio.c 37.6 -@@ -204,7 +204,7 @@ 37.7 - archive_handle = init_handle(); 37.8 - archive_handle->src_fd = STDIN_FILENO; 37.9 - archive_handle->seek = seek_by_read; 37.10 -- archive_handle->flags = ARCHIVE_EXTRACT_NEWER | ARCHIVE_PRESERVE_DATE; 37.11 -+ archive_handle->flags = ARCHIVE_EXTRACT_NEWER; 37.12 - 37.13 - #if ENABLE_FEATURE_CPIO_O 37.14 - opt = getopt32(argv, "ituvF:dmoH:", &cpio_filename, &cpio_fmt); 37.15 -@@ -258,6 +258,9 @@ 37.16 - if (opt & CPIO_OPT_CREATE_LEADING_DIR) { 37.17 - archive_handle->flags |= ARCHIVE_CREATE_LEADING_DIRS; 37.18 - } 37.19 -+ if (opt & CPIO_OPT_PRESERVE_MTIME) { 37.20 -+ archive_handle->flags |= ARCHIVE_PRESERVE_DATE; 37.21 -+ } 37.22 - 37.23 - while (*argv) { 37.24 - archive_handle->filter = filter_accept_list;
38.1 --- a/busybox/stuff/busybox-1.11.0-stat.u Wed May 27 11:52:33 2009 +0200 38.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 38.3 @@ -1,74 +0,0 @@ 38.4 -Add stat -m 38.5 ---- busybox-1.11.0/coreutils/stat.c 38.6 -+++ busybox-1.11.0/coreutils/stat.c 38.7 -@@ -14,12 +14,14 @@ 38.8 - */ 38.9 - 38.10 - #include "libbb.h" 38.11 -+#include <linux/fs.h> 38.12 - 38.13 - /* vars to control behavior */ 38.14 - #define OPT_FILESYS (1 << 0) 38.15 - #define OPT_TERSE (1 << 1) 38.16 - #define OPT_DEREFERENCE (1 << 2) 38.17 --#define OPT_SELINUX (1 << 3) 38.18 -+#define OPT_MAP (1 << 3) 38.19 -+#define OPT_SELINUX (1 << 4) 38.20 - 38.21 - #if ENABLE_FEATURE_STAT_FORMAT 38.22 - typedef bool (*statfunc_ptr)(const char *, const char *); 38.23 -@@ -345,6 +347,26 @@ 38.24 - 38.25 - /* Stat the file system and print what we find. */ 38.26 - #if !ENABLE_FEATURE_STAT_FORMAT 38.27 -+#define do_mapfile(filename, format) do_mapfile(filename) 38.28 -+#endif 38.29 -+static bool do_mapfile(const char *filename, const char *format) 38.30 -+{ 38.31 -+ int i = 0; 38.32 -+ int fd = xopen(filename, O_RDONLY); 38.33 -+ 38.34 -+#if ENABLE_FEATURE_STAT_FORMAT 38.35 -+ (void) format; 38.36 -+#endif 38.37 -+ while (1) { 38.38 -+ int blk = i++; 38.39 -+ if (ioctl(fd,FIBMAP,&blk) < 0 || blk == 0) break; 38.40 -+ printf("%u\n",blk); 38.41 -+ } 38.42 -+ return 1; 38.43 -+} 38.44 -+ 38.45 -+/* Stat the file system and print what we find. */ 38.46 -+#if !ENABLE_FEATURE_STAT_FORMAT 38.47 - #define do_statfs(filename, format) do_statfs(filename) 38.48 - #endif 38.49 - static bool do_statfs(const char *filename, const char *format) 38.50 -@@ -632,13 +654,15 @@ 38.51 - int ok = 1; 38.52 - statfunc_ptr statfunc = do_stat; 38.53 - 38.54 -- getopt32(argv, "ftL" 38.55 -+ getopt32(argv, "ftLm" 38.56 - USE_SELINUX("Z") 38.57 - USE_FEATURE_STAT_FORMAT("c:", &format) 38.58 - ); 38.59 - 38.60 - if (option_mask32 & OPT_FILESYS) /* -f */ 38.61 - statfunc = do_statfs; 38.62 -+ if (option_mask32 & OPT_MAP) /* -m */ 38.63 -+ statfunc = do_mapfile; 38.64 - if (argc == optind) /* files */ 38.65 - bb_show_usage(); 38.66 - 38.67 - 38.68 ---- busybox-1.11.0/include/usage.h 38.69 -+++ busybox-1.11.0/include/usage.h 38.70 -@@ -3711,6 +3711,7 @@ 38.71 - ) \ 38.72 - "\n -f Display filesystem status" \ 38.73 - "\n -L Dereference links" \ 38.74 -+ "\n -m Display block list" \ 38.75 - "\n -t Display info in terse form" \ 38.76 - USE_SELINUX( \ 38.77 - "\n -Z Print security context" \
39.1 --- a/busybox/stuff/busybox-1.11.0-unlzma.u Wed May 27 11:52:33 2009 +0200 39.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 39.3 @@ -1,30 +0,0 @@ 39.4 ---- busybox-1.11.0/archival/libunarchive/decompress_unlzma.c 39.5 -+++ busybox-1.11.0/archival/libunarchive/decompress_unlzma.c 39.6 -@@ -78,7 +78,7 @@ 39.7 - } 39.8 - 39.9 - /* Called once */ 39.10 --static ALWAYS_INLINE void rc_free(rc_t * rc) 39.11 -+static ALWAYS_INLINE void rc_free(void * rc) 39.12 - { 39.13 - if (ENABLE_FEATURE_CLEAN_UP) 39.14 - free(rc); 39.15 -@@ -491,10 +491,14 @@ 39.16 - 39.17 - if (full_write(dst_fd, buffer, buffer_pos) != (ssize_t)buffer_pos) { 39.18 - bad: 39.19 -- rc_free(rc); 39.20 -- return -1; 39.21 -+ len = -1; 39.22 -+ } 39.23 -+ else { 39.24 -+ USE_DESKTOP(total_written += buffer_pos;) 39.25 -+ len = USE_DESKTOP(total_written) + 0; 39.26 - } 39.27 - rc_free(rc); 39.28 -- USE_DESKTOP(total_written += buffer_pos;) 39.29 -- return USE_DESKTOP(total_written) + 0; 39.30 -+ rc_free(buffer); 39.31 -+ rc_free(p); 39.32 -+ return len; 39.33 - }
40.1 --- a/busybox/stuff/busybox-1.11.0-vcsa2txt.u Wed May 27 11:52:33 2009 +0200 40.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 40.3 @@ -1,134 +0,0 @@ 40.4 ---- busybox-1.11.0/include/applets.h 40.5 -+++ busybox-1.11.0/include/applets.h 40.6 -@@ -380,6 +380,7 @@ 40.7 - USE_UUDECODE(APPLET(uudecode, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 40.8 - USE_UUENCODE(APPLET(uuencode, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 40.9 - USE_VCONFIG(APPLET(vconfig, _BB_DIR_SBIN, _BB_SUID_NEVER)) 40.10 -+USE_VCSA2TXT(APPLET(vcsa2txt, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 40.11 - USE_VI(APPLET(vi, _BB_DIR_BIN, _BB_SUID_NEVER)) 40.12 - USE_VLOCK(APPLET(vlock, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS)) 40.13 - USE_WATCH(APPLET(watch, _BB_DIR_BIN, _BB_SUID_NEVER)) 40.14 - 40.15 ---- busybox-1.11.0/include/usage.h 40.16 -+++ busybox-1.11.0/include/usage.h 40.17 -@@ -4455,6 +4455,13 @@ 40.18 - "\n set_ingress_map [vlan-name] [skb_priority] [vlan_qos]" \ 40.19 - "\n set_name_type [name-type]" \ 40.20 - 40.21 -+#define vcsa2txt_trivial_usage \ 40.22 -+ "stdin" 40.23 -+#define vcsa2txt_full_usage \ 40.24 -+ "Filter /dev/vcsa* to ansi escape sequences" 40.25 -+#define vcsa2txt_example_usage \ 40.26 -+ "# vcsa2txt < /dev/vcsa1\n" 40.27 -+ 40.28 - #define vi_trivial_usage \ 40.29 - "[OPTION] [FILE]..." 40.30 - #define vi_full_usage "\n\n" \ 40.31 - 40.32 ---- busybox-1.11.0/miscutils/Config.in 40.33 -+++ busybox-1.11.0/miscutils/Config.in 40.34 -@@ -506,6 +506,12 @@ 40.35 - only height, or both, in any order. It also does not complain on error, 40.36 - but returns default 80x24. Usage in shell scripts: width=`ttysize w`. 40.37 - 40.38 -+config VCSA2TXT 40.39 -+ bool "vcsa2txt" 40.40 -+ default n 40.41 -+ help 40.42 -+ Filter /dev/vcsa* output to ansi escape sequences. 40.43 -+ 40.44 - config WATCHDOG 40.45 - bool "watchdog" 40.46 - default n 40.47 - 40.48 ---- busybox-1.11.0/util-linux/Kbuild 40.49 -+++ busybox-1.11.0/util-linux/Kbuild 40.50 -@@ -33,3 +33,4 @@ 40.51 - lib-$(CONFIG_SWAPONOFF) += swaponoff.o 40.52 - lib-$(CONFIG_SWITCH_ROOT) += switch_root.o 40.53 - lib-$(CONFIG_UMOUNT) += umount.o 40.54 -+lib-$(CONFIG_VCSA2TXT) += vcsa2txt.o 40.55 - 40.56 ---- busybox-1.11.0/util-linux/vcsa2txt.c 40.57 -+++ busybox-1.11.0/util-linux/vcsa2txt.c 40.58 -@@ -0,0 +1,79 @@ 40.59 -+/* vi: set sw=4 ts=4: */ 40.60 -+/* 40.61 -+ * /dev/vcsa* filter for busybox 40.62 -+ * 40.63 -+ * pascal.bellard@ads-lu.com 40.64 -+ * 40.65 -+ * Licensed under GPLv2 or later, see file License in this tarball for details. 40.66 -+ */ 40.67 -+ 40.68 -+#include "libbb.h" 40.69 -+ 40.70 -+int vcsa2txt_main(int argc) MAIN_EXTERNALLY_VISIBLE; 40.71 -+int vcsa2txt_main(int argc) 40.72 -+{ 40.73 -+ struct { 40.74 -+ unsigned char l, c, x, y; // man 4 console_codes 40.75 -+ } scrn; 40.76 -+ unsigned char last = 0, ch[2]; // BLGCRMOW 40.77 -+ static unsigned char end[5] = "\e[0m\n", color[8] = "04261537"; 40.78 -+ int sp, lf, x; 40.79 -+ 40.80 -+ if (safe_read(0, &scrn, 4) < 0) return 1; 40.81 -+ for (lf = 0; scrn.l; lf++, scrn.l--) { 40.82 -+ for (sp = x = 0; ++x <= scrn.c;) { 40.83 -+ if (safe_read(0, &ch[0], 2) < 0) return 1; 40.84 -+ if (argc > 1) ch[1] = 0; 40.85 -+ sp++; 40.86 -+ if (last == ch[1] && ch[0] == ' ') continue; 40.87 -+ for (lf++; --lf;) bb_putchar('\n'); 40.88 -+ while (--sp) bb_putchar(' '); 40.89 -+#define ENABLE_VCSA_PACKED 1 40.90 -+#if ENABLE_VCSA_PACKED 40.91 -+ if (last ^= ch[1]) { 40.92 -+ char esc[16],*s; 40.93 -+ struct offsets { 40.94 -+ char mask, type, shr; 40.95 -+ } *p; 40.96 -+ static struct offsets offset[3] = { 40.97 -+ {8,0,1}, {0x70,'4',4}, {7,'3',0} 40.98 -+ }; 40.99 -+ static char init = 0x7F; 40.100 -+ 40.101 -+ s = esc+2; 40.102 -+ *(short *)esc = ntohs(256*'\e'+'['); 40.103 -+ p = offset; 40.104 -+ do { 40.105 -+ if ((init|last) & p->mask) { 40.106 -+ int c = (ch[1] & p->mask) >> p->shr; 40.107 -+ 40.108 -+ if ((*s = p->type) != 0) s++; 40.109 -+ else if (c == 0) { 40.110 -+ c = 2; 40.111 -+ *s++ = '2'; /* normal */ 40.112 -+ } 40.113 -+ *s++ = color[c]; 40.114 -+ *s++ = ';'; 40.115 -+ } 40.116 -+ } while (p++->shr); 40.117 -+ s[-1] = 'm'; 40.118 -+ init = 0; 40.119 -+ fwrite(esc,s-esc,1,stdout); 40.120 -+ } 40.121 -+ last = ch[1]; 40.122 -+#else 40.123 -+ if (last != ch[1]) { 40.124 -+ static char esc[10] = "\e[0;47;37m"; 40.125 -+ 40.126 -+ esc[2] = ((last = ch[1]) & 8) ? '1' /* bold */ : '0' /* defaults */; 40.127 -+ esc[sizeof(esc)-5] = color[(ch[1] >> 4) & 7]; 40.128 -+ esc[sizeof(esc)-2] = color[ch[1] & 7]; 40.129 -+ fwrite(esc,sizeof(esc),1,stdout); 40.130 -+ } 40.131 -+#endif 40.132 -+ bb_putchar(ch[0]); 40.133 -+ } 40.134 -+ } 40.135 -+ fwrite(end,sizeof(end),1,stdout); 40.136 -+ return 0; 40.137 -+}
41.1 --- a/busybox/stuff/busybox-1.11.0.config Wed May 27 11:52:33 2009 +0200 41.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 41.3 @@ -1,853 +0,0 @@ 41.4 -# TODO: add RESET CLEAR RMMOD LSMOD MODPROBE DEPMOD (+gz/lzma) 41.5 -# 41.6 -# Automatically generated make config: don't edit 41.7 -# Busybox version: 1.11.0 41.8 -# Thu Jun 26 11:34:13 2008 41.9 -# 41.10 -CONFIG_HAVE_DOT_CONFIG=y 41.11 - 41.12 -# 41.13 -# Busybox Settings 41.14 -# 41.15 - 41.16 -# 41.17 -# General Configuration 41.18 -# 41.19 -CONFIG_DESKTOP=y 41.20 -# CONFIG_FEATURE_ASSUME_UNICODE is not set 41.21 -CONFIG_FEATURE_BUFFERS_USE_MALLOC=y 41.22 -# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set 41.23 -# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set 41.24 -CONFIG_SHOW_USAGE=y 41.25 -CONFIG_FEATURE_VERBOSE_USAGE=y 41.26 -CONFIG_FEATURE_COMPRESS_USAGE=y 41.27 -CONFIG_FEATURE_INSTALLER=y 41.28 -CONFIG_LOCALE_SUPPORT=y 41.29 -CONFIG_GETOPT_LONG=y 41.30 -CONFIG_FEATURE_DEVPTS=y 41.31 -# CONFIG_FEATURE_CLEAN_UP is not set 41.32 -CONFIG_FEATURE_PIDFILE=y 41.33 -CONFIG_FEATURE_SUID=y 41.34 -CONFIG_FEATURE_SUID_CONFIG=y 41.35 -# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set 41.36 -# CONFIG_SELINUX is not set 41.37 -# CONFIG_FEATURE_PREFER_APPLETS is not set 41.38 -CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" 41.39 -CONFIG_FEATURE_SYSLOG=y 41.40 -CONFIG_FEATURE_HAVE_RPC=y 41.41 - 41.42 -# 41.43 -# Build Options 41.44 -# 41.45 -# CONFIG_STATIC is not set 41.46 -# CONFIG_PIE is not set 41.47 -# CONFIG_NOMMU is not set 41.48 -# CONFIG_BUILD_LIBBUSYBOX is not set 41.49 -# CONFIG_FEATURE_INDIVIDUAL is not set 41.50 -# CONFIG_FEATURE_SHARED_BUSYBOX is not set 41.51 -CONFIG_LFS=y 41.52 -CONFIG_CROSS_COMPILER_PREFIX="" 41.53 - 41.54 -# 41.55 -# Debugging Options 41.56 -# 41.57 -# CONFIG_DEBUG is not set 41.58 -# CONFIG_DEBUG_PESSIMIZE is not set 41.59 -# CONFIG_WERROR is not set 41.60 -CONFIG_NO_DEBUG_LIB=y 41.61 -# CONFIG_DMALLOC is not set 41.62 -# CONFIG_EFENCE is not set 41.63 -CONFIG_INCLUDE_SUSv2=y 41.64 - 41.65 -# 41.66 -# Installation Options 41.67 -# 41.68 -# CONFIG_INSTALL_NO_USR is not set 41.69 -CONFIG_INSTALL_APPLET_SYMLINKS=y 41.70 -# CONFIG_INSTALL_APPLET_HARDLINKS is not set 41.71 -# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set 41.72 -# CONFIG_INSTALL_APPLET_DONT is not set 41.73 -# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set 41.74 -# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set 41.75 -# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set 41.76 -CONFIG_PREFIX="./_install" 41.77 - 41.78 -# 41.79 -# Busybox Library Tuning 41.80 -# 41.81 -CONFIG_PASSWORD_MINLEN=6 41.82 -CONFIG_MD5_SIZE_VS_SPEED=0 41.83 -# CONFIG_FEATURE_FAST_TOP is not set 41.84 -# CONFIG_FEATURE_ETC_NETWORKS is not set 41.85 -CONFIG_FEATURE_EDITING=y 41.86 -CONFIG_FEATURE_EDITING_MAX_LEN=1024 41.87 -# CONFIG_FEATURE_EDITING_VI is not set 41.88 -CONFIG_FEATURE_EDITING_HISTORY=127 41.89 -CONFIG_FEATURE_EDITING_SAVEHISTORY=y 41.90 -CONFIG_FEATURE_TAB_COMPLETION=y 41.91 -# CONFIG_FEATURE_USERNAME_COMPLETION is not set 41.92 -CONFIG_FEATURE_EDITING_FANCY_PROMPT=y 41.93 -# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set 41.94 -CONFIG_FEATURE_COPYBUF_KB=4 41.95 -CONFIG_MONOTONIC_SYSCALL=y 41.96 -CONFIG_IOCTL_HEX2STR_ERROR=y 41.97 -CONFIG_FEATURE_HWIB=y 41.98 - 41.99 -# 41.100 -# Applets 41.101 -# 41.102 - 41.103 -# 41.104 -# Archival Utilities 41.105 -# 41.106 -# CONFIG_AR is not set 41.107 -# CONFIG_FEATURE_AR_LONG_FILENAMES is not set 41.108 -CONFIG_BUNZIP2=y 41.109 -# CONFIG_BZIP2 is not set 41.110 -CONFIG_CPIO=y 41.111 -CONFIG_FEATURE_CPIO_O=y 41.112 -CONFIG_DPKG=y 41.113 -CONFIG_DPKG_DEB=y 41.114 -CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY=y 41.115 -CONFIG_GUNZIP=y 41.116 -CONFIG_FEATURE_GUNZIP_UNCOMPRESS=y 41.117 -CONFIG_GZIP=y 41.118 -CONFIG_RPM2CPIO=y 41.119 -CONFIG_RPM=y 41.120 -CONFIG_FEATURE_RPM_BZ2=y 41.121 -CONFIG_TAR=y 41.122 -CONFIG_FEATURE_TAR_CREATE=y 41.123 -CONFIG_FEATURE_TAR_GZIP=y 41.124 -CONFIG_FEATURE_TAR_BZIP2=y 41.125 -CONFIG_FEATURE_TAR_LZMA=y 41.126 -CONFIG_FEATURE_TAR_COMPRESS=y 41.127 -CONFIG_FEATURE_TAR_AUTODETECT=y 41.128 -CONFIG_FEATURE_TAR_FROM=y 41.129 -CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y 41.130 -# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set 41.131 -CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y 41.132 -CONFIG_FEATURE_TAR_LONG_OPTIONS=y 41.133 -# CONFIG_FEATURE_TAR_UNAME_GNAME is not set 41.134 -CONFIG_UNCOMPRESS=y 41.135 -CONFIG_UNLZMA=y 41.136 -# CONFIG_FEATURE_LZMA_FAST is not set 41.137 -CONFIG_UNZIP=y 41.138 - 41.139 -# 41.140 -# Common options for cpio and tar 41.141 -# 41.142 - 41.143 -# 41.144 -# Common options for dpkg and dpkg_deb 41.145 -# 41.146 -CONFIG_FEATURE_DEB_TAR_GZ=y 41.147 -CONFIG_FEATURE_DEB_TAR_BZ2=y 41.148 -CONFIG_FEATURE_DEB_TAR_LZMA=y 41.149 - 41.150 -# 41.151 -# Coreutils 41.152 -# 41.153 -CONFIG_BASENAME=y 41.154 -CONFIG_CAL=y 41.155 -CONFIG_CAT=y 41.156 -# CONFIG_CATV is not set 41.157 -CONFIG_CHGRP=y 41.158 -CONFIG_CHMOD=y 41.159 -CONFIG_CHOWN=y 41.160 -CONFIG_CHROOT=y 41.161 -CONFIG_CKSUM=y 41.162 -CONFIG_COMM=y 41.163 -CONFIG_CP=y 41.164 -CONFIG_CUT=y 41.165 -CONFIG_DATE=y 41.166 -CONFIG_FEATURE_DATE_ISOFMT=y 41.167 -CONFIG_DD=y 41.168 -CONFIG_FEATURE_DD_SIGNAL_HANDLING=y 41.169 -CONFIG_FEATURE_DD_IBS_OBS=y 41.170 -CONFIG_DF=y 41.171 -CONFIG_FEATURE_DF_INODE=y 41.172 -CONFIG_DIRNAME=y 41.173 -CONFIG_DOS2UNIX=y 41.174 -CONFIG_UNIX2DOS=y 41.175 -CONFIG_DU=y 41.176 -CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y 41.177 -CONFIG_ECHO=y 41.178 -CONFIG_FEATURE_FANCY_ECHO=y 41.179 -CONFIG_ENV=y 41.180 -CONFIG_FEATURE_ENV_LONG_OPTIONS=y 41.181 -CONFIG_EXPAND=y 41.182 -CONFIG_FEATURE_EXPAND_LONG_OPTIONS=y 41.183 -CONFIG_EXPR=y 41.184 -# CONFIG_EXPR_MATH_SUPPORT_64 is not set 41.185 -CONFIG_FALSE=y 41.186 -CONFIG_FOLD=y 41.187 -CONFIG_HEAD=y 41.188 -CONFIG_FEATURE_FANCY_HEAD=y 41.189 -CONFIG_HOSTID=y 41.190 -CONFIG_ID=y 41.191 -CONFIG_INSTALL=y 41.192 -CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y 41.193 -CONFIG_LENGTH=y 41.194 -CONFIG_LN=y 41.195 -CONFIG_LOGNAME=y 41.196 -CONFIG_LS=y 41.197 -CONFIG_FEATURE_LS_FILETYPES=y 41.198 -CONFIG_FEATURE_LS_FOLLOWLINKS=y 41.199 -CONFIG_FEATURE_LS_RECURSIVE=y 41.200 -CONFIG_FEATURE_LS_SORTFILES=y 41.201 -CONFIG_FEATURE_LS_TIMESTAMPS=y 41.202 -CONFIG_FEATURE_LS_USERNAME=y 41.203 -CONFIG_FEATURE_LS_COLOR=y 41.204 -CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y 41.205 -CONFIG_MD5SUM=y 41.206 -CONFIG_MKDIR=y 41.207 -CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y 41.208 -CONFIG_MKFIFO=y 41.209 -CONFIG_MKNOD=y 41.210 -CONFIG_MV=y 41.211 -CONFIG_FEATURE_MV_LONG_OPTIONS=y 41.212 -CONFIG_NICE=y 41.213 -CONFIG_NOHUP=y 41.214 -CONFIG_OD=y 41.215 -CONFIG_PRINTENV=y 41.216 -CONFIG_PRINTF=y 41.217 -CONFIG_PWD=y 41.218 -CONFIG_READLINK=y 41.219 -CONFIG_FEATURE_READLINK_FOLLOW=y 41.220 -CONFIG_REALPATH=y 41.221 -CONFIG_RM=y 41.222 -CONFIG_RMDIR=y 41.223 -# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set 41.224 -CONFIG_SEQ=y 41.225 -CONFIG_SHA1SUM=y 41.226 -CONFIG_SLEEP=y 41.227 -CONFIG_FEATURE_FANCY_SLEEP=y 41.228 -CONFIG_SORT=y 41.229 -CONFIG_FEATURE_SORT_BIG=y 41.230 -CONFIG_SPLIT=y 41.231 -CONFIG_FEATURE_SPLIT_FANCY=y 41.232 -CONFIG_STAT=y 41.233 -CONFIG_FEATURE_STAT_FORMAT=y 41.234 -CONFIG_STTY=y 41.235 -CONFIG_SUM=y 41.236 -CONFIG_SYNC=y 41.237 -# CONFIG_TAC is not set 41.238 -CONFIG_TAIL=y 41.239 -CONFIG_FEATURE_FANCY_TAIL=y 41.240 -CONFIG_TEE=y 41.241 -CONFIG_FEATURE_TEE_USE_BLOCK_IO=y 41.242 -CONFIG_TEST=y 41.243 -CONFIG_FEATURE_TEST_64=y 41.244 -CONFIG_TOUCH=y 41.245 -CONFIG_TR=y 41.246 -CONFIG_FEATURE_TR_CLASSES=y 41.247 -CONFIG_FEATURE_TR_EQUIV=y 41.248 -CONFIG_TRUE=y 41.249 -CONFIG_TTY=y 41.250 -CONFIG_UNAME=y 41.251 -CONFIG_UNEXPAND=y 41.252 -CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS=y 41.253 -CONFIG_UNIQ=y 41.254 -CONFIG_USLEEP=y 41.255 -CONFIG_UUDECODE=y 41.256 -CONFIG_UUENCODE=y 41.257 -CONFIG_WC=y 41.258 -CONFIG_FEATURE_WC_LARGE=y 41.259 -CONFIG_WHO=y 41.260 -CONFIG_WHOAMI=y 41.261 -CONFIG_YES=y 41.262 - 41.263 -# 41.264 -# Common options for cp and mv 41.265 -# 41.266 -CONFIG_FEATURE_PRESERVE_HARDLINKS=y 41.267 - 41.268 -# 41.269 -# Common options for ls, more and telnet 41.270 -# 41.271 -CONFIG_FEATURE_AUTOWIDTH=y 41.272 - 41.273 -# 41.274 -# Common options for df, du, ls 41.275 -# 41.276 -CONFIG_FEATURE_HUMAN_READABLE=y 41.277 - 41.278 -# 41.279 -# Common options for md5sum, sha1sum 41.280 -# 41.281 -CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y 41.282 - 41.283 -# 41.284 -# Console Utilities 41.285 -# 41.286 -CONFIG_CHVT=y 41.287 -# CONFIG_CLEAR is not set 41.288 -CONFIG_DEALLOCVT=y 41.289 -CONFIG_DUMPKMAP=y 41.290 -CONFIG_KBD_MODE=y 41.291 -CONFIG_LOADFONT=y 41.292 -CONFIG_LOADKMAP=y 41.293 -CONFIG_OPENVT=y 41.294 -# CONFIG_RESET is not set 41.295 -# CONFIG_RESIZE is not set 41.296 -# CONFIG_FEATURE_RESIZE_PRINT is not set 41.297 -CONFIG_SETCONSOLE=y 41.298 -# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set 41.299 -CONFIG_SETKEYCODES=y 41.300 -# CONFIG_SETLOGCONS is not set 41.301 - 41.302 -# 41.303 -# Debian Utilities 41.304 -# 41.305 -CONFIG_MKTEMP=y 41.306 -CONFIG_PIPE_PROGRESS=y 41.307 -# CONFIG_RUN_PARTS is not set 41.308 -# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set 41.309 -# CONFIG_FEATURE_RUN_PARTS_FANCY is not set 41.310 -# CONFIG_START_STOP_DAEMON is not set 41.311 -# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set 41.312 -# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set 41.313 -CONFIG_WHICH=y 41.314 - 41.315 -# 41.316 -# Editors 41.317 -# 41.318 -CONFIG_AWK=y 41.319 -CONFIG_FEATURE_AWK_MATH=y 41.320 -CONFIG_CMP=y 41.321 -CONFIG_DIFF=y 41.322 -CONFIG_FEATURE_DIFF_BINARY=y 41.323 -CONFIG_FEATURE_DIFF_DIR=y 41.324 -CONFIG_FEATURE_DIFF_MINIMAL=y 41.325 -# CONFIG_ED is not set 41.326 -CONFIG_PATCH=y 41.327 -CONFIG_SED=y 41.328 -CONFIG_VI=y 41.329 -CONFIG_FEATURE_VI_MAX_LEN=1024 41.330 -CONFIG_FEATURE_VI_8BIT=y 41.331 -CONFIG_FEATURE_VI_COLON=y 41.332 -CONFIG_FEATURE_VI_YANKMARK=y 41.333 -CONFIG_FEATURE_VI_SEARCH=y 41.334 -CONFIG_FEATURE_VI_USE_SIGNALS=y 41.335 -CONFIG_FEATURE_VI_DOT_CMD=y 41.336 -CONFIG_FEATURE_VI_READONLY=y 41.337 -CONFIG_FEATURE_VI_SETOPTS=y 41.338 -CONFIG_FEATURE_VI_SET=y 41.339 -CONFIG_FEATURE_VI_WIN_RESIZE=y 41.340 -CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y 41.341 -CONFIG_FEATURE_ALLOW_EXEC=y 41.342 - 41.343 -# 41.344 -# Finding Utilities 41.345 -# 41.346 -CONFIG_FIND=y 41.347 -CONFIG_FEATURE_FIND_PRINT0=y 41.348 -CONFIG_FEATURE_FIND_MTIME=y 41.349 -CONFIG_FEATURE_FIND_MMIN=y 41.350 -CONFIG_FEATURE_FIND_PERM=y 41.351 -CONFIG_FEATURE_FIND_TYPE=y 41.352 -CONFIG_FEATURE_FIND_XDEV=y 41.353 -CONFIG_FEATURE_FIND_MAXDEPTH=y 41.354 -CONFIG_FEATURE_FIND_NEWER=y 41.355 -CONFIG_FEATURE_FIND_INUM=y 41.356 -CONFIG_FEATURE_FIND_EXEC=y 41.357 -CONFIG_FEATURE_FIND_USER=y 41.358 -CONFIG_FEATURE_FIND_GROUP=y 41.359 -CONFIG_FEATURE_FIND_NOT=y 41.360 -CONFIG_FEATURE_FIND_DEPTH=y 41.361 -CONFIG_FEATURE_FIND_PAREN=y 41.362 -CONFIG_FEATURE_FIND_SIZE=y 41.363 -CONFIG_FEATURE_FIND_PRUNE=y 41.364 -CONFIG_FEATURE_FIND_DELETE=y 41.365 -CONFIG_FEATURE_FIND_PATH=y 41.366 -CONFIG_FEATURE_FIND_REGEX=y 41.367 -# CONFIG_FEATURE_FIND_CONTEXT is not set 41.368 -CONFIG_GREP=y 41.369 -CONFIG_FEATURE_GREP_EGREP_ALIAS=y 41.370 -CONFIG_FEATURE_GREP_FGREP_ALIAS=y 41.371 -CONFIG_FEATURE_GREP_CONTEXT=y 41.372 -CONFIG_XARGS=y 41.373 -CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y 41.374 -CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y 41.375 -CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y 41.376 -CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y 41.377 - 41.378 -# 41.379 -# Init Utilities 41.380 -# 41.381 -CONFIG_INIT=y 41.382 -# CONFIG_DEBUG_INIT is not set 41.383 -CONFIG_FEATURE_USE_INITTAB=y 41.384 -CONFIG_FEATURE_KILL_REMOVED=y 41.385 -CONFIG_FEATURE_KILL_DELAY=0 41.386 -CONFIG_FEATURE_INIT_SCTTY=y 41.387 -# CONFIG_FEATURE_INIT_SYSLOG is not set 41.388 -CONFIG_FEATURE_EXTRA_QUIET=y 41.389 -# CONFIG_FEATURE_INIT_COREDUMPS is not set 41.390 -CONFIG_FEATURE_INITRD=y 41.391 -CONFIG_HALT=y 41.392 -CONFIG_MESG=y 41.393 - 41.394 -# 41.395 -# Login/Password Management Utilities 41.396 -# 41.397 -CONFIG_FEATURE_SHADOWPASSWDS=y 41.398 -# CONFIG_USE_BB_PWD_GRP is not set 41.399 -# CONFIG_USE_BB_SHADOW is not set 41.400 -CONFIG_USE_BB_CRYPT=y 41.401 -CONFIG_ADDGROUP=y 41.402 -CONFIG_FEATURE_ADDUSER_TO_GROUP=y 41.403 -CONFIG_DELGROUP=y 41.404 -CONFIG_FEATURE_DEL_USER_FROM_GROUP=y 41.405 -# CONFIG_FEATURE_CHECK_NAMES is not set 41.406 -CONFIG_ADDUSER=y 41.407 -# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set 41.408 -CONFIG_DELUSER=y 41.409 -CONFIG_GETTY=y 41.410 -CONFIG_FEATURE_UTMP=y 41.411 -CONFIG_FEATURE_WTMP=y 41.412 -CONFIG_LOGIN=y 41.413 -# CONFIG_PAM is not set 41.414 -# CONFIG_LOGIN_SCRIPTS is not set 41.415 -CONFIG_FEATURE_NOLOGIN=y 41.416 -CONFIG_FEATURE_SECURETTY=y 41.417 -CONFIG_PASSWD=y 41.418 -CONFIG_FEATURE_PASSWD_WEAK_CHECK=y 41.419 -CONFIG_CRYPTPW=y 41.420 -CONFIG_CHPASSWD=y 41.421 -CONFIG_SU=y 41.422 -CONFIG_FEATURE_SU_SYSLOG=y 41.423 -CONFIG_FEATURE_SU_CHECKS_SHELLS=y 41.424 -CONFIG_SULOGIN=y 41.425 -CONFIG_VLOCK=y 41.426 - 41.427 -# 41.428 -# Linux Ext2 FS Progs 41.429 -# 41.430 -CONFIG_CHATTR=y 41.431 -CONFIG_FSCK=y 41.432 -CONFIG_LSATTR=y 41.433 - 41.434 -# 41.435 -# Linux Module Utilities 41.436 -# 41.437 -# CONFIG_DEPMOD is not set 41.438 -# CONFIG_FEATURE_DEPMOD_PRUNE_FANCY is not set 41.439 -# CONFIG_FEATURE_DEPMOD_ALIAS is not set 41.440 -# CONFIG_INSMOD is not set 41.441 -# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set 41.442 -# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set 41.443 -# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set 41.444 -# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set 41.445 -# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set 41.446 -# CONFIG_RMMOD is not set 41.447 -# CONFIG_LSMOD is not set 41.448 -# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set 41.449 -# CONFIG_MODPROBE is not set 41.450 -# CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS is not set 41.451 -# CONFIG_FEATURE_MODPROBE_FANCY_ALIAS is not set 41.452 -# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set 41.453 -# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set 41.454 -# CONFIG_FEATURE_2_4_MODULES is not set 41.455 -# CONFIG_FEATURE_2_6_MODULES is not set 41.456 -CONFIG_DEFAULT_MODULES_DIR="" 41.457 -CONFIG_DEFAULT_DEPMOD_FILE="" 41.458 -# CONFIG_FEATURE_QUERY_MODULE_INTERFACE is not set 41.459 - 41.460 -# 41.461 -# Linux System Utilities 41.462 -# 41.463 -CONFIG_DMESG=y 41.464 -CONFIG_FEATURE_DMESG_PRETTY=y 41.465 -CONFIG_FBSET=y 41.466 -CONFIG_FEATURE_FBSET_FANCY=y 41.467 -# CONFIG_FEATURE_FBSET_READMODE is not set 41.468 -CONFIG_FDFLUSH=y 41.469 -CONFIG_FDFORMAT=y 41.470 -CONFIG_FDISK=y 41.471 -CONFIG_FDISK_SUPPORT_LARGE_DISKS=y 41.472 -CONFIG_FEATURE_FDISK_WRITABLE=y 41.473 -# CONFIG_FEATURE_AIX_LABEL is not set 41.474 -# CONFIG_FEATURE_SGI_LABEL is not set 41.475 -# CONFIG_FEATURE_SUN_LABEL is not set 41.476 -# CONFIG_FEATURE_OSF_LABEL is not set 41.477 -# CONFIG_FEATURE_FDISK_ADVANCED is not set 41.478 -CONFIG_FINDFS=y 41.479 -CONFIG_FREERAMDISK=y 41.480 -# CONFIG_FSCK_MINIX is not set 41.481 -# CONFIG_MKFS_MINIX is not set 41.482 -# CONFIG_FEATURE_MINIX2 is not set 41.483 -# CONFIG_GETOPT is not set 41.484 -CONFIG_HEXDUMP=y 41.485 -CONFIG_FEATURE_HEXDUMP_REVERSE=y 41.486 -# CONFIG_HD is not set 41.487 -CONFIG_HWCLOCK=y 41.488 -CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y 41.489 -CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y 41.490 -CONFIG_IPCRM=y 41.491 -CONFIG_IPCS=y 41.492 -CONFIG_LOSETUP=y 41.493 -CONFIG_MDEV=y 41.494 -CONFIG_FEATURE_MDEV_CONF=y 41.495 -# CONFIG_FEATURE_MDEV_RENAME is not set 41.496 -# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set 41.497 -CONFIG_FEATURE_MDEV_EXEC=y 41.498 -CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y 41.499 -CONFIG_MKSWAP=y 41.500 -# CONFIG_FEATURE_MKSWAP_V0 is not set 41.501 -CONFIG_MORE=y 41.502 -CONFIG_FEATURE_USE_TERMIOS=y 41.503 -CONFIG_VOLUMEID=y 41.504 -CONFIG_FEATURE_VOLUMEID_EXT=y 41.505 -CONFIG_FEATURE_VOLUMEID_REISERFS=y 41.506 -CONFIG_FEATURE_VOLUMEID_FAT=y 41.507 -# CONFIG_FEATURE_VOLUMEID_HFS is not set 41.508 -# CONFIG_FEATURE_VOLUMEID_JFS is not set 41.509 -# CONFIG_FEATURE_VOLUMEID_XFS is not set 41.510 -CONFIG_FEATURE_VOLUMEID_NTFS=y 41.511 -CONFIG_FEATURE_VOLUMEID_ISO9660=y 41.512 -# CONFIG_FEATURE_VOLUMEID_UDF is not set 41.513 -# CONFIG_FEATURE_VOLUMEID_LUKS is not set 41.514 -CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y 41.515 -# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set 41.516 -# CONFIG_FEATURE_VOLUMEID_ROMFS is not set 41.517 -# CONFIG_FEATURE_VOLUMEID_SYSV is not set 41.518 -# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set 41.519 -CONFIG_FEATURE_VOLUMEID_LINUXRAID=y 41.520 -CONFIG_MOUNT=y 41.521 -# CONFIG_FEATURE_MOUNT_FAKE is not set 41.522 -# CONFIG_FEATURE_MOUNT_VERBOSE is not set 41.523 -# CONFIG_FEATURE_MOUNT_HELPERS is not set 41.524 -CONFIG_FEATURE_MOUNT_LABEL=y 41.525 -CONFIG_FEATURE_MOUNT_NFS=y 41.526 -CONFIG_FEATURE_MOUNT_CIFS=y 41.527 -CONFIG_FEATURE_MOUNT_FLAGS=y 41.528 -CONFIG_FEATURE_MOUNT_FSTAB=y 41.529 -CONFIG_PIVOT_ROOT=y 41.530 -CONFIG_RDATE=y 41.531 -CONFIG_READPROFILE=y 41.532 -# CONFIG_RTCWAKE is not set 41.533 -CONFIG_SCRIPT=y 41.534 -CONFIG_SETARCH=y 41.535 -CONFIG_SWAPONOFF=y 41.536 -# CONFIG_FEATURE_SWAPON_PRI is not set 41.537 -CONFIG_SWITCH_ROOT=y 41.538 -CONFIG_UMOUNT=y 41.539 -CONFIG_FEATURE_UMOUNT_ALL=y 41.540 - 41.541 -# 41.542 -# Common options for mount/umount 41.543 -# 41.544 -CONFIG_FEATURE_MOUNT_LOOP=y 41.545 -# CONFIG_FEATURE_MTAB_SUPPORT is not set 41.546 - 41.547 -# 41.548 -# Miscellaneous Utilities 41.549 -# 41.550 -CONFIG_ADJTIMEX=y 41.551 -# CONFIG_BBCONFIG is not set 41.552 -CONFIG_CHAT=y 41.553 -CONFIG_FEATURE_CHAT_NOFAIL=y 41.554 -# CONFIG_FEATURE_CHAT_TTY_HIFI is not set 41.555 -CONFIG_FEATURE_CHAT_IMPLICIT_CR=y 41.556 -# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set 41.557 -# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set 41.558 -# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set 41.559 -# CONFIG_FEATURE_CHAT_CLR_ABORT is not set 41.560 -CONFIG_CHRT=y 41.561 -CONFIG_CROND=y 41.562 -# CONFIG_DEBUG_CROND_OPTION is not set 41.563 -# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set 41.564 -CONFIG_CRONTAB=y 41.565 -# CONFIG_DC is not set 41.566 -# CONFIG_DEVFSD is not set 41.567 -# CONFIG_DEVFSD_MODLOAD is not set 41.568 -# CONFIG_DEVFSD_FG_NP is not set 41.569 -# CONFIG_DEVFSD_VERBOSE is not set 41.570 -# CONFIG_FEATURE_DEVFS is not set 41.571 -CONFIG_EJECT=y 41.572 -CONFIG_FEATURE_EJECT_SCSI=y 41.573 -# CONFIG_FBSPLASH is not set 41.574 -# CONFIG_INOTIFYD is not set 41.575 -CONFIG_LAST=y 41.576 -CONFIG_FEATURE_LAST_SMALL=y 41.577 -# CONFIG_FEATURE_LAST_FANCY is not set 41.578 -CONFIG_LESS=y 41.579 -CONFIG_FEATURE_LESS_MAXLINES=9999999 41.580 -CONFIG_FEATURE_LESS_BRACKETS=y 41.581 -CONFIG_FEATURE_LESS_FLAGS=y 41.582 -CONFIG_FEATURE_LESS_FLAGCS=y 41.583 -CONFIG_FEATURE_LESS_MARKS=y 41.584 -CONFIG_FEATURE_LESS_REGEXP=y 41.585 -CONFIG_HDPARM=y 41.586 -CONFIG_FEATURE_HDPARM_GET_IDENTITY=y 41.587 -# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set 41.588 -# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set 41.589 -# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set 41.590 -# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set 41.591 -CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y 41.592 -# CONFIG_MAKEDEVS is not set 41.593 -# CONFIG_FEATURE_MAKEDEVS_LEAF is not set 41.594 -# CONFIG_FEATURE_MAKEDEVS_TABLE is not set 41.595 -# CONFIG_MAN is not set 41.596 -CONFIG_MICROCOM=y 41.597 -CONFIG_MOUNTPOINT=y 41.598 -# CONFIG_MT is not set 41.599 -# CONFIG_RAIDAUTORUN is not set 41.600 -# CONFIG_READAHEAD is not set 41.601 -# CONFIG_RUNLEVEL is not set 41.602 -# CONFIG_RX is not set 41.603 -CONFIG_SETSID=y 41.604 -CONFIG_STRINGS=y 41.605 -CONFIG_TASKSET=y 41.606 -CONFIG_FEATURE_TASKSET_FANCY=y 41.607 -CONFIG_TIME=y 41.608 -# CONFIG_TTYSIZE is not set 41.609 -CONFIG_VCSA2TXT=y 41.610 -CONFIG_WATCHDOG=y 41.611 - 41.612 -# 41.613 -# Networking Utilities 41.614 -# 41.615 -CONFIG_FEATURE_IPV6=y 41.616 -CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y 41.617 -# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set 41.618 -CONFIG_ARP=y 41.619 -CONFIG_ARPING=y 41.620 -CONFIG_BRCTL=y 41.621 -CONFIG_FEATURE_BRCTL_FANCY=y 41.622 -# CONFIG_FEATURE_BRCTL_SHOW is not set 41.623 -CONFIG_DNSD=y 41.624 -CONFIG_ETHER_WAKE=y 41.625 -CONFIG_FAKEIDENTD=y 41.626 -CONFIG_FTPGET=y 41.627 -CONFIG_FTPPUT=y 41.628 -CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y 41.629 -CONFIG_HOSTNAME=y 41.630 -# CONFIG_HTTPD is not set 41.631 -# CONFIG_FEATURE_HTTPD_RANGES is not set 41.632 -# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set 41.633 -# CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP is not set 41.634 -# CONFIG_FEATURE_HTTPD_SETUID is not set 41.635 -# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set 41.636 -# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set 41.637 -# CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES is not set 41.638 -# CONFIG_FEATURE_HTTPD_CGI is not set 41.639 -# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set 41.640 -# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set 41.641 -# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set 41.642 -# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set 41.643 -# CONFIG_FEATURE_HTTPD_PROXY is not set 41.644 -CONFIG_IFCONFIG=y 41.645 -CONFIG_FEATURE_IFCONFIG_STATUS=y 41.646 -# CONFIG_FEATURE_IFCONFIG_SLIP is not set 41.647 -CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y 41.648 -CONFIG_FEATURE_IFCONFIG_HW=y 41.649 -CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y 41.650 -# CONFIG_IFENSLAVE is not set 41.651 -# CONFIG_IFUPDOWN is not set 41.652 -CONFIG_IFUPDOWN_IFSTATE_PATH="" 41.653 -# CONFIG_FEATURE_IFUPDOWN_IP is not set 41.654 -# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set 41.655 -# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set 41.656 -# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set 41.657 -# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set 41.658 -# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set 41.659 -# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set 41.660 -CONFIG_INETD=y 41.661 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y 41.662 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y 41.663 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y 41.664 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y 41.665 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y 41.666 -CONFIG_FEATURE_INETD_RPC=y 41.667 -# CONFIG_IP is not set 41.668 -# CONFIG_FEATURE_IP_ADDRESS is not set 41.669 -# CONFIG_FEATURE_IP_LINK is not set 41.670 -# CONFIG_FEATURE_IP_ROUTE is not set 41.671 -# CONFIG_FEATURE_IP_TUNNEL is not set 41.672 -# CONFIG_FEATURE_IP_RULE is not set 41.673 -# CONFIG_FEATURE_IP_SHORT_FORMS is not set 41.674 -# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set 41.675 -# CONFIG_IPADDR is not set 41.676 -# CONFIG_IPLINK is not set 41.677 -# CONFIG_IPROUTE is not set 41.678 -# CONFIG_IPTUNNEL is not set 41.679 -# CONFIG_IPRULE is not set 41.680 -CONFIG_IPCALC=y 41.681 -CONFIG_FEATURE_IPCALC_FANCY=y 41.682 -CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y 41.683 -CONFIG_NAMEIF=y 41.684 -# CONFIG_FEATURE_NAMEIF_EXTENDED is not set 41.685 -CONFIG_NC=y 41.686 -CONFIG_NC_SERVER=y 41.687 -# CONFIG_NC_EXTRA is not set 41.688 -CONFIG_NETSTAT=y 41.689 -CONFIG_FEATURE_NETSTAT_WIDE=y 41.690 -CONFIG_NSLOOKUP=y 41.691 -CONFIG_PING=y 41.692 -CONFIG_PING6=y 41.693 -CONFIG_FEATURE_FANCY_PING=y 41.694 -CONFIG_PSCAN=y 41.695 -CONFIG_ROUTE=y 41.696 -# CONFIG_SENDMAIL is not set 41.697 -# CONFIG_FETCHMAIL is not set 41.698 -# CONFIG_SLATTACH is not set 41.699 -CONFIG_TELNET=y 41.700 -CONFIG_FEATURE_TELNET_TTYPE=y 41.701 -CONFIG_FEATURE_TELNET_AUTOLOGIN=y 41.702 -# CONFIG_TELNETD is not set 41.703 -# CONFIG_FEATURE_TELNETD_STANDALONE is not set 41.704 -CONFIG_TFTP=y 41.705 -CONFIG_TFTPD=y 41.706 -CONFIG_FEATURE_TFTP_GET=y 41.707 -CONFIG_FEATURE_TFTP_PUT=y 41.708 -CONFIG_FEATURE_TFTP_BLOCKSIZE=y 41.709 -# CONFIG_DEBUG_TFTP is not set 41.710 -CONFIG_TRACEROUTE=y 41.711 -CONFIG_FEATURE_TRACEROUTE_VERBOSE=y 41.712 -CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE=y 41.713 -# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set 41.714 -CONFIG_APP_UDHCPD=y 41.715 -CONFIG_APP_DHCPRELAY=y 41.716 -CONFIG_APP_DUMPLEASES=y 41.717 -# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set 41.718 -CONFIG_DHCPD_LEASES_FILE="/var/lib/udhcpd.leases" 41.719 -CONFIG_APP_UDHCPC=y 41.720 -CONFIG_FEATURE_UDHCPC_ARPING=y 41.721 -# CONFIG_FEATURE_UDHCP_PORT is not set 41.722 -# CONFIG_FEATURE_UDHCP_DEBUG is not set 41.723 -# CONFIG_FEATURE_RFC3397 is not set 41.724 -CONFIG_DHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" 41.725 -CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 41.726 -CONFIG_VCONFIG=y 41.727 -CONFIG_WGET=y 41.728 -CONFIG_FEATURE_WGET_STATUSBAR=y 41.729 -CONFIG_FEATURE_WGET_AUTHENTICATION=y 41.730 -CONFIG_FEATURE_WGET_LONG_OPTIONS=y 41.731 -CONFIG_ZCIP=y 41.732 -# CONFIG_TCPSVD is not set 41.733 -# CONFIG_UDPSVD is not set 41.734 - 41.735 -# 41.736 -# Process Utilities 41.737 -# 41.738 -CONFIG_FREE=y 41.739 -CONFIG_FUSER=y 41.740 -CONFIG_KILL=y 41.741 -CONFIG_KILLALL=y 41.742 -CONFIG_KILLALL5=y 41.743 -CONFIG_NMETER=y 41.744 -# CONFIG_PGREP is not set 41.745 -CONFIG_PIDOF=y 41.746 -CONFIG_FEATURE_PIDOF_SINGLE=y 41.747 -CONFIG_FEATURE_PIDOF_OMIT=y 41.748 -# CONFIG_PKILL is not set 41.749 -CONFIG_PS=y 41.750 -CONFIG_FEATURE_PS_WIDE=y 41.751 -# CONFIG_FEATURE_PS_TIME is not set 41.752 -# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set 41.753 -CONFIG_RENICE=y 41.754 -CONFIG_BB_SYSCTL=y 41.755 -CONFIG_TOP=y 41.756 -CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y 41.757 -CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y 41.758 -# CONFIG_FEATURE_TOP_DECIMALS is not set 41.759 -CONFIG_FEATURE_TOPMEM=y 41.760 -CONFIG_UPTIME=y 41.761 -CONFIG_WATCH=y 41.762 - 41.763 -# 41.764 -# Shells 41.765 -# 41.766 -CONFIG_FEATURE_SH_IS_ASH=y 41.767 -# CONFIG_FEATURE_SH_IS_HUSH is not set 41.768 -# CONFIG_FEATURE_SH_IS_MSH is not set 41.769 -# CONFIG_FEATURE_SH_IS_NONE is not set 41.770 -CONFIG_ASH=y 41.771 - 41.772 -# 41.773 -# Ash Shell Options 41.774 -# 41.775 -CONFIG_ASH_BASH_COMPAT=y 41.776 -CONFIG_ASH_JOB_CONTROL=y 41.777 -CONFIG_ASH_READ_NCHARS=y 41.778 -CONFIG_ASH_READ_TIMEOUT=y 41.779 -CONFIG_ASH_ALIAS=y 41.780 -CONFIG_ASH_MATH_SUPPORT=y 41.781 -CONFIG_ASH_MATH_SUPPORT_64=y 41.782 -CONFIG_ASH_GETOPTS=y 41.783 -CONFIG_ASH_BUILTIN_ECHO=y 41.784 -CONFIG_ASH_BUILTIN_PRINTF=y 41.785 -CONFIG_ASH_BUILTIN_TEST=y 41.786 -CONFIG_ASH_CMDCMD=y 41.787 -# CONFIG_ASH_MAIL is not set 41.788 -CONFIG_ASH_OPTIMIZE_FOR_SIZE=y 41.789 -CONFIG_ASH_RANDOM_SUPPORT=y 41.790 -# CONFIG_ASH_EXPAND_PRMT is not set 41.791 -# CONFIG_HUSH is not set 41.792 -# CONFIG_HUSH_HELP is not set 41.793 -# CONFIG_HUSH_INTERACTIVE is not set 41.794 -# CONFIG_HUSH_JOB is not set 41.795 -# CONFIG_HUSH_TICK is not set 41.796 -# CONFIG_HUSH_IF is not set 41.797 -# CONFIG_HUSH_LOOPS is not set 41.798 -# CONFIG_LASH is not set 41.799 -# CONFIG_MSH is not set 41.800 - 41.801 -# 41.802 -# Bourne Shell Options 41.803 -# 41.804 -CONFIG_FEATURE_SH_EXTRA_QUIET=y 41.805 -# CONFIG_FEATURE_SH_STANDALONE is not set 41.806 -# CONFIG_FEATURE_SH_NOFORK is not set 41.807 -# CONFIG_CTTYHACK is not set 41.808 - 41.809 -# 41.810 -# System Logging Utilities 41.811 -# 41.812 -CONFIG_SYSLOGD=y 41.813 -CONFIG_FEATURE_ROTATE_LOGFILE=y 41.814 -CONFIG_FEATURE_REMOTE_LOG=y 41.815 -CONFIG_FEATURE_SYSLOGD_DUP=y 41.816 -# CONFIG_FEATURE_IPC_SYSLOG is not set 41.817 -CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE= 41.818 -# CONFIG_LOGREAD is not set 41.819 -# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set 41.820 -CONFIG_KLOGD=y 41.821 -CONFIG_LOGGER=y 41.822 - 41.823 -# 41.824 -# Runit Utilities 41.825 -# 41.826 -# CONFIG_RUNSV is not set 41.827 -# CONFIG_RUNSVDIR is not set 41.828 -# CONFIG_SV is not set 41.829 -# CONFIG_SVLOGD is not set 41.830 -# CONFIG_CHPST is not set 41.831 -# CONFIG_SETUIDGID is not set 41.832 -# CONFIG_ENVUIDGID is not set 41.833 -# CONFIG_ENVDIR is not set 41.834 -# CONFIG_SOFTLIMIT is not set 41.835 -# CONFIG_CHCON is not set 41.836 -# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set 41.837 -# CONFIG_GETENFORCE is not set 41.838 -# CONFIG_GETSEBOOL is not set 41.839 -# CONFIG_LOAD_POLICY is not set 41.840 -# CONFIG_MATCHPATHCON is not set 41.841 -# CONFIG_RESTORECON is not set 41.842 -# CONFIG_RUNCON is not set 41.843 -# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set 41.844 -# CONFIG_SELINUXENABLED is not set 41.845 -# CONFIG_SETENFORCE is not set 41.846 -# CONFIG_SETFILES is not set 41.847 -# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set 41.848 -# CONFIG_SETSEBOOL is not set 41.849 -# CONFIG_SESTATUS is not set 41.850 - 41.851 -# 41.852 -# Print Utilities 41.853 -# 41.854 -CONFIG_LPD=y 41.855 -CONFIG_LPR=y 41.856 -CONFIG_LPQ=y
42.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 42.2 +++ b/busybox/stuff/busybox-1.12.0-su.u Wed May 27 18:15:16 2009 +0200 42.3 @@ -0,0 +1,11 @@ 42.4 +--- busybox-1.12.0/libbb/setup_environment.c 42.5 ++++ busybox-1.12.0/libbb/setup_environment.c 42.6 +@@ -59,7 +59,7 @@ 42.7 + else if (change_env) { 42.8 + /* Set HOME, SHELL, and if not becoming a super-user, 42.9 + USER and LOGNAME. */ 42.10 +- if (pw->pw_uid) { 42.11 ++ if (!pw->pw_uid) { 42.12 + shortcut: 42.13 + xsetenv("USER", pw->pw_name); 42.14 + xsetenv("LOGNAME", pw->pw_name);
43.1 --- a/busybox/stuff/busybox-1.12.0.config Wed May 27 11:52:33 2009 +0200 43.2 +++ b/busybox/stuff/busybox-1.12.0.config Wed May 27 18:15:16 2009 +0200 43.3 @@ -1,7 +1,7 @@ 43.4 # 43.5 # Automatically generated make config: don't edit 43.6 # Busybox version: 1.12.0 43.7 -# Thu Aug 21 15:12:51 2008 43.8 +# Wed May 27 18:07:33 2009 43.9 # 43.10 CONFIG_HAVE_DOT_CONFIG=y 43.11 43.12 @@ -684,7 +684,7 @@ 43.13 # CONFIG_NC_EXTRA is not set 43.14 CONFIG_NETSTAT=y 43.15 CONFIG_FEATURE_NETSTAT_WIDE=y 43.16 -# CONFIG_FEATURE_NETSTAT_PRG is not set 43.17 +CONFIG_FEATURE_NETSTAT_PRG=y 43.18 CONFIG_NSLOOKUP=y 43.19 CONFIG_PING=y 43.20 CONFIG_PING6=y
44.1 --- a/busybox/stuff/busybox-1.7.3-df.u Wed May 27 11:52:33 2009 +0200 44.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 44.3 @@ -1,42 +0,0 @@ 44.4 ---- busybox-1.7.3/coreutils/df.c 44.5 -+++ busybox-1.7.3/coreutils/df.c 44.6 -@@ -47,7 +47,7 @@ 44.7 - 44.8 - #if ENABLE_FEATURE_HUMAN_READABLE 44.9 - opt_complementary = "h-km:k-hm:m-hk"; 44.10 -- opt = getopt32(argv, "hmk"); 44.11 -+ opt = getopt32(argv, "hmik"); 44.12 - if (opt & 1) { 44.13 - df_disp_hr = 0; 44.14 - disp_units_hdr = " Size"; 44.15 -@@ -56,9 +56,14 @@ 44.16 - df_disp_hr = 1024*1024; 44.17 - disp_units_hdr = "1M-blocks"; 44.18 - } 44.19 -+#define OPT_INODE 4 44.20 - #else 44.21 -+#define OPT_INODE 1 44.22 - opt = getopt32(argv, "k"); 44.23 - #endif 44.24 -+ if (opt & OPT_INODE) { 44.25 -+ disp_units_hdr = " Inodes"; 44.26 -+ } 44.27 - 44.28 - printf("Filesystem%11s%-15sUsed Available Use%% Mounted on\n", 44.29 - "", disp_units_hdr); 44.30 -@@ -105,6 +110,15 @@ 44.31 - } 44.32 - 44.33 - if ((s.f_blocks > 0) || !mount_table){ 44.34 -+ if (opt & OPT_INODE) { 44.35 -+ s.f_blocks = s.f_files; 44.36 -+ s.f_bavail = s.f_bfree = s.f_ffree; 44.37 -+ s.f_bsize = 1; 44.38 -+#if ENABLE_FEATURE_HUMAN_READABLE 44.39 -+ if (df_disp_hr) 44.40 -+ df_disp_hr = 1; 44.41 -+#endif 44.42 -+ } 44.43 - blocks_used = s.f_blocks - s.f_bfree; 44.44 - blocks_percent_used = 0; 44.45 - if (blocks_used + s.f_bavail) {
45.1 --- a/busybox/stuff/busybox-1.7.3-hexdump.u Wed May 27 11:52:33 2009 +0200 45.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 45.3 @@ -1,77 +0,0 @@ 45.4 ---- busybox-1.7.3/util-linux/hexdump.c 45.5 -+++ busybox-1.7.3/util-linux/hexdump.c 45.6 -@@ -45,7 +45,7 @@ 45.7 - 45.8 - static const char add_first[] ALIGN1 = "\"%07.7_Ax\n\""; 45.9 - 45.10 --static const char hexdump_opts[] ALIGN1 = "bcdoxCe:f:n:s:v"; 45.11 -+static const char hexdump_opts[] ALIGN1 = "bcdoxCe:f:n:s:vR"; 45.12 - 45.13 - static const struct suffix_mult suffixes[] = { 45.14 - { "b", 512 }, 45.15 -@@ -59,6 +59,8 @@ 45.16 - { 45.17 - const char *p; 45.18 - int ch; 45.19 -+ FILE *fp; 45.20 -+ smallint rdump = 0; 45.21 - 45.22 - bb_dump_vflag = FIRST; 45.23 - bb_dump_length = -1; 45.24 -@@ -70,7 +72,7 @@ 45.25 - if ((p - hexdump_opts) < 5) { 45.26 - bb_dump_add(add_first); 45.27 - bb_dump_add(add_strings[(int)(p - hexdump_opts)]); 45.28 -- } else if (ch == 'C') { 45.29 -+ } if (ch == 'C') { 45.30 - bb_dump_add("\"%08.8_Ax\n\""); 45.31 - bb_dump_add("\"%08.8_ax \" 8/1 \"%02x \" \" \" 8/1 \"%02x \" "); 45.32 - bb_dump_add("\" |\" 16/1 \"%_p\" \"|\\n\""); 45.33 -@@ -90,6 +92,9 @@ 45.34 - } /* else */ 45.35 - if (ch == 'v') { 45.36 - bb_dump_vflag = ALL; 45.37 -+ } /* else */ 45.38 -+ if (ch == 'R') { 45.39 -+ rdump = 1; 45.40 - } 45.41 - } 45.42 - } 45.43 -@@ -101,5 +106,36 @@ 45.44 - 45.45 - argv += optind; 45.46 - 45.47 -- return bb_dump_dump(argv); 45.48 -+ if (!rdump) { 45.49 -+ return bb_dump_dump(argv); 45.50 -+ } 45.51 -+ 45.52 -+ /* -R: reverse of 'hexdump -Cv' */ 45.53 -+ fp = stdin; 45.54 -+ if (!*argv) { 45.55 -+ argv--; 45.56 -+ goto jump_in; 45.57 -+ } 45.58 -+ 45.59 -+ do { 45.60 -+ char *buf; 45.61 -+ fp = xfopen(*argv, "r"); 45.62 -+ jump_in: 45.63 -+ while ((buf = xmalloc_getline(fp)) != NULL) { 45.64 -+ p = buf; 45.65 -+ while (1) { 45.66 -+ /* skip address or previous byte */ 45.67 -+ while (isxdigit(*p)) p++; 45.68 -+ while (*p == ' ') p++; 45.69 -+ /* '|' char will break the line */ 45.70 -+ if (!isxdigit(*p) || sscanf(p, "%x ", &ch) != 1) 45.71 -+ break; 45.72 -+ putchar(ch); 45.73 -+ } 45.74 -+ free(buf); 45.75 -+ } 45.76 -+ fclose(fp); 45.77 -+ } while (*++argv); 45.78 -+ 45.79 -+ fflush_stdout_and_exit(EXIT_SUCCESS); 45.80 - }
46.1 --- a/busybox/stuff/busybox-1.7.3-patch.u Wed May 27 11:52:33 2009 +0200 46.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 46.3 @@ -1,258 +0,0 @@ 46.4 ---- busybox-1.7.3/editors/patch.c 46.5 -+++ busybox-1.7.3/editors/patch.c 46.6 -@@ -23,11 +23,9 @@ 46.7 - 46.8 - #include "libbb.h" 46.9 - 46.10 --static unsigned int copy_lines(FILE *src_stream, FILE *dest_stream, const unsigned int lines_count) 46.11 -+static unsigned int copy_lines(FILE *src_stream, FILE *dest_stream, unsigned int lines_count) 46.12 - { 46.13 -- unsigned int i = 0; 46.14 -- 46.15 -- while (src_stream && (i < lines_count)) { 46.16 -+ while (src_stream && lines_count) { 46.17 - char *line; 46.18 - line = xmalloc_fgets(src_stream); 46.19 - if (line == NULL) { 46.20 -@@ -37,10 +35,9 @@ 46.21 - bb_perror_msg_and_die("error writing to new file"); 46.22 - } 46.23 - free(line); 46.24 -- 46.25 -- i++; 46.26 -+ lines_count--; 46.27 - } 46.28 -- return i; 46.29 -+ return lines_count; 46.30 - } 46.31 - 46.32 - /* If patch_level is -1 it will remove all directory names 46.33 -@@ -49,26 +46,24 @@ 46.34 - * returns malloc'ed filename 46.35 - */ 46.36 - 46.37 --static char *extract_filename(char *line, int patch_level) 46.38 -+static char *extract_filename(char *line, unsigned int patch_level) 46.39 - { 46.40 - char *temp, *filename_start_ptr = line + 4; 46.41 -- int i; 46.42 - 46.43 - /* Terminate string at end of source filename */ 46.44 -- temp = strchrnul(filename_start_ptr, '\t'); 46.45 -- *temp = '\0'; 46.46 -+ line[strcspn(line,"\t\n")] = '\0'; 46.47 - 46.48 - /* Skip over (patch_level) number of leading directories */ 46.49 -- if (patch_level == -1) 46.50 -- patch_level = INT_MAX; 46.51 -- for (i = 0; i < patch_level; i++) { 46.52 -+ while (patch_level--) { 46.53 - temp = strchr(filename_start_ptr, '/'); 46.54 - if (!temp) 46.55 - break; 46.56 - filename_start_ptr = temp + 1; 46.57 - } 46.58 - 46.59 -- return xstrdup(filename_start_ptr); 46.60 -+ temp = xstrdup(filename_start_ptr); 46.61 -+ free(line); 46.62 -+ return temp; 46.63 - } 46.64 - 46.65 - static int file_doesnt_exist(const char *filename) 46.66 -@@ -82,22 +77,19 @@ 46.67 - { 46.68 - int patch_level = -1; 46.69 - char *patch_line; 46.70 -- int ret; 46.71 -- FILE *patch_file = NULL; 46.72 -+ FILE *patch_file = stdin; 46.73 - 46.74 - { 46.75 - char *p, *i; 46.76 -- ret = getopt32(argv, "p:i:", &p, &i); 46.77 -+ int ret = getopt32(argv, "p:i:", &p, &i); 46.78 - if (ret & 1) 46.79 - patch_level = xatol_range(p, -1, USHRT_MAX); 46.80 - if (ret & 2) { 46.81 - patch_file = xfopen(i, "r"); 46.82 -- } else { 46.83 -- patch_file = stdin; 46.84 - } 46.85 -- ret = 0; 46.86 - } 46.87 - 46.88 -+ xfunc_error_retval = 2; 46.89 - patch_line = xmalloc_getline(patch_file); 46.90 - while (patch_line) { 46.91 - FILE *src_stream; 46.92 -@@ -122,18 +114,14 @@ 46.93 - /* FIXME: patch_line NULL check?? */ 46.94 - 46.95 - /* Extract the filename used before the patch was generated */ 46.96 -- original_filename = extract_filename(patch_line, patch_level); 46.97 -- free(patch_line); 46.98 -+ original_filename = extract_filename(patch_line, (unsigned int) patch_level); 46.99 - 46.100 - patch_line = xmalloc_getline(patch_file); 46.101 - /* FIXME: NULL check?? */ 46.102 - if (strncmp(patch_line, "+++ ", 4) != 0) { 46.103 -- ret = 2; 46.104 -- bb_error_msg("invalid patch"); 46.105 -- continue; 46.106 -+ bb_error_msg_and_die("invalid patch: %s\n",patch_line); 46.107 - } 46.108 -- new_filename = extract_filename(patch_line, patch_level); 46.109 -- free(patch_line); 46.110 -+ new_filename = extract_filename(patch_line, (unsigned int) patch_level); 46.111 - 46.112 - if (file_doesnt_exist(new_filename)) { 46.113 - char *line_ptr; 46.114 -@@ -144,7 +132,6 @@ 46.115 - bb_make_directory(new_filename, -1, FILEUTILS_RECUR); 46.116 - *line_ptr = '/'; 46.117 - } 46.118 -- dst_stream = xfopen(new_filename, "w+"); 46.119 - backup_filename = NULL; 46.120 - } else { 46.121 - backup_filename = xmalloc(strlen(new_filename) + 6); 46.122 -@@ -154,12 +141,11 @@ 46.123 - bb_perror_msg_and_die("cannot create file %s", 46.124 - backup_filename); 46.125 - } 46.126 -- dst_stream = xfopen(new_filename, "w"); 46.127 - } 46.128 - 46.129 -- if ((backup_filename == NULL) || file_doesnt_exist(original_filename)) { 46.130 -- src_stream = NULL; 46.131 -- } else { 46.132 -+ dst_stream = xfopen(new_filename, "w"); 46.133 -+ src_stream = NULL; 46.134 -+ if (!file_doesnt_exist(original_filename) && backup_filename) { 46.135 - if (strcmp(original_filename, new_filename) == 0) { 46.136 - src_stream = xfopen(backup_filename, "r"); 46.137 - } else { 46.138 -@@ -174,54 +160,59 @@ 46.139 - while (patch_line) { 46.140 - unsigned int count; 46.141 - unsigned int src_beg_line; 46.142 -+ unsigned int src_last_line = 1; 46.143 - unsigned int unused; 46.144 - unsigned int hunk_offset_start = 0; 46.145 -- int hunk_error = 0; 46.146 - 46.147 - /* This bit should be improved */ 46.148 -- if ((sscanf(patch_line, "@@ -%d,%d +%d,%d @@", &src_beg_line, &unused, &dest_beg_line, &unused) != 4) && 46.149 -- (sscanf(patch_line, "@@ -%d,%d +%d @@", &src_beg_line, &unused, &dest_beg_line) != 3) && 46.150 -- (sscanf(patch_line, "@@ -%d +%d,%d @@", &src_beg_line, &dest_beg_line, &unused) != 3)) { 46.151 -+ if ((sscanf(patch_line, "@@ -%d,%d +%d,%d @@", &src_beg_line, 46.152 -+ &src_last_line, &dest_beg_line, &unused) != 4) && 46.153 -+ (sscanf(patch_line, "@@ -%d,%d +%d @@", &src_beg_line, 46.154 -+ &src_last_line, &dest_beg_line) != 3) && 46.155 -+ (sscanf(patch_line, "@@ -%d +%d,%d @@", &src_beg_line, 46.156 -+ &dest_beg_line, &unused) != 3) && 46.157 -+ (sscanf(patch_line, "@@ -%d +%d @@", &src_beg_line, 46.158 -+ &dest_beg_line) != 2)) { 46.159 - /* No more hunks for this file */ 46.160 - break; 46.161 - } 46.162 -- free(patch_line); 46.163 - hunk_count++; 46.164 - 46.165 - if (src_beg_line && dest_beg_line) { 46.166 - /* Copy unmodified lines upto start of hunk */ 46.167 - /* src_beg_line will be 0 if its a new file */ 46.168 - count = src_beg_line - src_cur_line; 46.169 -- if (copy_lines(src_stream, dst_stream, count) != count) { 46.170 -+ if (copy_lines(src_stream, dst_stream, count)) { 46.171 - bb_error_msg_and_die("bad src file"); 46.172 - } 46.173 - src_cur_line += count; 46.174 - dest_cur_line += count; 46.175 - copy_trailing_lines_flag = 1; 46.176 - } 46.177 -- hunk_offset_start = src_cur_line; 46.178 -+ src_last_line += hunk_offset_start = src_cur_line; 46.179 - 46.180 -- while ((patch_line = xmalloc_fgets(patch_file)) != NULL) { 46.181 -+ for (free(patch_line); 46.182 -+ (patch_line = xmalloc_fgets(patch_file)) != NULL; 46.183 -+ free(patch_line)) { 46.184 - if ((*patch_line == '-') || (*patch_line == ' ')) { 46.185 - char *src_line = NULL; 46.186 -+ if (src_cur_line == src_last_line) break; 46.187 - if (src_stream) { 46.188 - src_line = xmalloc_fgets(src_stream); 46.189 -- if (!src_line) { 46.190 -- hunk_error++; 46.191 -- break; 46.192 -- } else { 46.193 -+ if (src_line) { 46.194 -+ int diff = strcmp(src_line, patch_line + 1); 46.195 - src_cur_line++; 46.196 -+ free(src_line); 46.197 -+ if (diff) { 46.198 -+ src_line = NULL; 46.199 -+ } 46.200 - } 46.201 -- if (strcmp(src_line, patch_line + 1) != 0) { 46.202 -- bb_error_msg("hunk #%d FAILED at %d", hunk_count, hunk_offset_start); 46.203 -- hunk_error++; 46.204 -- free(patch_line); 46.205 -- /* Probably need to find next hunk, etc... */ 46.206 -- /* but for now we just bail out */ 46.207 -- patch_line = NULL; 46.208 -+ if (!src_line) { 46.209 -+ bb_error_msg("hunk #%d FAILED at %d", 46.210 -+ hunk_count, hunk_offset_start); 46.211 -+ bad_hunk_count++; 46.212 - break; 46.213 - } 46.214 -- free(src_line); 46.215 - } 46.216 - if (*patch_line == ' ') { 46.217 - fputs(patch_line + 1, dst_stream); 46.218 -@@ -233,16 +224,12 @@ 46.219 - } else { 46.220 - break; 46.221 - } 46.222 -- free(patch_line); 46.223 -- } 46.224 -- if (hunk_error) { 46.225 -- bad_hunk_count++; 46.226 - } 46.227 - } 46.228 - 46.229 - /* Cleanup last patched file */ 46.230 - if (copy_trailing_lines_flag) { 46.231 -- copy_lines(src_stream, dst_stream, -1); 46.232 -+ copy_lines(src_stream, dst_stream, (unsigned int) -1); 46.233 - } 46.234 - if (src_stream) { 46.235 - fclose(src_stream); 46.236 -@@ -251,16 +238,14 @@ 46.237 - fclose(dst_stream); 46.238 - } 46.239 - if (bad_hunk_count) { 46.240 -- if (!ret) { 46.241 -- ret = 1; 46.242 -- } 46.243 - bb_error_msg("%d out of %d hunk FAILED", bad_hunk_count, hunk_count); 46.244 -+ return 1; 46.245 - } else { 46.246 - /* It worked, we can remove the backup */ 46.247 - if (backup_filename) { 46.248 - unlink(backup_filename); 46.249 - } 46.250 -- if ((dest_cur_line == 0) || (dest_beg_line == 0)) { 46.251 -+ if (dest_cur_line == 0) { 46.252 - /* The new patched file is empty, remove it */ 46.253 - xunlink(new_filename); 46.254 - if (strcmp(new_filename, original_filename) != 0) 46.255 -@@ -273,5 +258,5 @@ 46.256 - * 1 = Some hunks failed 46.257 - * 2 = More serious problems 46.258 - */ 46.259 -- return ret; 46.260 -+ return 0; 46.261 - }
47.1 --- a/busybox/stuff/busybox-1.7.3-script.u Wed May 27 11:52:33 2009 +0200 47.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 47.3 @@ -1,357 +0,0 @@ 47.4 ---- busybox-1.7.3/include/applets.h 47.5 -+++ busybox-1.7.3/include/applets.h 47.6 -@@ -284,6 +284,7 @@ 47.7 - USE_RUNSV(APPLET(runsv, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 47.8 - USE_RUNSVDIR(APPLET(runsvdir, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 47.9 - USE_RX(APPLET(rx, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 47.10 -+USE_SCRIPT(APPLET(script, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 47.11 - USE_SED(APPLET(sed, _BB_DIR_BIN, _BB_SUID_NEVER)) 47.12 - USE_SELINUXENABLED(APPLET(selinuxenabled, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 47.13 - USE_SEQ(APPLET_NOFORK(seq, seq, _BB_DIR_USR_BIN, _BB_SUID_NEVER, seq)) 47.14 - 47.15 ---- busybox-1.7.3/include/libbb.h 47.16 -+++ busybox-1.7.3/include/libbb.h 47.17 -@@ -225,6 +225,7 @@ 47.18 - int (*dirAction) (const char *fileName, struct stat* statbuf, void* userData, int depth), 47.19 - void* userData, unsigned depth); 47.20 - extern int device_open(const char *device, int mode); 47.21 -+extern int getpty(char *line, int size); 47.22 - extern int get_console_fd(void); 47.23 - extern char *find_block_device(const char *path); 47.24 - /* bb_copyfd_XX print read/write errors and return -1 if they occur */ 47.25 - 47.26 ---- busybox-1.7.3/libbb/Kbuild 47.27 -+++ busybox-1.7.3/libbb/Kbuild 47.28 -@@ -38,6 +38,7 @@ 47.29 - lib-y += get_last_path_component.o 47.30 - lib-y += get_line_from_file.o 47.31 - lib-y += getopt32.o 47.32 -+lib-y += getpty.o 47.33 - lib-y += herror_msg.o 47.34 - lib-y += herror_msg_and_die.o 47.35 - lib-y += human_readable.o 47.36 - 47.37 ---- busybox-1.7.3/libbb/getpty.c 47.38 -+++ busybox-1.7.3/libbb/getpty.c 47.39 -@@ -0,0 +1,56 @@ 47.40 -+/* vi: set sw=4 ts=4: */ 47.41 -+/* 47.42 -+ * Mini getpty implementation for busybox 47.43 -+ * Bjorn Wesen, Axis Communications AB (bjornw@axis.com) 47.44 -+ * 47.45 -+ * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. 47.46 -+ */ 47.47 -+ 47.48 -+#include "libbb.h" 47.49 -+ 47.50 -+int getpty(char *line, int size) 47.51 -+{ 47.52 -+ int p; 47.53 -+#if ENABLE_FEATURE_DEVPTS 47.54 -+ p = open("/dev/ptmx", O_RDWR); 47.55 -+ if (p > 0) { 47.56 -+ const char *name; 47.57 -+ grantpt(p); 47.58 -+ unlockpt(p); 47.59 -+ name = ptsname(p); 47.60 -+ if (!name) { 47.61 -+ bb_perror_msg("ptsname error (is /dev/pts mounted?)"); 47.62 -+ return -1; 47.63 -+ } 47.64 -+ safe_strncpy(line, name, size); 47.65 -+ return p; 47.66 -+ } 47.67 -+#else 47.68 -+ struct stat stb; 47.69 -+ int i; 47.70 -+ int j; 47.71 -+ 47.72 -+ strcpy(line, "/dev/ptyXX"); 47.73 -+ 47.74 -+ for (i = 0; i < 16; i++) { 47.75 -+ line[8] = "pqrstuvwxyzabcde"[i]; 47.76 -+ line[9] = '0'; 47.77 -+ if (stat(line, &stb) < 0) { 47.78 -+ continue; 47.79 -+ } 47.80 -+ for (j = 0; j < 16; j++) { 47.81 -+ line[9] = j < 10 ? j + '0' : j - 10 + 'a'; 47.82 -+ if (DEBUG) 47.83 -+ fprintf(stderr, "Trying to open device: %s\n", line); 47.84 -+ p = open(line, O_RDWR | O_NOCTTY); 47.85 -+ if (p >= 0) { 47.86 -+ line[5] = 't'; 47.87 -+ return p; 47.88 -+ } 47.89 -+ } 47.90 -+ } 47.91 -+#endif /* FEATURE_DEVPTS */ 47.92 -+ return -1; 47.93 -+} 47.94 -+ 47.95 -+ 47.96 - 47.97 ---- busybox-1.7.3/miscutils/Config.in 47.98 -+++ busybox-1.7.3/miscutils/Config.in 47.99 -@@ -329,6 +329,12 @@ 47.100 - help 47.101 - Receive files using the Xmodem protocol. 47.102 - 47.103 -+config SCRIPT 47.104 -+ bool "script" 47.105 -+ default n 47.106 -+ help 47.107 -+ The script makes typescript of terminal session. 47.108 -+ 47.109 - config STRINGS 47.110 - bool "strings" 47.111 - default n 47.112 - 47.113 ---- busybox-1.7.3/networking/telnetd.c 47.114 -+++ busybox-1.7.3/networking/telnetd.c 47.115 -@@ -162,54 +162,6 @@ 47.116 - return memmove(ptr - num_totty, ptr0, num_totty); 47.117 - } 47.118 - 47.119 -- 47.120 --static int 47.121 --getpty(char *line, int size) 47.122 --{ 47.123 -- int p; 47.124 --#if ENABLE_FEATURE_DEVPTS 47.125 -- p = open("/dev/ptmx", O_RDWR); 47.126 -- if (p > 0) { 47.127 -- const char *name; 47.128 -- grantpt(p); 47.129 -- unlockpt(p); 47.130 -- name = ptsname(p); 47.131 -- if (!name) { 47.132 -- bb_perror_msg("ptsname error (is /dev/pts mounted?)"); 47.133 -- return -1; 47.134 -- } 47.135 -- safe_strncpy(line, name, size); 47.136 -- return p; 47.137 -- } 47.138 --#else 47.139 -- struct stat stb; 47.140 -- int i; 47.141 -- int j; 47.142 -- 47.143 -- strcpy(line, "/dev/ptyXX"); 47.144 -- 47.145 -- for (i = 0; i < 16; i++) { 47.146 -- line[8] = "pqrstuvwxyzabcde"[i]; 47.147 -- line[9] = '0'; 47.148 -- if (stat(line, &stb) < 0) { 47.149 -- continue; 47.150 -- } 47.151 -- for (j = 0; j < 16; j++) { 47.152 -- line[9] = j < 10 ? j + '0' : j - 10 + 'a'; 47.153 -- if (DEBUG) 47.154 -- fprintf(stderr, "Trying to open device: %s\n", line); 47.155 -- p = open(line, O_RDWR | O_NOCTTY); 47.156 -- if (p >= 0) { 47.157 -- line[5] = 't'; 47.158 -- return p; 47.159 -- } 47.160 -- } 47.161 -- } 47.162 --#endif /* FEATURE_DEVPTS */ 47.163 -- return -1; 47.164 --} 47.165 -- 47.166 -- 47.167 - static void 47.168 - send_iac(struct tsession *ts, unsigned char command, int option) 47.169 - { 47.170 - 47.171 ---- busybox-1.7.3/util-linux/script.c 47.172 -+++ busybox-1.7.3/util-linux/script.c 47.173 -@@ -0,0 +1,157 @@ 47.174 -+/* vi: set sw=4 ts=4: */ 47.175 -+/* 47.176 -+ * script implementation for busybox 47.177 -+ * 47.178 -+ * pascal.bellard@ads-lu.com 47.179 -+ * 47.180 -+ * Based on code from util-linux v 2.12r 47.181 -+ * Copyright (c) 1980 47.182 -+ * The Regents of the University of California. All rights reserved. 47.183 -+ * 47.184 -+ * Licensed under GPLv2 or later, see file License in this tarball for details. 47.185 -+ */ 47.186 -+ 47.187 -+#include <getopt.h> 47.188 -+#include "libbb.h" 47.189 -+ 47.190 -+struct globals { 47.191 -+ int parent, qflg; 47.192 -+ struct termios tt; 47.193 -+ const char *fname; 47.194 -+}; 47.195 -+#define G (*ptr_to_globals) 47.196 -+#define parent (G.parent ) 47.197 -+#define qflg (G.qflg ) 47.198 -+#define tt (G.tt ) 47.199 -+#define fname (G.fname ) 47.200 -+#define INIT_G() do { \ 47.201 -+ PTR_TO_GLOBALS = xzalloc(sizeof(G)); \ 47.202 -+ fname = "typescript"; \ 47.203 -+} while (0) 47.204 -+ 47.205 -+static void done(void) 47.206 -+{ 47.207 -+ if (parent) { 47.208 -+ tcsetattr(0, TCSAFLUSH, &tt); 47.209 -+ if (qflg == 0) printf("Script done, file is %s\n", fname); 47.210 -+ } 47.211 -+ exit(0); 47.212 -+} 47.213 -+ 47.214 -+static void finish(int sig) 47.215 -+{ 47.216 -+ (void) sig; 47.217 -+ done(); 47.218 -+} 47.219 -+ 47.220 -+#if ENABLE_GETOPT_LONG 47.221 -+static const char getopt_longopts[] ALIGN1 = 47.222 -+ "append\0" No_argument "a" 47.223 -+ "command\0" Required_argument "c" 47.224 -+ "flush\0" No_argument "f" 47.225 -+ "quiet\0" No_argument "q" 47.226 -+ ; 47.227 -+#endif 47.228 -+ 47.229 -+int script_main(int argc, char *argv[]); 47.230 -+int script_main(int argc, char *argv[]) 47.231 -+{ 47.232 -+ int opt, child, pty; 47.233 -+ int mode = O_CREAT|O_TRUNC|O_WRONLY; 47.234 -+ struct termios rtt; 47.235 -+ const char *shell; 47.236 -+ struct winsize win; 47.237 -+ char line[32]; 47.238 -+ char *cflg = NULL, shell_arg[] = "-i"; 47.239 -+ 47.240 -+ INIT_G(); 47.241 -+#if ENABLE_GETOPT_LONG 47.242 -+ applet_long_options = getopt_longopts; 47.243 -+#endif 47.244 -+ opt = getopt32(argv, "ac:fq", &cflg); 47.245 -+ if (opt & 1) { 47.246 -+ mode = O_CREAT|O_APPEND|O_WRONLY; 47.247 -+ } 47.248 -+ if (opt & 2) { 47.249 -+ shell_arg[1] = 'c'; 47.250 -+ } 47.251 -+#define fflg (opt & 4) 47.252 -+ if (opt & 8) { 47.253 -+ qflg++; 47.254 -+ } 47.255 -+ argc -= optind; 47.256 -+ argv += optind; 47.257 -+ if (argc > 0) { 47.258 -+ if (--argc > 0) { 47.259 -+ bb_show_usage(); 47.260 -+ } 47.261 -+ fname = argv[0]; 47.262 -+ } 47.263 -+ shell = getenv("SHELL"); 47.264 -+ if (shell == NULL) { 47.265 -+ shell = _PATH_BSHELL; 47.266 -+ } 47.267 -+ pty = getpty(line,sizeof(line)); 47.268 -+ if (pty < 0) { 47.269 -+ bb_perror_msg_and_die("Out of pty's"); 47.270 -+ } 47.271 -+ tcgetattr(0, &tt); 47.272 -+ ioctl(0, TIOCGWINSZ, (char *)&win); 47.273 -+ if (qflg == 0) { 47.274 -+ printf("Script started, file is %s\n", fname); 47.275 -+ } 47.276 -+ 47.277 -+ rtt = tt; 47.278 -+ cfmakeraw(&rtt); 47.279 -+ rtt.c_lflag &= ~ECHO; 47.280 -+ tcsetattr(0, TCSAFLUSH, &rtt); 47.281 -+ 47.282 -+ signal(SIGCHLD, finish); /* catch SIGTERM of children */ 47.283 -+ parent = fork(); /* use pid as flag meaning 'I am the parent process' */ 47.284 -+ if (parent < 0) { 47.285 -+ bb_perror_msg_and_die("fork"); 47.286 -+ } 47.287 -+ if (parent) { /* parent: link mainshell stdin to pty master input */ 47.288 -+ /* endless copy: stdin will not be closed */ 47.289 -+ bb_copyfd_eof(0, pty); 47.290 -+ /* not reached, but maybe bb_copyfd_eof behaviour will change ? */ 47.291 -+ done(); 47.292 -+ } 47.293 -+ else { 47.294 -+ child = fork(); 47.295 -+ if (child < 0) { 47.296 -+ bb_perror_msg_and_die("fork"); 47.297 -+ } 47.298 -+ if (child) { 47.299 -+ /* child1: link pty master output to mainshell stdout and file */ 47.300 -+ int count, fdscript; 47.301 -+ char buf[256]; 47.302 -+ close(0); 47.303 -+ fdscript = xopen(fname, mode); 47.304 -+ /* copy until pty is close, i.e. child2 exits */ 47.305 -+ while ((count = read(pty, buf, sizeof(buf))) > 0) { 47.306 -+ write(1, buf, count); 47.307 -+ write(fdscript, buf, count); 47.308 -+ if (fflg) { 47.309 -+ fsync(fdscript); 47.310 -+ } 47.311 -+ } 47.312 -+ done(); 47.313 -+ } 47.314 -+ else { /* child2: link subshell input, output, error to pty slave */ 47.315 -+ close(pty); /* close master */ 47.316 -+ pty = xopen(line, O_RDWR); /* open slave */ 47.317 -+ tcsetattr(pty, TCSAFLUSH, &tt); 47.318 -+ ioctl(pty, TIOCSWINSZ, (char *)&win); 47.319 -+ setsid(); 47.320 -+ ioctl(pty, TIOCSCTTY, 0); 47.321 -+ xmove_fd(pty, 0); 47.322 -+ xdup2(0, 1); 47.323 -+ xdup2(0, 2); 47.324 -+ execl(shell, strrchr(shell, '/') + 1, shell_arg, cflg, NULL); 47.325 -+ bb_perror_msg_and_die(shell); 47.326 -+ } 47.327 -+ } 47.328 -+ /* not reached */ 47.329 -+ return 0; 47.330 -+} 47.331 - 47.332 ---- busybox-1.7.3/util-linux/Kbuild 47.333 -+++ busybox-1.7.3/util-linux/Kbuild 47.334 -@@ -26,6 +26,7 @@ 47.335 - lib-$(CONFIG_PIVOT_ROOT) +=pivot_root.o 47.336 - lib-$(CONFIG_RDATE) +=rdate.o 47.337 - lib-$(CONFIG_READPROFILE) +=readprofile.o 47.338 -+lib-$(CONFIG_SCRIPT) +=script.o 47.339 - lib-$(CONFIG_SETARCH) +=setarch.o 47.340 - lib-$(CONFIG_SWAPONOFF) +=swaponoff.o 47.341 - lib-$(CONFIG_SWITCH_ROOT) +=switch_root.o 47.342 -patch bug... 47.343 ---- busybox-1.7.3/include/usage.h 47.344 -+++ busybox-1.7.3/include/usage.h 47.345 -@@ -2931,5 +2931,15 @@ 47.346 - #define rx_example_usage \ 47.347 - "$ rx /tmp/foo\n" 47.348 - 47.349 -+#define script_trivial_usage \ 47.350 -+ "[-afq] [-c COMMAND] [file]" 47.351 -+#define script_full_usage \ 47.352 -+ "Options:\n" \ 47.353 -+ " -a append the output to file or typescript\n" \ 47.354 -+ " -c COMMAND run the COMMAND rather than an interactive shell.\n" \ 47.355 -+ " -f flush output after each write\n" \ 47.356 -+ " -q quiet." 47.357 -+ 47.358 -+ 47.359 - #define sed_trivial_usage \ 47.360 - "[-efinr] pattern [files...]"
48.1 --- a/busybox/stuff/busybox-1.7.3-usage-df.u Wed May 27 11:52:33 2009 +0200 48.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 48.3 @@ -1,12 +0,0 @@ 48.4 ---- busybox-1.7.3/include/usage.h Fri Feb 29 18:06:12 2008 48.5 -+++ busybox-1.7.3/include/usage.h Fri Feb 29 18:05:38 2008 48.6 -@@ -611,7 +611,8 @@ 48.7 - "\n\nOptions control size display:" \ 48.8 - "\n -h Human readable (e.g. 1K 243M 2G)" \ 48.9 - "\n -m 1024*1024 blocks" \ 48.10 -- "\n -k 1024 blocks") \ 48.11 -+ "\n -k 1024 blocks" \ 48.12 -+ "\n -i Inodes") \ 48.13 - SKIP_FEATURE_HUMAN_READABLE( \ 48.14 - "\n\nOptions:" \ 48.15 - "\n -k Ignored")
49.1 --- a/busybox/stuff/busybox-1.7.3-vcsa2txt.u Wed May 27 11:52:33 2009 +0200 49.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 49.3 @@ -1,104 +0,0 @@ 49.4 ---- busybox-1.7.3/include/applets.h 2008-03-01 11:20:49.000000000 +0100 49.5 -+++ busybox-1.7.3/include/applets.h 2008-03-01 11:24:45.000000000 +0100 49.6 -@@ -357,6 +357,7 @@ USE_USLEEP(APPLET_NOFORK(usleep, usleep, 49.7 - USE_UUDECODE(APPLET(uudecode, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 49.8 - USE_UUENCODE(APPLET(uuencode, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 49.9 - USE_VCONFIG(APPLET(vconfig, _BB_DIR_SBIN, _BB_SUID_NEVER)) 49.10 -+USE_VCSA2TXT(APPLET(vcsa2txt, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 49.11 - USE_VI(APPLET(vi, _BB_DIR_BIN, _BB_SUID_NEVER)) 49.12 - USE_VLOCK(APPLET(vlock, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS)) 49.13 - USE_WATCH(APPLET(watch, _BB_DIR_BIN, _BB_SUID_NEVER)) 49.14 - 49.15 ---- busybox-1.7.3/include/usage.h 2008-03-01 11:22:06.000000000 +0100 49.16 -+++ busybox-1.7.3/include/usage.h 2008-03-01 11:32:48.000000000 +0100 49.17 -@@ -3835,6 +3835,13 @@ USE_FEATURE_RUN_PARTS_FANCY("\n -l Print 49.18 - " set_ingress_map [vlan-name] [skb_priority] [vlan_qos]\n" \ 49.19 - " set_name_type [name-type]" 49.20 - 49.21 -+#define vcsa2txt_trivial_usage \ 49.22 -+ "stdin" 49.23 -+#define vcsa2txt_full_usage \ 49.24 -+ "Filter /dev/vcsa* to ansi escape sequences" 49.25 -+#define vcsa2txt_example_usage \ 49.26 -+ "# vcsa2txt < /dev/vcsa1\n" 49.27 -+ 49.28 - #define vi_trivial_usage \ 49.29 - "[OPTION] [FILE]..." 49.30 - #define vi_full_usage \ 49.31 - 49.32 ---- busybox-1.7.3/miscutils/Config.in 2008-03-01 11:21:44.000000000 +0100 49.33 -+++ busybox-1.7.3/miscutils/Config.in 2008-03-01 11:32:32.000000000 +0100 49.34 -@@ -380,6 +380,12 @@ config TTYSIZE 49.35 - only height, or both, in any order. It also does not complain on error, 49.36 - but returns default 80x24. Usage in shell scripts: width=`ttysize w`. 49.37 - 49.38 -+config VCSA2TXT 49.39 -+ bool "vcsa2txt" 49.40 -+ default n 49.41 -+ help 49.42 -+ Filter /dev/vcsa* output to ansi escape sequences. 49.43 -+ 49.44 - config WATCHDOG 49.45 - bool "watchdog" 49.46 - default n 49.47 - 49.48 ---- busybox-1.7.3/util-linux/Kbuild 2008-03-01 11:21:57.000000000 +0100 49.49 -+++ busybox-1.7.3/util-linux/Kbuild 2008-03-01 11:32:37.000000000 +0100 49.50 -@@ -30,4 +30,5 @@ lib-$(CONFIG_SCRIPT) +=script.o 49.51 - lib-$(CONFIG_SETARCH) +=setarch.o 49.52 - lib-$(CONFIG_SWAPONOFF) +=swaponoff.o 49.53 - lib-$(CONFIG_SWITCH_ROOT) +=switch_root.o 49.54 -+lib-$(CONFIG_VCSA2TXT) +=vcsa2txt.o 49.55 - lib-$(CONFIG_UMOUNT) +=umount.o 49.56 - 49.57 ---- busybox-1.7.3/util-linux/vcsa2txt.c 1970-01-01 01:00:00.000000000 +0100 49.58 -+++ busybox-1.7.3/util-linux/vcsa2txt.c 2008-03-01 11:36:13.000000000 +0100 49.59 -@@ -0,0 +1,48 @@ 49.60 -+#include "libbb.h" 49.61 -+ 49.62 -+static void writechar(int c) { (void)write(1,&c,1); } 49.63 -+ 49.64 -+int vcsa2txt_main(int argc, char *argv[]); 49.65 -+int vcsa2txt_main(int argc, char *argv[]) 49.66 -+{ 49.67 -+ struct {unsigned char l, c, x, y;} scrn; // man 4 console_codes BLGCRMOW 49.68 -+ static unsigned char last, ch[2], end[5] = "\e[0m\n", color[8] = "04261537"; 49.69 -+ int sp, lf, x; 49.70 -+ if (read(0, &scrn, 4) < 0) return 1; 49.71 -+ for (lf = 0; scrn.l; lf++, scrn.l--) for (sp = x = 0; ++x <= scrn.c;) { 49.72 -+ if (read(0, &ch[0], 2) < 0) return 1; 49.73 -+ if (argc > 1) ch[1] = 0; 49.74 -+ sp++; if (last == ch[1] && ch[0] == ' ') continue; 49.75 -+ for (lf++; --lf;) writechar('\n'); while (--sp) writechar(' '); 49.76 -+#define PACKED 49.77 -+#ifdef PACKED 49.78 -+ if (last ^= ch[1]) { 49.79 -+ char esc[16],*s; 49.80 -+ struct offsets { char mask, type, shr; } *p; 49.81 -+ static struct offsets offset[3] = {{8,0,1},{0x70,'4',4},{7,'3',0}}; 49.82 -+ static char init = 0x7F; 49.83 -+ s = esc+2; *(short *)esc = '\e'+256*'['; 49.84 -+ p = offset; do if ((init|last) & p->mask) { 49.85 -+ int c = (ch[1] & p->mask) >> p->shr; 49.86 -+ if ((*s = p->type) != 0) s++; 49.87 -+ else if (c == 0) { c = 2; *s++ = '2'; /* normal */} 49.88 -+ *s++ = color[c]; *s++ = ';'; 49.89 -+ } while (p++->shr); s[-1] = 'm'; 49.90 -+ init = 0; 49.91 -+ (void)write(1,esc,s-esc); 49.92 -+ } 49.93 -+ last = ch[1]; 49.94 -+#else 49.95 -+ if (last != ch[1]) { 49.96 -+ static char esc[10] = "\e[0;47;37m"; 49.97 -+ esc[2] = ((last = ch[1]) & 8) ? '1' /* bold */ : '0' /* defaults */; 49.98 -+ esc[sizeof(esc)-5] = color[(ch[1] >> 4) & 7]; 49.99 -+ esc[sizeof(esc)-2] = color[ch[1] & 7]; 49.100 -+ (void)write(1,esc,sizeof(esc)); 49.101 -+ } 49.102 -+#endif 49.103 -+ writechar(ch[0]); 49.104 -+ } 49.105 -+ (void)write(1,end,sizeof(end)); 49.106 -+ return 0; 49.107 -+}
50.1 --- a/busybox/stuff/busybox-1.7.3.config Wed May 27 11:52:33 2009 +0200 50.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 50.3 @@ -1,751 +0,0 @@ 50.4 -# 50.5 -# Automatically generated make config: don't edit 50.6 -# Busybox version: 1.7.3 50.7 -# Sat Mar 1 11:50:42 2008 50.8 -# 50.9 -CONFIG_HAVE_DOT_CONFIG=y 50.10 - 50.11 -# 50.12 -# Busybox Settings 50.13 -# 50.14 - 50.15 -# 50.16 -# General Configuration 50.17 -# 50.18 -# CONFIG_NITPICK is not set 50.19 -CONFIG_DESKTOP=y 50.20 -# CONFIG_FEATURE_BUFFERS_USE_MALLOC is not set 50.21 -# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set 50.22 -# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set 50.23 -CONFIG_SHOW_USAGE=y 50.24 -CONFIG_FEATURE_VERBOSE_USAGE=y 50.25 -CONFIG_FEATURE_COMPRESS_USAGE=y 50.26 -CONFIG_FEATURE_INSTALLER=y 50.27 -CONFIG_LOCALE_SUPPORT=y 50.28 -CONFIG_GETOPT_LONG=y 50.29 -CONFIG_FEATURE_DEVPTS=y 50.30 -# CONFIG_FEATURE_CLEAN_UP is not set 50.31 -CONFIG_FEATURE_PIDFILE=y 50.32 -CONFIG_FEATURE_SUID=y 50.33 -CONFIG_FEATURE_SUID_CONFIG=y 50.34 -# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set 50.35 -# CONFIG_SELINUX is not set 50.36 -# CONFIG_FEATURE_PREFER_APPLETS is not set 50.37 -CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" 50.38 -CONFIG_FEATURE_SYSLOG=y 50.39 -CONFIG_FEATURE_HAVE_RPC=y 50.40 - 50.41 -# 50.42 -# Build Options 50.43 -# 50.44 -# CONFIG_STATIC is not set 50.45 -# CONFIG_BUILD_LIBBUSYBOX is not set 50.46 -# CONFIG_FEATURE_FULL_LIBBUSYBOX is not set 50.47 -# CONFIG_FEATURE_SHARED_BUSYBOX is not set 50.48 -CONFIG_LFS=y 50.49 -# CONFIG_BUILD_AT_ONCE is not set 50.50 - 50.51 -# 50.52 -# Debugging Options 50.53 -# 50.54 -# CONFIG_DEBUG is not set 50.55 -# CONFIG_WERROR is not set 50.56 -CONFIG_NO_DEBUG_LIB=y 50.57 -# CONFIG_DMALLOC is not set 50.58 -# CONFIG_EFENCE is not set 50.59 -CONFIG_INCLUDE_SUSv2=y 50.60 - 50.61 -# 50.62 -# Installation Options 50.63 -# 50.64 -# CONFIG_INSTALL_NO_USR is not set 50.65 -CONFIG_INSTALL_APPLET_SYMLINKS=y 50.66 -# CONFIG_INSTALL_APPLET_HARDLINKS is not set 50.67 -# CONFIG_INSTALL_APPLET_DONT is not set 50.68 -CONFIG_PREFIX="./_install" 50.69 - 50.70 -# 50.71 -# Busybox Library Tuning 50.72 -# 50.73 -CONFIG_PASSWORD_MINLEN=6 50.74 -CONFIG_MD5_SIZE_VS_SPEED=0 50.75 -# CONFIG_FEATURE_FAST_TOP is not set 50.76 -# CONFIG_FEATURE_ETC_NETWORKS is not set 50.77 -CONFIG_FEATURE_EDITING=y 50.78 -CONFIG_FEATURE_EDITING_MAX_LEN=1024 50.79 -CONFIG_FEATURE_EDITING_FANCY_KEYS=y 50.80 -# CONFIG_FEATURE_EDITING_VI is not set 50.81 -CONFIG_FEATURE_EDITING_HISTORY=127 50.82 -CONFIG_FEATURE_EDITING_SAVEHISTORY=y 50.83 -CONFIG_FEATURE_TAB_COMPLETION=y 50.84 -# CONFIG_FEATURE_USERNAME_COMPLETION is not set 50.85 -CONFIG_FEATURE_EDITING_FANCY_PROMPT=y 50.86 -CONFIG_MONOTONIC_SYSCALL=y 50.87 -CONFIG_IOCTL_HEX2STR_ERROR=y 50.88 - 50.89 -# 50.90 -# Applets 50.91 -# 50.92 - 50.93 -# 50.94 -# Archival Utilities 50.95 -# 50.96 -# CONFIG_AR is not set 50.97 -# CONFIG_FEATURE_AR_LONG_FILENAMES is not set 50.98 -CONFIG_BUNZIP2=y 50.99 -# CONFIG_CPIO is not set 50.100 -CONFIG_DPKG=y 50.101 -CONFIG_DPKG_DEB=y 50.102 -CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY=y 50.103 -CONFIG_GUNZIP=y 50.104 -CONFIG_FEATURE_GUNZIP_UNCOMPRESS=y 50.105 -CONFIG_GZIP=y 50.106 -CONFIG_RPM2CPIO=y 50.107 -CONFIG_RPM=y 50.108 -CONFIG_FEATURE_RPM_BZ2=y 50.109 -CONFIG_TAR=y 50.110 -CONFIG_FEATURE_TAR_CREATE=y 50.111 -CONFIG_FEATURE_TAR_BZIP2=y 50.112 -CONFIG_FEATURE_TAR_LZMA=y 50.113 -CONFIG_FEATURE_TAR_FROM=y 50.114 -CONFIG_FEATURE_TAR_GZIP=y 50.115 -CONFIG_FEATURE_TAR_COMPRESS=y 50.116 -CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y 50.117 -# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set 50.118 -CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y 50.119 -CONFIG_FEATURE_TAR_LONG_OPTIONS=y 50.120 -CONFIG_UNCOMPRESS=y 50.121 -CONFIG_UNLZMA=y 50.122 -# CONFIG_FEATURE_LZMA_FAST is not set 50.123 -CONFIG_UNZIP=y 50.124 - 50.125 -# 50.126 -# Common options for cpio and tar 50.127 -# 50.128 -# CONFIG_FEATURE_UNARCHIVE_TAPE is not set 50.129 - 50.130 -# 50.131 -# Common options for dpkg and dpkg_deb 50.132 -# 50.133 -CONFIG_FEATURE_DEB_TAR_GZ=y 50.134 -CONFIG_FEATURE_DEB_TAR_BZ2=y 50.135 -CONFIG_FEATURE_DEB_TAR_LZMA=y 50.136 - 50.137 -# 50.138 -# Coreutils 50.139 -# 50.140 -CONFIG_BASENAME=y 50.141 -CONFIG_CAL=y 50.142 -CONFIG_CAT=y 50.143 -# CONFIG_CATV is not set 50.144 -CONFIG_CHGRP=y 50.145 -CONFIG_CHMOD=y 50.146 -CONFIG_CHOWN=y 50.147 -CONFIG_CHROOT=y 50.148 -CONFIG_CKSUM=y 50.149 -CONFIG_COMM=y 50.150 -CONFIG_CP=y 50.151 -CONFIG_CUT=y 50.152 -CONFIG_DATE=y 50.153 -CONFIG_FEATURE_DATE_ISOFMT=y 50.154 -CONFIG_DD=y 50.155 -CONFIG_FEATURE_DD_SIGNAL_HANDLING=y 50.156 -CONFIG_FEATURE_DD_IBS_OBS=y 50.157 -CONFIG_DF=y 50.158 -CONFIG_DIRNAME=y 50.159 -CONFIG_DOS2UNIX=y 50.160 -CONFIG_UNIX2DOS=y 50.161 -CONFIG_DU=y 50.162 -CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y 50.163 -CONFIG_ECHO=y 50.164 -CONFIG_FEATURE_FANCY_ECHO=y 50.165 -CONFIG_ENV=y 50.166 -CONFIG_FEATURE_ENV_LONG_OPTIONS=y 50.167 -CONFIG_EXPAND=y 50.168 -CONFIG_FEATURE_EXPAND_LONG_OPTIONS=y 50.169 -CONFIG_EXPR=y 50.170 -# CONFIG_EXPR_MATH_SUPPORT_64 is not set 50.171 -CONFIG_FALSE=y 50.172 -CONFIG_FOLD=y 50.173 -CONFIG_HEAD=y 50.174 -CONFIG_FEATURE_FANCY_HEAD=y 50.175 -CONFIG_HOSTID=y 50.176 -CONFIG_ID=y 50.177 -CONFIG_INSTALL=y 50.178 -CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y 50.179 -CONFIG_LENGTH=y 50.180 -CONFIG_LN=y 50.181 -CONFIG_LOGNAME=y 50.182 -CONFIG_LS=y 50.183 -CONFIG_FEATURE_LS_FILETYPES=y 50.184 -CONFIG_FEATURE_LS_FOLLOWLINKS=y 50.185 -CONFIG_FEATURE_LS_RECURSIVE=y 50.186 -CONFIG_FEATURE_LS_SORTFILES=y 50.187 -CONFIG_FEATURE_LS_TIMESTAMPS=y 50.188 -CONFIG_FEATURE_LS_USERNAME=y 50.189 -CONFIG_FEATURE_LS_COLOR=y 50.190 -CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y 50.191 -CONFIG_MD5SUM=y 50.192 -CONFIG_MKDIR=y 50.193 -CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y 50.194 -CONFIG_MKFIFO=y 50.195 -CONFIG_MKNOD=y 50.196 -CONFIG_MV=y 50.197 -CONFIG_FEATURE_MV_LONG_OPTIONS=y 50.198 -CONFIG_NICE=y 50.199 -CONFIG_NOHUP=y 50.200 -CONFIG_OD=y 50.201 -CONFIG_PRINTENV=y 50.202 -CONFIG_PRINTF=y 50.203 -CONFIG_PWD=y 50.204 -CONFIG_READLINK=y 50.205 -CONFIG_FEATURE_READLINK_FOLLOW=y 50.206 -CONFIG_REALPATH=y 50.207 -CONFIG_RM=y 50.208 -CONFIG_RMDIR=y 50.209 -CONFIG_SEQ=y 50.210 -CONFIG_SHA1SUM=y 50.211 -CONFIG_SLEEP=y 50.212 -CONFIG_FEATURE_FANCY_SLEEP=y 50.213 -CONFIG_SORT=y 50.214 -CONFIG_FEATURE_SORT_BIG=y 50.215 -CONFIG_SPLIT=y 50.216 -CONFIG_FEATURE_SPLIT_FANCY=y 50.217 -CONFIG_STAT=y 50.218 -CONFIG_FEATURE_STAT_FORMAT=y 50.219 -CONFIG_STTY=y 50.220 -CONFIG_SUM=y 50.221 -CONFIG_SYNC=y 50.222 -CONFIG_TAIL=y 50.223 -CONFIG_FEATURE_FANCY_TAIL=y 50.224 -CONFIG_TEE=y 50.225 -CONFIG_FEATURE_TEE_USE_BLOCK_IO=y 50.226 -CONFIG_TEST=y 50.227 -CONFIG_FEATURE_TEST_64=y 50.228 -CONFIG_TOUCH=y 50.229 -CONFIG_TR=y 50.230 -CONFIG_FEATURE_TR_CLASSES=y 50.231 -CONFIG_FEATURE_TR_EQUIV=y 50.232 -CONFIG_TRUE=y 50.233 -CONFIG_TTY=y 50.234 -CONFIG_UNAME=y 50.235 -CONFIG_UNEXPAND=y 50.236 -CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS=y 50.237 -CONFIG_UNIQ=y 50.238 -CONFIG_USLEEP=y 50.239 -CONFIG_UUDECODE=y 50.240 -CONFIG_UUENCODE=y 50.241 -CONFIG_WC=y 50.242 -CONFIG_FEATURE_WC_LARGE=y 50.243 -CONFIG_WHO=y 50.244 -CONFIG_WHOAMI=y 50.245 -CONFIG_YES=y 50.246 - 50.247 -# 50.248 -# Common options for cp and mv 50.249 -# 50.250 -CONFIG_FEATURE_PRESERVE_HARDLINKS=y 50.251 - 50.252 -# 50.253 -# Common options for ls, more and telnet 50.254 -# 50.255 -CONFIG_FEATURE_AUTOWIDTH=y 50.256 - 50.257 -# 50.258 -# Common options for df, du, ls 50.259 -# 50.260 -CONFIG_FEATURE_HUMAN_READABLE=y 50.261 - 50.262 -# 50.263 -# Common options for md5sum, sha1sum 50.264 -# 50.265 -CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y 50.266 - 50.267 -# 50.268 -# Console Utilities 50.269 -# 50.270 -CONFIG_CHVT=y 50.271 -# CONFIG_CLEAR is not set 50.272 -CONFIG_DEALLOCVT=y 50.273 -CONFIG_DUMPKMAP=y 50.274 -CONFIG_LOADFONT=y 50.275 -CONFIG_LOADKMAP=y 50.276 -CONFIG_OPENVT=y 50.277 -# CONFIG_RESET is not set 50.278 -# CONFIG_RESIZE is not set 50.279 -# CONFIG_FEATURE_RESIZE_PRINT is not set 50.280 -CONFIG_SETCONSOLE=y 50.281 -# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set 50.282 -CONFIG_SETKEYCODES=y 50.283 -# CONFIG_SETLOGCONS is not set 50.284 - 50.285 -# 50.286 -# Debian Utilities 50.287 -# 50.288 -CONFIG_MKTEMP=y 50.289 -# CONFIG_PIPE_PROGRESS is not set 50.290 -# CONFIG_RUN_PARTS is not set 50.291 -# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set 50.292 -# CONFIG_FEATURE_RUN_PARTS_FANCY is not set 50.293 -# CONFIG_START_STOP_DAEMON is not set 50.294 -# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set 50.295 -# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set 50.296 -CONFIG_WHICH=y 50.297 - 50.298 -# 50.299 -# Editors 50.300 -# 50.301 -CONFIG_AWK=y 50.302 -CONFIG_FEATURE_AWK_MATH=y 50.303 -CONFIG_CMP=y 50.304 -CONFIG_DIFF=y 50.305 -CONFIG_FEATURE_DIFF_BINARY=y 50.306 -CONFIG_FEATURE_DIFF_DIR=y 50.307 -CONFIG_FEATURE_DIFF_MINIMAL=y 50.308 -# CONFIG_ED is not set 50.309 -CONFIG_PATCH=y 50.310 -CONFIG_SED=y 50.311 -CONFIG_VI=y 50.312 -CONFIG_FEATURE_VI_MAX_LEN=1024 50.313 -CONFIG_FEATURE_VI_COLON=y 50.314 -CONFIG_FEATURE_VI_YANKMARK=y 50.315 -CONFIG_FEATURE_VI_SEARCH=y 50.316 -CONFIG_FEATURE_VI_USE_SIGNALS=y 50.317 -CONFIG_FEATURE_VI_DOT_CMD=y 50.318 -CONFIG_FEATURE_VI_READONLY=y 50.319 -CONFIG_FEATURE_VI_SETOPTS=y 50.320 -CONFIG_FEATURE_VI_SET=y 50.321 -CONFIG_FEATURE_VI_WIN_RESIZE=y 50.322 -CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y 50.323 -CONFIG_FEATURE_ALLOW_EXEC=y 50.324 - 50.325 -# 50.326 -# Finding Utilities 50.327 -# 50.328 -CONFIG_FIND=y 50.329 -CONFIG_FEATURE_FIND_PRINT0=y 50.330 -CONFIG_FEATURE_FIND_MTIME=y 50.331 -CONFIG_FEATURE_FIND_MMIN=y 50.332 -CONFIG_FEATURE_FIND_PERM=y 50.333 -CONFIG_FEATURE_FIND_TYPE=y 50.334 -CONFIG_FEATURE_FIND_XDEV=y 50.335 -CONFIG_FEATURE_FIND_MAXDEPTH=y 50.336 -CONFIG_FEATURE_FIND_NEWER=y 50.337 -CONFIG_FEATURE_FIND_INUM=y 50.338 -CONFIG_FEATURE_FIND_EXEC=y 50.339 -CONFIG_FEATURE_FIND_USER=y 50.340 -CONFIG_FEATURE_FIND_GROUP=y 50.341 -CONFIG_FEATURE_FIND_NOT=y 50.342 -CONFIG_FEATURE_FIND_DEPTH=y 50.343 -CONFIG_FEATURE_FIND_PAREN=y 50.344 -CONFIG_FEATURE_FIND_SIZE=y 50.345 -CONFIG_FEATURE_FIND_PRUNE=y 50.346 -CONFIG_FEATURE_FIND_DELETE=y 50.347 -CONFIG_FEATURE_FIND_PATH=y 50.348 -CONFIG_FEATURE_FIND_REGEX=y 50.349 -# CONFIG_FEATURE_FIND_CONTEXT is not set 50.350 -CONFIG_GREP=y 50.351 -CONFIG_FEATURE_GREP_EGREP_ALIAS=y 50.352 -CONFIG_FEATURE_GREP_FGREP_ALIAS=y 50.353 -CONFIG_FEATURE_GREP_CONTEXT=y 50.354 -CONFIG_XARGS=y 50.355 -CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y 50.356 -CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y 50.357 -CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y 50.358 -CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y 50.359 - 50.360 -# 50.361 -# Init Utilities 50.362 -# 50.363 -CONFIG_INIT=y 50.364 -# CONFIG_DEBUG_INIT is not set 50.365 -CONFIG_FEATURE_USE_INITTAB=y 50.366 -CONFIG_FEATURE_INIT_SCTTY=y 50.367 -# CONFIG_FEATURE_INIT_SYSLOG is not set 50.368 -CONFIG_FEATURE_EXTRA_QUIET=y 50.369 -# CONFIG_FEATURE_INIT_COREDUMPS is not set 50.370 -CONFIG_FEATURE_INITRD=y 50.371 -CONFIG_HALT=y 50.372 -CONFIG_MESG=y 50.373 - 50.374 -# 50.375 -# Login/Password Management Utilities 50.376 -# 50.377 -CONFIG_FEATURE_SHADOWPASSWDS=y 50.378 -# CONFIG_USE_BB_SHADOW is not set 50.379 -# CONFIG_USE_BB_PWD_GRP is not set 50.380 -CONFIG_ADDGROUP=y 50.381 -CONFIG_FEATURE_ADDUSER_TO_GROUP=y 50.382 -CONFIG_DELGROUP=y 50.383 -CONFIG_FEATURE_DEL_USER_FROM_GROUP=y 50.384 -CONFIG_ADDUSER=y 50.385 -CONFIG_DELUSER=y 50.386 -CONFIG_GETTY=y 50.387 -CONFIG_FEATURE_UTMP=y 50.388 -CONFIG_FEATURE_WTMP=y 50.389 -CONFIG_LOGIN=y 50.390 -# CONFIG_PAM is not set 50.391 -# CONFIG_LOGIN_SCRIPTS is not set 50.392 -# CONFIG_FEATURE_NOLOGIN is not set 50.393 -CONFIG_FEATURE_SECURETTY=y 50.394 -CONFIG_PASSWD=y 50.395 -CONFIG_FEATURE_PASSWD_WEAK_CHECK=y 50.396 -CONFIG_CRYPTPW=y 50.397 -CONFIG_CHPASSWD=y 50.398 -CONFIG_SU=y 50.399 -CONFIG_FEATURE_SU_SYSLOG=y 50.400 -CONFIG_FEATURE_SU_CHECKS_SHELLS=y 50.401 -CONFIG_SULOGIN=y 50.402 -CONFIG_VLOCK=y 50.403 - 50.404 -# 50.405 -# Linux Ext2 FS Progs 50.406 -# 50.407 -CONFIG_CHATTR=y 50.408 -CONFIG_FSCK=y 50.409 -CONFIG_LSATTR=y 50.410 - 50.411 -# 50.412 -# Linux Module Utilities 50.413 -# 50.414 -# CONFIG_INSMOD is not set 50.415 -# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set 50.416 -# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set 50.417 -# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set 50.418 -# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set 50.419 -# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set 50.420 -# CONFIG_RMMOD is not set 50.421 -# CONFIG_LSMOD is not set 50.422 -# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set 50.423 -# CONFIG_MODPROBE is not set 50.424 -# CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS is not set 50.425 -# CONFIG_FEATURE_MODPROBE_FANCY_ALIAS is not set 50.426 -# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set 50.427 -# CONFIG_FEATURE_2_4_MODULES is not set 50.428 -# CONFIG_FEATURE_2_6_MODULES is not set 50.429 -# CONFIG_FEATURE_QUERY_MODULE_INTERFACE is not set 50.430 - 50.431 -# 50.432 -# Linux System Utilities 50.433 -# 50.434 -CONFIG_DMESG=y 50.435 -CONFIG_FEATURE_DMESG_PRETTY=y 50.436 -CONFIG_FBSET=y 50.437 -CONFIG_FEATURE_FBSET_FANCY=y 50.438 -# CONFIG_FEATURE_FBSET_READMODE is not set 50.439 -CONFIG_FDFLUSH=y 50.440 -CONFIG_FDFORMAT=y 50.441 -CONFIG_FDISK=y 50.442 -CONFIG_FDISK_SUPPORT_LARGE_DISKS=y 50.443 -CONFIG_FEATURE_FDISK_WRITABLE=y 50.444 -# CONFIG_FEATURE_AIX_LABEL is not set 50.445 -# CONFIG_FEATURE_SGI_LABEL is not set 50.446 -# CONFIG_FEATURE_SUN_LABEL is not set 50.447 -# CONFIG_FEATURE_OSF_LABEL is not set 50.448 -# CONFIG_FEATURE_FDISK_ADVANCED is not set 50.449 -CONFIG_FREERAMDISK=y 50.450 -# CONFIG_FSCK_MINIX is not set 50.451 -# CONFIG_MKFS_MINIX is not set 50.452 -# CONFIG_FEATURE_MINIX2 is not set 50.453 -# CONFIG_GETOPT is not set 50.454 -CONFIG_HEXDUMP=y 50.455 -CONFIG_HWCLOCK=y 50.456 -CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y 50.457 -CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y 50.458 -CONFIG_IPCRM=y 50.459 -CONFIG_IPCS=y 50.460 -CONFIG_LOSETUP=y 50.461 -CONFIG_MDEV=y 50.462 -CONFIG_FEATURE_MDEV_CONF=y 50.463 -CONFIG_FEATURE_MDEV_EXEC=y 50.464 -CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y 50.465 -CONFIG_MKSWAP=y 50.466 -# CONFIG_FEATURE_MKSWAP_V0 is not set 50.467 -CONFIG_MORE=y 50.468 -CONFIG_FEATURE_USE_TERMIOS=y 50.469 -CONFIG_MOUNT=y 50.470 -CONFIG_FEATURE_MOUNT_NFS=y 50.471 -CONFIG_FEATURE_MOUNT_CIFS=y 50.472 -CONFIG_FEATURE_MOUNT_FLAGS=y 50.473 -CONFIG_FEATURE_MOUNT_FSTAB=y 50.474 -CONFIG_PIVOT_ROOT=y 50.475 -CONFIG_RDATE=y 50.476 -CONFIG_READPROFILE=y 50.477 -CONFIG_SETARCH=y 50.478 -CONFIG_SWAPONOFF=y 50.479 -CONFIG_SWITCH_ROOT=y 50.480 -CONFIG_UMOUNT=y 50.481 -CONFIG_FEATURE_UMOUNT_ALL=y 50.482 - 50.483 -# 50.484 -# Common options for mount/umount 50.485 -# 50.486 -CONFIG_FEATURE_MOUNT_LOOP=y 50.487 -# CONFIG_FEATURE_MTAB_SUPPORT is not set 50.488 - 50.489 -# 50.490 -# Miscellaneous Utilities 50.491 -# 50.492 -CONFIG_ADJTIMEX=y 50.493 -# CONFIG_BBCONFIG is not set 50.494 -# CONFIG_CHRT is not set 50.495 -CONFIG_CROND=y 50.496 -# CONFIG_DEBUG_CROND_OPTION is not set 50.497 -# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set 50.498 -CONFIG_CRONTAB=y 50.499 -# CONFIG_DC is not set 50.500 -# CONFIG_DEVFSD is not set 50.501 -# CONFIG_DEVFSD_MODLOAD is not set 50.502 -# CONFIG_DEVFSD_FG_NP is not set 50.503 -# CONFIG_DEVFSD_VERBOSE is not set 50.504 -# CONFIG_FEATURE_DEVFS is not set 50.505 -CONFIG_EJECT=y 50.506 -CONFIG_LAST=y 50.507 -CONFIG_LESS=y 50.508 -CONFIG_FEATURE_LESS_MAXLINES=9999999 50.509 -CONFIG_FEATURE_LESS_BRACKETS=y 50.510 -CONFIG_FEATURE_LESS_FLAGS=y 50.511 -CONFIG_FEATURE_LESS_FLAGCS=y 50.512 -CONFIG_FEATURE_LESS_MARKS=y 50.513 -CONFIG_FEATURE_LESS_REGEXP=y 50.514 -CONFIG_HDPARM=y 50.515 -CONFIG_FEATURE_HDPARM_GET_IDENTITY=y 50.516 -# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set 50.517 -# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set 50.518 -# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set 50.519 -# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set 50.520 -CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y 50.521 -# CONFIG_MAKEDEVS is not set 50.522 -# CONFIG_FEATURE_MAKEDEVS_LEAF is not set 50.523 -# CONFIG_FEATURE_MAKEDEVS_TABLE is not set 50.524 -CONFIG_MOUNTPOINT=y 50.525 -# CONFIG_MT is not set 50.526 -# CONFIG_RAIDAUTORUN is not set 50.527 -# CONFIG_READAHEAD is not set 50.528 -# CONFIG_RUNLEVEL is not set 50.529 -# CONFIG_RX is not set 50.530 -CONFIG_SCRIPT=y 50.531 -CONFIG_STRINGS=y 50.532 -CONFIG_SETSID=y 50.533 -# CONFIG_TASKSET is not set 50.534 -# CONFIG_FEATURE_TASKSET_FANCY is not set 50.535 -CONFIG_TIME=y 50.536 -# CONFIG_TTYSIZE is not set 50.537 -CONFIG_VCSA2TXT=y 50.538 -CONFIG_WATCHDOG=y 50.539 - 50.540 -# 50.541 -# Networking Utilities 50.542 -# 50.543 -CONFIG_FEATURE_IPV6=y 50.544 -# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set 50.545 -CONFIG_ARP=y 50.546 -CONFIG_ARPING=y 50.547 -CONFIG_DNSD=y 50.548 -CONFIG_ETHER_WAKE=y 50.549 -CONFIG_FAKEIDENTD=y 50.550 -CONFIG_FTPGET=y 50.551 -CONFIG_FTPPUT=y 50.552 -CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y 50.553 -CONFIG_HOSTNAME=y 50.554 -# CONFIG_HTTPD is not set 50.555 -# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set 50.556 -# CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP is not set 50.557 -# CONFIG_FEATURE_HTTPD_SETUID is not set 50.558 -# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set 50.559 -# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set 50.560 -# CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES is not set 50.561 -# CONFIG_FEATURE_HTTPD_CGI is not set 50.562 -# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set 50.563 -# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set 50.564 -# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set 50.565 -# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set 50.566 -CONFIG_IFCONFIG=y 50.567 -CONFIG_FEATURE_IFCONFIG_STATUS=y 50.568 -# CONFIG_FEATURE_IFCONFIG_SLIP is not set 50.569 -CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y 50.570 -CONFIG_FEATURE_IFCONFIG_HW=y 50.571 -CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y 50.572 -# CONFIG_IFUPDOWN is not set 50.573 -CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate" 50.574 -# CONFIG_FEATURE_IFUPDOWN_IP is not set 50.575 -# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set 50.576 -# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set 50.577 -# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set 50.578 -# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set 50.579 -# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set 50.580 -# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set 50.581 -CONFIG_INETD=y 50.582 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y 50.583 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y 50.584 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y 50.585 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y 50.586 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y 50.587 -CONFIG_FEATURE_INETD_RPC=y 50.588 -# CONFIG_IP is not set 50.589 -# CONFIG_FEATURE_IP_ADDRESS is not set 50.590 -# CONFIG_FEATURE_IP_LINK is not set 50.591 -# CONFIG_FEATURE_IP_ROUTE is not set 50.592 -# CONFIG_FEATURE_IP_TUNNEL is not set 50.593 -# CONFIG_FEATURE_IP_RULE is not set 50.594 -# CONFIG_FEATURE_IP_SHORT_FORMS is not set 50.595 -# CONFIG_IPADDR is not set 50.596 -# CONFIG_IPLINK is not set 50.597 -# CONFIG_IPROUTE is not set 50.598 -# CONFIG_IPTUNNEL is not set 50.599 -# CONFIG_IPRULE is not set 50.600 -CONFIG_IPCALC=y 50.601 -CONFIG_FEATURE_IPCALC_FANCY=y 50.602 -CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y 50.603 -CONFIG_NAMEIF=y 50.604 -CONFIG_NC=y 50.605 -CONFIG_NC_SERVER=y 50.606 -# CONFIG_NC_EXTRA is not set 50.607 -CONFIG_NETSTAT=y 50.608 -CONFIG_FEATURE_NETSTAT_WIDE=y 50.609 -CONFIG_NSLOOKUP=y 50.610 -CONFIG_PING=y 50.611 -CONFIG_PING6=y 50.612 -CONFIG_PSCAN=y 50.613 -CONFIG_FEATURE_FANCY_PING=y 50.614 -CONFIG_ROUTE=y 50.615 -# CONFIG_SLATTACH is not set 50.616 -CONFIG_TELNET=y 50.617 -CONFIG_FEATURE_TELNET_TTYPE=y 50.618 -CONFIG_FEATURE_TELNET_AUTOLOGIN=y 50.619 -# CONFIG_TELNETD is not set 50.620 -# CONFIG_FEATURE_TELNETD_STANDALONE is not set 50.621 -CONFIG_TFTP=y 50.622 -CONFIG_FEATURE_TFTP_GET=y 50.623 -CONFIG_FEATURE_TFTP_PUT=y 50.624 -CONFIG_FEATURE_TFTP_BLOCKSIZE=y 50.625 -# CONFIG_DEBUG_TFTP is not set 50.626 -CONFIG_TRACEROUTE=y 50.627 -CONFIG_FEATURE_TRACEROUTE_VERBOSE=y 50.628 -CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE=y 50.629 -# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set 50.630 -CONFIG_APP_UDHCPD=y 50.631 -CONFIG_APP_DHCPRELAY=y 50.632 -# CONFIG_APP_DUMPLEASES is not set 50.633 -# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set 50.634 -CONFIG_APP_UDHCPC=y 50.635 -# CONFIG_FEATURE_UDHCP_DEBUG is not set 50.636 -# CONFIG_FEATURE_RFC3397 is not set 50.637 -CONFIG_VCONFIG=y 50.638 -CONFIG_WGET=y 50.639 -CONFIG_FEATURE_WGET_STATUSBAR=y 50.640 -CONFIG_FEATURE_WGET_AUTHENTICATION=y 50.641 -CONFIG_FEATURE_WGET_LONG_OPTIONS=y 50.642 -CONFIG_ZCIP=y 50.643 - 50.644 -# 50.645 -# Process Utilities 50.646 -# 50.647 -CONFIG_FREE=y 50.648 -CONFIG_FUSER=y 50.649 -CONFIG_KILL=y 50.650 -CONFIG_KILLALL=y 50.651 -CONFIG_KILLALL5=y 50.652 -CONFIG_NMETER=y 50.653 -CONFIG_PIDOF=y 50.654 -CONFIG_FEATURE_PIDOF_SINGLE=y 50.655 -CONFIG_FEATURE_PIDOF_OMIT=y 50.656 -CONFIG_PS=y 50.657 -CONFIG_FEATURE_PS_WIDE=y 50.658 -CONFIG_RENICE=y 50.659 -CONFIG_BB_SYSCTL=y 50.660 -# CONFIG_TOP is not set 50.661 -# CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE is not set 50.662 -# CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS is not set 50.663 -# CONFIG_FEATURE_TOP_DECIMALS is not set 50.664 -CONFIG_UPTIME=y 50.665 -CONFIG_WATCH=y 50.666 - 50.667 -# 50.668 -# Shells 50.669 -# 50.670 -CONFIG_FEATURE_SH_IS_ASH=y 50.671 -# CONFIG_FEATURE_SH_IS_HUSH is not set 50.672 -# CONFIG_FEATURE_SH_IS_LASH is not set 50.673 -# CONFIG_FEATURE_SH_IS_MSH is not set 50.674 -# CONFIG_FEATURE_SH_IS_NONE is not set 50.675 -CONFIG_ASH=y 50.676 - 50.677 -# 50.678 -# Ash Shell Options 50.679 -# 50.680 -CONFIG_ASH_JOB_CONTROL=y 50.681 -CONFIG_ASH_READ_NCHARS=y 50.682 -CONFIG_ASH_READ_TIMEOUT=y 50.683 -CONFIG_ASH_ALIAS=y 50.684 -CONFIG_ASH_MATH_SUPPORT=y 50.685 -CONFIG_ASH_MATH_SUPPORT_64=y 50.686 -CONFIG_ASH_GETOPTS=y 50.687 -CONFIG_ASH_BUILTIN_ECHO=y 50.688 -CONFIG_ASH_BUILTIN_TEST=y 50.689 -CONFIG_ASH_CMDCMD=y 50.690 -# CONFIG_ASH_MAIL is not set 50.691 -CONFIG_ASH_OPTIMIZE_FOR_SIZE=y 50.692 -CONFIG_ASH_RANDOM_SUPPORT=y 50.693 -# CONFIG_ASH_EXPAND_PRMT is not set 50.694 -# CONFIG_HUSH is not set 50.695 -# CONFIG_HUSH_HELP is not set 50.696 -# CONFIG_HUSH_INTERACTIVE is not set 50.697 -# CONFIG_HUSH_JOB is not set 50.698 -# CONFIG_HUSH_TICK is not set 50.699 -# CONFIG_HUSH_IF is not set 50.700 -# CONFIG_HUSH_LOOPS is not set 50.701 -# CONFIG_LASH is not set 50.702 -# CONFIG_MSH is not set 50.703 - 50.704 -# 50.705 -# Bourne Shell Options 50.706 -# 50.707 -CONFIG_FEATURE_SH_EXTRA_QUIET=y 50.708 -# CONFIG_FEATURE_SH_STANDALONE is not set 50.709 -# CONFIG_CTTYHACK is not set 50.710 - 50.711 -# 50.712 -# System Logging Utilities 50.713 -# 50.714 -CONFIG_SYSLOGD=y 50.715 -CONFIG_FEATURE_ROTATE_LOGFILE=y 50.716 -CONFIG_FEATURE_REMOTE_LOG=y 50.717 -# CONFIG_FEATURE_IPC_SYSLOG is not set 50.718 -CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE= 50.719 -# CONFIG_LOGREAD is not set 50.720 -# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set 50.721 -CONFIG_KLOGD=y 50.722 -CONFIG_LOGGER=y 50.723 - 50.724 -# 50.725 -# Runit Utilities 50.726 -# 50.727 -# CONFIG_RUNSV is not set 50.728 -# CONFIG_RUNSVDIR is not set 50.729 -# CONFIG_SV is not set 50.730 -# CONFIG_SVLOGD is not set 50.731 -# CONFIG_CHPST is not set 50.732 -# CONFIG_SETUIDGID is not set 50.733 -# CONFIG_ENVUIDGID is not set 50.734 -# CONFIG_ENVDIR is not set 50.735 -# CONFIG_SOFTLIMIT is not set 50.736 -# CONFIG_CHCON is not set 50.737 -# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set 50.738 -# CONFIG_GETENFORCE is not set 50.739 -# CONFIG_GETSEBOOL is not set 50.740 -# CONFIG_LOAD_POLICY is not set 50.741 -# CONFIG_MATCHPATHCON is not set 50.742 -# CONFIG_RESTORECON is not set 50.743 -# CONFIG_RUNCON is not set 50.744 -# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set 50.745 -# CONFIG_SELINUXENABLED is not set 50.746 -# CONFIG_SETENFORCE is not set 50.747 -# CONFIG_SETFILES is not set 50.748 -# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set 50.749 - 50.750 -# 50.751 -# ipsvd utilities 50.752 -# 50.753 -# CONFIG_TCPSVD is not set 50.754 -# CONFIG_UDPSVD is not set