diff options
-rw-r--r-- | package/e2fsprogs/e2fsprogs-1.37-2.patch | 583 | ||||
-rw-r--r-- | package/e2fsprogs/e2fsprogs.mk | 14 |
2 files changed, 11 insertions, 586 deletions
diff --git a/package/e2fsprogs/e2fsprogs-1.37-2.patch b/package/e2fsprogs/e2fsprogs-1.37-2.patch deleted file mode 100644 index 0fe9bb085..000000000 --- a/package/e2fsprogs/e2fsprogs-1.37-2.patch +++ /dev/null @@ -1,583 +0,0 @@ -diff -urN e2fsprogs-1.37/ChangeLog e2fsprogs-1.37-patched/ChangeLog ---- e2fsprogs-1.37/ChangeLog 2005-03-21 21:37:01.000000000 -0600 -+++ e2fsprogs-1.37-patched/ChangeLog 2005-06-18 16:34:01.000000000 -0500 -@@ -1,3 +1,8 @@ -+2005-03-31 Theodore Ts'o <tytso@mit.edu> -+ -+ * configure.in: Add tests for __secure_getenv(), prctl(), -+ and sys/prctl.h -+ - 2005-03-21 Theodore Ts'o <tytso@mit.edu> - - * Release of E2fsprogs 1.37 -diff -urN e2fsprogs-1.37/configure e2fsprogs-1.37-patched/configure ---- e2fsprogs-1.37/configure 2005-02-05 14:53:55.000000000 -0600 -+++ e2fsprogs-1.37-patched/configure 2005-06-18 16:34:01.000000000 -0500 -@@ -10713,7 +10713,8 @@ - - - --for ac_header in stdlib.h unistd.h stdarg.h stdint.h errno.h malloc.h mntent.h paths.h dirent.h getopt.h setjmp.h signal.h termios.h linux/fd.h linux/major.h sys/disklabel.h sys/ioctl.h sys/mkdev.h sys/queue.h sys/sockio.h sys/socket.h sys/sysmacros.h sys/time.h sys/stat.h sys/types.h sys/wait.h sys/resource.h net/if_dl.h netinet/in.h -+ -+for ac_header in stdlib.h unistd.h stdarg.h stdint.h errno.h malloc.h mntent.h paths.h dirent.h getopt.h setjmp.h signal.h termios.h linux/fd.h linux/major.h sys/disklabel.h sys/ioctl.h sys/mkdev.h sys/prctl.h sys/queue.h sys/sockio.h sys/socket.h sys/sysmacros.h sys/time.h sys/stat.h sys/types.h sys/wait.h sys/resource.h net/if_dl.h netinet/in.h - do - as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` - if eval "test \"\${$as_ac_Header+set}\" = set"; then -@@ -13816,7 +13817,9 @@ - - - --for ac_func in chflags getrusage llseek lseek64 open64 getmntinfo strtoull strcasecmp srandom fchown mallinfo fdatasync strnlen strptime sysconf pathconf posix_memalign memalign valloc -+ -+ -+for ac_func in chflags getrusage llseek lseek64 open64 getmntinfo strtoull strcasecmp srandom fchown mallinfo fdatasync strnlen strptime sysconf pathconf posix_memalign memalign valloc __secure_getenv prctl - do - as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` - echo "$as_me:$LINENO: checking for $ac_func" >&5 -diff -urN e2fsprogs-1.37/configure.in e2fsprogs-1.37-patched/configure.in ---- e2fsprogs-1.37/configure.in 2005-02-05 14:53:55.000000000 -0600 -+++ e2fsprogs-1.37-patched/configure.in 2005-06-18 16:34:01.000000000 -0500 -@@ -525,7 +525,7 @@ - else - AC_CHECK_PROGS(BUILD_CC, gcc cc) - fi --AC_CHECK_HEADERS(stdlib.h unistd.h stdarg.h stdint.h errno.h malloc.h mntent.h paths.h dirent.h getopt.h setjmp.h signal.h termios.h linux/fd.h linux/major.h sys/disklabel.h sys/ioctl.h sys/mkdev.h sys/queue.h sys/sockio.h sys/socket.h sys/sysmacros.h sys/time.h sys/stat.h sys/types.h sys/wait.h sys/resource.h net/if_dl.h netinet/in.h) -+AC_CHECK_HEADERS(stdlib.h unistd.h stdarg.h stdint.h errno.h malloc.h mntent.h paths.h dirent.h getopt.h setjmp.h signal.h termios.h linux/fd.h linux/major.h sys/disklabel.h sys/ioctl.h sys/mkdev.h sys/prctl.h sys/queue.h sys/sockio.h sys/socket.h sys/sysmacros.h sys/time.h sys/stat.h sys/types.h sys/wait.h sys/resource.h net/if_dl.h netinet/in.h) - AC_CHECK_HEADERS(sys/disk.h sys/mount.h,,, - [[ - #if HAVE_SYS_QUEUE_H -@@ -628,7 +628,7 @@ - [#include <sys/types.h> - #include <sys/socket.h>]) - dnl --AC_CHECK_FUNCS(chflags getrusage llseek lseek64 open64 getmntinfo strtoull strcasecmp srandom fchown mallinfo fdatasync strnlen strptime sysconf pathconf posix_memalign memalign valloc) -+AC_CHECK_FUNCS(chflags getrusage llseek lseek64 open64 getmntinfo strtoull strcasecmp srandom fchown mallinfo fdatasync strnlen strptime sysconf pathconf posix_memalign memalign valloc __secure_getenv prctl) - dnl - dnl Check to see if -lsocket is required (solaris) to make something - dnl that uses socket() to compile; this is needed for the UUID library -diff -urN e2fsprogs-1.37/debian/changelog e2fsprogs-1.37-patched/debian/changelog ---- e2fsprogs-1.37/debian/changelog 2005-03-21 21:37:01.000000000 -0600 -+++ e2fsprogs-1.37-patched/debian/changelog 2005-06-18 16:34:01.000000000 -0500 -@@ -1,3 +1,20 @@ -+e2fsprogs (1.37-2) unstable; urgency=low -+ -+ * Fix filefrag so that it works non ext2/3 filesystems again. -+ (Closes: #303509) -+ * Make sure we include stdlib.h to fix a core dump bug in mke2fs on the -+ IA64 architecture (or other platforms where sizeof(ptr) > sizeof(int)) -+ (Closes: #302200) -+ * Add missing return values so that we don't return garbage in certain -+ error cases in ext2fs_write_new_inode() and ext2fs_read_int_block(). -+ * Fix minor spelling typo in the mke2fs man page -+ * Avoid doing the LOW_DTIME checks if the superblock last mount time -+ indicates that the system clock may not be set correctly. -+ * Add further paranoia checks to the blkid, ext2fs, and ss libraries to -+ make them safe to call from setuid or setgid applications. -+ -+ -- Theodore Y. Ts'o <tytso@mit.edu> Sat, 9 Apr 2005 11:08:04 -0400 -+ - e2fsprogs (1.37-1) unstable; urgency=low - - * New upstream release. -diff -urN e2fsprogs-1.37/e2fsck/ChangeLog e2fsprogs-1.37-patched/e2fsck/ChangeLog ---- e2fsprogs-1.37/e2fsck/ChangeLog 2005-03-21 21:37:01.000000000 -0600 -+++ e2fsprogs-1.37-patched/e2fsck/ChangeLog 2005-06-18 16:34:01.000000000 -0500 -@@ -1,3 +1,9 @@ -+2005-04-06 Theodore Ts'o <tytso@mit.edu> -+ -+ * pass1.c (e2fsck_pass1): If the superblock last mount time (not -+ just the last write time) looks insane, then assume that -+ we can't do the LOW_DTIME checks. -+ - 2005-03-21 Theodore Ts'o <tytso@mit.edu> - - * Release of E2fsprogs 1.37 -diff -urN e2fsprogs-1.37/e2fsck/pass1.c e2fsprogs-1.37-patched/e2fsck/pass1.c ---- e2fsprogs-1.37/e2fsck/pass1.c 2005-03-21 16:31:21.000000000 -0600 -+++ e2fsprogs-1.37-patched/e2fsck/pass1.c 2005-06-18 16:34:01.000000000 -0500 -@@ -518,7 +518,8 @@ - if (ctx->progress) - if ((ctx->progress)(ctx, 1, 0, ctx->fs->group_desc_count)) - return; -- if (fs->super->s_wtime < fs->super->s_inodes_count) -+ if ((fs->super->s_wtime < fs->super->s_inodes_count) || -+ (fs->super->s_mtime < fs->super->s_inodes_count)) - busted_fs_time = 1; - - while (1) { -diff -urN e2fsprogs-1.37/e2fsprogs.lsm e2fsprogs-1.37-patched/e2fsprogs.lsm ---- e2fsprogs-1.37/e2fsprogs.lsm 2005-03-21 21:37:01.000000000 -0600 -+++ e2fsprogs-1.37-patched/e2fsprogs.lsm 2005-06-18 16:34:01.000000000 -0500 -@@ -8,7 +8,7 @@ - Author: tytso@mit.edu (Theodore Tso) - Maintained-by: tytso@mit.edu (Theodore Tso) - Primary-site: download.sourceforge.net /pub/sourceforge/e2fsprogs -- 3192kB e2fsprogs-1.37.tar.gz -+ 3432kB e2fsprogs-1.37.tar.gz - 452kB e2fsprogs-libs-1.37.tar.gz - 1kB e2fsprogs-1.37.lsm - Alternate-site: -diff -urN e2fsprogs-1.37/lib/blkid/ChangeLog e2fsprogs-1.37-patched/lib/blkid/ChangeLog ---- e2fsprogs-1.37/lib/blkid/ChangeLog 2005-03-21 21:32:51.000000000 -0600 -+++ e2fsprogs-1.37-patched/lib/blkid/ChangeLog 2005-06-18 16:34:01.000000000 -0500 -@@ -1,3 +1,12 @@ -+2005-03-31 Theodore Ts'o <tytso@mit.edu> -+ -+ * cache.c (blkid_get_cache): Use a much more paranoid -+ safe_getenv() function which will ignore the BLKID_FILE -+ environment varaible if the application program is setgid -+ or on a Linux system, if kernel doesn't think the process -+ is eligible to create a core dump. Also if glibc has -+ __secure_getenv(), then use it. -+ - 2005-03-21 Theodore Ts'o <tytso@mit.edu> - - * Release of E2fsprogs 1.37 -diff -urN e2fsprogs-1.37/lib/blkid/cache.c e2fsprogs-1.37-patched/lib/blkid/cache.c ---- e2fsprogs-1.37/lib/blkid/cache.c 2005-03-21 21:11:36.000000000 -0600 -+++ e2fsprogs-1.37-patched/lib/blkid/cache.c 2005-06-18 16:34:01.000000000 -0500 -@@ -10,12 +10,48 @@ - * %End-Header% - */ - -+#if HAVE_UNISTD_H -+#include <unistd.h> -+#endif -+#ifdef HAVE_ERRNO_H -+#include <errno.h> -+#endif - #include <stdlib.h> - #include <string.h> -+#ifdef HAVE_SYS_PRCTL_H -+#include <sys/prctl.h> -+#else -+#define PR_GET_DUMPABLE 3 -+#endif -+#if (!defined(HAVE_PRCTL) && defined(linux)) -+#include <sys/syscall.h> -+#endif - #include "blkidP.h" - - int blkid_debug_mask = 0; - -+ -+static char *safe_getenv(const char *arg) -+{ -+ if ((getuid() != geteuid()) || (getgid() != getgid())) -+ return NULL; -+#if HAVE_PRCTL -+ if (prctl(PR_GET_DUMPABLE) == 0) -+ return NULL; -+#else -+#if (defined(linux) && defined(SYS_prctl)) -+ if (syscall(SYS_prctl, PR_GET_DUMPABLE) == 0) -+ return NULL; -+#endif -+#endif -+ -+#ifdef HAVE___SECURE_GETENV -+ return __secure_getenv("BLKID_FILE"); -+#else -+ return getenv("BLKID_FILE"); -+#endif -+} -+ - int blkid_get_cache(blkid_cache *ret_cache, const char *filename) - { - blkid_cache cache; -@@ -41,8 +77,8 @@ - - if (filename && !strlen(filename)) - filename = 0; -- if (!filename && (getuid() == geteuid())) -- filename = getenv("BLKID_FILE"); -+ if (!filename) -+ filename = safe_getenv("BLKID_FILE"); - if (!filename) - filename = BLKID_CACHE_FILE; - cache->bic_filename = blkid_strdup(filename); -diff -urN e2fsprogs-1.37/lib/e2p/ChangeLog e2fsprogs-1.37-patched/lib/e2p/ChangeLog ---- e2fsprogs-1.37/lib/e2p/ChangeLog 2005-03-21 21:37:01.000000000 -0600 -+++ e2fsprogs-1.37-patched/lib/e2p/ChangeLog 2005-06-18 16:34:01.000000000 -0500 -@@ -1,3 +1,15 @@ -+2005-04-09 Theodore Ts'o <tytso@mit.edu> -+ -+ * ls.c: Add stdlib.h header file since list_super2() uses the -+ free() function. -+ -+2005-03-30 Theodore Ts'o <tytso@mit.edu> -+ -+ * ostype.c (e2p_os2string): Check to make sure malloc() is -+ successful before attempting to copy into it. Add -+ #include of stdlib.h to fix a core dump bug on the IA64 -+ architecture. (Addresses Debian Bug #302200) -+ - 2005-03-21 Theodore Ts'o <tytso@mit.edu> - - * Release of E2fsprogs 1.37 -diff -urN e2fsprogs-1.37/lib/e2p/ls.c e2fsprogs-1.37-patched/lib/e2p/ls.c ---- e2fsprogs-1.37/lib/e2p/ls.c 2005-03-19 14:59:40.000000000 -0600 -+++ e2fsprogs-1.37-patched/lib/e2p/ls.c 2005-06-18 16:34:01.000000000 -0500 -@@ -12,6 +12,7 @@ - */ - - #include <stdio.h> -+#include <stdlib.h> - #include <sys/types.h> - #include <string.h> - #include <grp.h> -diff -urN e2fsprogs-1.37/lib/e2p/ostype.c e2fsprogs-1.37-patched/lib/e2p/ostype.c ---- e2fsprogs-1.37/lib/e2p/ostype.c 2005-03-19 00:17:09.000000000 -0600 -+++ e2fsprogs-1.37-patched/lib/e2p/ostype.c 2005-06-18 16:34:01.000000000 -0500 -@@ -9,6 +9,7 @@ - - #include "e2p.h" - #include <string.h> -+#include <stdlib.h> - - const char *os_tab[] = - { "Linux", -@@ -32,7 +33,8 @@ - os = "(unknown os)"; - - ret = malloc(strlen(os)+1); -- strcpy(ret, os); -+ if (ret) -+ strcpy(ret, os); - return ret; - } - -diff -urN e2fsprogs-1.37/lib/ext2fs/ChangeLog e2fsprogs-1.37-patched/lib/ext2fs/ChangeLog ---- e2fsprogs-1.37/lib/ext2fs/ChangeLog 2005-03-21 21:37:01.000000000 -0600 -+++ e2fsprogs-1.37-patched/lib/ext2fs/ChangeLog 2005-06-18 16:34:01.000000000 -0500 -@@ -1,3 +1,16 @@ -+2005-04-09 Theodore Ts'o <tytso@mit.edu> -+ -+ * inode.c (ext2fs_write_new_inode), -+ ind_block.c (ext2fs_read_ind_block): Add missing return -+ value in error return case. (Otherwise we return garbage -+ instead of the error code.) -+ -+2005-03-31 Theodore Ts'o <tytso@mit.edu> -+ -+ * test_io.c (test_open): If called by a setuid/setgid or an -+ otherwise privileged program, be paranoid and ignore the -+ TEST_IO_* environment variables. -+ - 2005-03-21 Theodore Ts'o <tytso@mit.edu> - - * Release of E2fsprogs 1.37 -diff -urN e2fsprogs-1.37/lib/ext2fs/Makefile.in e2fsprogs-1.37-patched/lib/ext2fs/Makefile.in ---- e2fsprogs-1.37/lib/ext2fs/Makefile.in 2005-03-18 22:50:32.000000000 -0600 -+++ e2fsprogs-1.37-patched/lib/ext2fs/Makefile.in 2005-06-18 16:49:05.000000000 -0500 -@@ -400,6 +400,7 @@ - $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ - $(srcdir)/ext2_fs.h $(top_srcdir)/lib/et/com_err.h $(srcdir)/ext2_io.h \ - $(top_builddir)/lib/ext2fs/ext2_err.h $(srcdir)/bitops.h -+ind_block.o: ext2_err.c - initialize.o: $(srcdir)/initialize.c $(srcdir)/ext2_fs.h \ - $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ - $(srcdir)/ext2_fs.h $(top_srcdir)/lib/et/com_err.h $(srcdir)/ext2_io.h \ -diff -urN e2fsprogs-1.37/lib/ext2fs/ext2fs.h e2fsprogs-1.37-patched/lib/ext2fs/ext2fs.h ---- e2fsprogs-1.37/lib/ext2fs/ext2fs.h 2005-03-20 21:31:41.000000000 -0600 -+++ e2fsprogs-1.37-patched/lib/ext2fs/ext2fs.h 2005-06-18 16:33:06.000000000 -0500 -@@ -61,7 +61,7 @@ - #include <stdio.h> - #include <stdlib.h> - --#if EXT2_FLAT_INCLUDES -+#ifdef EXT2_FLAT_INCLUDES - #include "e2_types.h" - #include "ext2_fs.h" - #else -@@ -76,14 +76,14 @@ - typedef __s64 e2_blkcnt_t; - typedef __u32 ext2_dirhash_t; - --#if EXT2_FLAT_INCLUDES -+#ifdef EXT2_FLAT_INCLUDES - #include "com_err.h" - #include "ext2_io.h" - #include "ext2_err.h" - #else - #include <et/com_err.h> --#include <ext2fs/ext2_io.h> - #include <ext2fs/ext2_err.h> -+#include <ext2fs/ext2_io.h> - #endif - - /* -@@ -245,7 +245,7 @@ - io_channel image_io; - }; - --#if EXT2_FLAT_INCLUDES -+#ifdef EXT2_FLAT_INCLUDES - #include "e2_bitops.h" - #else - #include <ext2fs/bitops.h> -diff -urN e2fsprogs-1.37/lib/ext2fs/ind_block.c e2fsprogs-1.37-patched/lib/ext2fs/ind_block.c ---- e2fsprogs-1.37/lib/ext2fs/ind_block.c 2005-01-05 22:15:49.000000000 -0600 -+++ e2fsprogs-1.37-patched/lib/ext2fs/ind_block.c 2005-06-18 16:34:01.000000000 -0500 -@@ -32,7 +32,7 @@ - else { - retval = io_channel_read_blk(fs->io, blk, 1, buf); - if (retval) -- retval; -+ return retval; - } - #ifdef EXT2FS_ENABLE_SWAPFS - if (fs->flags & (EXT2_FLAG_SWAP_BYTES | EXT2_FLAG_SWAP_BYTES_READ)) { -diff -urN e2fsprogs-1.37/lib/ext2fs/inode.c e2fsprogs-1.37-patched/lib/ext2fs/inode.c ---- e2fsprogs-1.37/lib/ext2fs/inode.c 2005-03-21 00:10:13.000000000 -0600 -+++ e2fsprogs-1.37-patched/lib/ext2fs/inode.c 2005-06-18 16:34:01.000000000 -0500 -@@ -724,7 +724,6 @@ - struct ext2_inode *inode) - { - struct ext2_inode *buf; -- errcode_t retval; - int size = EXT2_INODE_SIZE(fs->super); - struct ext2_inode_large *large_inode; - -@@ -743,7 +742,7 @@ - large_inode->i_extra_isize = sizeof(struct ext2_inode_large) - - EXT2_GOOD_OLD_INODE_SIZE; - -- retval = ext2fs_write_inode_full(fs, ino, buf, size); -+ return ext2fs_write_inode_full(fs, ino, buf, size); - } - - -diff -urN e2fsprogs-1.37/lib/ext2fs/test_io.c e2fsprogs-1.37-patched/lib/ext2fs/test_io.c ---- e2fsprogs-1.37/lib/ext2fs/test_io.c 2004-12-06 16:45:50.000000000 -0600 -+++ e2fsprogs-1.37-patched/lib/ext2fs/test_io.c 2005-06-18 16:34:01.000000000 -0500 -@@ -22,6 +22,14 @@ - #if HAVE_SYS_TYPES_H - #include <sys/types.h> - #endif -+#ifdef HAVE_SYS_PRCTL_H -+#include <sys/prctl.h> -+#else -+#define PR_GET_DUMPABLE 3 -+#endif -+#if (!defined(HAVE_PRCTL) && defined(linux)) -+#include <sys/syscall.h> -+#endif - - #include "ext2_fs.h" - #include "ext2fs.h" -@@ -132,6 +140,27 @@ - abort(); - } - -+static char *safe_getenv(const char *arg) -+{ -+ if ((getuid() != geteuid()) || (getgid() != getgid())) -+ return NULL; -+#if HAVE_PRCTL -+ if (prctl(PR_GET_DUMPABLE) == 0) -+ return NULL; -+#else -+#if (defined(linux) && defined(SYS_prctl)) -+ if (syscall(SYS_prctl, PR_GET_DUMPABLE) == 0) -+ return NULL; -+#endif -+#endif -+ -+#ifdef HAVE___SECURE_GETENV -+ return __secure_getenv("BLKID_FILE"); -+#else -+ return getenv("BLKID_FILE"); -+#endif -+} -+ - static errcode_t test_open(const char *name, int flags, io_channel *channel) - { - io_channel io = NULL; -@@ -178,25 +207,25 @@ - data->write_byte = test_io_cb_write_byte; - - data->outfile = NULL; -- if ((value = getenv("TEST_IO_LOGFILE")) != NULL) -+ if ((value = safe_getenv("TEST_IO_LOGFILE")) != NULL) - data->outfile = fopen(value, "w"); - if (!data->outfile) - data->outfile = stderr; - - data->flags = 0; -- if ((value = getenv("TEST_IO_FLAGS")) != NULL) -+ if ((value = safe_getenv("TEST_IO_FLAGS")) != NULL) - data->flags = strtoul(value, NULL, 0); - - data->block = 0; -- if ((value = getenv("TEST_IO_BLOCK")) != NULL) -+ if ((value = safe_getenv("TEST_IO_BLOCK")) != NULL) - data->block = strtoul(value, NULL, 0); - - data->read_abort_count = 0; -- if ((value = getenv("TEST_IO_READ_ABORT")) != NULL) -+ if ((value = safe_getenv("TEST_IO_READ_ABORT")) != NULL) - data->read_abort_count = strtoul(value, NULL, 0); - - data->write_abort_count = 0; -- if ((value = getenv("TEST_IO_WRITE_ABORT")) != NULL) -+ if ((value = safe_getenv("TEST_IO_WRITE_ABORT")) != NULL) - data->write_abort_count = strtoul(value, NULL, 0); - - *channel = io; -diff -urN e2fsprogs-1.37/lib/ss/ChangeLog e2fsprogs-1.37-patched/lib/ss/ChangeLog ---- e2fsprogs-1.37/lib/ss/ChangeLog 2005-03-21 21:37:01.000000000 -0600 -+++ e2fsprogs-1.37-patched/lib/ss/ChangeLog 2005-06-18 16:34:01.000000000 -0500 -@@ -1,3 +1,10 @@ -+2005-03-31 Theodore Ts'o <tytso@mit.edu> -+ -+ * get_readline.c (ss_get_readline), pager.c (ss_page_stdin): If -+ called by a setuid/setgid or an otherwise privileged -+ program, be paranoid and ignore the PAGER and -+ SS_READLINE_PATH environment variables. -+ - 2005-03-21 Theodore Ts'o <tytso@mit.edu> - - * Release of E2fsprogs 1.37 -diff -urN e2fsprogs-1.37/lib/ss/get_readline.c e2fsprogs-1.37-patched/lib/ss/get_readline.c ---- e2fsprogs-1.37/lib/ss/get_readline.c 2003-12-07 11:11:38.000000000 -0600 -+++ e2fsprogs-1.37-patched/lib/ss/get_readline.c 2005-06-18 16:34:01.000000000 -0500 -@@ -50,7 +50,7 @@ - if (info->readline_handle) - return; - -- libpath = getenv("SS_READLINE_PATH"); -+ libpath = ss_safe_getenv("SS_READLINE_PATH"); - if (!libpath) - libpath = DEFAULT_LIBPATH; - if (*libpath == 0 || !strcmp(libpath, "none")) -diff -urN e2fsprogs-1.37/lib/ss/pager.c e2fsprogs-1.37-patched/lib/ss/pager.c ---- e2fsprogs-1.37/lib/ss/pager.c 2003-12-07 11:11:38.000000000 -0600 -+++ e2fsprogs-1.37-patched/lib/ss/pager.c 2005-06-18 16:34:01.000000000 -0500 -@@ -28,11 +28,40 @@ - #include <sys/types.h> - #include <sys/file.h> - #include <signal.h> -+#ifdef HAVE_SYS_PRCTL_H -+#include <sys/prctl.h> -+#else -+#define PR_GET_DUMPABLE 3 -+#endif -+#if (!defined(HAVE_PRCTL) && defined(linux)) -+#include <sys/syscall.h> -+#endif - - static char MORE[] = "more"; - extern char *_ss_pager_name; - extern char *getenv PROTOTYPE((const char *)); - -+char *ss_safe_getenv(const char *arg) -+{ -+ if ((getuid() != geteuid()) || (getgid() != getgid())) -+ return NULL; -+#if HAVE_PRCTL -+ if (prctl(PR_GET_DUMPABLE) == 0) -+ return NULL; -+#else -+#if (defined(linux) && defined(SYS_prctl)) -+ if (syscall(SYS_prctl, PR_GET_DUMPABLE) == 0) -+ return NULL; -+#endif -+#endif -+ -+#ifdef HAVE___SECURE_GETENV -+ return __secure_getenv("BLKID_FILE"); -+#else -+ return getenv("BLKID_FILE"); -+#endif -+} -+ - /* - * this needs a *lot* of work.... - * -@@ -89,7 +118,7 @@ - sigdelset(&mask, SIGINT); - sigprocmask(SIG_SETMASK, &mask, 0); - if (_ss_pager_name == (char *)NULL) { -- if ((_ss_pager_name = getenv("PAGER")) == (char *)NULL) -+ if ((_ss_pager_name = ss_safe_getenv("PAGER")) == (char *)NULL) - _ss_pager_name = MORE; - } - (void) execlp(_ss_pager_name, _ss_pager_name, (char *) NULL); -diff -urN e2fsprogs-1.37/lib/ss/ss_internal.h e2fsprogs-1.37-patched/lib/ss/ss_internal.h ---- e2fsprogs-1.37/lib/ss/ss_internal.h 2003-12-07 11:11:38.000000000 -0600 -+++ e2fsprogs-1.37-patched/lib/ss/ss_internal.h 2005-06-18 16:34:01.000000000 -0500 -@@ -89,6 +89,7 @@ - void ss_list_requests(int, char const * const *, int, pointer); - int ss_execute_command(int sci_idx, char *argv[]); - int ss_pager_create(void); -+char *ss_safe_getenv(const char *arg); - char **ss_rl_completion(const char *text, int start, int end); - - extern ss_data **_ss_table; -diff -urN e2fsprogs-1.37/misc/ChangeLog e2fsprogs-1.37-patched/misc/ChangeLog ---- e2fsprogs-1.37/misc/ChangeLog 2005-03-21 21:37:01.000000000 -0600 -+++ e2fsprogs-1.37-patched/misc/ChangeLog 2005-06-18 16:34:01.000000000 -0500 -@@ -1,3 +1,13 @@ -+2005-04-09 Theodore Ts'o <tytso@mit.edu> -+ -+ * filefrag.c (frag_report): Don't abort filefrag if -+ EXT3_IOC_GETFLAGS ioctl is not supported, so that filefrag -+ can work on non-ext2/3 filesystems, as advertised. -+ (Addresses Debian Bug: #303509) -+ -+ * mke2fs.8.in: Fix minor spelling typo. (Addresses SourceForge -+ Bug #1177804) -+ - 2005-03-21 Theodore Ts'o <tytso@mit.edu> - - * Release of E2fsprogs 1.37 -diff -urN e2fsprogs-1.37/misc/filefrag.c e2fsprogs-1.37-patched/misc/filefrag.c ---- e2fsprogs-1.37/misc/filefrag.c 2005-03-18 19:25:28.000000000 -0600 -+++ e2fsprogs-1.37-patched/misc/filefrag.c 2005-06-18 16:34:01.000000000 -0500 -@@ -110,11 +110,8 @@ - close(fd); - return; - } -- if (ioctl(fd, EXT3_IOC_GETFLAGS, &flags) < 0) { -- perror("EXT3_IOC_GETFLAGS"); -- close(fd); -- return; -- } -+ if (ioctl(fd, EXT3_IOC_GETFLAGS, &flags) < 0) -+ flags = 0; - if (flags & EXT3_EXTENTS_FL) { - printf("File is stored in extents format\n"); - is_ext2 = 0; -diff -urN e2fsprogs-1.37/misc/mke2fs.8.in e2fsprogs-1.37-patched/misc/mke2fs.8.in ---- e2fsprogs-1.37/misc/mke2fs.8.in 2005-01-05 10:12:19.000000000 -0600 -+++ e2fsprogs-1.37-patched/misc/mke2fs.8.in 2005-06-18 16:34:01.000000000 -0500 -@@ -305,7 +305,7 @@ - .B \-M - Set the last mounted directory for the filesystem. This might be useful - for the sake of utilities that key off of the last mounted directory to --determine where the filesytem should be mounted. -+determine where the filesystem should be mounted. - .TP - .B \-n - causes mke2fs to not actually create a filesystem, but display what it -diff -urN e2fsprogs-1.37/tests/ChangeLog e2fsprogs-1.37-patched/tests/ChangeLog ---- e2fsprogs-1.37/tests/ChangeLog 2005-03-21 21:37:01.000000000 -0600 -+++ e2fsprogs-1.37-patched/tests/ChangeLog 2005-06-18 16:34:01.000000000 -0500 -@@ -1,3 +1,8 @@ -+2005-04-09 Theodore Ts'o <tytso@mit.edu> -+ -+ * test_script.in: Make the test script driver exit with a non-zero -+ status if there are any failed tests. -+ - 2005-03-21 Theodore Ts'o <tytso@mit.edu> - - * Release of E2fsprogs 1.37 -diff -urN e2fsprogs-1.37/tests/test_script.in e2fsprogs-1.37-patched/tests/test_script.in ---- e2fsprogs-1.37/tests/test_script.in 2005-01-17 18:13:38.000000000 -0600 -+++ e2fsprogs-1.37-patched/tests/test_script.in 2005-06-18 16:34:01.000000000 -0500 -@@ -59,3 +59,4 @@ - - echo "$num_ok tests succeeded $num_failed tests failed" - -+test "$num_failed" -eq 0 || exit 1 diff --git a/package/e2fsprogs/e2fsprogs.mk b/package/e2fsprogs/e2fsprogs.mk index 3bcfaf9d8..882ec90cf 100644 --- a/package/e2fsprogs/e2fsprogs.mk +++ b/package/e2fsprogs/e2fsprogs.mk @@ -3,7 +3,7 @@ # e2fsprogs # ############################################################# -E2FSPROGS_VER:=1.37 +E2FSPROGS_VER:=1.38 E2FSPROGS_SOURCE=e2fsprogs-$(E2FSPROGS_VER).tar.gz E2FSPROGS_SITE=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/e2fsprogs E2FSPROGS_DIR=$(BUILD_DIR)/e2fsprogs-$(E2FSPROGS_VER) @@ -11,6 +11,10 @@ E2FSPROGS_CAT:=zcat E2FSPROGS_BINARY:=misc/mke2fs E2FSPROGS_TARGET_BINARY:=sbin/mke2fs +E2FSPROGS_MISC_STRIP:= \ + badblocks blkid chattr dumpe2fs filefrag fsck logsave \ + lsattr mke2fs mklost+found tune2fs uuidgen + $(DL_DIR)/$(E2FSPROGS_SOURCE): $(WGET) -P $(DL_DIR) $(E2FSPROGS_SITE)/$(E2FSPROGS_SOURCE) @@ -44,7 +48,7 @@ $(E2FSPROGS_DIR)/.configured: $(E2FSPROGS_DIR)/.unpacked --enable-elf-shlibs --enable-dynamic-e2fsck --disable-swapfs \ --disable-debugfs --disable-imager \ --disable-resizer --enable-fsck \ - --disable-e2initrd-helper \ + --disable-e2initrd-helper \ --without-catgets $(DISABLE_NLS) \ $(DISABLE_LARGEFILE) \ ); @@ -52,7 +56,11 @@ $(E2FSPROGS_DIR)/.configured: $(E2FSPROGS_DIR)/.unpacked $(E2FSPROGS_DIR)/$(E2FSPROGS_BINARY): $(E2FSPROGS_DIR)/.configured $(MAKE1) PATH=$(TARGET_PATH) -C $(E2FSPROGS_DIR) - -$(STRIP) $(E2FSPROGS_DIR)/misc/* + ( \ + cd $(E2FSPROGS_DIR)/misc ; \ + $(STRIP) $(E2FSPROGS_MISC_STRIP) ; \ + ) + $(STRIP) $(E2FSPROGS_DIR)/lib/lib*.so.*.* touch -c $(E2FSPROGS_DIR)/$(E2FSPROGS_BINARY) $(TARGET_DIR)/$(E2FSPROGS_TARGET_BINARY): $(E2FSPROGS_DIR)/$(E2FSPROGS_BINARY) |