@@ -9,13 +9,13 @@
 | 
				
			|||||||
include $(TOPDIR)/rules.mk
 | 
					include $(TOPDIR)/rules.mk
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PKG_NAME:=busybox
 | 
					PKG_NAME:=busybox
 | 
				
			||||||
PKG_VERSION:=1.4.1
 | 
					PKG_VERSION:=1.4.2
 | 
				
			||||||
PKG_RELEASE:=1
 | 
					PKG_RELEASE:=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 | 
					PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 | 
				
			||||||
PKG_SOURCE_URL:=http://www.busybox.net/downloads \
 | 
					PKG_SOURCE_URL:=http://www.busybox.net/downloads \
 | 
				
			||||||
		http://distfiles.gentoo.org/distfiles/
 | 
							http://distfiles.gentoo.org/distfiles/
 | 
				
			||||||
PKG_MD5SUM:=5728403bce309cdabcffa414e2e64052
 | 
					PKG_MD5SUM:=b4c61fb15642be9dde20e8493788c585
 | 
				
			||||||
 | 
					
 | 
				
			||||||
include $(INCLUDE_DIR)/package.mk
 | 
					include $(INCLUDE_DIR)/package.mk
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -305,6 +305,7 @@ config BUSYBOX_CONFIG_RAIDAUTORUN
 | 
				
			|||||||
config BUSYBOX_CONFIG_READAHEAD
 | 
					config BUSYBOX_CONFIG_READAHEAD
 | 
				
			||||||
        bool "readahead"
 | 
					        bool "readahead"
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
 | 
						depends on LFS
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
 	  Preload the files listed on the command line into RAM cache so that
 | 
					 	  Preload the files listed on the command line into RAM cache so that
 | 
				
			||||||
	  subsequent reads on these files will not block on disk I/O.
 | 
						  subsequent reads on these files will not block on disk I/O.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,14 +0,0 @@
 | 
				
			|||||||
diff -ur busybox.old/libbb/xfuncs.c busybox.dev/libbb/xfuncs.c
 | 
					 | 
				
			||||||
--- busybox.old/libbb/xfuncs.c	2007-01-19 22:23:06.000000000 +0100
 | 
					 | 
				
			||||||
+++ busybox.dev/libbb/xfuncs.c	2007-01-27 18:30:56.229172096 +0100
 | 
					 | 
				
			||||||
@@ -339,8 +339,8 @@
 | 
					 | 
				
			||||||
 	while (count) {
 | 
					 | 
				
			||||||
 		unsigned char c = *cp++;
 | 
					 | 
				
			||||||
 		/* put lowercase hex digits */
 | 
					 | 
				
			||||||
-		*p++ = 0x10 | bb_hexdigits_upcase[c >> 4];
 | 
					 | 
				
			||||||
-		*p++ = 0x10 | bb_hexdigits_upcase[c & 0xf];
 | 
					 | 
				
			||||||
+		*p++ = 0x20 | bb_hexdigits_upcase[c >> 4];
 | 
					 | 
				
			||||||
+		*p++ = 0x20 | bb_hexdigits_upcase[c & 0xf];
 | 
					 | 
				
			||||||
 		count--;
 | 
					 | 
				
			||||||
 	}
 | 
					 | 
				
			||||||
 	return p;
 | 
					 | 
				
			||||||
@@ -1,14 +0,0 @@
 | 
				
			|||||||
diff -urN busybox-1.4.1/networking/wget.c busybox-1.4.1-wgetSEGV/networking/wget.c
 | 
					 | 
				
			||||||
--- busybox-1.4.1/networking/wget.c	2007-01-24 22:34:34.000000000 +0100
 | 
					 | 
				
			||||||
+++ busybox-1.4.1-wgetSEGV/networking/wget.c	2007-02-11 17:21:18.000000000 +0100
 | 
					 | 
				
			||||||
