Accepting request 263024 from home:draht:branches:filesystems

- upgrade to 1.5.2; changes include:
  * fix for insecure use of system(). This is related to CVE-2014-4362.
  * fixes for usage of symlinks for mountpoints and mtab
  * improved cookie support
  * neon 0.30 support
  * memory leak fixes
  * compiler options for hardened build.
  * load the fuse kernel module automatically.
  * new mount option grpid, trust_ca_cert and trust_server_cert.
  * This list is not exhaustive. Please have a look at the ChangeLog
    for a complete list.
- obsoleted and removed from package:
  * davfs2-fix-formats.patch
  * davfs2-ne_v30.patch
  * davfs2-DESTDIR.patch
  * davfs2-fix_missing_exit_failure.patch

OBS-URL: https://build.opensuse.org/request/show/263024
OBS-URL: https://build.opensuse.org/package/show/filesystems/davfs2?expand=0&rev=12
This commit is contained in:
David Sterba 2014-11-25 22:12:48 +00:00 committed by Git OBS Bridge
parent 61bd273086
commit f2b6b82fc4
10 changed files with 53 additions and 311 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:723f9d6f8de1a8ebf5b96cddfffae9f477e1ccef2b530487fd4e8a8cdc889828
size 332994

3
davfs2-1.5.2.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:be34a19ab57a6ea77ecb82083e9e4c1882e12b2de64257de567ad5ee7a17b358
size 464458

BIN
davfs2-1.5.2.tar.gz.sig Normal file

Binary file not shown.

View File

@ -1,13 +0,0 @@
--- Makefile.am 2012/08/03 19:39:35 1.7
+++ Makefile.am 2012/08/20 19:07:41 1.8
@@ -56,8 +56,8 @@
chmod u+s $(DESTDIR)$(sbindir)/mount.davfs; \
if test "$(sbindir)" != "$(ssbindir)"; then \
$(mkinstalldirs) $(DESTDIR)$(ssbindir); \
- $(LN_S) -f $(DESTDIR)$(sbindir)/mount.davfs $(DESTDIR)$(ssbindir)/mount.davfs; \
- $(LN_S) -f $(DESTDIR)$(sbindir)/umount.davfs $(DESTDIR)$(ssbindir)/umount.davfs; \
+ $(LN_S) -f $(sbindir)/mount.davfs $(DESTDIR)$(ssbindir)/mount.davfs; \
+ $(LN_S) -f $(sbindir)/umount.davfs $(DESTDIR)$(ssbindir)/umount.davfs; \
fi
uninstall-hook:

View File

