rpms/e2fsprogs/devel e2fsprogs-1.1589.patch, NONE, 1.1 e2fsprogs-1.1590.patch, NONE, 1.1 e2fsprogs-1.1591.patch, NONE, 1.1 e2fsprogs.spec, 1.32, 1.33

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Fri Apr 8 16:33:02 UTC 2005


Update of /cvs/dist/rpms/e2fsprogs/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv17823

Modified Files:
	e2fsprogs.spec 
Added Files:
	e2fsprogs-1.1589.patch e2fsprogs-1.1590.patch 
	e2fsprogs-1.1591.patch 
Log Message:
[tw]
- upstream fixes 1.1589, 1.1590 and 1.1591:
- add include of stdlib.h to fix a core dump bug on IA64
- ignore environment variables in blkid and ext2fs for setuid and setguid
  programs
- no LOW_DTIME checks if the superblock last mount time looks insane



e2fsprogs-1.1589.patch:
 ChangeLog |    7 +++++++
 ostype.c  |    4 +++-
 2 files changed, 10 insertions(+), 1 deletion(-)

--- NEW FILE e2fsprogs-1.1589.patch ---
# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
#   2005/03/31 00:01:33-05:00 tytso at think.thunk.org 
#   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)
# 
# lib/e2p/ostype.c
#   2005/03/31 00:01:33-05:00 tytso at think.thunk.org +3 -1
#   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)
# 
# lib/e2p/ChangeLog
#   2005/03/31 00:01:33-05:00 tytso at think.thunk.org +7 -0
#   Update log
# 
diff -Nru a/lib/e2p/ChangeLog b/lib/e2p/ChangeLog
--- a/lib/e2p/ChangeLog	2005-04-08 16:22:12 +01:00
+++ b/lib/e2p/ChangeLog	2005-04-08 16:22:12 +01:00
@@ -1,3 +1,10 @@
+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 -Nru a/lib/e2p/ostype.c b/lib/e2p/ostype.c
--- a/lib/e2p/ostype.c	2005-04-08 16:22:12 +01:00
+++ b/lib/e2p/ostype.c	2005-04-08 16:22:12 +01:00
@@ -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;
 }
 

e2fsprogs-1.1590.patch:
 ChangeLog             |    5 +++++
 configure             |    7 +++++--
 configure.in          |    4 ++--
 lib/blkid/ChangeLog   |    9 +++++++++
 lib/blkid/cache.c     |   40 ++++++++++++++++++++++++++++++++++++++--
 lib/ext2fs/ChangeLog  |    6 ++++++
 lib/ext2fs/test_io.c  |   39 ++++++++++++++++++++++++++++++++++-----
 lib/ss/ChangeLog      |    7 +++++++
 lib/ss/get_readline.c |    2 +-
 lib/ss/pager.c        |   31 ++++++++++++++++++++++++++++++-
 lib/ss/ss_internal.h  |    1 +
 11 files changed, 138 insertions(+), 13 deletions(-)

