summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/nfsserver/nfs_srvsubs.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/nfsserver/nfs_srvsubs.c b/sys/nfsserver/nfs_srvsubs.c
index 2cce8be..2d1c2ff 100644
--- a/sys/nfsserver/nfs_srvsubs.c
+++ b/sys/nfsserver/nfs_srvsubs.c
@@ -1103,6 +1103,7 @@ nfsrv_fhtovp(fhandle_t *fhp, int lockflag, struct vnode **vpp, int *vfslockedp,
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 lockflag, struct vnode **vpp, int *vfslockedp,
&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)
OpenPOWER on IntegriCloud