Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: unblock

Dear Release Team,

I'm asking for permission to upload ntfs-3g/2014.2.15AR.3-1 as it fixes
an RC bug[1]. Current version of ntfs-3g doesn't work with 2.6.x kernels
as it falls back to a wrong FUSE compatibility level. Upstream released
a new version which contains only a bugfix for this issue.

Two things make it a bit difficult.
Packages testdisk and partclone will need binNMUs:
nmu testdisk_6.14-3 . ALL . -m "rebuild against ntfs-3g 1:2014.2.15AR.3-1"
nmu partclone_0.2.73-2 . ALL . -m "rebuild against ntfs-3g 1:2014.2.15AR.3-1"

The package contains an udeb, but it's not concerned about this bugfix.

Would it be allowed for upload?

Debdiff is attached.

Thanks,
Laszlo/GCS

unblock ntfs-3g/2014.2.15AR.3-1

[1] https://bugs.debian.org/766911
diff -Nru ntfs-3g-2014.2.15AR.2/configure ntfs-3g-2014.2.15AR.3/configure
--- ntfs-3g-2014.2.15AR.2/configure	2014-09-01 07:49:15.000000000 +0000
+++ ntfs-3g-2014.2.15AR.3/configure	2014-11-03 07:48:28.000000000 +0000
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for ntfs-3g 2014.2.15AR.2.
+# Generated by GNU Autoconf 2.69 for ntfs-3g 2014.2.15AR.3.
 #
 # Report bugs to <ntfs-3g-de...@lists.sf.net>.
 #
@@ -590,8 +590,8 @@
 # Identity of this package.
 PACKAGE_NAME='ntfs-3g'
 PACKAGE_TARNAME='ntfs-3g'
-PACKAGE_VERSION='2014.2.15AR.2'
-PACKAGE_STRING='ntfs-3g 2014.2.15AR.2'
+PACKAGE_VERSION='2014.2.15AR.3'
+PACKAGE_STRING='ntfs-3g 2014.2.15AR.3'
 PACKAGE_BUGREPORT='ntfs-3g-de...@lists.sf.net'
 PACKAGE_URL=''
 