@ -1,253 +0,0 @@
diff -rU3 davfs2-1.4.7/src/dav_coda.c davfs2-1.4.7.mine/src/dav_coda.c
--- davfs2-1.4.7/src/dav_coda.c 2012-07-19 13:18:51.000000000 +0200
+++ davfs2-1.4.7.mine/src/dav_coda.c 2013-02-13 12:36:46.000000000 +0100
@@ -21,6 +21,12 @@
#include "config.h"
#include <errno.h>
+#ifdef HAVE_INTTYPES_H
+#include <inttypes.h>
+#else
+#define PRIu64 "llu"
+#define PRIx64 "llx"
+#endif
#ifdef HAVE_FCNTL_H
#include <fcntl.h>
#endif
@@ -661,7 +667,7 @@
in->attr.va_uid, in->attr.va_gid);
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " at %li, mt %li",
in->attr.va_atime.tv_sec, in->attr.va_mtime.tv_sec);
- syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " ct %li, sz %llu",
+ syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " ct %li, sz %" PRIu64,
in->attr.va_ctime.tv_sec, in->attr.va_size);
}
diff -rU3 davfs2-1.4.7/src/dav_fuse.c davfs2-1.4.7.mine/src/dav_fuse.c
--- davfs2-1.4.7/src/dav_fuse.c 2012-07-19 13:18:51.000000000 +0200
+++ davfs2-1.4.7.mine/src/dav_fuse.c 2013-02-13 12:36:34.000000000 +0100
@@ -21,6 +21,12 @@
#include "config.h"
#include <errno.h>
+#ifdef HAVE_INTTYPES_H
+#include <inttypes.h>
+#else
+#define PRIu64 "llu"
+#define PRIx64 "llx"
+#endif
#ifdef HAVE_FCNTL_H
#include <fcntl.h>
#endif
@@ -259,7 +265,7 @@
case FUSE_UNLINK:
if (debug) {
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_UNLINK:");
- syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " p 0x%llx, %s",
+ syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " p 0x%" PRIx64 ", %s",
ih->nodeid,
(char *) (buf + sizeof(struct fuse_in_header)));
}
@@ -273,7 +279,7 @@
case FUSE_RMDIR:
if (debug) {
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_RMDIR:");
- syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " p 0x%llx, %s",
+ syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " p 0x%" PRIx64 ", %s",
ih->nodeid,
(char *) (buf + sizeof(struct fuse_in_header)));
}
@@ -312,7 +318,7 @@
case FUSE_FSYNC:
if (debug) {
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_FSYNC:");
- syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n 0x%llx",
+ syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n 0x%" PRIx64,
ih->nodeid);
}
oh->error = dav_sync((dav_node *) ((size_t) ih->nodeid));
@@ -421,7 +427,7 @@
struct fuse_out_header *oh = (struct fuse_out_header *) buf;
if (debug) {
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_ACCESS:");
- syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n 0x%llx, f 0%o",
+ syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n 0x%" PRIx64 ", f 0%o",
ih->nodeid, in->mask);
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " uid %i", ih->uid);
}
@@ -449,7 +455,7 @@
(buf + sizeof(struct fuse_out_header));
if (debug) {
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_CREATE:");
- syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n 0x%llx, f 0%o",
+ syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n 0x%" PRIx64 ", f 0%o",
ih->nodeid, in->flags);
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " pid %i, mode 0%o",
ih->pid, in->mode);
@@ -523,7 +529,7 @@
(buf + sizeof(struct fuse_out_header));
if (debug) {
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_GETATTR:");
- syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n 0x%llx", ih->nodeid);
+ syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n 0x%" PRIx64, ih->nodeid);
}
oh->error = dav_getattr((dav_node *) ((size_t) ih->nodeid), ih->uid);
@@ -556,7 +562,7 @@
char *value = (char *) (buf + sizeof(struct fuse_out_header));
if (debug) {
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_GETXATTR:");
- syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n 0x%llx, %s, %i",
+ syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n 0x%" PRIx64 ", %s, %i",
ih->nodeid, name, in->size);
}
@@ -636,7 +642,7 @@
char *value = (char *) (buf + sizeof(struct fuse_out_header));
if (debug) {
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_LISTXATTR:");
- syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n 0x%llx, %i",
+ syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n 0x%" PRIx64 ", %i",
ih->nodeid, in->size);
}
@@ -676,7 +682,7 @@
(buf + sizeof(struct fuse_out_header));
if (debug) {
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_LOOKUP:");
- syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " p 0x%llx, %s",
+ syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " p 0x%" PRIx64 ", %s",
ih->nodeid, name);
}
@@ -716,7 +722,7 @@
(buf + sizeof(struct fuse_out_header));
if (debug) {
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_MKDIR:");
- syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " p 0x%llx, %s",
+ syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " p 0x%" PRIx64 ", %s",
ih->nodeid, name);
}
@@ -756,7 +762,7 @@
(buf + sizeof(struct fuse_out_header));
if (debug) {
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_MKNOD:");
- syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " p 0x%llx, m 0%o",
+ syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " p 0x%" PRIx64 ", m 0%o",
ih->nodeid, in->mode);
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " %s", name);
}
@@ -804,7 +810,7 @@
} else {
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_OPEN:");
}
- syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n 0x%llx, f 0%o",
+ syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n 0x%" PRIx64 ", f 0%o",
ih->nodeid, in->flags);
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " pid %i, mode 0%o",
ih->pid, in->mode);
@@ -844,10 +850,10 @@
} else {
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_READ:");
}
- syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n 0x%llx, fd %llu",
+ syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n 0x%" PRIx64 ", fd %" PRIu64,
ih->nodeid, in->fh);
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " pid %i", ih->pid);
- syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " size %u, off %llu",
+ syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " size %u, off %" PRIu64,
in->size, in->offset);
}
@@ -881,9 +887,9 @@
} else {
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_RELEASE:");
}
- syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n 0x%llx, f 0%o",
+ syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n 0x%" PRIx64 ", f 0%o",
ih->nodeid, in->flags);
- syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " pid %i, fd %llu",
+ syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " pid %i, fd %" PRIu64,
ih->pid, in->fh);
}
@@ -909,9 +915,9 @@
struct fuse_out_header *oh = (struct fuse_out_header *) buf;
if (debug) {
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_RENAME:");
- syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " sp 0x%llx, %s",
+ syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " sp 0x%" PRIx64 ", %s",
ih->nodeid, old);
- syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " dp 0x%llx, %s",
+ syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " dp 0x%" PRIx64 ", %s",
in->newdir, new);
}
@@ -938,13 +944,13 @@
(buf + sizeof(struct fuse_out_header));
if (debug) {
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_SETATTR:");
- syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n 0x%llx, m 0%o",
+ syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n 0x%" PRIx64 ", m 0%o",
ih->nodeid, in->mode);
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " uid %i, gid %i",
in->uid, in->gid);
- syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " sz %llu, at %llu,",
+ syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " sz %" PRIu64 ", at %" PRIu64 ",",
in->size, in->atime);
- syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " mt %llu", in->mtime);
+ syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " mt %" PRIu64, in->mtime);
}
oh->error = dav_setattr((dav_node *) ((size_t) ih->nodeid), ih->uid,
@@ -1022,11 +1028,11 @@
(buf + sizeof(struct fuse_out_header));
if (debug) {
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "FUSE_WRITE:");
- syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n 0x%llx, fd %llu",
+ syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n 0x%" PRIx64 ", fd %" PRIu64,
ih->nodeid, in->fh);
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " pid %i, flags 0%o",
ih->pid, in->write_flags);
- syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " size %u, off %llu",
+ syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " size %u, off %" PRIu64,
in->size, in->offset);
}
diff -rU3 davfs2-1.4.7/src/mount_davfs.c davfs2-1.4.7.mine/src/mount_davfs.c
--- davfs2-1.4.7/src/mount_davfs.c 2012-07-19 13:35:11.000000000 +0200
+++ davfs2-1.4.7.mine/src/mount_davfs.c 2013-02-13 12:33:27.000000000 +0100
@@ -1278,10 +1278,9 @@
uid_t orig = geteuid();
seteuid(0);
- int ret;
FILE *mtab = setmntent(_PATH_MOUNTED, "a");
if (mtab) {
- ret = addmntent(mtab, &mntent);
+ addmntent(mtab, &mntent);
endmntent(mtab);
} else {
error(0, 0, _("Warning: can't write entry into mtab, but will mount "
@@ -1829,7 +1828,7 @@
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
" kernel_fs: %s", args->kernel_fs);
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
- " buf_size: %i KiB", args->buf_size);
+ " buf_size: %zu KiB", args->buf_size);
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
" uid: %i", args->uid);
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
@@ -1903,9 +1902,9 @@
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
" backup_dir: %s", args->backup_dir);
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
- " cache_size: %i MiB", args->cache_size);
+ " cache_size: %zu MiB", args->cache_size);
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
- " table_size: %i", args->table_size);
+ " table_size: %zu", args->table_size);
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
" dir_refresh: %li s", args->dir_refresh);
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),