--- NEW FILE e2fsprogs-1.1590.patch ---
# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
#   2005/04/06 14:44:16-04:00 tytso at think.thunk.org 
#   Add paranoia checks into the blkid, ext2fs, and ss libraries to ignore
#   environment variables if the libraries are called from setuid or setguid 
#   programs, or if kernel believes that the process is not eligible to create
#   a core dump.  In addition, if the libc has __secure_getenv(), use it so that
#   the libc can also do any additional limitations regarding when libraries can
#   trust environment variables (i.e., to integrate with systems like SELinux 
#   and Posix capabilities).
# 
# lib/ss/ss_internal.h
#   2005/04/06 14:44:15-04:00 tytso at think.thunk.org +1 -0
#   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.
# 
# lib/ss/pager.c
#   2005/04/06 14:44:15-04:00 tytso at think.thunk.org +30 -1
#   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.
# 
# lib/ss/get_readline.c
#   2005/04/06 14:44:15-04:00 tytso at think.thunk.org +1 -1
#   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.
# 
# lib/ss/ChangeLog
#   2005/04/06 14:44:15-04:00 tytso at think.thunk.org +7 -0
#   Update log
# 
# lib/ext2fs/test_io.c
#   2005/04/06 14:44:15-04:00 tytso at think.thunk.org +34 -5
#   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.
# 
# lib/ext2fs/ChangeLog
#   2005/04/06 14:44:15-04:00 tytso at think.thunk.org +6 -0
#   Update log
# 
# lib/blkid/cache.c
#   2005/04/06 14:44:15-04:00 tytso at think.thunk.org +38 -2
#   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.
# 
# lib/blkid/ChangeLog
#   2005/04/06 14:44:15-04:00 tytso at think.thunk.org +9 -0
#   Update log
# 
# configure
#   2005/04/06 14:44:15-04:00 tytso at think.thunk.org +5 -2
#   Add tests for __secure_getenv(), prctl(), and sys/prctl.h
# 
# configure.in
#   2005/04/06 14:44:15-04:00 tytso at think.thunk.org +2 -2
#   Add tests for __secure_getenv(), prctl(), and sys/prctl.h
# 
# ChangeLog
#   2005/04/06 14:44:15-04:00 tytso at think.thunk.org +5 -0
#   Update log
# 
diff -Nru a/ChangeLog b/ChangeLog
--- a/ChangeLog	2005-04-08 16:22:19 +01:00
+++ b/ChangeLog	2005-04-08 16:22:19 +01:00
@@ -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 -Nru a/configure b/configure
--- a/configure	2005-04-08 16:22:19 +01:00
+++ b/configure	2005-04-08 16:22:19 +01:00
@@ -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 -Nru a/configure.in b/configure.in
--- a/configure.in	2005-04-08 16:22:19 +01:00
+++ b/configure.in	2005-04-08 16:22:19 +01:00
@@ -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 -Nru a/lib/blkid/ChangeLog b/lib/blkid/ChangeLog
--- a/lib/blkid/ChangeLog	2005-04-08 16:22:19 +01:00
+++ b/lib/blkid/ChangeLog	2005-04-08 16:22:19 +01:00
@@ -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 -Nru a/lib/blkid/cache.c b/lib/blkid/cache.c
--- a/lib/blkid/cache.c	2005-04-08 16:22:19 +01:00
+++ b/lib/blkid/cache.c	2005-04-08 16:22:19 +01:00
@@ -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 -Nru a/lib/ext2fs/ChangeLog b/lib/ext2fs/ChangeLog
--- a/lib/ext2fs/ChangeLog	2005-04-08 16:22:19 +01:00
+++ b/lib/ext2fs/ChangeLog	2005-04-08 16:22:19 +01:00
@@ -1,3 +1,9 @@
+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 -Nru a/lib/ext2fs/test_io.c b/lib/ext2fs/test_io.c
--- a/lib/ext2fs/test_io.c	2005-04-08 16:22:19 +01:00
+++ b/lib/ext2fs/test_io.c	2005-04-08 16:22:19 +01:00
@@ -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 -Nru a/lib/ss/ChangeLog b/lib/ss/ChangeLog
--- a/lib/ss/ChangeLog	2005-04-08 16:22:19 +01:00
+++ b/lib/ss/ChangeLog	2005-04-08 16:22:19 +01:00
@@ -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 -Nru a/lib/ss/get_readline.c b/lib/ss/get_readline.c
--- a/lib/ss/get_readline.c	2005-04-08 16:22:19 +01:00
+++ b/lib/ss/get_readline.c	2005-04-08 16:22:19 +01:00
@@ -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 -Nru a/lib/ss/pager.c b/lib/ss/pager.c
--- a/lib/ss/pager.c	2005-04-08 16:22:19 +01:00
+++ b/lib/ss/pager.c	2005-04-08 16:22:19 +01:00
@@ -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 -Nru a/lib/ss/ss_internal.h b/lib/ss/ss_internal.h
--- a/lib/ss/ss_internal.h	2005-04-08 16:22:19 +01:00
+++ b/lib/ss/ss_internal.h	2005-04-08 16:22:19 +01:00
@@ -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;