@@ -1405,7 +1405,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 ntfs-3g 2014.2.15AR.2 to adapt to many kinds of systems.
+\`configure' configures ntfs-3g 2014.2.15AR.3 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1476,7 +1476,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of ntfs-3g 2014.2.15AR.2:";;
+     short | recursive ) echo "Configuration of ntfs-3g 2014.2.15AR.3:";;
    esac
   cat <<\_ACEOF
 
@@ -1633,7 +1633,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-ntfs-3g configure 2014.2.15AR.2
+ntfs-3g configure 2014.2.15AR.3
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2113,7 +2113,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by ntfs-3g $as_me 2014.2.15AR.2, which was
+It was created by ntfs-3g $as_me 2014.2.15AR.3, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2462,7 +2462,7 @@
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
-LIBNTFS_3G_VERSION="852"
+LIBNTFS_3G_VERSION="853"
 
 
 # Environment
@@ -3093,7 +3093,7 @@
 
 # Define the identity of the package.
  PACKAGE='ntfs-3g'
- VERSION='2014.2.15AR.2'
+ VERSION='2014.2.15AR.3'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -15625,7 +15625,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by ntfs-3g $as_me 2014.2.15AR.2, which was
+This file was extended by ntfs-3g $as_me 2014.2.15AR.3, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -15691,7 +15691,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-ntfs-3g config.status 2014.2.15AR.2
+ntfs-3g config.status 2014.2.15AR.3
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -Nru ntfs-3g-2014.2.15AR.2/configure.ac ntfs-3g-2014.2.15AR.3/configure.ac
--- ntfs-3g-2014.2.15AR.2/configure.ac	2014-09-01 07:48:51.000000000 +0000
+++ ntfs-3g-2014.2.15AR.3/configure.ac	2014-11-03 07:48:04.000000000 +0000
@@ -24,8 +24,8 @@
 
 # Autoconf
 AC_PREREQ(2.59)
-AC_INIT([ntfs-3g],[2014.2.15AR.2],[ntfs-3g-de...@lists.sf.net])
-LIBNTFS_3G_VERSION="852"
+AC_INIT([ntfs-3g],[2014.2.15AR.3],[ntfs-3g-de...@lists.sf.net])
+LIBNTFS_3G_VERSION="853"
 AC_CONFIG_SRCDIR([src/ntfs-3g.c])
 
 # Environment
diff -Nru ntfs-3g-2014.2.15AR.2/debian/changelog ntfs-3g-2014.2.15AR.3/debian/changelog
--- ntfs-3g-2014.2.15AR.2/debian/changelog	2014-10-05 15:21:12.000000000 +0000
+++ ntfs-3g-2014.2.15AR.3/debian/changelog	2014-11-15 14:42:16.000000000 +0000
@@ -1,3 +1,10 @@
+ntfs-3g (1:2014.2.15AR.3-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Fix FUSE fallback for old 2.6.x kernels (closes: #766911).
+
+ -- Laszlo Boszormenyi (GCS) <g...@debian.org>  Thu, 13 Nov 2014 05:43:59 +0000
+
 ntfs-3g (1:2014.2.15AR.2-1) unstable; urgency=low
 
   * New upstream release.
diff -Nru ntfs-3g-2014.2.15AR.2/fedora/ntfs-3g.spec ntfs-3g-2014.2.15AR.3/fedora/ntfs-3g.spec
--- ntfs-3g-2014.2.15AR.2/fedora/ntfs-3g.spec	2014-09-01 07:49:15.000000000 +0000
+++ ntfs-3g-2014.2.15AR.3/fedora/ntfs-3g.spec	2014-11-03 07:48:29.000000000 +0000
@@ -7,7 +7,7 @@
 
 Name:		ntfs-3g
 Summary:	Linux NTFS userspace driver
-Version:	2014.2.15AR.2
+Version:	2014.2.15AR.3
 Release:	1.fc20
 License:	GPLv2+
 Group:		System Environment/Base
@@ -155,7 +155,7 @@
 %exclude %{_mandir}/man8/ntfs-3g*
 
 %changelog
-* Mon Sep  1 2014 Jean-Pierre Andre 2014.2.15AR.2
+* Mon Nov  3 2014 Jean-Pierre Andre 2014.2.15AR.3
 - adapted to advanced ntfs-3g and basic ntfsprogs
 
 * Tue May 28 2013 Tom Callaway <s...@fedoraproject.org> - 2:2013.1.13-5
diff -Nru ntfs-3g-2014.2.15AR.2/include/fuse-lite/fuse_kernel.h ntfs-3g-2014.2.15AR.3/include/fuse-lite/fuse_kernel.h
--- ntfs-3g-2014.2.15AR.2/include/fuse-lite/fuse_kernel.h	2014-09-01 07:48:50.000000000 +0000
+++ ntfs-3g-2014.2.15AR.3/include/fuse-lite/fuse_kernel.h	2014-11-03 07:48:03.000000000 +0000
@@ -56,11 +56,12 @@
 #define FUSE_KERNEL_MINOR_VERSION 18
 
 /*
- * For binary compatibility with old kernels we accept falling back to 7.8
+ * For binary compatibility with old kernels we accept falling back
+ * to 7.12 or earlier maximum version supported by the kernel
  */
 
 #define FUSE_KERNEL_MAJOR_FALLBACK 7
-#define FUSE_KERNEL_MINOR_FALLBACK 8
+#define FUSE_KERNEL_MINOR_FALLBACK 12
 
 /** The node ID of the root inode */
 #define FUSE_ROOT_ID 1
diff -Nru ntfs-3g-2014.2.15AR.2/libfuse-lite/fuse_lowlevel.c ntfs-3g-2014.2.15AR.3/libfuse-lite/fuse_lowlevel.c
--- ntfs-3g-2014.2.15AR.2/libfuse-lite/fuse_lowlevel.c	2014-09-01 07:48:50.000000000 +0000
+++ ntfs-3g-2014.2.15AR.3/libfuse-lite/fuse_lowlevel.c	2014-11-03 07:48:03.000000000 +0000
@@ -1105,7 +1105,7 @@
     outarg.major = FUSE_KERNEL_VERSION;
 	/*
 	 * Suggest using protocol 7.18 when available, and fallback
-	 * to 7.8 when running on an old kernel.
+	 * to 7.12 or even earlier when running on an old kernel.
 	 * Protocol 7.12 has the ability to process the umask
 	 * conditionnally (as needed if POSIXACLS is set)
 	 * Protocol 7.18 has the ability to process the ioctls
@@ -1119,8 +1119,20 @@
 		outarg.flags |= FUSE_DONT_MASK;
 #endif
     } else {
+	/* Never use a version more recent than supported by the kernel */
+	if ((arg->major < FUSE_KERNEL_MAJOR_FALLBACK)
+	    || ((arg->major == FUSE_KERNEL_MAJOR_FALLBACK)
+		&& (arg->minor < FUSE_KERNEL_MINOR_FALLBACK))) {
+	    outarg.major = arg->major;
+	    outarg.minor = arg->minor;
+	} else {
 	    outarg.major = FUSE_KERNEL_MAJOR_FALLBACK;
 	    outarg.minor = FUSE_KERNEL_MINOR_FALLBACK;
+#ifdef POSIXACLS
+	    if (f->conn.want & FUSE_CAP_DONT_MASK)
+		outarg.flags |= FUSE_DONT_MASK;
+#endif
+    	}
     }
     if (f->conn.async_read)
         outarg.flags |= FUSE_ASYNC_READ;
diff -Nru ntfs-3g-2014.2.15AR.2/libntfs-3g/security.c ntfs-3g-2014.2.15AR.3/libntfs-3g/security.c
--- ntfs-3g-2014.2.15AR.2/libntfs-3g/security.c	2014-09-01 07:48:50.000000000 +0000
+++ ntfs-3g-2014.2.15AR.3/libntfs-3g/security.c	2014-11-03 07:48:03.000000000 +0000
@@ -1881,13 +1881,11 @@
 		 * with a default security descriptor inserted in an
 		 * attribute
 		 */
-	if (test_nino_flag(ni, v3_Extensions) && vol->secure_ni) {
-		if (ni->security_id) {
-				/* get v3.x descriptor in $Secure */
-			securid.security_id = ni->security_id;
-			securattr = retrievesecurityattr(vol,securid);
-		} else
-			securattr = (char*)NULL;
+	if (test_nino_flag(ni, v3_Extensions)
+	    && vol->secure_ni && ni->security_id) {
+			/* get v3.x descriptor in $Secure */
+		securid.security_id = ni->security_id;
+		securattr = retrievesecurityattr(vol,securid);
 		if (!securattr)
 			ntfs_log_error("Bad security descriptor for 0x%lx\n",
 					(long)le32_to_cpu(ni->security_id));
diff -Nru ntfs-3g-2014.2.15AR.2/ntfsprogs/ntfsresize.c ntfs-3g-2014.2.15AR.3/ntfsprogs/ntfsresize.c
--- ntfs-3g-2014.2.15AR.2/ntfsprogs/ntfsresize.c	2014-09-01 07:48:50.000000000 +0000
+++ ntfs-3g-2014.2.15AR.3/ntfsprogs/ntfsresize.c	2014-11-03 07:48:03.000000000 +0000
@@ -3105,7 +3105,8 @@
 			for (prl=rl; prl->length && ok; prl++) {
 				lseek_to_cluster(vol,
 					prl->lcn + expand->cluster_increment);
-				ok = !read_all(vol->dev, expand->mft_bitmap,
+				ok = !read_all(vol->dev, expand->mft_bitmap
+					+ (prl->vcn << vol->cluster_size_bits),
 					prl->length << vol->cluster_size_bits);
 			}
 			if (!ok) {
diff -Nru ntfs-3g-2014.2.15AR.2/src/secaudit.h ntfs-3g-2014.2.15AR.3/src/secaudit.h
--- ntfs-3g-2014.2.15AR.2/src/secaudit.h	2014-09-01 07:48:51.000000000 +0000
+++ ntfs-3g-2014.2.15AR.3/src/secaudit.h	2014-11-03 07:48:03.000000000 +0000
@@ -56,8 +56,8 @@
 #else
 #define USESTUBS 0 /* direct calls to API, based on following definitions */
 #define ENVNTFS3G "NTFS3G"
-#define LIBFILE64 "/lib64/libntfs-3g.so.852"
-#define LIBFILE "/lib/libntfs-3g.so.852"
+#define LIBFILE64 "/lib64/libntfs-3g.so.853"
+#define LIBFILE "/lib/libntfs-3g.so.853"
 #endif
 
 #define MAPDIR ".NTFS-3G"
diff -Nru ntfs-3g-2014.2.15AR.2/src/usermap.c ntfs-3g-2014.2.15AR.3/src/usermap.c
--- ntfs-3g-2014.2.15AR.2/src/usermap.c	2014-09-01 07:48:51.000000000 +0000
+++ ntfs-3g-2014.2.15AR.3/src/usermap.c	2014-11-03 07:48:03.000000000 +0000
@@ -79,8 +79,8 @@
 #else
 #define USESTUBS 0 /* direct calls to API, based on following definitions */
 #define ENVNTFS3G "NTFS3G"
-#define LIBFILE64 "/lib64/libntfs-3g.so.852"
-#define LIBFILE "/lib/libntfs-3g.so.852"
+#define LIBFILE64 "/lib64/libntfs-3g.so.853"
+#define LIBFILE "/lib/libntfs-3g.so.853"
 #endif
 
 #define GET_FILE_SECURITY "ntfs_get_file_security"

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to