From 381afd4f480533f212e1f62a0ccfd9dcf7248e17 Mon Sep 17 00:00:00 2001 From: Niels de Vos Date: Tue, 23 Jun 2015 00:03:05 +0200 Subject: nfs: a unix-domain-socket should not be created as fifo Change-Id: Ic6a23165df1703b330636a059967c3c674dbde57 BUG: 1235231 Signed-off-by: Niels de Vos Reviewed-on: http://review.gluster.org/11355 Tested-by: NetBSD Build System Reviewed-by: Kaleb KEITHLEY Tested-by: Gluster Build System --- tests/bugs/nfs/socket-as-fifo.py | 33 +++++++++++++++++++++++++++++++++ tests/bugs/nfs/socket-as-fifo.t | 22 ++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100755 tests/bugs/nfs/socket-as-fifo.py create mode 100644 tests/bugs/nfs/socket-as-fifo.t (limited to 'tests/bugs/nfs') diff --git a/tests/bugs/nfs/socket-as-fifo.py b/tests/bugs/nfs/socket-as-fifo.py new file mode 100755 index 00000000000..1fce5b96896 --- /dev/null +++ b/tests/bugs/nfs/socket-as-fifo.py @@ -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 +# + +import os +import stat +import sys +import socket + +ret = 1 + +if len(sys.argv) != 2: + print 'Usage: %s ' % (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 --git a/tests/bugs/nfs/socket-as-fifo.t b/tests/bugs/nfs/socket-as-fifo.t new file mode 100644 index 00000000000..94a800a2ceb --- /dev/null +++ b/tests/bugs/nfs/socket-as-fifo.t @@ -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 -- cgit