e2fsprogs-1.1591.patch:
 ChangeLog |    6 ++++++
 pass1.c   |    3 ++-
 2 files changed, 8 insertions(+), 1 deletion(-)

--- NEW FILE e2fsprogs-1.1591.patch ---
# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
#   2005/04/06 14:55:53-04:00 tytso at think.thunk.org 
#   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.
# 
# e2fsck/pass1.c
#   2005/04/06 14:55:53-04:00 tytso at think.thunk.org +2 -1
#   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.
# 
# e2fsck/ChangeLog
#   2005/04/06 14:55:53-04:00 tytso at think.thunk.org +6 -0
#   Update log
# 
diff -Nru a/e2fsck/ChangeLog b/e2fsck/ChangeLog
--- a/e2fsck/ChangeLog	2005-04-08 16:22:25 +01:00
+++ b/e2fsck/ChangeLog	2005-04-08 16:22:25 +01:00
@@ -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 -Nru a/e2fsck/pass1.c b/e2fsck/pass1.c
--- a/e2fsck/pass1.c	2005-04-08 16:22:25 +01:00
+++ b/e2fsck/pass1.c	2005-04-08 16:22:25 +01:00
@@ -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) {


Index: e2fsprogs.spec
===================================================================
RCS file: /cvs/dist/rpms/e2fsprogs/devel/e2fsprogs.spec,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- e2fsprogs.spec	8 Apr 2005 14:26:35 -0000	1.32
+++ e2fsprogs.spec	8 Apr 2005 16:32:59 -0000	1.33
@@ -4,7 +4,7 @@
 Summary: Utilities for managing the second extended (ext2) filesystem.
 Name: e2fsprogs
 Version: 1.37
-Release: 1
+Release: 2
 License: GPL
 Group: System Environment/Base
 Source:  ftp://download.sourceforge.net/pub/sourceforge/e2fsprogs/e2fsprogs-%{version}.tar.gz
@@ -18,6 +18,9 @@
 Patch19: ext2resize-byteorder.patch
 Patch20: ext2resize-nofallback.patch
 Patch21: ext2resize-nowrite.patch
+Patch22: e2fsprogs-1.1589.patch
+Patch23: e2fsprogs-1.1590.patch
+Patch24: e2fsprogs-1.1591.patch
 Url: http://e2fsprogs.sourceforge.net/
 Prereq: /sbin/ldconfig
 BuildRoot: %{_tmppath}/%{name}-root
@@ -58,6 +61,13 @@
 %setup -q -n e2fsprogs-%{version}
 # Enable the resize inode by default
 %patch9 -p1 -b .resize-on
+# Add include of stdlib.h to fix a core dump bug on IA64
+%patch22 -p1 -b .1.1589
+# ignore environment variables in blkid and ext2fs for setuid and setguid
+# programs
+%patch23 -p1 -b .1.1590
+# no LOW_DTIME checks if the superblock last mount time looks insane
+%patch24 -p1 -b .1.1591
 
 # Now unpack the ext2resize online resize tarball...
 %setup -T -D -q -a 1
@@ -253,6 +263,13 @@
 %{_mandir}/man3/uuid_unparse.3*
 
 %changelog
+* Fri Apr  8 2005 Thomas Woerner <twoerner at redhat.com> 1.37-2
+- upstream fixes 1.1589, 1.1590 and 1.1591:
+- add include of stdlib.h to fix a core dump bug on IA64
+- ignore environment variables in blkid and ext2fs for setuid and setguid
+  programs
+- no LOW_DTIME checks if the superblock last mount time looks insane
+
 * Fri Apr  8 2005 Thomas Woerner <twoerner at redhat.com> 1.37-1
 - new version 1.37
 - dropped upstream merged getsize-wrap patch




More information about the fedora-cvs-commits mailing list