[uClibc-cvs] svn commit: trunk/buildroot/package/e2fsprogs

sjhill at uclibc.org sjhill at uclibc.org
Sun Jun 19 03:33:04 UTC 2005


Author: sjhill
Date: 2005-06-18 21:33:03 -0600 (Sat, 18 Jun 2005)
New Revision: 10553

Log:
Delete gzip compressed patch and add the uncompressed one. Originally,
e2fsprogs was the only package that had a compressed patch.


Added:
   trunk/buildroot/package/e2fsprogs/e2fsprogs-1.37-2.patch

Removed:
   trunk/buildroot/package/e2fsprogs/e2fsprogs-1.37-2.patch.gz


Changeset:
Added: trunk/buildroot/package/e2fsprogs/e2fsprogs-1.37-2.patch
===================================================================
--- trunk/buildroot/package/e2fsprogs/e2fsprogs-1.37-2.patch	2005-06-18 23:22:01 UTC (rev 10552)
+++ trunk/buildroot/package/e2fsprogs/e2fsprogs-1.37-2.patch	2005-06-19 03:33:03 UTC (rev 10553)
@@ -0,0 +1,545 @@
+diff -ur 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-11 21:25:24.000000000 -0500
+@@ -1,3 +1,8 @@
++2005-03-31  Theodore Ts'o  <tytso at mit.edu>
++
++	* configure.in: Add tests for __secure_getenv(), prctl(),
++		and sys/prctl.h
++
+ 2005-03-21  Theodore Ts'o  <tytso at mit.edu>
+ 
+ 	* Release of E2fsprogs 1.37
+diff -ur 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-11 21:25:24.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 -ur 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-11 21:25:24.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 -ur 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-11 21:25:24.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 at mit.edu>  Sat,  9 Apr 2005 11:08:04 -0400
++
+ e2fsprogs (1.37-1) unstable; urgency=low
+ 
+   * New upstream release.
+diff -ur 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-11 21:25:24.000000000 -0500
+@@ -1,3 +1,9 @@
++2005-04-06  Theodore Ts'o  <tytso at 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 at mit.edu>
+ 
+ 	* Release of E2fsprogs 1.37
+diff -ur 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-11 21:25:24.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 -ur 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-11 21:25:24.000000000 -0500
+@@ -8,7 +8,7 @@
+ Author:         tytso at mit.edu (Theodore Tso)
+ Maintained-by:  tytso at 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 -ur 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-11 21:25:24.000000000 -0500
+@@ -1,3 +1,12 @@
++2005-03-31  Theodore Ts'o  <tytso at 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 at mit.edu>
+ 
+ 	* Release of E2fsprogs 1.37
+diff -ur 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-11 21:25:24.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 -ur 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-11 21:25:24.000000000 -0500
+@@ -1,3 +1,15 @@
++2005-04-09  Theodore Ts'o  <tytso at mit.edu>
++
++	* ls.c: Add stdlib.h header file since list_super2() uses the
++		free() function.
++
++2005-03-30  Theodore Ts'o  <tytso at 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 at mit.edu>
+ 
+ 	* Release of E2fsprogs 1.37
+diff -ur 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-11 21:25:24.000000000 -0500
+@@ -12,6 +12,7 @@
+  */
+ 
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <sys/types.h>
+ #include <string.h>
+ #include <grp.h>
+diff -ur 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-11 21:25:24.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 -ur 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-11 21:25:24.000000000 -0500
+@@ -1,3 +1,16 @@
++2005-04-09  Theodore Ts'o  <tytso at 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 at 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 at mit.edu>
+ 
+ 	* Release of E2fsprogs 1.37
+diff -ur 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-11 21:28:17.000000000 -0500
+@@ -61,6 +61,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ 
++#define EXT2_FLAT_INCLUDES
+ #if EXT2_FLAT_INCLUDES
+ #include "e2_types.h"
+ #include "ext2_fs.h"
+diff -ur 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-11 21:25:24.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 -ur 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-11 21:25:24.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 -ur 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-11 21:25:24.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 -ur 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-11 21:25:24.000000000 -0500
+@@ -1,3 +1,10 @@
++2005-03-31  Theodore Ts'o  <tytso at 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 at mit.edu>
+ 
+ 	* Release of E2fsprogs 1.37
+diff -ur 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-11 21:25:24.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 -ur 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-11 21:25:24.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 -ur 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-11 21:25:24.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 -ur 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-11 21:25:24.000000000 -0500
+@@ -1,3 +1,13 @@
++2005-04-09  Theodore Ts'o  <tytso at 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 at mit.edu>
+ 
+ 	* Release of E2fsprogs 1.37
+diff -ur 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-11 21:25:24.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 -ur 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-11 21:25:24.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 -ur 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-11 21:25:24.000000000 -0500
+@@ -1,3 +1,8 @@
++2005-04-09  Theodore Ts'o  <tytso at 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 at mit.edu>
+ 
+ 	* Release of E2fsprogs 1.37
+diff -ur 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-11 21:25:24.000000000 -0500
+@@ -59,3 +59,4 @@
+ 
+ echo "$num_ok tests succeeded	$num_failed tests failed"
+ 
++test "$num_failed" -eq 0 || exit 1

Deleted: trunk/buildroot/package/e2fsprogs/e2fsprogs-1.37-2.patch.gz
===================================================================
(Binary files differ)




More information about the uClibc-cvs mailing list