View File

@ -1,12 +0,0 @@
--- src/defaults.h.orig 2009-05-31 23:02:25.000000000 +0200
+++ src/defaults.h 2009-05-31 23:20:19.000000000 +0200
@@ -188,4 +188,9 @@
#define DAV_DBG_SECRETS 0x8
+#include <stdlib.h>
+#ifndef EXIT_FAILURE
+#define EXIT_FAILURE 1
+#endif
+
#endif /* DAV_DEFAULTS_H */

View File

@ -1,11 +0,0 @@
--- configure.orig 2013-12-01 14:08:31.201611567 +0100
+++ configure 2013-12-01 14:08:43.886447705 +0100
@@ -5952,7 +5952,7 @@
$as_echo "$ne_cv_lib_neon" >&6; }
if test "$ne_cv_lib_neon" = "yes"; then
ne_cv_lib_neonver=no
- for v in 25 26 27 28 29; do
+ for v in 25 26 27 28 29 30; do
case $ne_libver in
0.$v.*) ne_cv_lib_neonver=yes ;;
esac

View File

@ -1,4 +1,24 @@
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Nov 25 16:13:25 CET 2014 - draht@schaltsekun.de
- upgrade to 1.5.2; changes include:
* fix for insecure use of system(). This is related to CVE-2014-4362.
* fixes for usage of symlinks for mountpoints and mtab
* improved cookie support
* neon 0.30 support
* memory leak fixes
* compiler options for hardened build.
* load the fuse kernel module automatically.
* new mount option grpid, trust_ca_cert and trust_server_cert.
* This list is not exhaustive. Please have a look at the ChangeLog
for a complete list.
- obsoleted and removed from package:
* davfs2-fix-formats.patch
* davfs2-ne_v30.patch
* davfs2-DESTDIR.patch
* davfs2-fix_missing_exit_failure.patch
-------------------------------------------------------------------
Sun Dec 01 12:59:34 UTC 2013 - juergen@spitzmueller.org Sun Dec 01 12:59:34 UTC 2013 - juergen@spitzmueller.org
- Accept Neon 0.30 (davfs2-ne_v30.patch -- backported from davfs2 cvs: - Accept Neon 0.30 (davfs2-ne_v30.patch -- backported from davfs2 cvs:

View File

@ -1,24 +1,38 @@
#
# spec file for package davfs2
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Summary: FUSE-Filesystem to access WebDAV servers Summary: FUSE-Filesystem to access WebDAV servers
Name: davfs2
Version: 1.4.7
Release: 0
License: GPL-3.0 License: GPL-3.0
Group: System/Filesystems Group: System/Filesystems
URL: http://savannah.nongnu.org/projects/davfs2 Name: davfs2
Version: 1.5.2
Release: 0
Url: http://savannah.nongnu.org/projects/davfs2
#Source: http://download.savannah.gnu.org/releases/davfs2/davfs2-%%{version}.tar.gz #Source: http://download.savannah.gnu.org/releases/davfs2/davfs2-%%{version}.tar.gz
Source: davfs2-%{version}.tar.bz2 Source: davfs2-%{version}.tar.gz
Source1: davfs.easy Source1: davfs.easy
Source2: davfs.secure Source2: davfs.secure
Source3: davfs2-%{version}.tar.gz.sig
Source98: memberlist-gpgkeys.gpg
Source99: %{name}-rpmlintrc Source99: %{name}-rpmlintrc
Patch1: davfs2-fix_missing_exit_failure.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build
# PATCH-FIX-UPSTREAM conrad@quisquis.de BuildRequires: fuse-devel >= 2.2
Patch2: davfs2-fix-formats.patch BuildRequires: neon-devel
# See http://cvs.savannah.gnu.org/viewvc/davfs2/src/Makefile.am?root=davfs2&r1=1.7&r2=1.8&view=patch
Patch3: davfs2-DESTDIR.patch
# See http://cvs.savannah.gnu.org/viewvc/davfs2/configure.ac?root=davfs2&r1=1.11.4.1&r2=1.11.4.2&view=patch
Patch4: davfs2-ne_v30.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildRequires: fuse-devel >= 2.2, neon-devel
BuildRequires: pwdutils BuildRequires: pwdutils
Requires: fuse >= 2.2 Requires: fuse >= 2.2
Obsoletes: fuse-davfs2 < %{version} Obsoletes: fuse-davfs2 < %{version}
@ -44,12 +58,7 @@ Neon supports TLS/SSL (using OpenSSL or GnuTLS) and access via proxy server.
%prep %prep
%setup -q -n "davfs2-%{version}" %setup -q -n "davfs2-%{version}"
%patch1
%patch2 -p 1
%patch4 -p 0
cd src cd src
%patch3 -p 0
%__patch Makefile.in <%{P:3}
%build %build
ssbindir="%{_sbindir}" \ ssbindir="%{_sbindir}" \
@ -119,3 +128,5 @@ make AM_CFLAGS="-Wall $PIE" AM_LDFLAGS="$pie" %{?_smp_mflags}
%attr(0750, davfs2, davfs2) /var/cache/davfs2 %attr(0750, davfs2, davfs2) /var/cache/davfs2
/sbin/mount.davfs /sbin/mount.davfs
/sbin/umount.davfs /sbin/umount.davfs
%changelog

BIN
memberlist-gpgkeys.gpg Normal file

Binary file not shown.