summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rwxr-xr-xdebian/nfs-kernel-server.init16
-rwxr-xr-xetc/nodist/nfs-server13
-rwxr-xr-xetc/redhat/nfs.init12
4 files changed, 47 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 0c3295c..d13952a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2003-06-16 NeilBrown <neilb@cse.unsw.edu.au>
+
+ * debian/nfs-kernel-server.init,etc/nodist/nfs-server,
+ etc/redhat/nfs.init: when checking if V3 is supported, make sure
+ nfs server 'knows' about 127.0.0.1 first.
+
2003-06-10 Chip Salzenberg <chip@pobox.com>
* support/nfs/xlog.c (xlog): Fix off-by-one buffer overflow bug.
diff --git a/debian/nfs-kernel-server.init b/debian/nfs-kernel-server.init
index 0fa19bb..43fb381 100755
--- a/debian/nfs-kernel-server.init
+++ b/debian/nfs-kernel-server.init
@@ -44,8 +44,24 @@ case "$1" in
start-stop-daemon --start --quiet \
--exec $PREFIX/sbin/rpc.nfsd -- $RPCNFSDCOUNT
printf " mountd"
+ # make sure 127.0.0.1 is a valid source for requests
+ ClearAddr=
+ if [ -f /proc/net/rpc/auth.unix.ip/channel ] ; then
+ if grep -s 127.0.0.1 /proc/net/rpc/auth.unix.ip/content > /dev/null ; then
+ : address already known
+ else
+ echo nfsd 127.0.0.1 2147483647 localhost > /proc/net/rpc/auth.unix.ip/channel
+ ClearAddr=yes
+ fi
+ fi
+
$PREFIX/bin/rpcinfo -u localhost nfs 3 >/dev/null 2>&1 ||
RPCMOUNTDOPTS="$RPCMOUNTDOPTS --no-nfs-version 3"
+
+ if [ -n "$ClearAddr" ]; then
+ echo nfsd 127.0.0.1 1 > /proc/net/rpc/auth.unix.ip/channel
+ fi
+
start-stop-daemon --start --quiet \
--exec $PREFIX/sbin/rpc.mountd -- $RPCMOUNTDOPTS
echo "."
diff --git a/etc/nodist/nfs-server b/etc/nodist/nfs-server
index 4517937..8f1d34b 100755
--- a/etc/nodist/nfs-server
+++ b/etc/nodist/nfs-server
@@ -54,11 +54,24 @@ start)
startdaemon $PREFIX$NFSD $RPCNFSDCOUNT
# Disable NFSv3 on mountd if we don't have NFSv3
+ ClearAddr=
+ if [ -f /proc/net/rpc/auth.unix.ip/channel ] ; then
+ if grep -s 127.0.0.1 /proc/net/rpc/auth.unix.ip/content > /dev/null ; then
+ : address already known
+ else
+ echo nfsd 127.0.0.1 2147483647 localhost > /proc/net/rpc/auth.unix.ip/channel
+ ClearAddr=
+ fi
+ fi
rpcinfo -u localhost nfs 3 &>/dev/null
if [ "$?" != "0" ]
then
RPCMOUNTDOPTS="$RPCMOUNTDOPTS --no-nfs-version 3"
fi
+ if [ -n "$ClearAddr" ]; then
+ echo nfsd 127.0.0.1 1 > /proc/net/rpc/auth.unix.ip/channel
+ fi
+
echo -n "Starting $MOUNTD: "
startdaemon $MOUNTD $RPCMOUNTDOPTS
diff --git a/etc/redhat/nfs.init b/etc/redhat/nfs.init
index e152626..ac45937 100755
--- a/etc/redhat/nfs.init
+++ b/etc/redhat/nfs.init
@@ -77,10 +77,22 @@ case "$1" in
case $MOUNTD_NFS_V2 in
auto|AUTO)
# Let's see if we support NFS version 2.
+ ClearAddr=
+ if [ -f /proc/net/rpc/auth.unix.ip/channel ] ; then
+ if grep -s 127.0.0.1 /proc/net/rpc/auth.unix.ip/content > /dev/null ; then
+ : address already known
+ else
+ echo nfsd 127.0.0.1 2147483647 localhost > /proc/net/rpc/auth.unix.ip/channel
+ ClearAddr=yes
+ fi
+ fi
/usr/sbin/rpcinfo -u localhost nfs 2 &>/dev/null
if [ $? -ne 0 ]; then
MOUNTD_OPTIONS="$MOUNTD_OPTIONS --no-nfs-version 2"
fi
+ if [ -n "$ClearAddr" ]; then
+ echo nfsd 127.0.0.1 1 > /proc/net/rpc/auth.unix.ip/channel
+ fi
;;
no|NO)
MOUNTD_OPTIONS="$MOUNTD_OPTIONS --no-nfs-version 2"