[PATCH 2/6] auth_authenticate_newcache: prefer non-V4ROOT export over V4ROOT exports.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Currently auth_authenticate_internal finds an export and if it
is a V4ROOT export, it reports that there is no match.  Unlike
lookup_export() it doesn't keep looking for an acceptable export.

So remove the test from auth_authenticate_internal(), and add it to
auth_authenticate_newcache(), where the search can be allowed to
continue.

Signed-off-by: NeilBrown <neilb@xxxxxxx>
---

 utils/mountd/auth.c |    7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/utils/mountd/auth.c b/utils/mountd/auth.c
index ccc849a..3843756 100644
--- a/utils/mountd/auth.c
+++ b/utils/mountd/auth.c
@@ -159,6 +159,9 @@ auth_authenticate_newcache(const struct sockaddr *caller,
 				continue;
 			if (use_ipaddr && !client_check(exp->m_client, ai))
 				continue;
+			if (exp->m_export.e_flags & NFSEXP_V4ROOT)
+				/* not acceptable for v[23] export */
+				continue;
 			break;
 		}
 	*error = not_exported;
@@ -187,10 +190,6 @@ auth_authenticate_internal(const struct sockaddr *caller, const char *path,
 			return NULL;
 		}
 	}
-	if (exp->m_export.e_flags & NFSEXP_V4ROOT) {
-		*error = no_entry;
-		return NULL;
-	}
 	if (!(exp->m_export.e_flags & NFSEXP_INSECURE_PORT) &&
 		     nfs_get_port(caller) >= IPPORT_RESERVED) {
 		*error = illegal_port;


--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux