[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#794003: marked as done (jessie-pu: package glusterfs/3.5.2-2)



Your message dated Sat, 05 Sep 2015 14:31:07 +0100
with message-id <1441459867.2151.32.camel@adam-barratt.org.uk>
and subject line Closing p-u bugs for 8.2
has caused the Debian Bug report #794003,
regarding jessie-pu: package glusterfs/3.5.2-2
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
794003: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=794003
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: jessie
User: release.debian.org@packages.debian.org
Usertags: pu

Hello,

this patch fixes a serious problem in glusterfs if you use it as nfs volume:
if you create a unix domain socket on it, it was created as fifo, which also breaks
some applications.
Could I go ahead?

Full diff:

diff -Naur '--exclude=.svn' tags/3.5.2-2/debian/changelog branches/jessie/debian/changelog
--- tags/3.5.2-2/debian/changelog       2015-04-13 18:13:29.875908738 +0200
+++ branches/jessie/debian/changelog    2015-07-29 19:24:05.806056263 +0200
@@ -1,3 +1,10 @@
+glusterfs (3.5.2-2+deb8u1) jessie-proposed-updates; urgency=medium
+
+  * Add upstream patch 02-nfs-unix-domain-socket-created-as-fifo to fix a bug
+    on using glusterfs as nfs volume: unix domain sockets were created as FIFO.
+
+ -- Patrick Matthäi <pmatthaei@debian.org>  Wed, 29 Jul 2015 19:22:33 +0200
+
 glusterfs (3.5.2-2) unstable; urgency=high

   * Add patch 01-CVE-2014-3619 to fix a fragment header infinite loop DoS in
diff -Naur '--exclude=.svn' tags/3.5.2-2/debian/patches/02-nfs-unix-domain-socket-created-as-fifo.diff branches/jessie/debian/patches/02-nfs-unix-domain-socket-created-as-fifo.diff
--- tags/3.5.2-2/debian/patches/02-nfs-unix-domain-socket-created-as-fifo.diff  1970-01-01 01:00:00.000000000 +0100
+++ branches/jessie/debian/patches/02-nfs-unix-domain-socket-created-as-fifo.diff       2015-07-29 19:19:02.776245063 +0200
@@ -0,0 +1,124 @@
+# nfs: a unix-domain-socket should not be created as fifo
+# BUG: https://bugzilla.redhat.com/show_bug.cgi?id=1244118
+# GERRIT: http://review.gluster.org/#/c/11710/
+
+diff -Naur glusterfs-3.5.2.orig/tests/bugs/nfs/socket-as-fifo.py glusterfs-3.5.2/tests/bugs/nfs/socket-as-fifo.py
+--- glusterfs-3.5.2.orig/tests/bugs/nfs/socket-as-fifo.py      1970-01-01 01:00:00.000000000 +0100
++++ glusterfs-3.5.2/tests/bugs/nfs/socket-as-fifo.py   2015-07-29 19:15:26.424372604 +0200
+@@ -0,0 +1,33 @@
++#!/usr/bin/env python
++#
++# Create a unix domain socket and test if it is a socket (and not a fifo/pipe).
++#
++# Author: Niels de Vos <ndevos@redhat.com>
++#
++
++import os
++import stat
++import sys
++import socket
++
++ret = 1
++
++if len(sys.argv) != 2:
++        print 'Usage: %s <socket>' % (sys.argv[0])
++        sys.exit(ret)
++
++path = sys.argv[1]
++
++sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
++sock.bind(path)
++
++stbuf = os.stat(path)
++mode = stbuf.st_mode
++
++if stat.S_ISSOCK(mode):
++        ret = 0
++
++sock.close()
++os.unlink(path)
++
++sys.exit(ret)
+diff -Naur glusterfs-3.5.2.orig/tests/bugs/nfs/socket-as-fifo.t glusterfs-3.5.2/tests/bugs/nfs/socket-as-fifo.t
+--- glusterfs-3.5.2.orig/tests/bugs/nfs/socket-as-fifo.t       1970-01-01 01:00:00.000000000 +0100
++++ glusterfs-3.5.2/tests/bugs/nfs/socket-as-fifo.t    2015-07-29 19:15:26.424372604 +0200
+@@ -0,0 +1,22 @@
++#!/bin/bash
++
++. $(dirname $0)/../../include.rc
++. $(dirname $0)/../../volume.rc
++. $(dirname $0)/../../nfs.rc
++
++cleanup;
++
++TEST glusterd
++TEST pidof glusterd
++
++TEST $CLI volume create $V0 $H0:$B0/$V0
++TEST $CLI volume start $V0
++EXPECT_WITHIN $NFS_EXPORT_TIMEOUT "1" is_nfs_export_available;
++TEST mount_nfs $H0:/$V0 $N0 nolock
++
++# this is the actual test
++TEST $(dirname $0)/socket-as-fifo.py $N0/not-a-fifo.socket
++
++TEST umount_nfs $N0
++
++cleanup
+diff -Naur glusterfs-3.5.2.orig/xlators/nfs/server/src/nfs3.c glusterfs-3.5.2/xlators/nfs/server/src/nfs3.c
+--- glusterfs-3.5.2.orig/xlators/nfs/server/src/nfs3.c 2014-07-31 13:05:35.000000000 +0200
++++ glusterfs-3.5.2/xlators/nfs/server/src/nfs3.c      2015-07-29 19:15:26.428372528 +0200
+@@ -3030,7 +3030,7 @@
+ }
+
+
+-int
++static int
+ nfs3_mknod_reply (rpcsvc_request_t *req, nfsstat3 stat, struct nfs3_fh *fh,
+                   struct iatt *buf, struct iatt *preparent,
+                   struct iatt *postparent)
+@@ -3126,7 +3126,7 @@
+ }
+
+
+-int
++static int
+ nfs3_mknod_device (nfs3_call_state_t *cs)
+ {
+         int                             ret = -EFAULT;
+@@ -3157,12 +3157,11 @@
+ }
+
+
+-int
+-nfs3_mknod_fifo (nfs3_call_state_t *cs)
++static int
++nfs3_mknod_fifo (nfs3_call_state_t *cs, mode_t mode)
+ {
+         int                             ret = -EFAULT;
+         nfs_user_t                      nfu = {0, };
+-        mode_t                          mode = S_IFIFO;
+
+         if (!cs)
+                 return ret;
+@@ -3181,7 +3180,7 @@
+ }
+
+
+-int
++static int
+ nfs3_mknod_resume (void *carg)
+ {
+         nfsstat3                        stat = NFS3ERR_SERVERFAULT;
+@@ -3200,8 +3199,10 @@
+                 ret = nfs3_mknod_device (cs);
+                 break;
+         case NF3SOCK:
++                ret = nfs3_mknod_fifo (cs, S_IFSOCK);
++                break;
+         case NF3FIFO:
+-                ret = nfs3_mknod_fifo (cs);
++                ret = nfs3_mknod_fifo (cs, S_IFIFO);
+                 break;
+         default:
+                 ret = -EBADF;
diff -Naur '--exclude=.svn' tags/3.5.2-2/debian/patches/series branches/jessie/debian/patches/series
--- tags/3.5.2-2/debian/patches/series  2015-04-13 18:13:29.871908878 +0200
+++ branches/jessie/debian/patches/series       2015-07-29 19:17:35.433912272 +0200
@@ -1 +1,2 @@
 01-CVE-2014-3619.diff
+02-nfs-unix-domain-socket-created-as-fifo.diff


-- System Information:
Debian Release: 8.1
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.16.0-4-amd64 (SMP w/2 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

--- End Message ---
--- Begin Message ---
Version: 8.2

Hi,

These bugs correspond to updates which were included in the 8.2 point
release.

Regards,

Adam

--- End Message ---

Reply to: