--- /dev/null
+--- nfs-utils-1.0.8/configure.in~ 2006-05-05 19:55:12.000000000 +0200
++++ nfs-utils-1.0.8/configure.in 2006-05-05 19:57:11.000000000 +0200
+@@ -157,7 +157,8 @@
+ variable PKG_CONFIG_PATH to /usr/local/lib/pkgconfig])
+ ]
+ )
+- PKG_CHECK_MODULES([GSSAPI], [libgssapi >= 0.9])
++ AC_CHECK_LIB(gssapi, main, [GSSAPI_LIBS="-lgssapi"], [AC_MSG_ERROR([Unable to locate libgssapi])])
++ AC_SUBST(GSSAPI_LIBS)
+ fi
+
+ fi
+diff -ur nfs-utils-1.0.8/utils/gssd/context.c nfs-utils-1.0.8.heimdal/utils/gssd/context.c
+--- nfs-utils-1.0.8/utils/gssd/context.c 2006-03-28 02:48:27.000000000 +0200
++++ nfs-utils-1.0.8.heimdal/utils/gssd/context.c 2006-05-05 20:03:21.000000000 +0200
+@@ -32,7 +32,7 @@
+ #include <stdio.h>
+ #include <syslog.h>
+ #include <string.h>
+-#include <gssapi/gssapi.h>
++#include <gssapi.h>
+ #include <rpc/rpc.h>
+ #include <rpc/auth_gss.h>
+ #include "gss_util.h"
+diff -ur nfs-utils-1.0.8/utils/gssd/context_mit.c nfs-utils-1.0.8.heimdal/utils/gssd/context_mit.c
+--- nfs-utils-1.0.8/utils/gssd/context_mit.c 2006-04-10 01:51:59.000000000 +0200
++++ nfs-utils-1.0.8.heimdal/utils/gssd/context_mit.c 2006-05-05 20:05:28.000000000 +0200
+@@ -32,7 +32,7 @@
+ #include <stdio.h>
+ #include <syslog.h>
+ #include <string.h>
+-#include <gssapi/gssapi.h>
++#include <gssapi.h>
+ #include <rpc/rpc.h>
+ #include <rpc/auth_gss.h>
+ #include "gss_util.h"
+diff -ur nfs-utils-1.0.8/utils/gssd/context_spkm3.c nfs-utils-1.0.8.heimdal/utils/gssd/context_spkm3.c
+--- nfs-utils-1.0.8/utils/gssd/context_spkm3.c 2006-04-10 01:51:59.000000000 +0200
++++ nfs-utils-1.0.8.heimdal/utils/gssd/context_spkm3.c 2006-05-05 20:05:36.000000000 +0200
+@@ -32,7 +32,7 @@
+ #include <stdio.h>
+ #include <syslog.h>
+ #include <string.h>
+-#include <gssapi/gssapi.h>
++#include <gssapi.h>
+ #include <rpc/rpc.h>
+ #include <rpc/auth_gss.h>
+ #include "gss_util.h"
+diff -ur nfs-utils-1.0.8/utils/gssd/gss_oids.c nfs-utils-1.0.8.heimdal/utils/gssd/gss_oids.c
+--- nfs-utils-1.0.8/utils/gssd/gss_oids.c 2005-08-26 03:20:13.000000000 +0200
++++ nfs-utils-1.0.8.heimdal/utils/gssd/gss_oids.c 2006-05-05 20:03:44.000000000 +0200
+@@ -29,7 +29,7 @@
+ */
+
+ #include <sys/types.h>
+-#include <gssapi/gssapi.h>
++#include <gssapi.h>
+
+ /* from kerberos source, gssapi_krb5.c */
+ gss_OID_desc krb5oid =
+diff -ur nfs-utils-1.0.8/utils/gssd/gss_util.c nfs-utils-1.0.8.heimdal/utils/gssd/gss_util.c
+--- nfs-utils-1.0.8/utils/gssd/gss_util.c 2005-08-26 03:27:18.000000000 +0200
++++ nfs-utils-1.0.8.heimdal/utils/gssd/gss_util.c 2006-05-05 20:04:08.000000000 +0200
+@@ -72,7 +72,7 @@
+ #include <sys/param.h>
+ #include <netdb.h>
+ #include <fcntl.h>
+-#include <gssapi/gssapi.h>
++#include <gssapi.h>
+ #if defined(HAVE_KRB5) && !defined(GSS_C_NT_HOSTBASED_SERVICE)
+ #include <gssapi/gssapi_generic.h>
+ #define GSS_C_NT_HOSTBASED_SERVICE gss_nt_service_name
+diff -ur nfs-utils-1.0.8/utils/gssd/gssd.h nfs-utils-1.0.8.heimdal/utils/gssd/gssd.h
+--- nfs-utils-1.0.8/utils/gssd/gssd.h 2006-03-28 02:50:03.000000000 +0200
++++ nfs-utils-1.0.8.heimdal/utils/gssd/gssd.h 2006-05-05 20:04:27.000000000 +0200
+@@ -33,7 +33,7 @@
+
+ #include <sys/types.h>
+ #include <sys/queue.h>
+-#include <gssapi/gssapi.h>
++#include <gssapi.h>
+
+ #define MAX_FILE_NAMELEN 32
+ #define FD_ALLOC_BLOCK 32
+diff -ur nfs-utils-1.0.8/utils/gssd/gssd_proc.c nfs-utils-1.0.8.heimdal/utils/gssd/gssd_proc.c
+--- nfs-utils-1.0.8/utils/gssd/gssd_proc.c 2006-04-10 11:57:20.000000000 +0200
++++ nfs-utils-1.0.8.heimdal/utils/gssd/gssd_proc.c 2006-05-05 20:04:35.000000000 +0200
+@@ -59,7 +59,7 @@
+ #include <signal.h>
+ #include <unistd.h>
+ #include <errno.h>
+-#include <gssapi/gssapi.h>
++#include <gssapi.h>
+ #include <netdb.h>
+
+ #include "gssd.h"
+diff -ur nfs-utils-1.0.8/utils/gssd/krb5_util.c nfs-utils-1.0.8.heimdal/utils/gssd/krb5_util.c
+--- nfs-utils-1.0.8/utils/gssd/krb5_util.c 2006-03-28 02:50:03.000000000 +0200
++++ nfs-utils-1.0.8.heimdal/utils/gssd/krb5_util.c 2006-05-05 20:04:53.000000000 +0200
+@@ -107,7 +107,7 @@
+ #include <dirent.h>
+ #include <errno.h>
+ #include <time.h>
+-#include <gssapi/gssapi.h>
++#include <gssapi.h>
+ #ifdef USE_PRIVATE_KRB5_FUNCTIONS
+ #include <gssapi/gssapi_krb5.h>
+ #endif
+diff -ur nfs-utils-1.0.8/utils/gssd/svcgssd.h nfs-utils-1.0.8.heimdal/utils/gssd/svcgssd.h
+--- nfs-utils-1.0.8/utils/gssd/svcgssd.h 2006-03-27 02:30:09.000000000 +0200
++++ nfs-utils-1.0.8.heimdal/utils/gssd/svcgssd.h 2006-05-05 20:05:02.000000000 +0200
+@@ -33,7 +33,7 @@
+
+ #include <sys/types.h>
+ #include <sys/queue.h>
+-#include <gssapi/gssapi.h>
++#include <gssapi.h>
+
+ void handle_nullreq(FILE *f);
+ void gssd_run(void);
---- nfs-utils-1.0.4/Makefile~ Fri Jul 4 06:22:01 2003
-+++ nfs-utils-1.0.4/Makefile Mon Jul 14 19:30:51 2003
-@@ -22,5 +22,3 @@
- touch $(STATEDIR)/rmtab; chmod 644 $(STATEDIR)/rmtab
- mkdir -p $(STATEDIR)/sm $(STATEDIR)/sm.bak
- touch $(STATEDIR)/state
-- chmod go-rwx $(STATEDIR)/sm $(STATEDIR)/sm.bak $(STATEDIR)/state
-- chown $(STATDUSER) $(STATEDIR)/sm $(STATEDIR)/sm.bak $(STATEDIR)/state
+--- nfs-utils-1.0.8/Makefile.am~ 2006-03-28 02:53:30.000000000 +0200
++++ nfs-utils-1.0.8/Makefile.am 2006-05-08 13:24:32.000000000 +0200
+@@ -46,8 +46,6 @@
+ touch $(DESTDIR)$(statedir)/rmtab; chmod 644 $(DESTDIR)$(statedir)/rmtab
+ mkdir -p $(DESTDIR)$(statedir)/sm $(DESTDIR)$(statedir)/sm.bak
+ touch $(DESTDIR)$(statedir)/state
+- chmod go-rwx $(DESTDIR)$(statedir)/sm $(DESTDIR)$(statedir)/sm.bak $(DESTDIR)$(statedir)/state
+- chown $(statduser) $(DESTDIR)$(statedir)/sm $(DESTDIR)$(statedir)/sm.bak $(DESTDIR)$(statedir)/state
+
+ uninstall-hook:
+ rm $(DESTDIR)$(statedir)/xtab
[ -x /usr/sbin/rpc.mountd ] || exit 0
[ -f /etc/exports ] || exit 0
+if ! is_yes "$NFS4" ; then
+ RPCMOUNTOPTIONS="$RPCMOUNTOPTIONS --no-nfs-version 4"
+fi
+
RETVAL=0
# See how we were called.
case "$1" in
# Check if the service is already running?
if [ ! -f /var/lock/subsys/nfs ]; then
# Start daemons.
- if [ "$NFSDTYPE" = "U" ]; then
- msg_starting "NFS mountd"
- daemon rpc.mountd $RPCMOUNTOPTIONS
- msg_starting "NFS daemon"
- daemon rpc.nfsd $RPCNFSDCOUNT
- else
- modprobe -s nfsd > /dev/null 2>&1
- if [ "$(kernelverser)" -ge "002006" ]; then
- grep -q nfsd /proc/filesystems && \
- ! grep -q nfsd /proc/mounts && \
- run_cmd "Mounting /proc/fs/nfsd filesystem" mount -t nfsd nfsd /proc/fs/nfsd
- grep -q rpc_pipefs /proc/filesystems && \
- ! grep -q rpc_pipefs /proc/mounts && \
- run_cmd "Mounting /var/lib/nfs/rpc_pipefs filesystem" mount -t rpc_pipefs rpc_pipefs /var/lib/nfs/rpc_pipefs
- fi
- msg_starting "NFS exportfs"
- daemon /usr/sbin/exportfs -r
- msg_starting "NFS mountd"
- daemon rpc.mountd $RPCMOUNTOPTIONS
- if (grep -q rpc_pipefs /proc/filesystems); then
- if [ ! -f /var/lock/subsys/idmapd ]; then
- msg_starting "NFS idmapd"
- daemon rpc.idmapd $RPCIDMAPOPTIONS
- [ $? = 0 ] && touch /var/lock/subsys/idmapd
- fi
- msg_starting "NFS svcgssd"
- daemon rpc.svcgssd $RPCSVCGSSOPTIONS
+ modprobe -s nfsd > /dev/null 2>&1
+ if [ "$(kernelverser)" -ge "002006" ]; then
+ grep -q nfsd /proc/filesystems && \
+ ! grep -q nfsd /proc/mounts && \
+ run_cmd "Mounting /proc/fs/nfsd filesystem" mount -t nfsd nfsd /proc/fs/nfsd
+ fi
+ msg_starting "NFS exportfs"
+ daemon /usr/sbin/exportfs -r
+ msg_starting "NFS mountd"
+ daemon rpc.mountd $RPCMOUNTOPTIONS
+ if is_yes "$NFS4" ; then
+ if (grep -q rpc_pipefs /proc/filesystems); then
+ ! grep -q rpc_pipefs /proc/mounts && \
+ run_cmd "Mounting /var/lib/nfs/rpc_pipefs filesystem" mount -t rpc_pipefs rpc_pipefs /var/lib/nfs/rpc_pipefs
+ if [ ! -f /var/lock/subsys/idmapd ]; then
+ msg_starting "NFS idmapd"
+ daemon rpc.idmapd $RPCIDMAPOPTIONS
+ [ $? = 0 ] && touch /var/lock/subsys/idmapd
fi
- msg_starting "NFS daemon"
- daemon rpc.nfsd $RPCNFSDCOUNT
+ msg_starting "NFS svcgssd"
+ daemon rpc.svcgssd $RPCSVCGSSOPTIONS
+ fi
fi
+ msg_starting "NFS daemon"
+ daemon rpc.nfsd $RPCNFSDCOUNT
touch /var/lock/subsys/nfs
else
msg_already_running "NFS"
stop)
if [ -f /var/lock/subsys/nfs ]; then
# Stop daemons.
- if [ "$NFSDTYPE" = "U" ]; then
- msg_stopping "NFS mountd"
- killproc rpc.mountd
- msg_stopping "NFS daemon"
- killproc rpc.nfsd
- else
- msg_stopping "NFS mountd"
- killproc rpc.mountd
- msg_stopping "NFS daemon"
- killproc nfsd -QUIT
+ msg_stopping "NFS mountd"
+ killproc rpc.mountd
+ msg_stopping "NFS daemon"
+ killproc nfsd -QUIT
+ if is_yes "$NFS4" ; then
if (grep -q rpc_pipefs /proc/filesystems); then
msg_stopping "NFS svcgssd"
killproc rpc.svcgssd
rm -f /var/lock/subsys/idmapd
fi
fi
- msg_stopping "NFS"
- daemon /usr/sbin/exportfs -au
fi
+ msg_stopping "NFS"
+ daemon /usr/sbin/exportfs -au
rm -f /var/lock/subsys/nfs
else
msg_not_running "NFS"
status)
status rpc.mountd
RETVAL=$?
- if [ "$NFSDTYPE" = "U" ]; then
- status rpc.nfsd
- else
- status nfsd
- fi
+ status nfsd
RET=$?
[ $RETVAL -eq 0 ] && RETVAL=$RET
;;
exit $?
;;
force-reload)
- if [ "$NFSDTYPE" = "U" ]; then
- $0 restart
- else
- $0 reload
- fi
+ $0 reload
exit $?
;;
reload)
- [ "$NFSDTYPE" = "U" ] && exit 0
if [ -f /var/lock/subsys/nfs ]; then
msg_reloading "NFS"
busy
fi
;;
probe)
- [ "$NFSDTYPE" = "U" ] && exit 0
if [ ! -f /var/lock/subsys/nfs ]; then
echo start
exit 0
SERVICE_RUN_NICE_LEVEL="+0"
# Customized setings for knfsd
-
-# This is for 2.2 kernel server.
-#RPCMOUNTOPTIONS="--no-nfs-version 3"
+RPCMOUNTOPTIONS=""
RPCNFSDCOUNT=8
-# Server type we are running, U for userland NFSD, K for knfsd
-NFSDTYPE=
+# Set it to "yes" if you plan to run NFSv4 server
+NFS4="no"
+
+# Options for NFSv4 ID <-> Name Mapper (idmapd)
+#RPCIDMAPOPTIONS=
+
+# Options for NFSv4 server-side rpcsec_gss daemon
+#RPCSVCGSSOPTIONS=
# Get network config
. /etc/sysconfig/network
+# Get service config
+[ -f /etc/sysconfig/nfsclient ] && . /etc/sysconfig/nfsclient
+
# Check that networking is up.
if is_yes "${NETWORKING}"; then
if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
exit 0
fi
-
# See how we were called.
case "$1" in
start)
if [ ! -f /var/lock/subsys/nfsfs ]; then
- if [ "$NFSDTYPE" != "U" ] && grep -q nfs4 /proc/filesystems; then
- modprobe -s nfs > /dev/null 2>&1
- if [ "$(kernelverser)" -ge "002006" ]; then
- grep -q rpc_pipefs /proc/filesystems && \
- ! grep -q rpc_pipefs /proc/mounts && \
- run_cmd "Mounting /var/lib/nfs/rpc_pipefs filesystem" mount -t rpc_pipefs rpc_pipefs /var/lib/nfs/rpc_pipefs
+ if is_yes "$NFS4" ; then
+ if grep -q nfs4 /proc/filesystems; then
+ modprobe -s nfs > /dev/null 2>&1
+ if [ "$(kernelverser)" -ge "002006" ]; then
+ grep -q rpc_pipefs /proc/filesystems && \
+ ! grep -q rpc_pipefs /proc/mounts && \
+ run_cmd "Mounting /var/lib/nfs/rpc_pipefs filesystem" mount -t rpc_pipefs rpc_pipefs /var/lib/nfs/rpc_pipefs
+ fi
+ if [ ! -f /var/lock/subsys/idmapd ]; then
+ msg_starting "NFS idmapd"
+ daemon rpc.idmapd $RPCIDMAPOPTIONS
+ fi
+ msg_starting "NFS gssd"
+ daemon rpc.gssd -m $RPCGSSOPTIONS
+ fi
fi
- if [ ! -f /var/lock/subsys/idmapd ]; then
- msg_starting "NFS idmapd"
- daemon rpc.idmapd $RPCIDMAPOPTIONS
- fi
- msg_starting "NFS gssd"
- daemon rpc.gssd -m $RPCGSSOPTIONS
- fi
run_cmd "Mounting NFS filesystems" mount -a -t nfs
touch /var/lock/subsys/nfsfs
else
retry=$(($retry-1))
done
ok
- if [ "$NFSDTYPE" != "U" ] && grep -q nfs4 /proc/filesystems; then
- msg_stopping "NFS gssd"
- killproc rpc.gssd
- if [ -f /var/lock/subsys/idmapd -a ! -f /var/lock/subsys/nfs ]; then
- msg_stopping "NFS idmapd"
- killproc rpc.idmapd
- rm -f /var/lock/subsys/idmapd
- fi
+ if is_yes "$NFS4" ; then
+ if grep -q nfs4 /proc/filesystems; then
+ msg_stopping "NFS gssd"
+ killproc rpc.gssd
+ if [ -f /var/lock/subsys/idmapd -a ! -f /var/lock/subsys/nfs ]; then
+ msg_stopping "NFS idmapd"
+ killproc rpc.idmapd
+ rm -f /var/lock/subsys/idmapd
+ fi
+ fi
fi
rm -f /var/lock/subsys/nfsfs
;;
# Set it to "yes" if you plan to mount NFSv4 shares
-NFSV4="no"
+NFS4="no"
# Options for NFSv4 ID <-> Name Mapper (idmapd)
#RPCIDMAPOPTIONS=