Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 5 Nov 2008 16:25:27 +0000 (UTC)
From:      Doug Rabson <dfr@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r184693 - head/sys/nfsserver
Message-ID:  <200811051625.mA5GPR5c031611@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dfr
Date: Wed Nov  5 16:25:26 2008
New Revision: 184693
URL: http://svn.freebsd.org/changeset/base/184693

Log:
  If mountd doesn't specify a secflavor list for the mount, assume that -sec=sys
  is what was wanted.

Modified:
  head/sys/nfsserver/nfs_srvsubs.c

Modified: head/sys/nfsserver/nfs_srvsubs.c
==============================================================================
--- head/sys/nfsserver/nfs_srvsubs.c	Wed Nov  5 16:24:31 2008	(r184692)
+++ head/sys/nfsserver/nfs_srvsubs.c	Wed Nov  5 16:25:26 2008	(r184693)
@@ -1103,6 +1103,7 @@ nfsrv_fhtovp(fhandle_t *fhp, int lockfla
 	int credflavor;
 	int vfslocked;
 	int numsecflavors, *secflavors;
+	int authsys;
 	int v3 = nfsd->nd_flag & ND_NFSV3;
 	int mountreq;
 
@@ -1123,6 +1124,15 @@ nfsrv_fhtovp(fhandle_t *fhp, int lockfla
 	    &numsecflavors, &secflavors);
 	if (error)
 		goto out;
+	if (numsecflavors == 0) {
+		/*
+		 * This can happen if the system is running with an
+		 * old mountd that doesn't pass in a secflavor list.
+		 */
+		numsecflavors = 1;
+		authsys = RPCAUTH_UNIX;
+		secflavors = &authsys;
+	}
 	credflavor = nfsd->nd_credflavor;
 	for (i = 0; i < numsecflavors; i++) {
 		if (secflavors[i] == credflavor)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200811051625.mA5GPR5c031611>