From: Neil Brown Date: Wed, 14 Mar 2007 22:46:33 +0000 (+1100) Subject: If -o sec= is not specified for mount, allow either AUTH_SYS or AUTH_NONE. X-Git-Tag: nfs-utils-1-1-0-rc1~84 X-Git-Url: https://git.decadent.org.uk/gitweb/?a=commitdiff_plain;h=afc841a1f2a62645ec2dfaa333baf07e44a03c08;p=nfs-utils.git If -o sec= is not specified for mount, allow either AUTH_SYS or AUTH_NONE. Solaris servers, when asked to share a filesystem with an anon-uid, will report the only available authentication style as AUTH_NONE in the reply from mountd (even though they actually accept AUTH_SYS and simply ignore the credentiuals). So if no sec= is specified we should really accept anything that can easily be handled. ie. AUTH_SYS or AUTH_NONE. --- diff --git a/utils/mount/nfsmount.c b/utils/mount/nfsmount.c index f21c81c..6226f6c 100644 --- a/utils/mount/nfsmount.c +++ b/utils/mount/nfsmount.c @@ -902,7 +902,6 @@ nfsmount(const char *spec, const char *node, int *flags, #if NFS_MOUNT_VERSION >= 2 data.namlen = NAME_MAX; #endif - data.pseudoflavor = AUTH_SYS; bg = 0; retry = 10000; /* 10000 minutes ~ 1 week */ @@ -1090,6 +1089,15 @@ nfsmount(const char *spec, const char *node, int *flags, flavor = mountres->auth_flavors.auth_flavors_val; while (--i >= 0) { + /* If no flavour requested, use first simple + * flavour that is offered. + */ + if (! (data.flags & NFS_MOUNT_SECFLAVOUR) && + (flavor[i] == AUTH_SYS || + flavor[i] == AUTH_NONE)) { + data.pseudoflavor = flavor[i]; + data.flags |= NFS_MOUNT_SECFLAVOUR; + } if (flavor[i] == data.pseudoflavor) yum = 1; #ifdef NFS_MOUNT_DEBUG @@ -1102,7 +1110,7 @@ nfsmount(const char *spec, const char *node, int *flags, "mount: %s:%s failed, " "security flavor not supported\n", hostname, dirname); - /* server has registered us in mtab, send umount */ + /* server has registered us in rmtab, send umount */ nfs_call_umount(&mnt_server, &dirname); goto fail; }