2004-08-26 22:51:06

by Bruce Allan

[permalink] [raw]
Subject: [PATCH] nfs-utils-1.0.6 permission denied on mount after 'exportfs -u'

Hi Neil,

There is a problem with rpc.mountd after doing an 'exportfs -u' such as
in the following:

[server]# exportfs *:/foo
[client]# mount server:/foo /mnt
[client]# umount /mnt
[server]# exportfs -u *:/foo
[server]# exportfs client:/foo
[client]# mount server:/foo /mnt
mount: server:/foo failed, reason given by server: Permission denied

In the above situation, the static my_client doesn't get cleared as a
result of the unexporting. Since the client address is the same in both
mount requests it won't perform a new lookup and will continue to use
the previous hostname, i.e. "*". Unfortunately, the list of clients in
the exportlist no longer contains "*" for a hostname (only contains the
hostname "client") and will return a NULL pointer with a not_exported
error.

--- nfs-utils-1.0.6/utils/mountd/auth.c 2003-07-14 15:10:12.000000000 -0700
+++ nfs-utils-1.0.6-auth.c/utils/mountd/auth.c 2004-08-26 14:52:40.000000000 -0700
@@ -30,6 +30,8 @@ enum auth_error

static void auth_fixpath(char *path);
static char *export_file = NULL;
+static nfs_export my_exp;
+static nfs_client my_client;

extern int new_cache;

@@ -55,6 +57,7 @@ auth_reload()
last_modified = stb.st_mtime;

export_freeall();
+ memset(&my_client, 0, sizeof(nfs_client));
// export_read(export_file);
xtab_export_read();

@@ -69,8 +72,6 @@ auth_authenticate_internal(char *what, s
nfs_export *exp;

if (new_cache) {
- static nfs_export my_exp;
- static nfs_client my_client;
int i;
/* return static nfs_export with details filled in */
if (my_client.m_naddr != 1 ||

Regards,
---
Bruce Allan <[email protected]>
Software Engineer, Linux Technology Center
IBM Corporation, Beaverton OR
503-578-4187 IBM Tie-line 775-4187



-------------------------------------------------------
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs