Hello community,
here is the log from the commit of package fuse for openSUSE:Factory
checked in at Wed Apr 28 23:18:00 CEST 2010.
--------
--- fuse/fuse.changes 2010-02-02 13:10:46.000000000 +0100
+++ fuse/fuse.changes 2010-04-26 15:41:54.000000000 +0200
@@ -1,0 +2,7 @@
+Mon Apr 26 15:39:52 CEST 2010 - mszeredi(a)suse.cz
+
+- update to 2.8.4
+ * fix checking for symlinks in umount from /tmp
+ * fix umounting if /tmp is a symlink
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
fuse-2.8.3.tar.bz2
New:
----
fuse-2.8.4.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ fuse.spec ++++++
--- /var/tmp/diff_new_pack.8s0xFk/_old 2010-04-28 23:17:28.000000000 +0200
+++ /var/tmp/diff_new_pack.8s0xFk/_new 2010-04-28 23:17:28.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package fuse (Version 2.8.3)
+# spec file for package fuse (Version 2.8.4)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -20,7 +20,7 @@
Name: fuse
Summary: User space File System
-Version: 2.8.3
+Version: 2.8.4
Release: 1
License: GPLv2+ ; LGPLv2.1+
Group: System/Filesystems
++++++ fuse-2.8.3.tar.bz2 -> fuse-2.8.4.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fuse-2.8.3/ChangeLog new/fuse-2.8.4/ChangeLog
--- old/fuse-2.8.3/ChangeLog 2010-02-01 16:00:59.000000000 +0100
+++ new/fuse-2.8.4/ChangeLog 2010-04-26 14:27:29.000000000 +0200
@@ -1,3 +1,23 @@
+2010-04-26 Miklos Szeredi <miklos(a)szeredi.hu>
+
+ * Released 2.8.4
+
+2010-04-26 Miklos Szeredi <miklos(a)szeredi.hu>
+
+ * Fix checking for symlinks in umount from /tmp. Reported by Al
+ Viro
+
+ * Fix umounting if /tmp is a symlink. Reported by Franco Broi
+
+2010-02-18 Miklos Szeredi <miklos(a)szeredi.hu>
+
+ * Fix definition of FUSE_OPT_END for C++. Reported by Tim
+ Bruylants
+
+2010-02-03 Miklos Szeredi <miklos(a)szeredi.hu>
+
+ * Fix stack alignment for clone()
+
2010-02-01 Miklos Szeredi <miklos(a)szeredi.hu>
* Released 2.8.3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fuse-2.8.3/configure new/fuse-2.8.4/configure
--- old/fuse-2.8.3/configure 2010-02-01 15:41:45.000000000 +0100
+++ new/fuse-2.8.4/configure 2010-04-26 14:23:29.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63 for fuse 2.8.3.
+# Generated by GNU Autoconf 2.63 for fuse 2.8.4.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
@@ -743,8 +743,8 @@
# Identity of this package.
PACKAGE_NAME='fuse'
PACKAGE_TARNAME='fuse'
-PACKAGE_VERSION='2.8.3'
-PACKAGE_STRING='fuse 2.8.3'
+PACKAGE_VERSION='2.8.4'
+PACKAGE_STRING='fuse 2.8.4'
PACKAGE_BUGREPORT=''
# Factoring default headers for most tests.
@@ -1488,7 +1488,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures fuse 2.8.3 to adapt to many kinds of systems.
+\`configure' configures fuse 2.8.4 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1559,7 +1559,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of fuse 2.8.3:";;
+ short | recursive ) echo "Configuration of fuse 2.8.4:";;
esac
cat <<\_ACEOF
@@ -1667,7 +1667,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-fuse configure 2.8.3
+fuse configure 2.8.4
generated by GNU Autoconf 2.63
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1681,7 +1681,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by fuse $as_me 2.8.3, which was
+It was created by fuse $as_me 2.8.4, which was
generated by GNU Autoconf 2.63. Invocation command line was
$ $0 $@
@@ -2657,7 +2657,7 @@
# Define the identity of the package.
PACKAGE='fuse'
- VERSION='2.8.3'
+ VERSION='2.8.4'
cat >>confdefs.h <<_ACEOF
@@ -14152,7 +14152,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by fuse $as_me 2.8.3, which was
+This file was extended by fuse $as_me 2.8.4, which was
generated by GNU Autoconf 2.63. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -14215,7 +14215,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-fuse config.status 2.8.3
+fuse config.status 2.8.4
configured by $0, generated by GNU Autoconf 2.63,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fuse-2.8.3/configure.in new/fuse-2.8.4/configure.in
--- old/fuse-2.8.3/configure.in 2010-02-01 15:40:16.000000000 +0100
+++ new/fuse-2.8.4/configure.in 2010-04-26 14:20:20.000000000 +0200
@@ -1,4 +1,4 @@
-AC_INIT(fuse, 2.8.3)
+AC_INIT(fuse, 2.8.4)
AC_CONFIG_MACRO_DIR([m4])
AC_CANONICAL_TARGET
AM_INIT_AUTOMAKE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fuse-2.8.3/include/fuse_lowlevel.h new/fuse-2.8.4/include/fuse_lowlevel.h
--- old/fuse-2.8.3/include/fuse_lowlevel.h 2009-07-02 14:27:07.000000000 +0200
+++ new/fuse-2.8.4/include/fuse_lowlevel.h 2010-04-26 14:11:30.000000000 +0200
@@ -411,6 +411,7 @@
*
* Valid replies:
* fuse_reply_buf
+ * fuse_reply_iov
* fuse_reply_err
*
* @param req request handle
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fuse-2.8.3/include/fuse_opt.h new/fuse-2.8.4/include/fuse_opt.h
--- old/fuse-2.8.3/include/fuse_opt.h 2008-10-14 20:59:11.000000000 +0200
+++ new/fuse-2.8.4/include/fuse_opt.h 2010-02-18 15:00:23.000000000 +0100
@@ -100,7 +100,7 @@
* Last option. An array of 'struct fuse_opt' must end with a NULL
* template value
*/
-#define FUSE_OPT_END { .templ = NULL }
+#define FUSE_OPT_END { NULL, 0, 0 }
/**
* Argument list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fuse-2.8.3/lib/Makefile.am new/fuse-2.8.4/lib/Makefile.am
--- old/fuse-2.8.3/lib/Makefile.am 2010-02-01 15:40:46.000000000 +0100
+++ new/fuse-2.8.4/lib/Makefile.am 2010-04-26 14:21:18.000000000 +0200
@@ -35,7 +35,7 @@
$(iconv_source) \
$(mount_source)
-libfuse_la_LDFLAGS = @libfuse_libs@ -version-number 2:8:3 \
+libfuse_la_LDFLAGS = @libfuse_libs@ -version-number 2:8:4 \
-Wl,--version-script,$(srcdir)/fuse_versionscript
libulockmgr_la_SOURCES = ulockmgr.c
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fuse-2.8.3/lib/Makefile.in new/fuse-2.8.4/lib/Makefile.in
--- old/fuse-2.8.3/lib/Makefile.in 2010-02-01 15:41:47.000000000 +0100
+++ new/fuse-2.8.4/lib/Makefile.in 2010-04-26 14:23:31.000000000 +0200
@@ -261,7 +261,7 @@
$(iconv_source) \
$(mount_source)
-libfuse_la_LDFLAGS = @libfuse_libs@ -version-number 2:8:3 \
+libfuse_la_LDFLAGS = @libfuse_libs@ -version-number 2:8:4 \
-Wl,--version-script,$(srcdir)/fuse_versionscript
libulockmgr_la_SOURCES = ulockmgr.c
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fuse-2.8.3/util/fusermount.c new/fuse-2.8.4/util/fusermount.c
--- old/fuse-2.8.3/util/fusermount.c 2010-01-26 19:10:24.000000000 +0100
+++ new/fuse-2.8.4/util/fusermount.c 2010-04-26 14:15:36.000000000 +0200
@@ -41,8 +41,8 @@
#ifndef MS_REC
#define MS_REC 16384
#endif
-#ifndef MS_SLAVE
-#define MS_SLAVE (1<<19)
+#ifndef MS_PRIVATE
+#define MS_PRIVATE (1<<18)
#endif
static const char *progname;
@@ -200,15 +200,16 @@
* killed for any reason, mounts are automatically cleaned up.
*
* First make sure nothing is propagated back into the parent
- * namespace by marking all mounts "slave".
+ * namespace by marking all mounts "private".
*
* Then bind mount parent onto a stable base where the user can't move
- * it around. Use "/tmp", since it will almost certainly exist, but
- * anything similar would do as well.
+ * it around.
*
* Finally check /proc/mounts for an entry matching the requested
* mountpoint. If it's found then we are OK, and the user can't move
- * it around within the parent directory as rename() will return EBUSY.
+ * it around within the parent directory as rename() will return
+ * EBUSY. Be careful to ignore any mounts that existed before the
+ * bind.
*/
static int check_is_mount_child(void *p)
{
@@ -220,21 +221,27 @@
int found;
FILE *fp;
struct mntent *entp;
+ int count;
- res = mount("", "/", "", MS_SLAVE | MS_REC, NULL);
+ res = mount("", "/", "", MS_PRIVATE | MS_REC, NULL);
if (res == -1) {
- fprintf(stderr, "%s: failed to mark mounts slave: %s\n",
+ fprintf(stderr, "%s: failed to mark mounts private: %s\n",
progname, strerror(errno));
return 1;
}
- res = mount(".", "/tmp", "", MS_BIND | MS_REC, NULL);
- if (res == -1) {
- fprintf(stderr, "%s: failed to bind parent to /tmp: %s\n",
- progname, strerror(errno));
+ fp = setmntent(procmounts, "r");
+ if (fp == NULL) {
+ fprintf(stderr, "%s: failed to open %s: %s\n", progname,
+ procmounts, strerror(errno));
return 1;
}
+ count = 0;
+ while ((entp = getmntent(fp)) != NULL)
+ count++;
+ endmntent(fp);
+
fp = setmntent(procmounts, "r");
if (fp == NULL) {
fprintf(stderr, "%s: failed to open %s: %s\n", progname,
@@ -242,10 +249,21 @@
return 1;
}
+ res = mount(".", "/", "", MS_BIND | MS_REC, NULL);
+ if (res == -1) {
+ fprintf(stderr, "%s: failed to bind parent to /: %s\n",
+ progname, strerror(errno));
+ return 1;
+ }
+
found = 0;
while ((entp = getmntent(fp)) != NULL) {
- if (strncmp(entp->mnt_dir, "/tmp/", 5) == 0 &&
- strcmp(entp->mnt_dir + 5, last) == 0) {
+ if (count > 0) {
+ count--;
+ continue;
+ }
+ if (entp->mnt_dir[0] == '/' &&
+ strcmp(entp->mnt_dir + 1, last) == 0) {
found = 1;
break;
}
@@ -262,9 +280,8 @@
static pid_t clone_newns(void *a)
{
- long long buf[16384];
- size_t stacksize = sizeof(buf) / 2;
- char *stack = ((char *) buf) + stacksize;
+ char buf[131072];
+ char *stack = buf + (sizeof(buf) / 2 - ((size_t) buf & 15));
#ifdef __ia64__
extern int __clone2(int (*fn)(void *),
@@ -272,8 +289,8 @@
int flags, void *arg, pid_t *ptid,
void *tls, pid_t *ctid);
- return __clone2(check_is_mount_child, stack, stacksize, CLONE_NEWNS, a,
- NULL, NULL, NULL);
+ return __clone2(check_is_mount_child, stack, sizeof(buf) / 2,
+ CLONE_NEWNS, a, NULL, NULL, NULL);
#else
return clone(check_is_mount_child, stack, CLONE_NEWNS, a);
#endif
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org