|
@@ -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
|
|
|