@@ -543,7 +543,9 @@
 | 
					 | 
				
			||||||
 	p = strchr(h->host, '?'); if (!sp || (p && sp > p)) sp = p;
 | 
					 | 
				
			||||||
 	p = strchr(h->host, '#'); if (!sp || (p && sp > p)) sp = p;
 | 
					 | 
				
			||||||
 	if (!sp) {
 | 
					 | 
				
			||||||
-		h->path = "";
 | 
					 | 
				
			||||||
+		/* must be writable because of bb_get_last_path_component() */
 | 
					 | 
				
			||||||
+		static char nullstr[] = "";
 | 
					 | 
				
			||||||
+		h->path = nullstr;
 | 
					 | 
				
			||||||
 	} else if (*sp == '/') {
 | 
					 | 
				
			||||||
 		*sp = '\0';
 | 
					 | 
				
			||||||
 		h->path = sp + 1;
 | 
					 | 
				
			||||||
@@ -1,71 +0,0 @@
 | 
				
			|||||||
diff -urN busybox-1.4.1/networking/ip.c busybox-1.4.1-iproute/networking/ip.c
 | 
					 | 
				
			||||||
--- busybox-1.4.1/networking/ip.c	2007-01-24 22:34:34.000000000 +0100
 | 
					 | 
				
			||||||
+++ busybox-1.4.1-iproute/networking/ip.c	2007-01-27 14:07:05.000000000 +0100
 | 
					 | 
				
			||||||
@@ -33,8 +33,9 @@
 | 
					 | 
				
			||||||
 		if (ENABLE_FEATURE_IP_LINK && matches(argv[1], "link") == 0) {
 | 
					 | 
				
			||||||
 			ret = do_iplink(argc-2, argv+2);
 | 
					 | 
				
			||||||
 		}
 | 
					 | 
				
			||||||
-		if (ENABLE_FEATURE_IP_TUNNEL &&
 | 
					 | 
				
			||||||
-			(matches(argv[1], "tunnel") == 0 || strcmp(argv[1], "tunl") == 0)) {
 | 
					 | 
				
			||||||
+		if (ENABLE_FEATURE_IP_TUNNEL
 | 
					 | 
				
			||||||
+		 && (matches(argv[1], "tunnel") == 0 || strcmp(argv[1], "tunl") == 0)
 | 
					 | 
				
			||||||
+		) {
 | 
					 | 
				
			||||||
 			ret = do_iptunnel(argc-2, argv+2);
 | 
					 | 
				
			||||||
 		}
 | 
					 | 
				
			||||||
 		if (ENABLE_FEATURE_IP_RULE && matches(argv[1], "rule") == 0) {
 | 
					 | 
				
			||||||
diff -urN busybox-1.4.1/networking/libiproute/iproute.c busybox-1.4.1-iproute/networking/libiproute/iproute.c
 | 
					 | 
				
			||||||
--- busybox-1.4.1/networking/libiproute/iproute.c	2007-01-24 22:34:33.000000000 +0100
 | 
					 | 
				
			||||||
+++ busybox-1.4.1-iproute/networking/libiproute/iproute.c	2007-01-27 14:07:05.000000000 +0100
 | 
					 | 
				
			||||||
@@ -835,9 +835,11 @@
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 int do_iproute(int argc, char **argv)
 | 
					 | 
				
			||||||
 {
 | 
					 | 
				
			||||||
-	static const char * const ip_route_commands[] =
 | 
					 | 
				
			||||||
-		{ "add", "append", "change", "chg", "delete", "get",
 | 
					 | 
				
			||||||
-		"list", "show", "prepend", "replace", "test", "flush", 0 };
 | 
					 | 
				
			||||||
+	static const char * const ip_route_commands[] = {
 | 
					 | 
				
			||||||
+	/*0-3*/	"add", "append", "change", "chg",
 | 
					 | 
				
			||||||
+	/*4-7*/	"delete", "get", "list", "show",
 | 
					 | 
				
			||||||
+	/*8..*/	"prepend", "replace", "test", "flush", 0
 | 
					 | 
				
			||||||
+	};
 | 
					 | 
				
			||||||
 	int command_num = 6;
 | 
					 | 
				
			||||||
 	unsigned int flags = 0;
 | 
					 | 
				
			||||||
 	int cmd = RTM_NEWROUTE;
 | 
					 | 
				
			||||||
@@ -848,7 +850,7 @@
 | 
					 | 
				
			||||||
 		command_num = index_in_substr_array(ip_route_commands, *argv);
 | 
					 | 
				
			||||||
 	}
 | 
					 | 
				
			||||||
 	switch (command_num) {
 | 
					 | 
				
			||||||
-		case 0: /* add*/
 | 
					 | 
				
			||||||
+		case 0: /* add */
 | 
					 | 
				
			||||||
 			flags = NLM_F_CREATE|NLM_F_EXCL;
 | 
					 | 
				
			||||||
 			break;
 | 
					 | 
				
			||||||
 		case 1: /* append */
 | 
					 | 
				
			||||||
@@ -859,21 +861,20 @@
 | 
					 | 
				
			||||||
 			flags = NLM_F_REPLACE;
 | 
					 | 
				
			||||||
 			break;
 | 
					 | 
				
			||||||
 		case 4: /* delete */
 | 
					 | 
				
			||||||
-		case 5: /* del */
 | 
					 | 
				
			||||||
 			cmd = RTM_DELROUTE;
 | 
					 | 
				
			||||||
 			break;
 | 
					 | 
				
			||||||
-		case 6: /* get */
 | 
					 | 
				
			||||||
+		case 5: /* get */
 | 
					 | 
				
			||||||
 			return iproute_get(argc-1, argv+1);
 | 
					 | 
				
			||||||
-		case 7: /* list */
 | 
					 | 
				
			||||||
-		case 8: /* show */
 | 
					 | 
				
			||||||
+		case 6: /* list */
 | 
					 | 
				
			||||||
+		case 7: /* show */
 | 
					 | 
				
			||||||
 			return iproute_list_or_flush(argc-1, argv+1, 0);
 | 
					 | 
				
			||||||
-		case 9: /* prepend */
 | 
					 | 
				
			||||||
+		case 8: /* prepend */
 | 
					 | 
				
			||||||
 			flags = NLM_F_CREATE;
 | 
					 | 
				
			||||||
-		case 10: /* replace */
 | 
					 | 
				
			||||||
+		case 9: /* replace */
 | 
					 | 
				
			||||||
 			flags = NLM_F_CREATE|NLM_F_REPLACE;
 | 
					 | 
				
			||||||
-		case 11: /* test */
 | 
					 | 
				
			||||||
+		case 10: /* test */
 | 
					 | 
				
			||||||
 			flags = NLM_F_EXCL;
 | 
					 | 
				
			||||||
-		case 12: /* flush */
 | 
					 | 
				
			||||||
+		case 11: /* flush */
 | 
					 | 
				
			||||||
 			return iproute_list_or_flush(argc-1, argv+1, 1);
 | 
					 | 
				
			||||||
 		default:
 | 
					 | 
				
			||||||
 			bb_error_msg_and_die("unknown command %s", *argv);
 | 
					 | 
				
			||||||
@@ -1,77 +0,0 @@
 | 
				
			|||||||
--- busybox.old/archival/tar.c	2007/02/03 17:28:39	17740
 | 
					 | 
				
			||||||
+++ busybox.dev/archival/tar.c	2007/02/04 21:30:35	17772
 | 
					 | 
				
			||||||
@@ -761,7 +761,9 @@
 | 
					 | 
				
			||||||
 	const char *tar_filename = "-";
 | 
					 | 
				
			||||||
 	unsigned opt;
 | 
					 | 
				
			||||||
 	int verboseFlag = 0;
 | 
					 | 
				
			||||||
+#if ENABLE_FEATURE_TAR_LONG_OPTIONS && ENABLE_FEATURE_TAR_FROM
 | 
					 | 
				
			||||||
 	llist_t *excludes = NULL;
 | 
					 | 
				
			||||||
+#endif
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 	/* Initialise default values */
 | 
					 | 
				
			||||||
 	tar_handle = init_handle();
 | 
					 | 
				
			||||||
@@ -774,7 +776,9 @@
 | 
					 | 
				
			||||||
 		"tt:vv:" // count -t,-v
 | 
					 | 
				
			||||||
 		"?:" // bail out with usage instead of error return
 | 
					 | 
				
			||||||
 		"X::T::" // cumulative lists
 | 
					 | 
				
			||||||
+#if ENABLE_FEATURE_TAR_LONG_OPTIONS && ENABLE_FEATURE_TAR_FROM
 | 
					 | 
				
			||||||
 		"\xff::" // cumulative lists for --exclude
 | 
					 | 
				
			||||||
+#endif
 | 
					 | 
				
			||||||
 		USE_FEATURE_TAR_CREATE("c:") "t:x:" // at least one of these is reqd
 | 
					 | 
				
			||||||
 		USE_FEATURE_TAR_CREATE("c--tx:t--cx:x--ct") // mutually exclusive
 | 
					 | 
				
			||||||
 		SKIP_FEATURE_TAR_CREATE("t--x:x--t"); // mutually exclusive
 | 
					 | 
				
			||||||
@@ -789,14 +793,15 @@
 | 
					 | 
				
			||||||
 		USE_FEATURE_TAR_FROM(    "T:X:")
 | 
					 | 
				
			||||||
 		USE_FEATURE_TAR_GZIP(    "z"   )
 | 
					 | 
				
			||||||
 		USE_FEATURE_TAR_COMPRESS("Z"   )
 | 
					 | 
				
			||||||
-		,
 | 
					 | 
				
			||||||
-		&base_dir, // -C dir
 | 
					 | 
				
			||||||
-		&tar_filename, // -f filename
 | 
					 | 
				
			||||||
-		USE_FEATURE_TAR_FROM(&(tar_handle->accept),) // T
 | 
					 | 
				
			||||||
-		USE_FEATURE_TAR_FROM(&(tar_handle->reject),) // X
 | 
					 | 
				
			||||||
-		USE_FEATURE_TAR_FROM(&excludes            ,) // --exclude
 | 
					 | 
				
			||||||
-		&verboseFlag, // combined count for -t and -v
 | 
					 | 
				
			||||||
-		&verboseFlag // combined count for -t and -v
 | 
					 | 
				
			||||||
+		, &base_dir // -C dir
 | 
					 | 
				
			||||||
+		, &tar_filename // -f filename
 | 
					 | 
				
			||||||
+		USE_FEATURE_TAR_FROM(, &(tar_handle->accept)) // T
 | 
					 | 
				
			||||||
+		USE_FEATURE_TAR_FROM(, &(tar_handle->reject)) // X
 | 
					 | 
				
			||||||
+#if ENABLE_FEATURE_TAR_LONG_OPTIONS && ENABLE_FEATURE_TAR_FROM
 | 
					 | 
				
			||||||
+		, &excludes // --exclude
 | 
					 | 
				
			||||||
+#endif
 | 
					 | 
				
			||||||
+		, &verboseFlag // combined count for -t and -v
 | 
					 | 
				
			||||||
+		, &verboseFlag // combined count for -t and -v
 | 
					 | 
				
			||||||
 		);
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 	if (verboseFlag) tar_handle->action_header = header_verbose_list;
 | 
					 | 
				
			||||||
@@ -829,17 +834,19 @@
 | 
					 | 
				
			||||||
 	if (opt & OPT_COMPRESS)
 | 
					 | 
				
			||||||
 		get_header_ptr = get_header_tar_Z;
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
-	if (ENABLE_FEATURE_TAR_FROM) {
 | 
					 | 
				
			||||||
-		tar_handle->reject = append_file_list_to_list(tar_handle->reject);
 | 
					 | 
				
			||||||
-		/* Append excludes to reject */
 | 
					 | 
				
			||||||
-		while (excludes) {
 | 
					 | 
				
			||||||
-			llist_t *temp = excludes->link;
 | 
					 | 
				
			||||||
-			excludes->link = tar_handle->reject;
 | 
					 | 
				
			||||||
-			tar_handle->reject = excludes;
 | 
					 | 
				
			||||||
-			excludes = temp;
 | 
					 | 
				
			||||||
-		}
 | 
					 | 
				
			||||||
-		tar_handle->accept = append_file_list_to_list(tar_handle->accept);
 | 
					 | 
				
			||||||
+#if ENABLE_FEATURE_TAR_FROM
 | 
					 | 
				
			||||||
+	tar_handle->reject = append_file_list_to_list(tar_handle->reject);
 | 
					 | 
				
			||||||
+#if ENABLE_FEATURE_TAR_LONG_OPTIONS
 | 
					 | 
				
			||||||
+	/* Append excludes to reject */
 | 
					 | 
				
			||||||
+	while (excludes) {
 | 
					 | 
				
			||||||
+		llist_t *next = excludes->link;
 | 
					 | 
				
			||||||
+		excludes->link = tar_handle->reject;
 | 
					 | 
				
			||||||
+		tar_handle->reject = excludes;
 | 
					 | 
				
			||||||
+		excludes = next;
 | 
					 | 
				
			||||||
 	}
 | 
					 | 
				
			||||||
+#endif
 | 
					 | 
				
			||||||
+	tar_handle->accept = append_file_list_to_list(tar_handle->accept);
 | 
					 | 
				
			||||||
+#endif
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 	/* Check if we are reading from stdin */
 | 
					 | 
				
			||||||
 	if (argv[optind] && *argv[optind] == '-') {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@@ -1,26 +0,0 @@
 | 
				
			|||||||
--- busybox-1.4.1/coreutils/stty.c.old	2007-03-13 12:59:49.000000000 +0100
 | 
					 | 
				
			||||||
+++ busybox-1.4.1/coreutils/stty.c	2007-03-13 07:51:38.000000000 +0100
 | 
					 | 
				
			||||||
@@ -568,10 +568,11 @@
 | 
					 | 
				
			||||||
 		NULL
 | 
					 | 
				
			||||||
 	};
 | 
					 | 
				
			||||||
 	int i = index_in_str_array(params, name);
 | 
					 | 
				
			||||||
-	if (i) {
 | 
					 | 
				
			||||||
-		if (!(i == 4 || i == 5))
 | 
					 | 
				
			||||||
-			i |= 0x80;
 | 
					 | 
				
			||||||
-	}
 | 
					 | 
				
			||||||
+	if (i < 0)
 | 
					 | 
				
			||||||
+		return 0;
 | 
					 | 
				
			||||||
+	if (!(i == 4 || i == 5))
 | 
					 | 
				
			||||||
+		i |= 0x80;
 | 
					 | 
				
			||||||
+
 | 
					 | 
				
			||||||
 	return i;
 | 
					 | 
				
			||||||
 }
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
@@ -907,6 +908,7 @@
 | 
					 | 
				
			||||||
 #define STTY_verbose_output     (1<<2)
 | 
					 | 
				
			||||||
 #define STTY_recoverable_output (1<<3)
 | 
					 | 
				
			||||||
 #define STTY_noargs             (1<<4)
 | 
					 | 
				
			||||||
+int stty_main(int argc, char **argv);
 | 
					 | 
				
			||||||
 int stty_main(int argc, char **argv)
 | 
					 | 
				
			||||||
 {
 | 
					 | 
				
			||||||
 	struct termios mode;
 | 
					 | 
				
			||||||
		Reference in New Issue
	
	Block a user