mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-11-30 18:10:41 +02:00
upgrade busybox to 1.4.0
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@6204 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
8072d81b1c
commit
f4f4212c8a
@ -9,13 +9,13 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=busybox
|
PKG_NAME:=busybox
|
||||||
PKG_VERSION:=1.3.1
|
PKG_VERSION:=1.4.0
|
||||||
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:=571531cfa83726947ccb566de017ad4f
|
PKG_MD5SUM:=f24a3c1e08bc55ec44381d588e8bcced
|
||||||
PKG_CAT:=bzcat
|
PKG_CAT:=bzcat
|
||||||
|
|
||||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
|
||||||
|
@ -396,14 +396,14 @@ config BUSYBOX_CONFIG_EFENCE
|
|||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
config BUSYBOX_CONFIG_DEBUG_YANK_SUSv2
|
config BUSYBOX_CONFIG_INCLUDE_SUSv2
|
||||||
bool "Disable obsolete features removed before SUSv3?"
|
bool "Enable obsolete features removed before SUSv3?"
|
||||||
default y
|
default y
|
||||||
help
|
help
|
||||||
This option will disable backwards compatibility with SuSv2,
|
This option will enable backwards compatibility with SuSv2,
|
||||||
specifically, old-style numeric options ('command -1 <file>')
|
specifically, old-style numeric options ('command -1 <file>')
|
||||||
will not be supported in head, tail, and fold. (Note: should
|
will be supported in head, tail, and fold. (Note: should
|
||||||
yank from renice too.)
|
affect renice too.)
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
@ -440,7 +440,7 @@ config BUSYBOX_CONFIG_INSTALL_APPLET_DONT
|
|||||||
prompt "not installed"
|
prompt "not installed"
|
||||||
depends on BUSYBOX_CONFIG_FEATURE_INSTALLER || BUSYBOX_CONFIG_FEATURE_SH_STANDALONE_SHELL
|
depends on BUSYBOX_CONFIG_FEATURE_INSTALLER || BUSYBOX_CONFIG_FEATURE_SH_STANDALONE_SHELL
|
||||||
help
|
help
|
||||||
Do not install applets links. Usefull when using the -install feature
|
Do not install applet links. Useful when using the -install feature
|
||||||
or a standalone shell for rescue pruposes.
|
or a standalone shell for rescue pruposes.
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
@ -139,7 +139,7 @@ config BUSYBOX_CONFIG_RPM
|
|||||||
bool "rpm"
|
bool "rpm"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Mini RPM applet - queries and extracts
|
Mini RPM applet - queries and extracts RPM packages.
|
||||||
|
|
||||||
config BUSYBOX_CONFIG_TAR
|
config BUSYBOX_CONFIG_TAR
|
||||||
bool "tar"
|
bool "tar"
|
||||||
|
@ -11,14 +11,14 @@ config BUSYBOX_CONFIG_CHATTR
|
|||||||
help
|
help
|
||||||
chattr changes the file attributes on a second extended file system.
|
chattr changes the file attributes on a second extended file system.
|
||||||
|
|
||||||
config BUSYBOX_CONFIG_E2FSCK
|
### config E2FSCK
|
||||||
bool "e2fsck"
|
### bool "e2fsck"
|
||||||
default n
|
### default n
|
||||||
help
|
### help
|
||||||
e2fsck is used to check Linux second extended file systems (ext2fs).
|
### e2fsck is used to check Linux second extended file systems (ext2fs).
|
||||||
e2fsck also supports ext2 filesystems countaining a journal (ext3).
|
### e2fsck also supports ext2 filesystems countaining a journal (ext3).
|
||||||
The normal compat symlinks 'fsck.ext2' and 'fsck.ext3' are also
|
### The normal compat symlinks 'fsck.ext2' and 'fsck.ext3' are also
|
||||||
provided.
|
### provided.
|
||||||
|
|
||||||
config BUSYBOX_CONFIG_FSCK
|
config BUSYBOX_CONFIG_FSCK
|
||||||
bool "fsck"
|
bool "fsck"
|
||||||
@ -34,34 +34,34 @@ config BUSYBOX_CONFIG_LSATTR
|
|||||||
help
|
help
|
||||||
lsattr lists the file attributes on a second extended file system.
|
lsattr lists the file attributes on a second extended file system.
|
||||||
|
|
||||||
config BUSYBOX_CONFIG_MKE2FS
|
### config MKE2FS
|
||||||
bool "mke2fs"
|
### bool "mke2fs"
|
||||||
default n
|
### default n
|
||||||
help
|
### help
|
||||||
mke2fs is used to create an ext2/ext3 filesystem. The normal compat
|
### mke2fs is used to create an ext2/ext3 filesystem. The normal compat
|
||||||
symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided.
|
### symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided.
|
||||||
|
|
||||||
config BUSYBOX_CONFIG_TUNE2FS
|
### config TUNE2FS
|
||||||
bool "tune2fs"
|
### bool "tune2fs"
|
||||||
default n
|
### default n
|
||||||
help
|
### help
|
||||||
tune2fs allows the system administrator to adjust various tunable
|
### tune2fs allows the system administrator to adjust various tunable
|
||||||
filesystem parameters on Linux ext2/ext3 filesystems.
|
### filesystem parameters on Linux ext2/ext3 filesystems.
|
||||||
|
|
||||||
config BUSYBOX_CONFIG_E2LABEL
|
### config E2LABEL
|
||||||
bool "e2label"
|
### bool "e2label"
|
||||||
default n
|
### default n
|
||||||
depends on BUSYBOX_CONFIG_TUNE2FS
|
### depends on TUNE2FS
|
||||||
help
|
### help
|
||||||
e2label will display or change the filesystem label on the ext2
|
### e2label will display or change the filesystem label on the ext2
|
||||||
filesystem located on device.
|
### filesystem located on device.
|
||||||
|
|
||||||
config BUSYBOX_CONFIG_FINDFS
|
### config FINDFS
|
||||||
bool "findfs"
|
### bool "findfs"
|
||||||
default n
|
### default n
|
||||||
depends on BUSYBOX_CONFIG_TUNE2FS
|
### depends on TUNE2FS
|
||||||
help
|
### help
|
||||||
findfs will search the disks in the system looking for a filesystem
|
### findfs will search the disks in the system looking for a filesystem
|
||||||
which has a label matching label or a UUID equal to uuid.
|
### which has a label matching label or a UUID equal to uuid.
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
67
package/busybox/config/e2fsprogs/old_e2fsprogs/Config.in
Normal file
67
package/busybox/config/e2fsprogs/old_e2fsprogs/Config.in
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
#
|
||||||
|
# For a description of the syntax of this configuration file,
|
||||||
|
# see scripts/kbuild/config-language.txt.
|
||||||
|
#
|
||||||
|
|
||||||
|
menu "Linux Ext2 FS Progs"
|
||||||
|
|
||||||
|
config BUSYBOX_CONFIG_CHATTR
|
||||||
|
bool "chattr"
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
chattr changes the file attributes on a second extended file system.
|
||||||
|
|
||||||
|
config BUSYBOX_CONFIG_E2FSCK
|
||||||
|
bool "e2fsck"
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
e2fsck is used to check Linux second extended file systems (ext2fs).
|
||||||
|
e2fsck also supports ext2 filesystems countaining a journal (ext3).
|
||||||
|
The normal compat symlinks 'fsck.ext2' and 'fsck.ext3' are also
|
||||||
|
provided.
|
||||||
|
|
||||||
|
config BUSYBOX_CONFIG_FSCK
|
||||||
|
bool "fsck"
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
fsck is used to check and optionally repair one or more filesystems.
|
||||||
|
In actuality, fsck is simply a front-end for the various file system
|
||||||
|
checkers (fsck.fstype) available under Linux.
|
||||||
|
|
||||||
|
config BUSYBOX_CONFIG_LSATTR
|
||||||
|
bool "lsattr"
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
lsattr lists the file attributes on a second extended file system.
|
||||||
|
|
||||||
|
config BUSYBOX_CONFIG_MKE2FS
|
||||||
|
bool "mke2fs"
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
mke2fs is used to create an ext2/ext3 filesystem. The normal compat
|
||||||
|
symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided.
|
||||||
|
|
||||||
|
config BUSYBOX_CONFIG_TUNE2FS
|
||||||
|
bool "tune2fs"
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
tune2fs allows the system administrator to adjust various tunable
|
||||||
|
filesystem parameters on Linux ext2/ext3 filesystems.
|
||||||
|
|
||||||
|
config BUSYBOX_CONFIG_E2LABEL
|
||||||
|
bool "e2label"
|
||||||
|
default n
|
||||||
|
depends on BUSYBOX_CONFIG_TUNE2FS
|
||||||
|
help
|
||||||
|
e2label will display or change the filesystem label on the ext2
|
||||||
|
filesystem located on device.
|
||||||
|
|
||||||
|
config BUSYBOX_CONFIG_FINDFS
|
||||||
|
bool "findfs"
|
||||||
|
default n
|
||||||
|
depends on BUSYBOX_CONFIG_TUNE2FS
|
||||||
|
help
|
||||||
|
findfs will search the disks in the system looking for a filesystem
|
||||||
|
which has a label matching label or a UUID equal to uuid.
|
||||||
|
|
||||||
|
endmenu
|
@ -127,5 +127,12 @@ config BUSYBOX_CONFIG_FEATURE_VI_OPTIMIZE_CURSOR
|
|||||||
This will make the cursor movement faster, but requires more memory
|
This will make the cursor movement faster, but requires more memory
|
||||||
and it makes the applet a tiny bit larger.
|
and it makes the applet a tiny bit larger.
|
||||||
|
|
||||||
endmenu
|
config BUSYBOX_CONFIG_FEATURE_ALLOW_EXEC
|
||||||
|
bool "Allow vi and awk to execute shell commands"
|
||||||
|
default y
|
||||||
|
depends on BUSYBOX_CONFIG_VI || BUSYBOX_CONFIG_AWK
|
||||||
|
help
|
||||||
|
Enables vi and awk features which allows user to execute
|
||||||
|
shell commands (using system() C call).
|
||||||
|
|
||||||
|
endmenu
|
||||||
|
@ -142,6 +142,13 @@ config BUSYBOX_CONFIG_PASSWD
|
|||||||
Note that Busybox binary must be setuid root for this applet to
|
Note that Busybox binary must be setuid root for this applet to
|
||||||
work properly.
|
work properly.
|
||||||
|
|
||||||
|
config BUSYBOX_CONFIG_FEATURE_PASSWD_WEAK_CHECK
|
||||||
|
bool "Check new passwords for weakness"
|
||||||
|
default y
|
||||||
|
depends on BUSYBOX_CONFIG_PASSWD
|
||||||
|
help
|
||||||
|
With this option passwd will refuse new passwords which are "weak".
|
||||||
|
|
||||||
config BUSYBOX_CONFIG_SU
|
config BUSYBOX_CONFIG_SU
|
||||||
bool "su"
|
bool "su"
|
||||||
default n
|
default n
|
||||||
@ -154,12 +161,15 @@ config BUSYBOX_CONFIG_SU
|
|||||||
Note that Busybox binary must be setuid root for this applet to
|
Note that Busybox binary must be setuid root for this applet to
|
||||||
work properly.
|
work properly.
|
||||||
|
|
||||||
config BUSYBOX_CONFIG_SU_SYSLOG
|
config BUSYBOX_CONFIG_FEATURE_SU_SYSLOG
|
||||||
bool "Support for syslog in su"
|
bool "Enable su to write to syslog"
|
||||||
default n
|
default n
|
||||||
depends on BUSYBOX_CONFIG_SU
|
depends on BUSYBOX_CONFIG_SU
|
||||||
help
|
|
||||||
Enables support for syslog in su.
|
config BUSYBOX_CONFIG_FEATURE_SU_CHECKS_SHELLS
|
||||||
|
bool "Enable su to check user's shell to be listed in /etc/shells"
|
||||||
|
depends on BUSYBOX_CONFIG_SU
|
||||||
|
default n
|
||||||
|
|
||||||
config BUSYBOX_CONFIG_SULOGIN
|
config BUSYBOX_CONFIG_SULOGIN
|
||||||
bool "sulogin"
|
bool "sulogin"
|
||||||
|
@ -133,6 +133,11 @@ config BUSYBOX_CONFIG_LESS
|
|||||||
'less' is a pager, meaning that it displays text files. It possesses
|
'less' is a pager, meaning that it displays text files. It possesses
|
||||||
a wide array of features, and is an improvement over 'more'.
|
a wide array of features, and is an improvement over 'more'.
|
||||||
|
|
||||||
|
config BUSYBOX_CONFIG_FEATURE_LESS_MAXLINES
|
||||||
|
int "Max number of input lines less will try to eat"
|
||||||
|
default 9999999
|
||||||
|
depends on BUSYBOX_CONFIG_LESS
|
||||||
|
|
||||||
config BUSYBOX_CONFIG_FEATURE_LESS_BRACKETS
|
config BUSYBOX_CONFIG_FEATURE_LESS_BRACKETS
|
||||||
bool "Enable bracket searching"
|
bool "Enable bracket searching"
|
||||||
default n
|
default n
|
||||||
|
@ -12,6 +12,12 @@ config BUSYBOX_CONFIG_FEATURE_IPV6
|
|||||||
Enable IPv6 support in busybox.
|
Enable IPv6 support in busybox.
|
||||||
This adds IPv6 support in the networking applets.
|
This adds IPv6 support in the networking applets.
|
||||||
|
|
||||||
|
config BUSYBOX_CONFIG_ARP
|
||||||
|
bool "arp"
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
Manipulate the system ARP cache
|
||||||
|
|
||||||
config BUSYBOX_CONFIG_ARPING
|
config BUSYBOX_CONFIG_ARPING
|
||||||
bool "arping"
|
bool "arping"
|
||||||
default y
|
default y
|
||||||
@ -72,15 +78,15 @@ config BUSYBOX_CONFIG_HTTPD
|
|||||||
config BUSYBOX_CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP
|
config BUSYBOX_CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP
|
||||||
bool "Support reloading the global config file using hup signal"
|
bool "Support reloading the global config file using hup signal"
|
||||||
default n
|
default n
|
||||||
depends on BUSYBOX_CONFIG_HTTPD && BUSYBOX_CONFIG_FEATURE_HTTPD_WITHOUT_INETD
|
depends on BUSYBOX_CONFIG_HTTPD
|
||||||
help
|
help
|
||||||
This option enables processing of SIGHUP to reload cached
|
This option enables processing of SIGHUP to reload cached
|
||||||
configuration settings.
|
configuration settings.
|
||||||
|
|
||||||
config BUSYBOX_CONFIG_FEATURE_HTTPD_SETUID
|
config BUSYBOX_CONFIG_FEATURE_HTTPD_SETUID
|
||||||
bool "Enable support -u <user> option"
|
bool "Enable -u <user> option"
|
||||||
default n
|
default n
|
||||||
depends on BUSYBOX_CONFIG_HTTPD && BUSYBOX_CONFIG_FEATURE_HTTPD_WITHOUT_INETD
|
depends on BUSYBOX_CONFIG_HTTPD
|
||||||
help
|
help
|
||||||
This option allows the server to run as a specific user
|
This option allows the server to run as a specific user
|
||||||
rather than defaulting to the user that starts the server.
|
rather than defaulting to the user that starts the server.
|
||||||
|
@ -42,7 +42,7 @@ config BUSYBOX_CONFIG_KILLALL5
|
|||||||
bool "killall5"
|
bool "killall5"
|
||||||
default y
|
default y
|
||||||
depends on BUSYBOX_CONFIG_KILL
|
depends on BUSYBOX_CONFIG_KILL
|
||||||
|
|
||||||
config BUSYBOX_CONFIG_PIDOF
|
config BUSYBOX_CONFIG_PIDOF
|
||||||
bool "pidof"
|
bool "pidof"
|
||||||
default y
|
default y
|
||||||
|
11
package/busybox/patches/100-syslogd_segfault_fix.patch
Normal file
11
package/busybox/patches/100-syslogd_segfault_fix.patch
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- busybox-1.4.0/libbb/xreadlink.c Fri Jan 19 22:23:06 2007
|
||||||
|
+++ busybox-1.4.0-syslogd-n/libbb/xreadlink.c Tue Jan 23 22:35:45 2007
|
||||||
|
@@ -36,7 +36,7 @@
|
||||||
|
|
||||||
|
char *xmalloc_realpath(const char *path)
|
||||||
|
{
|
||||||
|
-#ifdef __GLIBC__
|
||||||
|
+#if defined(__GLIBC__) && !defined(__UCLIBC__)
|
||||||
|
/* glibc provides a non-standard extension */
|
||||||
|
return realpath(path, NULL);
|
||||||
|
#else
|
@ -1,230 +0,0 @@
|
|||||||
--- busybox-1.3.1/include/libbb.h Wed Dec 27 05:56:18 2006
|
|
||||||
+++ busybox-1.3.1.shadow/include/libbb.h Sat Dec 30 15:24:07 2006
|
|
||||||
@@ -46,11 +46,13 @@
|
|
||||||
#ifdef CONFIG_LOCALE_SUPPORT
|
|
||||||
#include <locale.h>
|
|
||||||
#else
|
|
||||||
-#define setlocale(x,y)
|
|
||||||
+#define setlocale(x,y) ((void)0)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "pwd_.h"
|
|
||||||
#include "grp_.h"
|
|
||||||
+/* ifdef it out, because it may include <shadow.h> */
|
|
||||||
+/* and we may not even _have_ <shadow.h>! */
|
|
||||||
#if ENABLE_FEATURE_SHADOWPASSWDS
|
|
||||||
#include "shadow_.h"
|
|
||||||
#endif
|
|
||||||
@@ -59,7 +61,7 @@
|
|
||||||
#include <limits.h>
|
|
||||||
#include <sys/param.h>
|
|
||||||
#ifndef PATH_MAX
|
|
||||||
-#define PATH_MAX 256
|
|
||||||
+#define PATH_MAX 256
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Tested to work correctly (IIRC :]) */
|
|
||||||
--- busybox-1.3.1/libpwdgrp/pwd_grp.c Wed Dec 27 05:56:32 2006
|
|
||||||
+++ busybox-1.3.1.shadow/libpwdgrp/pwd_grp.c Sat Dec 30 15:24:07 2006
|
|
||||||
@@ -52,7 +52,9 @@
|
|
||||||
|
|
||||||
extern int __parsepwent(void *pw, char *line);
|
|
||||||
extern int __parsegrent(void *gr, char *line);
|
|
||||||
+#if ENABLE_USE_BB_SHADOW
|
|
||||||
extern int __parsespent(void *sp, char *line);
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
extern int __pgsreader(int (*__parserfunc)(void *d, char *line), void *data,
|
|
||||||
char *__restrict line_buff, size_t buflen, FILE *f);
|
|
||||||
@@ -103,6 +105,7 @@
|
|
||||||
return rv;
|
|
||||||
}
|
|
||||||
|
|
||||||
+#if ENABLE_USE_BB_SHADOW
|
|
||||||
int fgetspent_r(FILE *__restrict stream, struct spwd *__restrict resultbuf,
|
|
||||||
char *__restrict buffer, size_t buflen,
|
|
||||||
struct spwd **__restrict result)
|
|
||||||
@@ -117,6 +120,7 @@
|
|
||||||
|
|
||||||
return rv;
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
/**********************************************************************/
|
|
||||||
/* For the various fget??ent funcs, return NULL on failure and a
|
|
||||||
@@ -144,6 +148,7 @@
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
+#if ENABLE_USE_BB_SHADOW
|
|
||||||
extern int fgetspent_r(FILE *__restrict stream, struct spwd *__restrict resultbuf,
|
|
||||||
char *__restrict buffer, size_t buflen,
|
|
||||||
struct spwd **__restrict result);
|
|
||||||
@@ -184,6 +189,7 @@
|
|
||||||
DONE:
|
|
||||||
return rv;
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
/**********************************************************************/
|
|
||||||
|
|
||||||
@@ -207,6 +213,7 @@
|
|
||||||
#define DO_GETXXKEY_R_PATHNAME _PATH_GROUP
|
|
||||||
#include "pwd_grp_internal.c"
|
|
||||||
|
|
||||||
+#if ENABLE_USE_BB_SHADOW
|
|
||||||
#define GETXXKEY_R_FUNC getspnam_R
|
|
||||||
#define GETXXKEY_R_PARSER __parsespent
|
|
||||||
#define GETXXKEY_R_ENTTYPE struct spwd
|
|
||||||
@@ -214,6 +221,7 @@
|
|
||||||
#define DO_GETXXKEY_R_KEYTYPE const char *__restrict
|
|
||||||
#define DO_GETXXKEY_R_PATHNAME _PATH_SHADOW
|
|
||||||
#include "pwd_grp_internal.c"
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
#define GETXXKEY_R_FUNC getpwuid_R
|
|
||||||
#define GETXXKEY_R_PARSER __parsepwent
|
|
||||||
@@ -253,6 +261,7 @@
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
+#if 0 //ENABLE_USE_BB_SHADOW
|
|
||||||
/* This function is non-standard and is currently not built. It seems
|
|
||||||
* to have been created as a reentrant version of the non-standard
|
|
||||||
* functions getspuid. Why getspuid was added, I do not know. */
|
|
||||||
@@ -286,6 +295,7 @@
|
|
||||||
getspuid_r(uid, &resultbuf, buffer, sizeof(buffer), &result);
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
struct passwd *getpwnam(const char *name)
|
|
||||||
{
|
|
||||||
@@ -307,6 +317,7 @@
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
+#if ENABLE_USE_BB_SHADOW
|
|
||||||
struct spwd *getspnam(const char *name)
|
|
||||||
{
|
|
||||||
static char buffer[PWD_BUFFER_SIZE];
|
|
||||||
@@ -316,6 +327,7 @@
|
|
||||||
getspnam_r(name, &resultbuf, buffer, sizeof(buffer), &result);
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
int getpw(uid_t uid, char *buf)
|
|
||||||
{
|
|
||||||
@@ -444,6 +456,7 @@
|
|
||||||
return rv;
|
|
||||||
}
|
|
||||||
|
|
||||||
+#if ENABLE_USE_BB_SHADOW
|
|
||||||
static FILE *spf /*= NULL*/;
|
|
||||||
void setspent(void)
|
|
||||||
{
|
|
||||||
@@ -488,6 +501,7 @@
|
|
||||||
UNLOCK;
|
|
||||||
return rv;
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
struct passwd *getpwent(void)
|
|
||||||
{
|
|
||||||
@@ -509,6 +523,7 @@
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
+#if ENABLE_USE_BB_SHADOW
|
|
||||||
struct spwd *getspent(void)
|
|
||||||
{
|
|
||||||
static char line_buff[PWD_BUFFER_SIZE];
|
|
||||||
@@ -528,6 +543,7 @@
|
|
||||||
sgetspent_r(string, &spwd, line_buff, sizeof(line_buff), &result);
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
int initgroups(const char *user, gid_t gid)
|
|
||||||
{
|
|
||||||
@@ -643,6 +659,7 @@
|
|
||||||
return rv;
|
|
||||||
}
|
|
||||||
|
|
||||||
+#if ENABLE_USE_BB_SHADOW
|
|
||||||
static const unsigned char _sp_off[] = {
|
|
||||||
offsetof(struct spwd, sp_lstchg), /* 2 - not a char ptr */
|
|
||||||
offsetof(struct spwd, sp_min), /* 3 - not a char ptr */
|
|
||||||
@@ -688,6 +705,7 @@
|
|
||||||
DO_UNLOCK:
|
|
||||||
return rv;
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
/**********************************************************************/
|
|
||||||
/* Internal uClibc functions. */
|
|
||||||
@@ -846,6 +864,7 @@
|
|
||||||
|
|
||||||
/**********************************************************************/
|
|
||||||
|
|
||||||
+#if ENABLE_USE_BB_SHADOW
|
|
||||||
static const unsigned char sp_off[] = {
|
|
||||||
offsetof(struct spwd, sp_namp), /* 0 */
|
|
||||||
offsetof(struct spwd, sp_pwdp), /* 1 */
|
|
||||||
@@ -900,6 +919,7 @@
|
|
||||||
|
|
||||||
return EINVAL;
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
/**********************************************************************/
|
|
||||||
|
|
||||||
--- busybox-1.3.1/loginutils/passwd.c Wed Dec 27 05:56:20 2006
|
|
||||||
+++ busybox-1.3.1.shadow/loginutils/passwd.c Sat Dec 30 15:24:07 2006
|
|
||||||
@@ -275,7 +275,8 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
filename = bb_path_passwd_file;
|
|
||||||
- if (ENABLE_FEATURE_SHADOWPASSWDS) {
|
|
||||||
+#if ENABLE_FEATURE_SHADOWPASSWDS
|
|
||||||
+ {
|
|
||||||
struct spwd *sp = getspnam(name);
|
|
||||||
if (!sp) {
|
|
||||||
/* LOGMODE_BOTH */
|
|
||||||
@@ -287,6 +288,7 @@
|
|
||||||
pw->pw_passwd = sp->sp_pwdp;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
/* Decide what the new password will be */
|
|
||||||
newp = NULL;
|
|
||||||
--- busybox-1.3.1/loginutils/sulogin.c Wed Dec 27 05:56:20 2006
|
|
||||||
+++ busybox-1.3.1.shadow/loginutils/sulogin.c Sat Dec 30 15:24:07 2006
|
|
||||||
@@ -41,7 +41,6 @@
|
|
||||||
char *timeout_arg;
|
|
||||||
const char * const *p;
|
|
||||||
struct passwd *pwd;
|
|
||||||
- struct spwd *spwd;
|
|
||||||
const char *shell;
|
|
||||||
|
|
||||||
logmode = LOGMODE_BOTH;
|
|
||||||
@@ -75,13 +74,15 @@
|
|
||||||
goto auth_error;
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (ENABLE_FEATURE_SHADOWPASSWDS) {
|
|
||||||
- spwd = getspnam(pwd->pw_name);
|
|
||||||
+#if ENABLE_FEATURE_SHADOWPASSWDS
|
|
||||||
+ {
|
|
||||||
+ struct spwd *spwd = getspnam(pwd->pw_name);
|
|
||||||
if (!spwd) {
|
|
||||||
goto auth_error;
|
|
||||||
}
|
|
||||||
pwd->pw_passwd = spwd->sp_pwdp;
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
while (1) {
|
|
||||||
/* cp points to a static buffer that is zeroed every time */
|
|
@ -1,24 +0,0 @@
|
|||||||
--- busybox-1.3.1/networking/ping.c 2006-12-27 05:52:39.000000000 +0100
|
|
||||||
+++ busybox-1.3.1-new/networking/ping.c 2006-12-29 18:42:36.000000000 +0100
|
|
||||||
@@ -217,7 +217,8 @@
|
|
||||||
pkt->icmp_type = ICMP_ECHO;
|
|
||||||
pkt->icmp_code = 0;
|
|
||||||
pkt->icmp_cksum = 0;
|
|
||||||
- pkt->icmp_seq = htons(ntransmitted++);
|
|
||||||
+ pkt->icmp_seq = htons(ntransmitted);
|
|
||||||
+ ntransmitted++;
|
|
||||||
pkt->icmp_id = myid;
|
|
||||||
CLR(ntohs(pkt->icmp_seq) % MAX_DUP_CHK);
|
|
||||||
|
|
||||||
--- busybox-1.3.1/networking/ping6.c 2006-12-27 05:52:39.000000000 +0100
|
|
||||||
+++ busybox-1.3.1-new/networking/ping6.c 2006-12-29 18:44:02.000000000 +0100
|
|
||||||
@@ -205,7 +205,8 @@
|
|
||||||
pkt->icmp6_type = ICMP6_ECHO_REQUEST;
|
|
||||||
pkt->icmp6_code = 0;
|
|
||||||
pkt->icmp6_cksum = 0;
|
|
||||||
- pkt->icmp6_seq = htons(ntransmitted++);
|
|
||||||
+ pkt->icmp6_seq = htons(ntransmitted);
|
|
||||||
+ ntransmitted++;
|
|
||||||
pkt->icmp6_id = myid;
|
|
||||||
CLR(pkt->icmp6_seq % MAX_DUP_CHK);
|
|
||||||
|
|
@ -3,7 +3,7 @@ diff -ruN busybox-1.3.1-old/scripts/trylink busybox-1.3.1-new/scripts/trylink
|
|||||||
+++ busybox-1.3.1-new/scripts/trylink 2007-01-01 21:01:08.000000000 +0100
|
+++ busybox-1.3.1-new/scripts/trylink 2007-01-01 21:01:08.000000000 +0100
|
||||||
@@ -1,4 +1,4 @@
|
@@ -1,4 +1,4 @@
|
||||||
-#!/bin/sh
|
-#!/bin/sh
|
||||||
+#!/bin/bash
|
+#!/usr/bin/env bash
|
||||||
|
|
||||||
debug=false
|
debug=false
|
||||||
|
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
diff -ur busybox.old/e2fsprogs/ext2fs/unix_io.c busybox.dev/e2fsprogs/ext2fs/unix_io.c
|
|
||||||
--- busybox.old/e2fsprogs/ext2fs/unix_io.c 2006-12-27 05:55:58.000000000 +0100
|
|
||||||
+++ busybox.dev/e2fsprogs/ext2fs/unix_io.c 2007-01-07 16:16:52.000000000 +0100
|
|
||||||
@@ -419,7 +419,7 @@
|
|
||||||
|
|
||||||
#ifdef __linux__
|
|
||||||
#undef RLIM_INFINITY
|
|
||||||
-#if (defined(__alpha__) || ((defined(__sparc__) || defined(__mips__)) && (SIZEOF_LONG == 4)))
|
|
||||||
+#if (defined(__alpha__) || defined(__sparc__) || defined(__mips__))
|
|
||||||
#define RLIM_INFINITY ((unsigned long)(~0UL>>1))
|
|
||||||
#else
|
|
||||||
#define RLIM_INFINITY (~0UL)
|
|
@ -1,6 +1,6 @@
|
|||||||
diff -ruN busybox-1.3.1-old/networking/httpd.c busybox-1.3.1/networking/httpd.c
|
diff -ur busybox.old/networking/httpd.c busybox.dev/networking/httpd.c
|
||||||
--- busybox-1.3.1-old/networking/httpd.c 2006-12-27 05:52:39.000000000 +0100
|
--- busybox.old/networking/httpd.c 2007-01-19 22:22:59.000000000 +0100
|
||||||
+++ busybox-1.3.1/networking/httpd.c 2006-12-28 18:04:53.000000000 +0100
|
+++ busybox.dev/networking/httpd.c 2007-01-22 13:09:03.000000000 +0100
|
||||||
@@ -137,6 +137,7 @@
|
@@ -137,6 +137,7 @@
|
||||||
const char *query;
|
const char *query;
|
||||||
|
|
||||||
@ -9,15 +9,15 @@ diff -ruN busybox-1.3.1-old/networking/httpd.c busybox-1.3.1/networking/httpd.c
|
|||||||
|
|
||||||
const char *configFile;
|
const char *configFile;
|
||||||
|
|
||||||
@@ -1062,6 +1063,7 @@
|
@@ -1066,6 +1067,7 @@
|
||||||
putenv("SERVER_PROTOCOL=HTTP/1.0");
|
if (cp) *cp = '\0'; /* delete :PORT */
|
||||||
putenv("GATEWAY_INTERFACE=CGI/1.1");
|
setenv1("REMOTE_ADDR", p);
|
||||||
setenv1("REMOTE_ADDR", config->rmt_ip_str);
|
}
|
||||||
+ setenv1("HTTP_USER_AGENT", config->user_agent);
|
+ setenv1("HTTP_USER_AGENT", config->user_agent);
|
||||||
#if ENABLE_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
|
#if ENABLE_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
|
||||||
setenv_long("REMOTE_PORT", config->port);
|
setenv_long("REMOTE_PORT", config->port);
|
||||||
#endif
|
#endif
|
||||||
@@ -1605,6 +1607,8 @@
|
@@ -1629,6 +1631,8 @@
|
||||||
content_type = strdup(skip_whitespace(buf + sizeof("Content-Type:")-1));
|
content_type = strdup(skip_whitespace(buf + sizeof("Content-Type:")-1));
|
||||||
} else if ((STRNCASECMP(buf, "Referer:") == 0)) {
|
} else if ((STRNCASECMP(buf, "Referer:") == 0)) {
|
||||||
config->referer = strdup(skip_whitespace(buf + sizeof("Referer:")-1));
|
config->referer = strdup(skip_whitespace(buf + sizeof("Referer:")-1));
|
||||||
|
@ -1,37 +1,44 @@
|
|||||||
diff -ur busybox.old/editors/awk.c busybox.dev/editors/awk.c
|
diff -ur busybox.old/editors/awk.c busybox.dev/editors/awk.c
|
||||||
--- busybox.old/editors/awk.c 2006-12-27 05:56:50.000000000 +0100
|
--- busybox.old/editors/awk.c 2007-01-19 22:23:12.000000000 +0100
|
||||||
+++ busybox.dev/editors/awk.c 2007-01-01 23:12:04.000000000 +0100
|
+++ busybox.dev/editors/awk.c 2007-01-25 20:01:26.000000000 +0100
|
||||||
@@ -2634,8 +2634,6 @@
|
@@ -2639,14 +2639,13 @@
|
||||||
|
|
||||||
int awk_main(int argc, char **argv)
|
int awk_main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
- unsigned opt;
|
- unsigned opt;
|
||||||
- char *opt_F, *opt_v, *opt_W;
|
- char *opt_F, *opt_v, *opt_W;
|
||||||
char *s, *s1;
|
int i, j, flen;
|
||||||
int i, j, c, flen;
|
|
||||||
var *v;
|
var *v;
|
||||||
@@ -2691,32 +2689,44 @@
|
var tv;
|
||||||
|
char **envp;
|
||||||
|
char *vnames = (char *)vNames; /* cheat */
|
||||||
|
char *vvalues = (char *)vValues;
|
||||||
|
+ int c;
|
||||||
|
|
||||||
|
/* Undo busybox.c, or else strtod may eat ','! This breaks parsing:
|
||||||
|
* $1,$2 == '$1,' '$2', NOT '$1' ',' '$2' */
|
||||||
|
@@ -2694,39 +2693,46 @@
|
||||||
free(s);
|
free(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
- opt = getopt32(argc, argv, "F:v:f:W:", &opt_F, &opt_v, &programname, &opt_W);
|
- opt = getopt32(argc, argv, "F:v:f:W:", &opt_F, &opt_v, &programname, &opt_W);
|
||||||
|
- argv += optind;
|
||||||
|
- argc -= optind;
|
||||||
- if (opt & 0x1) setvar_s(V[FS], opt_F); // -F
|
- if (opt & 0x1) setvar_s(V[FS], opt_F); // -F
|
||||||
- if (opt & 0x2) if (!is_assignment(opt_v)) bb_show_usage(); // -v
|
- if (opt & 0x2) if (!is_assignment(opt_v)) bb_show_usage(); // -v
|
||||||
- if (opt & 0x4) { // -f
|
- if (opt & 0x4) { // -f
|
||||||
- from_file = TRUE;
|
- char *s = s; /* die, gcc, die */
|
||||||
- F = afopen(programname, "r");
|
- FILE *from_file = afopen(programname, "r");
|
||||||
- s = NULL;
|
|
||||||
- /* one byte is reserved for some trick in next_token */
|
- /* one byte is reserved for some trick in next_token */
|
||||||
- if (fseek(F, 0, SEEK_END) == 0) {
|
- if (fseek(from_file, 0, SEEK_END) == 0) {
|
||||||
- flen = ftell(F);
|
- flen = ftell(from_file);
|
||||||
- s = (char *)xmalloc(flen+4);
|
- s = xmalloc(flen + 4);
|
||||||
- fseek(F, 0, SEEK_SET);
|
- fseek(from_file, 0, SEEK_SET);
|
||||||
- i = 1 + fread(s+1, 1, flen, F);
|
- i = 1 + fread(s + 1, 1, flen, from_file);
|
||||||
- } else {
|
- } else {
|
||||||
- for (i=j=1; j>0; i+=j) {
|
- for (i = j = 1; j > 0; i += j) {
|
||||||
- s = (char *)xrealloc(s, i+4096);
|
- s = xrealloc(s, i + 4096);
|
||||||
- j = fread(s+i, 1, 4094, F);
|
- j = fread(s + i, 1, 4094, from_file);
|
||||||
- }
|
|
||||||
+ while((c = getopt(argc, argv, "F:v:f:W:")) != EOF) {
|
+ while((c = getopt(argc, argv, "F:v:f:W:")) != EOF) {
|
||||||
+ switch (c) {
|
+ switch (c) {
|
||||||
+ case 'F':
|
+ case 'F':
|
||||||
@ -41,10 +48,9 @@ diff -ur busybox.old/editors/awk.c busybox.dev/editors/awk.c
|
|||||||
+ if (! is_assignment(optarg))
|
+ if (! is_assignment(optarg))
|
||||||
+ bb_show_usage();
|
+ bb_show_usage();
|
||||||
+ break;
|
+ break;
|
||||||
+ case 'f':
|
+ case 'f': {
|
||||||
+ from_file = TRUE;
|
+ FILE *F = afopen(programname = optarg, "r");
|
||||||
+ F = afopen(programname = optarg, "r");
|
+ char *s = NULL;
|
||||||
+ s = NULL;
|
|
||||||
+ /* one byte is reserved for some trick in next_token */
|
+ /* one byte is reserved for some trick in next_token */
|
||||||
+ if (fseek(F, 0, SEEK_END) == 0) {
|
+ if (fseek(F, 0, SEEK_END) == 0) {
|
||||||
+ flen = ftell(F);
|
+ flen = ftell(F);
|
||||||
@ -62,6 +68,7 @@ diff -ur busybox.old/editors/awk.c busybox.dev/editors/awk.c
|
|||||||
+ parse_program(s+1);
|
+ parse_program(s+1);
|
||||||
+ free(s);
|
+ free(s);
|
||||||
+ break;
|
+ break;
|
||||||
|
}
|
||||||
+ case 'W':
|
+ case 'W':
|
||||||
+ bb_error_msg("Warning: unrecognized option '-W %s' ignored\n", optarg);
|
+ bb_error_msg("Warning: unrecognized option '-W %s' ignored\n", optarg);
|
||||||
+ break;
|
+ break;
|
||||||
@ -70,12 +77,20 @@ diff -ur busybox.old/editors/awk.c busybox.dev/editors/awk.c
|
|||||||
+ bb_show_usage();
|
+ bb_show_usage();
|
||||||
}
|
}
|
||||||
- s[i] = '\0';
|
- s[i] = '\0';
|
||||||
- fclose(F);
|
- fclose(from_file);
|
||||||
- parse_program(s+1);
|
- parse_program(s + 1);
|
||||||
- free(s);
|
- free(s);
|
||||||
|
- } else { // no -f: take program from 1st parameter
|
||||||
|
- if (!argc)
|
||||||
|
- bb_show_usage();
|
||||||
|
- programname = "cmd. line";
|
||||||
|
- parse_program(*argv++);
|
||||||
|
- argc--;
|
||||||
}
|
}
|
||||||
- if (opt & 0x8) // -W
|
- if (opt & 0x8) // -W
|
||||||
- bb_error_msg("warning: unrecognized option '-W %s' ignored", opt_W);
|
- bb_error_msg("warning: unrecognized option '-W %s' ignored", opt_W);
|
||||||
|
+ argc -= optind;
|
||||||
|
+ argv += optind;
|
||||||
|
|
||||||
if (!from_file) {
|
/* fill in ARGV array */
|
||||||
if (argc == optind)
|
setvar_i(V[ARGC], argc + 1);
|
||||||
|
@ -1,14 +0,0 @@
|
|||||||
diff -Nru busybox-1.3.1.orig/sysklogd/syslogd.c busybox-1.3.1/sysklogd/syslogd.c
|
|
||||||
--- busybox-1.3.1.orig/sysklogd/syslogd.c 2007-01-02 21:28:26.000000000 +0700
|
|
||||||
+++ busybox-1.3.1/sysklogd/syslogd.c 2007-01-02 21:29:10.000000000 +0700
|
|
||||||
@@ -304,8 +304,8 @@
|
|
||||||
vsnprintf(b, sizeof(b) - 1, fmt, arguments);
|
|
||||||
va_end(arguments);
|
|
||||||
circ_message(b);
|
|
||||||
-
|
|
||||||
- } else
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
#endif
|
|
||||||
fd = device_open(logFilePath, O_WRONLY | O_CREAT
|
|
||||||
| O_NOCTTY | O_APPEND | O_NONBLOCK);
|
|
File diff suppressed because it is too large
Load Diff
@ -1,448 +0,0 @@
|
|||||||
# Copyright (C) 2006 OpenWrt.org
|
|
||||||
#
|
|
||||||
# This is free software, licensed under the GNU General Public License v2.
|
|
||||||
# See /LICENSE for more information.
|
|
||||||
#
|
|
||||||
# remove (numerous) compile warnings
|
|
||||||
#
|
|
||||||
diff -ruN busybox-1.1.2+ipkg-0.99.162/archival/libipkg/file_util.c busybox-1.1.2+ipkg-0.99.162-no_warnings/archival/libipkg/file_util.c
|
|
||||||
--- busybox-1.1.2+ipkg-0.99.162/archival/libipkg/file_util.c 2006-05-09 02:06:48.000000000 +0200
|
|
||||||
+++ busybox-1.1.2+ipkg-0.99.162-no_warnings/archival/libipkg/file_util.c 2006-05-09 02:16:48.000000000 +0200
|
|
||||||
@@ -123,7 +123,7 @@
|
|
||||||
|
|
||||||
int file_mkdir_hier(const char *path, long mode)
|
|
||||||
{
|
|
||||||
- return bb_make_directory(path, mode, FILEUTILS_RECUR);
|
|
||||||
+ return bb_make_directory((char *)path, mode, FILEUTILS_RECUR);
|
|
||||||
}
|
|
||||||
|
|
||||||
char *file_md5sum_alloc(const char *file_name)
|
|
||||||
diff -ruN busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_cmd.c busybox-1.1.2+ipkg-0.99.162-no_warnings/archival/libipkg/ipkg_cmd.c
|
|
||||||
--- busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_cmd.c 2006-05-09 02:23:37.000000000 +0200
|
|
||||||
+++ busybox-1.1.2+ipkg-0.99.162-no_warnings/archival/libipkg/ipkg_cmd.c 2006-05-09 02:23:17.000000000 +0200
|
|
||||||
@@ -246,7 +246,7 @@
|
|
||||||
in = fopen (tmp_file_name, "r");
|
|
||||||
out = fopen (list_file_name, "w");
|
|
||||||
if (in && out)
|
|
||||||
- inflate_unzip (in, out);
|
|
||||||
+ inflate_unzip (fileno(in), fileno(out));
|
|
||||||
else
|
|
||||||
err = 1;
|
|
||||||
if (in)
|
|
||||||
@@ -894,14 +894,13 @@
|
|
||||||
pkg_vec_free(available);
|
|
||||||
} else {
|
|
||||||
pkg_vec_t *installed_pkgs = pkg_vec_alloc();
|
|
||||||
- int i;
|
|
||||||
int flagged_pkg_count = 0;
|
|
||||||
int removed;
|
|
||||||
|
|
||||||
pkg_hash_fetch_all_installed(&conf->pkg_hash, installed_pkgs);
|
|
||||||
|
|
||||||
for (i = 0; i < installed_pkgs->len; i++) {
|
|
||||||
- pkg_t *pkg = installed_pkgs->pkgs[i];
|
|
||||||
+ pkg = installed_pkgs->pkgs[i];
|
|
||||||
if (pkg->state_flag & SF_USER) {
|
|
||||||
flagged_pkg_count++;
|
|
||||||
} else {
|
|
||||||
@@ -921,7 +920,7 @@
|
|
||||||
do {
|
|
||||||
removed = 0;
|
|
||||||
for (i = 0; i < installed_pkgs->len; i++) {
|
|
||||||
- pkg_t *pkg = installed_pkgs->pkgs[i];
|
|
||||||
+ pkg = installed_pkgs->pkgs[i];
|
|
||||||
if (!(pkg->state_flag & SF_USER)
|
|
||||||
&& !pkg_has_installed_dependents(conf, pkg->parent, pkg, NULL)) {
|
|
||||||
removed++;
|
|
||||||
@@ -976,7 +975,7 @@
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
pkg_t *pkg;
|
|
||||||
- const char *flags = argv[0];
|
|
||||||
+ char *flags = argv[0];
|
|
||||||
|
|
||||||
global_conf = conf;
|
|
||||||
signal(SIGINT, sigint_handler);
|
|
||||||
diff -ruN busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_conf.c busybox-1.1.2+ipkg-0.99.162-no_warnings/archival/libipkg/ipkg_conf.c
|
|
||||||
--- busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_conf.c 2006-05-09 02:12:04.000000000 +0200
|
|
||||||
+++ busybox-1.1.2+ipkg-0.99.162-no_warnings/archival/libipkg/ipkg_conf.c 2006-05-09 02:16:48.000000000 +0200
|
|
||||||
@@ -542,14 +542,14 @@
|
|
||||||
if (strcmp(type, "option") == 0) {
|
|
||||||
ipkg_conf_set_option(options, name, value);
|
|
||||||
} else if (strcmp(type, "src") == 0) {
|
|
||||||
- if (!nv_pair_list_find(pkg_src_list, name)) {
|
|
||||||
+ if (!nv_pair_list_find((nv_pair_list_t *)pkg_src_list, name)) {
|
|
||||||
pkg_src_list_append (pkg_src_list, name, value, extra, 0);
|
|
||||||
} else {
|
|
||||||
ipkg_message(conf, IPKG_ERROR, "ERROR: duplicate src declaration. Skipping:\n\t src %s %s\n",
|
|
||||||
name, value);
|
|
||||||
}
|
|
||||||
} else if (strcmp(type, "src/gz") == 0) {
|
|
||||||
- if (!nv_pair_list_find(pkg_src_list, name)) {
|
|
||||||
+ if (!nv_pair_list_find((nv_pair_list_t *)pkg_src_list, name)) {
|
|
||||||
pkg_src_list_append (pkg_src_list, name, value, extra, 1);
|
|
||||||
} else {
|
|
||||||
ipkg_message(conf, IPKG_ERROR, "ERROR: duplicate src declaration. Skipping:\n\t src %s %s\n",
|
|
||||||
diff -ruN busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_download.c busybox-1.1.2+ipkg-0.99.162-no_warnings/archival/libipkg/ipkg_download.c
|
|
||||||
--- busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_download.c 2006-05-09 02:12:04.000000000 +0200
|
|
||||||
+++ busybox-1.1.2+ipkg-0.99.162-no_warnings/archival/libipkg/ipkg_download.c 2006-05-09 02:22:51.000000000 +0200
|
|
||||||
@@ -166,7 +166,7 @@
|
|
||||||
if (err)
|
|
||||||
return err;
|
|
||||||
pkg->local_filename = strdup(url);
|
|
||||||
- ipkg_message(conf, IPKG_DEBUG2, "Package %s provided by hand \(%s\).\n", pkg->name,pkg->local_filename);
|
|
||||||
+ ipkg_message(conf, IPKG_DEBUG2, "Package %s provided by hand (%s).\n", pkg->name,pkg->local_filename);
|
|
||||||
pkg->provided_by_hand = 1;
|
|
||||||
|
|
||||||
} else {
|
|
||||||
diff -ruN busybox-1.1.2+ipkg-0.99.162/archival/libipkg/libipkg.c busybox-1.1.2+ipkg-0.99.162-no_warnings/archival/libipkg/libipkg.c
|
|
||||||
--- busybox-1.1.2+ipkg-0.99.162/archival/libipkg/libipkg.c 2006-05-09 02:12:05.000000000 +0200
|
|
||||||
+++ busybox-1.1.2+ipkg-0.99.162-no_warnings/archival/libipkg/libipkg.c 2006-05-09 02:16:48.000000000 +0200
|
|
||||||
@@ -445,7 +445,7 @@
|
|
||||||
int
|
|
||||||
ipkg_op (int argc, char *argv[])
|
|
||||||
{
|
|
||||||
- int err, optind;
|
|
||||||
+ int err, opt_index;
|
|
||||||
args_t args;
|
|
||||||
char *cmd_name;
|
|
||||||
ipkg_cmd_t *cmd;
|
|
||||||
@@ -453,13 +453,13 @@
|
|
||||||
|
|
||||||
args_init (&args);
|
|
||||||
|
|
||||||
- optind = args_parse (&args, argc, argv);
|
|
||||||
- if (optind == argc || optind < 0)
|
|
||||||
+ opt_index = args_parse (&args, argc, argv);
|
|
||||||
+ if (opt_index == argc || opt_index < 0)
|
|
||||||
{
|
|
||||||
args_usage ("ipkg must have one sub-command argument");
|
|
||||||
}
|
|
||||||
|
|
||||||
- cmd_name = argv[optind++];
|
|
||||||
+ cmd_name = argv[opt_index++];
|
|
||||||
/* Pigi: added a flag to disable the checking of structures if the command does not need to
|
|
||||||
read anything from there.
|
|
||||||
*/
|
|
||||||
@@ -509,7 +509,7 @@
|
|
||||||
args_usage (NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (cmd->requires_args && optind == argc)
|
|
||||||
+ if (cmd->requires_args && opt_index == argc)
|
|
||||||
{
|
|
||||||
fprintf (stderr,
|
|
||||||
"%s: the ``%s'' command requires at least one argument\n",
|
|
||||||
@@ -517,7 +517,7 @@
|
|
||||||
args_usage (NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
- err = ipkg_cmd_exec (cmd, &ipkg_conf, argc - optind, (const char **) (argv + optind), NULL);
|
|
||||||
+ err = ipkg_cmd_exec (cmd, &ipkg_conf, argc - opt_index, (const char **) (argv + opt_index), NULL);
|
|
||||||
|
|
||||||
ipkg_conf_deinit (&ipkg_conf);
|
|
||||||
|
|
||||||
diff -ruN busybox-1.1.2+ipkg-0.99.162/archival/libipkg/md5.c busybox-1.1.2+ipkg-0.99.162-no_warnings/archival/libipkg/md5.c
|
|
||||||
--- busybox-1.1.2+ipkg-0.99.162/archival/libipkg/md5.c 2006-05-09 02:06:48.000000000 +0200
|
|
||||||
+++ busybox-1.1.2+ipkg-0.99.162-no_warnings/archival/libipkg/md5.c 2006-05-09 02:16:48.000000000 +0200
|
|
||||||
@@ -25,7 +25,6 @@
|
|
||||||
int md5_stream(FILE *stream, void *resblock)
|
|
||||||
{
|
|
||||||
int fd;
|
|
||||||
- int sum;
|
|
||||||
|
|
||||||
if( (fd = fileno(stream)) == -1 ) {
|
|
||||||
bb_error_msg("bad file descriptor");
|
|
||||||
diff -ruN busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg.c busybox-1.1.2+ipkg-0.99.162-no_warnings/archival/libipkg/pkg.c
|
|
||||||
--- busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg.c 2006-05-09 02:12:05.000000000 +0200
|
|
||||||
+++ busybox-1.1.2+ipkg-0.99.162-no_warnings/archival/libipkg/pkg.c 2006-05-09 02:16:48.000000000 +0200
|
|
||||||
@@ -528,6 +528,7 @@
|
|
||||||
char * pkg_formatted_field(pkg_t *pkg, const char *field )
|
|
||||||
{
|
|
||||||
static size_t LINE_LEN = 128;
|
|
||||||
+ char line_str[LINE_LEN];
|
|
||||||
char * temp = (char *)malloc(1);
|
|
||||||
int len = 0;
|
|
||||||
int flag_provide_false = 0;
|
|
||||||
@@ -567,7 +568,6 @@
|
|
||||||
if (strcasecmp(field, "Conffiles") == 0) {
|
|
||||||
/* Conffiles */
|
|
||||||
conffile_list_elt_t *iter;
|
|
||||||
- char confstr[LINE_LEN];
|
|
||||||
|
|
||||||
if (pkg->conffiles.head == NULL) {
|
|
||||||
return temp;
|
|
||||||
@@ -588,15 +588,14 @@
|
|
||||||
strncpy(temp, "Conffiles:\n", 12);
|
|
||||||
for (iter = pkg->conffiles.head; iter; iter = iter->next) {
|
|
||||||
if (iter->data->name && iter->data->value) {
|
|
||||||
- snprintf(confstr, LINE_LEN, "%s %s\n", iter->data->name, iter->data->value);
|
|
||||||
- strncat(temp, confstr, strlen(confstr));
|
|
||||||
+ snprintf(line_str, LINE_LEN, "%s %s\n", iter->data->name, iter->data->value);
|
|
||||||
+ strncat(temp, line_str, strlen(line_str));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else if (strcasecmp(field, "Conflicts") == 0) {
|
|
||||||
int i;
|
|
||||||
|
|
||||||
if (pkg->conflicts_count) {
|
|
||||||
- char conflictstr[LINE_LEN];
|
|
||||||
len = 14 ;
|
|
||||||
for(i = 0; i < pkg->conflicts_count; i++) {
|
|
||||||
len = len + (strlen(pkg->conflicts_str[i])+5);
|
|
||||||
@@ -609,8 +608,8 @@
|
|
||||||
temp[0]='\0';
|
|
||||||
strncpy(temp, "Conflicts:", 11);
|
|
||||||
for(i = 0; i < pkg->conflicts_count; i++) {
|
|
||||||
- snprintf(conflictstr, LINE_LEN, "%s %s", i == 0 ? "" : ",", pkg->conflicts_str[i]);
|
|
||||||
- strncat(temp, conflictstr, strlen(conflictstr));
|
|
||||||
+ snprintf(line_str, LINE_LEN, "%s %s", i == 0 ? "" : ",", pkg->conflicts_str[i]);
|
|
||||||
+ strncat(temp, line_str, strlen(line_str));
|
|
||||||
}
|
|
||||||
strncat(temp, "\n", strlen("\n"));
|
|
||||||
}
|
|
||||||
@@ -625,7 +624,6 @@
|
|
||||||
int i;
|
|
||||||
|
|
||||||
if (pkg->depends_count) {
|
|
||||||
- char depstr[LINE_LEN];
|
|
||||||
len = 14 ;
|
|
||||||
for(i = 0; i < pkg->depends_count; i++) {
|
|
||||||
len = len + (strlen(pkg->depends_str[i])+4);
|
|
||||||
@@ -638,8 +636,8 @@
|
|
||||||
temp[0]='\0';
|
|
||||||
strncpy(temp, "Depends:", 10);
|
|
||||||
for(i = 0; i < pkg->depends_count; i++) {
|
|
||||||
- snprintf(depstr, LINE_LEN, "%s %s", i == 0 ? "" : ",", pkg->depends_str[i]);
|
|
||||||
- strncat(temp, depstr, strlen(depstr));
|
|
||||||
+ snprintf(line_str, LINE_LEN, "%s %s", i == 0 ? "" : ",", pkg->depends_str[i]);
|
|
||||||
+ strncat(temp, line_str, strlen(line_str));
|
|
||||||
}
|
|
||||||
strncat(temp, "\n", strlen("\n"));
|
|
||||||
}
|
|
||||||
@@ -804,7 +802,6 @@
|
|
||||||
/* Replaces | Recommends*/
|
|
||||||
if (strcasecmp (field, "Replaces") == 0) {
|
|
||||||
if (pkg->replaces_count) {
|
|
||||||
- char replstr[LINE_LEN];
|
|
||||||
len = 14;
|
|
||||||
for (i = 0; i < pkg->replaces_count; i++) {
|
|
||||||
len = len + (strlen(pkg->replaces_str[i])+5);
|
|
||||||
@@ -817,14 +814,13 @@
|
|
||||||
temp[0]='\0';
|
|
||||||
strncpy(temp, "Replaces:", 12);
|
|
||||||
for (i = 0; i < pkg->replaces_count; i++) {
|
|
||||||
- snprintf(replstr, LINE_LEN, "%s %s", i == 0 ? "" : ",", pkg->replaces_str[i]);
|
|
||||||
- strncat(temp, replstr, strlen(replstr));
|
|
||||||
+ snprintf(line_str, LINE_LEN, "%s %s", i == 0 ? "" : ",", pkg->replaces_str[i]);
|
|
||||||
+ strncat(temp, line_str, strlen(line_str));
|
|
||||||
}
|
|
||||||
strncat(temp, "\n", strlen("\n"));
|
|
||||||
}
|
|
||||||
} else if (strcasecmp (field, "Recommends") == 0) {
|
|
||||||
if (pkg->recommends_count) {
|
|
||||||
- char recstr[LINE_LEN];
|
|
||||||
len = 15;
|
|
||||||
for(i = 0; i < pkg->recommends_count; i++) {
|
|
||||||
len = len + (strlen( pkg->recommends_str[i])+5);
|
|
||||||
@@ -837,8 +833,8 @@
|
|
||||||
temp[0]='\0';
|
|
||||||
strncpy(temp, "Recommends:", 13);
|
|
||||||
for(i = 0; i < pkg->recommends_count; i++) {
|
|
||||||
- snprintf(recstr, LINE_LEN, "%s %s", i == 0 ? "" : ",", pkg->recommends_str[i]);
|
|
||||||
- strncat(temp, recstr, strlen(recstr));
|
|
||||||
+ snprintf(line_str, LINE_LEN, "%s %s", i == 0 ? "" : ",", pkg->recommends_str[i]);
|
|
||||||
+ strncat(temp, line_str, strlen(line_str));
|
|
||||||
}
|
|
||||||
strncat(temp, "\n", strlen("\n"));
|
|
||||||
}
|
|
||||||
@@ -907,7 +903,6 @@
|
|
||||||
} else if (strcasecmp(field, "Suggests") == 0) {
|
|
||||||
if (pkg->suggests_count) {
|
|
||||||
int i;
|
|
||||||
- char sugstr[LINE_LEN];
|
|
||||||
len = 13;
|
|
||||||
for(i = 0; i < pkg->suggests_count; i++) {
|
|
||||||
len = len + (strlen(pkg->suggests_str[i])+5);
|
|
||||||
@@ -920,8 +915,8 @@
|
|
||||||
temp[0]='\0';
|
|
||||||
strncpy(temp, "Suggests:", 10);
|
|
||||||
for(i = 0; i < pkg->suggests_count; i++) {
|
|
||||||
- snprintf(sugstr, LINE_LEN, "%s %s", i == 0 ? "" : ",", pkg->suggests_str[i]);
|
|
||||||
- strncat(temp, sugstr, strlen(sugstr));
|
|
||||||
+ snprintf(line_str, LINE_LEN, "%s %s", i == 0 ? "" : ",", pkg->suggests_str[i]);
|
|
||||||
+ strncat(temp, line_str, strlen(line_str));
|
|
||||||
}
|
|
||||||
strncat(temp, "\n", strlen("\n"));
|
|
||||||
}
|
|
||||||
@@ -1140,10 +1135,8 @@
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
-int pkg_name_version_and_architecture_compare(void *p1, void *p2)
|
|
||||||
+int pkg_name_version_and_architecture_compare(pkg_t *a, pkg_t *b)
|
|
||||||
{
|
|
||||||
- const pkg_t *a = *(const pkg_t **)p1;
|
|
||||||
- const pkg_t *b = *(const pkg_t **)p2;
|
|
||||||
int namecmp;
|
|
||||||
int vercmp;
|
|
||||||
if (!a->name || !b->name) {
|
|
||||||
@@ -1170,10 +1163,8 @@
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
-int abstract_pkg_name_compare(void *p1, void *p2)
|
|
||||||
+int abstract_pkg_name_compare(abstract_pkg_t *a, abstract_pkg_t *b)
|
|
||||||
{
|
|
||||||
- const abstract_pkg_t *a = *(const abstract_pkg_t **)p1;
|
|
||||||
- const abstract_pkg_t *b = *(const abstract_pkg_t **)p2;
|
|
||||||
if (!a->name || !b->name) {
|
|
||||||
fprintf(stderr, "abstract_pkg_name_compare: a=%p a->name=%p b=%p b->name=%p\n",
|
|
||||||
a, a->name, b, b->name);
|
|
||||||
@@ -1193,7 +1184,7 @@
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (pkg->epoch) {
|
|
||||||
- sprintf_alloc(&epoch_str, "%d:", pkg->epoch);
|
|
||||||
+ sprintf_alloc(&epoch_str, "%d:", (int)(pkg->epoch));
|
|
||||||
} else {
|
|
||||||
epoch_str = strdup("");
|
|
||||||
}
|
|
||||||
diff -ruN busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg.h busybox-1.1.2+ipkg-0.99.162-no_warnings/archival/libipkg/pkg.h
|
|
||||||
--- busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg.h 2006-05-09 02:12:05.000000000 +0200
|
|
||||||
+++ busybox-1.1.2+ipkg-0.99.162-no_warnings/archival/libipkg/pkg.h 2006-05-09 02:16:48.000000000 +0200
|
|
||||||
@@ -194,8 +194,8 @@
|
|
||||||
char *pkg_version_str_alloc(pkg_t *pkg);
|
|
||||||
|
|
||||||
int pkg_compare_versions(const pkg_t *pkg, const pkg_t *ref_pkg);
|
|
||||||
-int pkg_name_version_and_architecture_compare(void *a, void *b);
|
|
||||||
-int abstract_pkg_name_compare(void *a, void *b);
|
|
||||||
+int pkg_name_version_and_architecture_compare(pkg_t *a, pkg_t *b);
|
|
||||||
+int abstract_pkg_name_compare(abstract_pkg_t *a, abstract_pkg_t *b);
|
|
||||||
|
|
||||||
char * pkg_formatted_info(pkg_t *pkg );
|
|
||||||
char * pkg_formatted_field(pkg_t *pkg, const char *field );
|
|
||||||
diff -ruN busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_depends.c busybox-1.1.2+ipkg-0.99.162-no_warnings/archival/libipkg/pkg_depends.c
|
|
||||||
--- busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_depends.c 2006-05-09 02:12:05.000000000 +0200
|
|
||||||
+++ busybox-1.1.2+ipkg-0.99.162-no_warnings/archival/libipkg/pkg_depends.c 2006-05-09 02:16:48.000000000 +0200
|
|
||||||
@@ -68,7 +68,7 @@
|
|
||||||
pkg_vec_t *unsatisfied, char *** unresolved)
|
|
||||||
{
|
|
||||||
pkg_t * satisfier_entry_pkg;
|
|
||||||
- register int i, j, k;
|
|
||||||
+ register int i, j, k, l;
|
|
||||||
int count, found;
|
|
||||||
char ** the_lost;
|
|
||||||
abstract_pkg_t * ab_pkg;
|
|
||||||
@@ -113,7 +113,6 @@
|
|
||||||
abstract_pkg_vec_t *ab_provider_vec = abpkg->provided_by;
|
|
||||||
int nposs = ab_provider_vec->len;
|
|
||||||
abstract_pkg_t **ab_providers = ab_provider_vec->pkgs;
|
|
||||||
- int l;
|
|
||||||
for (l = 0; l < nposs; l++) {
|
|
||||||
pkg_vec_t *test_vec = ab_providers[l]->pkgs;
|
|
||||||
/* if no depends on this one, try the first package that Provides this one */
|
|
||||||
@@ -137,10 +136,9 @@
|
|
||||||
tmp_vec,
|
|
||||||
&newstuff);
|
|
||||||
if (newstuff == NULL) {
|
|
||||||
- int i;
|
|
||||||
int ok = 1;
|
|
||||||
- for (i = 0; i < rc; i++) {
|
|
||||||
- pkg_t *p = tmp_vec->pkgs[i];
|
|
||||||
+ for (l = 0; l < rc; l++) {
|
|
||||||
+ pkg_t *p = tmp_vec->pkgs[l];
|
|
||||||
if (p->state_want == SW_INSTALL)
|
|
||||||
continue;
|
|
||||||
ipkg_message(conf, IPKG_DEBUG, "not installing %s due to requirement for %s\n", pkg_scout->name, p->name);
|
|
||||||
@@ -814,27 +812,27 @@
|
|
||||||
* [npredepends+nrecommends,npredepends+nrecommends+nsuggests) -> returns recommends_str[index]
|
|
||||||
* [npredepends+nrecommends+nsuggests,npredepends+nrecommends+nsuggests+ndepends) -> returns depends_str[index]
|
|
||||||
*/
|
|
||||||
-char *pkg_depend_str(pkg_t *pkg, int index)
|
|
||||||
+char *pkg_depend_str(pkg_t *pkg, int pkg_index)
|
|
||||||
{
|
|
||||||
- if (index < pkg->pre_depends_count) {
|
|
||||||
- return pkg->pre_depends_str[index];
|
|
||||||
+ if (pkg_index < pkg->pre_depends_count) {
|
|
||||||
+ return pkg->pre_depends_str[pkg_index];
|
|
||||||
}
|
|
||||||
- index -= pkg->pre_depends_count;
|
|
||||||
+ pkg_index -= pkg->pre_depends_count;
|
|
||||||
|
|
||||||
- if (index < pkg->recommends_count) {
|
|
||||||
- return pkg->recommends_str[index];
|
|
||||||
+ if (pkg_index < pkg->recommends_count) {
|
|
||||||
+ return pkg->recommends_str[pkg_index];
|
|
||||||
}
|
|
||||||
- index -= pkg->recommends_count;
|
|
||||||
+ pkg_index -= pkg->recommends_count;
|
|
||||||
|
|
||||||
- if (index < pkg->suggests_count) {
|
|
||||||
- return pkg->suggests_str[index];
|
|
||||||
+ if (pkg_index < pkg->suggests_count) {
|
|
||||||
+ return pkg->suggests_str[pkg_index];
|
|
||||||
}
|
|
||||||
- index -= pkg->suggests_count;
|
|
||||||
+ pkg_index -= pkg->suggests_count;
|
|
||||||
|
|
||||||
- if (index < pkg->depends_count) {
|
|
||||||
- return pkg->depends_str[index];
|
|
||||||
+ if (pkg_index < pkg->depends_count) {
|
|
||||||
+ return pkg->depends_str[pkg_index];
|
|
||||||
}
|
|
||||||
- fprintf(stderr, "pkg_depend_str: index %d out of range for pkg=%s\n", index, pkg->name);
|
|
||||||
+ fprintf(stderr, "pkg_depend_str: index %d out of range for pkg=%s\n", pkg_index, pkg->name);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
diff -ruN busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_depends.h busybox-1.1.2+ipkg-0.99.162-no_warnings/archival/libipkg/pkg_depends.h
|
|
||||||
--- busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_depends.h 2006-05-09 02:06:48.000000000 +0200
|
|
||||||
+++ busybox-1.1.2+ipkg-0.99.162-no_warnings/archival/libipkg/pkg_depends.h 2006-05-09 02:16:48.000000000 +0200
|
|
||||||
@@ -92,7 +92,7 @@
|
|
||||||
*/
|
|
||||||
int pkg_conflicts(pkg_t *pkg, pkg_t *conflicts);
|
|
||||||
|
|
||||||
-char *pkg_depend_str(pkg_t *pkg, int index);
|
|
||||||
+char *pkg_depend_str(pkg_t *pkg, int pkg_index);
|
|
||||||
void buildDependedUponBy(pkg_t * pkg, abstract_pkg_t * ab_pkg);
|
|
||||||
void freeDepends(pkg_t *pkg);
|
|
||||||
void printDepends(pkg_t * pkg);
|
|
||||||
diff -ruN busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_hash.c busybox-1.1.2+ipkg-0.99.162-no_warnings/archival/libipkg/pkg_hash.c
|
|
||||||
--- busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_hash.c 2006-05-09 02:12:05.000000000 +0200
|
|
||||||
+++ busybox-1.1.2+ipkg-0.99.162-no_warnings/archival/libipkg/pkg_hash.c 2006-05-09 02:17:35.000000000 +0200
|
|
||||||
@@ -143,7 +143,7 @@
|
|
||||||
pkg_t *pkg_hash_fetch_best_installation_candidate(ipkg_conf_t *conf, abstract_pkg_t *apkg,
|
|
||||||
int (*constraint_fcn)(pkg_t *pkg, void *cdata), void *cdata, int quiet)
|
|
||||||
{
|
|
||||||
- int i;
|
|
||||||
+ int i, j;
|
|
||||||
int nprovides = 0;
|
|
||||||
int nmatching = 0;
|
|
||||||
pkg_vec_t *matching_pkgs = pkg_vec_alloc();
|
|
||||||
@@ -209,11 +209,10 @@
|
|
||||||
/* now check for supported architecture */
|
|
||||||
{
|
|
||||||
int max_count = 0;
|
|
||||||
- int i;
|
|
||||||
|
|
||||||
/* count packages matching max arch priority and keep track of last one */
|
|
||||||
- for (i = 0; i < vec->len; i++) {
|
|
||||||
- pkg_t *maybe = vec->pkgs[i];
|
|
||||||
+ for (j = 0; j < vec->len; j++) {
|
|
||||||
+ pkg_t *maybe = vec->pkgs[j];
|
|
||||||
ipkg_message(conf, IPKG_DEBUG, " %s arch=%s arch_priority=%d version=%s \n",
|
|
||||||
maybe->name, maybe->architecture, maybe->arch_priority, maybe->version);
|
|
||||||
if (maybe->arch_priority > 0) {
|
|
||||||
diff -ruN busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_vec.h busybox-1.1.2+ipkg-0.99.162-no_warnings/archival/libipkg/pkg_vec.h
|
|
||||||
--- busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_vec.h 2006-05-09 02:06:48.000000000 +0200
|
|
||||||
+++ busybox-1.1.2+ipkg-0.99.162-no_warnings/archival/libipkg/pkg_vec.h 2006-05-09 02:16:48.000000000 +0200
|
|
||||||
@@ -35,6 +35,8 @@
|
|
||||||
};
|
|
||||||
typedef struct abstract_pkg_vec abstract_pkg_vec_t;
|
|
||||||
|
|
||||||
+typedef int (*pkg_compar_t)(pkg_t *, pkg_t *);
|
|
||||||
+typedef int (*abstract_pkg_compar_t)(abstract_pkg_t *, abstract_pkg_t *);
|
|
||||||
|
|
||||||
pkg_vec_t * pkg_vec_alloc(void);
|
|
||||||
void pkg_vec_free(pkg_vec_t *vec);
|
|
@ -1,14 +1,7 @@
|
|||||||
# Copyright (C) 2006 OpenWrt.org
|
diff -ur busybox.old/coreutils/md5_sha1_sum.c busybox.dev/coreutils/md5_sha1_sum.c
|
||||||
#
|
--- busybox.old/coreutils/md5_sha1_sum.c 2007-01-19 22:23:05.000000000 +0100
|
||||||
# This is free software, licensed under the GNU General Public License v2.
|
+++ busybox.dev/coreutils/md5_sha1_sum.c 2007-01-22 13:24:51.000000000 +0100
|
||||||
# See /LICENSE for more information.
|
@@ -8,76 +8,10 @@
|
||||||
#
|
|
||||||
# expose (again) an hash_fd function (used in 911-ipkg.patch)
|
|
||||||
#
|
|
||||||
diff -ruN busybox-1.3.1-orig/coreutils/md5_sha1_sum.c busybox-1.3.1-913/coreutils/md5_sha1_sum.c
|
|
||||||
--- busybox-1.3.1-orig/coreutils/md5_sha1_sum.c 2006-12-27 05:54:50.000000000 +0100
|
|
||||||
+++ busybox-1.3.1-913/coreutils/md5_sha1_sum.c 2006-12-28 00:59:35.000000000 +0100
|
|
||||||
@@ -8,78 +8,10 @@
|
|
||||||
|
|
||||||
#include "busybox.h"
|
#include "busybox.h"
|
||||||
|
|
||||||
@ -22,11 +15,9 @@ diff -ruN busybox-1.3.1-orig/coreutils/md5_sha1_sum.c busybox-1.3.1-913/coreutil
|
|||||||
-static unsigned char *hash_bin_to_hex(unsigned char *hash_value,
|
-static unsigned char *hash_bin_to_hex(unsigned char *hash_value,
|
||||||
- unsigned hash_length)
|
- unsigned hash_length)
|
||||||
-{
|
-{
|
||||||
- int len = 0;
|
- /* xzalloc zero-terminates */
|
||||||
- char *hex_value = xmalloc((hash_length * 2) + 2);
|
- char *hex_value = xzalloc((hash_length * 2) + 1);
|
||||||
- while (hash_length--) {
|
- bin2hex(hex_value, (char*)hash_value, hash_length);
|
||||||
- len += sprintf(hex_value + len, "%02x", *hash_value++);
|
|
||||||
- }
|
|
||||||
- return hex_value;
|
- return hex_value;
|
||||||
-}
|
-}
|
||||||
-
|
-
|
||||||
@ -43,7 +34,7 @@ diff -ruN busybox-1.3.1-orig/coreutils/md5_sha1_sum.c busybox-1.3.1-913/coreutil
|
|||||||
- void (*final)(void*, void*);
|
- void (*final)(void*, void*);
|
||||||
-
|
-
|
||||||
- src_fd = STDIN_FILENO;
|
- src_fd = STDIN_FILENO;
|
||||||
- if (filename[0] != '-' || filename[1]) { /* not "-" */
|
- if (NOT_LONE_DASH(filename)) {
|
||||||
- src_fd = open(filename, O_RDONLY);
|
- src_fd = open(filename, O_RDONLY);
|
||||||
- if (src_fd < 0) {
|
- if (src_fd < 0) {
|
||||||
- bb_perror_msg("%s", filename);
|
- bb_perror_msg("%s", filename);
|
||||||
@ -87,33 +78,40 @@ diff -ruN busybox-1.3.1-orig/coreutils/md5_sha1_sum.c busybox-1.3.1-913/coreutil
|
|||||||
int md5_sha1_sum_main(int argc, char **argv)
|
int md5_sha1_sum_main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
int return_value = EXIT_SUCCESS;
|
int return_value = EXIT_SUCCESS;
|
||||||
diff -ruN busybox-1.3.1-orig/include/libbb.h busybox-1.3.1-913/include/libbb.h
|
diff -ur busybox.old/include/libbb.h busybox.dev/include/libbb.h
|
||||||
--- busybox-1.3.1-orig/include/libbb.h 2006-12-27 05:56:18.000000000 +0100
|
--- busybox.old/include/libbb.h 2007-01-19 22:23:10.000000000 +0100
|
||||||
+++ busybox-1.3.1-913/include/libbb.h 2006-12-27 23:25:52.000000000 +0100
|
+++ busybox.dev/include/libbb.h 2007-01-22 13:28:56.000000000 +0100
|
||||||
@@ -528,6 +528,8 @@
|
@@ -637,6 +637,7 @@
|
||||||
extern const char bb_uuenc_tbl_std[];
|
extern const char bb_uuenc_tbl_std[];
|
||||||
void bb_uuencode(const unsigned char *s, char *store, const int length, const char *tbl);
|
void bb_uuencode(const unsigned char *s, char *store, const int length, const char *tbl);
|
||||||
|
|
||||||
+typedef enum { HASH_SHA1, HASH_MD5 } hash_algo_t;
|
+typedef enum { HASH_SHA1, HASH_MD5 } hash_algo_t;
|
||||||
+
|
|
||||||
typedef struct sha1_ctx_t {
|
typedef struct sha1_ctx_t {
|
||||||
uint32_t count[2];
|
uint32_t count[2];
|
||||||
uint32_t hash[5];
|
uint32_t hash[5];
|
||||||
@@ -550,6 +552,10 @@
|
@@ -658,6 +659,8 @@
|
||||||
|
void md5_begin(md5_ctx_t *ctx);
|
||||||
void md5_hash(const void *data, size_t length, md5_ctx_t *ctx);
|
void md5_hash(const void *data, size_t length, md5_ctx_t *ctx);
|
||||||
void *md5_end(void *resbuf, md5_ctx_t *ctx);
|
void *md5_end(void *resbuf, md5_ctx_t *ctx);
|
||||||
|
+unsigned char *hash_bin_to_hex(unsigned char *hash_value, unsigned hash_length);
|
||||||
+unsigned char *hash_bin_to_hex(unsigned char *hash_value, unsigned char hash_length);
|
|
||||||
+int hash_fd(int fd, hash_algo_t hash_algo, uint8_t *hash_value);
|
|
||||||
+uint8_t *hash_file(const char *filename, hash_algo_t hash_algo);
|
+uint8_t *hash_file(const char *filename, hash_algo_t hash_algo);
|
||||||
+
|
|
||||||
uint32_t *crc32_filltable(int endian);
|
uint32_t *crc32_filltable(int endian);
|
||||||
|
|
||||||
|
diff -ur busybox.old/libbb/Kbuild busybox.dev/libbb/Kbuild
|
||||||
diff -ruN busybox-1.3.1-orig/libbb/hash.c busybox-1.3.1-913/libbb/hash.c
|
--- busybox.old/libbb/Kbuild 2007-01-19 22:23:06.000000000 +0100
|
||||||
--- busybox-1.3.1-orig/libbb/hash.c 1970-01-01 01:00:00.000000000 +0100
|
+++ busybox.dev/libbb/Kbuild 2007-01-22 13:29:24.000000000 +0100
|
||||||
+++ busybox-1.3.1-913/libbb/hash.c 2006-12-28 00:48:52.000000000 +0100
|
@@ -37,6 +37,7 @@
|
||||||
@@ -0,0 +1,99 @@
|
lib-y += get_last_path_component.o
|
||||||
|
lib-y += get_line_from_file.o
|
||||||
|
lib-y += getopt32.o
|
||||||
|
+lib-y += hash.o
|
||||||
|
lib-y += herror_msg.o
|
||||||
|
lib-y += herror_msg_and_die.o
|
||||||
|
lib-y += human_readable.o
|
||||||
|
--- busybox.old/libbb/hash.c 1970-01-01 01:00:00.000000000 +0100
|
||||||
|
+++ busybox.dev/libbb/hash.c 2007-01-22 13:52:41.000000000 +0100
|
||||||
|
@@ -0,0 +1,82 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Copyright (C) 2003 Glenn L. McGrath
|
+ * Copyright (C) 2003 Glenn L. McGrath
|
||||||
+ * Copyright (C) 2003-2004 Erik Andersen
|
+ * Copyright (C) 2003-2004 Erik Andersen
|
||||||
@ -131,69 +129,30 @@ diff -ruN busybox-1.3.1-orig/libbb/hash.c busybox-1.3.1-913/libbb/hash.c
|
|||||||
+
|
+
|
||||||
+#include "busybox.h"
|
+#include "busybox.h"
|
||||||
+
|
+
|
||||||
+unsigned char *hash_bin_to_hex(unsigned char *hash_value, unsigned char hash_length)
|
+/* This might be useful elsewhere */
|
||||||
|
+unsigned char *hash_bin_to_hex(unsigned char *hash_value,
|
||||||
|
+ unsigned hash_length)
|
||||||
+{
|
+{
|
||||||
+ int len = 0;
|
+ /* xzalloc zero-terminates */
|
||||||
+ char *hex_value = xmalloc((hash_length * 2) + 2);
|
+ char *hex_value = xzalloc((hash_length * 2) + 1);
|
||||||
+ while (hash_length--) {
|
+ bin2hex(hex_value, (char*)hash_value, hash_length);
|
||||||
+ len += sprintf(hex_value + len, "%02x", *hash_value++);
|
|
||||||
+ }
|
|
||||||
+ return hex_value;
|
+ return hex_value;
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+int hash_fd(int fd, hash_algo_t hash_algo, uint8_t *hash_value)
|
|
||||||
+{
|
|
||||||
+ int count, result = 0;
|
|
||||||
+ union _ctx_ {
|
|
||||||
+ sha1_ctx_t sha1;
|
|
||||||
+ md5_ctx_t md5;
|
|
||||||
+ } context;
|
|
||||||
+ RESERVE_CONFIG_UBUFFER(in_buf, 4096);
|
|
||||||
+ void (*update)(const void*, size_t, void*) = NULL;
|
|
||||||
+ void (*final)(void*, void*) = NULL;
|
|
||||||
+
|
|
||||||
+ // figure specific hash algorithims
|
|
||||||
+ if (hash_algo==HASH_MD5) {
|
|
||||||
+ md5_begin(&context.md5);
|
|
||||||
+ update = (void (*)(const void*, size_t, void*))md5_hash;
|
|
||||||
+ final = (void (*)(void*, void*))md5_end;
|
|
||||||
+ } else if (hash_algo==HASH_SHA1) {
|
|
||||||
+ sha1_begin(&context.sha1);
|
|
||||||
+ update = (void (*)(const void*, size_t, void*))sha1_hash;
|
|
||||||
+ final = (void (*)(void*, void*))sha1_end;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+ while (0 < (count = safe_read(fd, in_buf, sizeof in_buf))) {
|
|
||||||
+ update(in_buf, count, &context);
|
|
||||||
+ result += count;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (count == 0) {
|
|
||||||
+ final(hash_value, &context);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ RELEASE_CONFIG_BUFFER(in_buf);
|
|
||||||
+
|
|
||||||
+ return result;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+uint8_t *hash_file(const char *filename, hash_algo_t hash_algo)
|
+uint8_t *hash_file(const char *filename, hash_algo_t hash_algo)
|
||||||
+{
|
+{
|
||||||
+ int src_fd, hash_len;
|
+ int src_fd, hash_len, count;
|
||||||
+ RESERVE_CONFIG_UBUFFER(hash_buf, 20);
|
+ union _ctx_ {
|
||||||
|
+ sha1_ctx_t sha1;
|
||||||
|
+ md5_ctx_t md5;
|
||||||
|
+ } context;
|
||||||
+ uint8_t *hash_value = NULL;
|
+ uint8_t *hash_value = NULL;
|
||||||
+
|
+ RESERVE_CONFIG_UBUFFER(in_buf, 4096);
|
||||||
+ if (ENABLE_MD5SUM && hash_algo==HASH_MD5) {
|
+ void (*update)(const void*, size_t, void*);
|
||||||
+ hash_len = 16;
|
+ void (*final)(void*, void*);
|
||||||
+ } else if (ENABLE_SHA1SUM && hash_algo==HASH_SHA1) {
|
|
||||||
+ hash_len = 20;
|
|
||||||
+ } else {
|
|
||||||
+ bb_error_msg_and_die("algotithm not supported");
|
|
||||||
+ }
|
|
||||||
+
|
+
|
||||||
+ src_fd = STDIN_FILENO;
|
+ src_fd = STDIN_FILENO;
|
||||||
+ if (filename[0] != '-' || filename[1]) { /* not "-" */
|
+ if (NOT_LONE_DASH(filename)) {
|
||||||
+ src_fd = open(filename, O_RDONLY);
|
+ src_fd = open(filename, O_RDONLY);
|
||||||
+ if (src_fd < 0) {
|
+ if (src_fd < 0) {
|
||||||
+ bb_perror_msg("%s", filename);
|
+ bb_perror_msg("%s", filename);
|
||||||
@ -201,26 +160,37 @@ diff -ruN busybox-1.3.1-orig/libbb/hash.c busybox-1.3.1-913/libbb/hash.c
|
|||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ if (hash_fd(src_fd, hash_algo, hash_buf) > 0) {
|
+ /* figure specific hash algorithims */
|
||||||
+ hash_value = hash_bin_to_hex(hash_buf, hash_len);
|
+ if (hash_algo==HASH_MD5) {
|
||||||
|
+ md5_begin(&context.md5);
|
||||||
|
+ update = (void (*)(const void*, size_t, void*))md5_hash;
|
||||||
|
+ final = (void (*)(void*, void*))md5_end;
|
||||||
|
+ hash_len = 16;
|
||||||
|
+ } else if (hash_algo==HASH_SHA1) {
|
||||||
|
+ sha1_begin(&context.sha1);
|
||||||
|
+ update = (void (*)(const void*, size_t, void*))sha1_hash;
|
||||||
|
+ final = (void (*)(void*, void*))sha1_end;
|
||||||
|
+ hash_len = 20;
|
||||||
|
+ } else {
|
||||||
|
+ bb_error_msg_and_die("algorithm not supported");
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
|
+ while (0 < (count = safe_read(src_fd, in_buf, 4096))) {
|
||||||
|
+ update(in_buf, count, &context);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (count == 0) {
|
||||||
|
+ final(in_buf, &context);
|
||||||
|
+ hash_value = hash_bin_to_hex(in_buf, hash_len);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ RELEASE_CONFIG_BUFFER(in_buf);
|
||||||
|
+
|
||||||
+ if (src_fd != STDIN_FILENO) {
|
+ if (src_fd != STDIN_FILENO) {
|
||||||
+ close(src_fd);
|
+ close(src_fd);
|
||||||
+ }
|
+ }
|
||||||
+
|
|
||||||
+ RELEASE_CONFIG_BUFFER(hash_buf);
|
|
||||||
+
|
+
|
||||||
+ return hash_value;
|
+ return hash_value;
|
||||||
+}
|
+}
|
||||||
diff -ruN busybox-1.3.1-orig/libbb/Kbuild busybox-1.3.1-913/libbb/Kbuild
|
+
|
||||||
--- busybox-1.3.1-orig/libbb/Kbuild 2006-12-27 05:55:04.000000000 +0100
|
+
|
||||||
+++ busybox-1.3.1-913/libbb/Kbuild 2006-12-27 23:31:20.000000000 +0100
|
|
||||||
@@ -37,6 +37,7 @@
|
|
||||||
lib-y += get_last_path_component.o
|
|
||||||
lib-y += get_line_from_file.o
|
|
||||||
lib-y += getopt32.o
|
|
||||||
+lib-y += hash.o
|
|
||||||
lib-y += herror_msg.o
|
|
||||||
lib-y += herror_msg_and_die.o
|
|
||||||
lib-y += human_readable.o
|
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
# Copyright (C) 2006 OpenWrt.org
|
|
||||||
#
|
|
||||||
# This is free software, licensed under the GNU General Public License v2.
|
|
||||||
# See /LICENSE for more information.
|
|
||||||
#
|
|
||||||
# fix ipkg bugs
|
|
||||||
#
|
|
||||||
diff -ruN busybox-1.1.2+ipkg-0.99.162-no_warnings/archival/libipkg/pkg.c busybox-1.1.2+ipkg-0.99.162-fixes/archival/libipkg/pkg.c
|
|
||||||
--- busybox-1.1.2+ipkg-0.99.162-no_warnings/archival/libipkg/pkg.c 2006-05-09 02:16:48.000000000 +0200
|
|
||||||
+++ busybox-1.1.2+ipkg-0.99.162-fixes/archival/libipkg/pkg.c 2006-05-09 05:15:29.000000000 +0200
|
|
||||||
@@ -359,6 +359,8 @@
|
|
||||||
if (!oldpkg->essential)
|
|
||||||
oldpkg->essential = newpkg->essential;
|
|
||||||
|
|
||||||
+ oldpkg->provided_by_hand |= newpkg->provided_by_hand;
|
|
||||||
+
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user