diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | utils/mountd/cache.c | 6 |
2 files changed, 12 insertions, 0 deletions
@@ -1,4 +1,10 @@ 2004-02-24 NeilBrown <neilb@cse.unsw.edu.au> + from "J. Bruce Fields" <bfields@fieldses.org> + + * utils/mountd/cache.c: call auth_reload to make sure auth data is + current before responding to kernel upcall. + +2004-02-24 NeilBrown <neilb@cse.unsw.edu.au> Based on patch from Greg Banks <gnb@melbourne.sgi.com> * utils/exportfs/exports.man: Document fsid= option. diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c index a265ecd..3a16641 100644 --- a/utils/mountd/cache.c +++ b/utils/mountd/cache.c @@ -67,6 +67,8 @@ void auth_unix_ip(FILE *f) if (inet_aton(ipaddr, &addr)==0) return; + auth_reload(); + /* addr is a valid, interesting address, find the domain name... */ client = client_compose(addr); @@ -138,6 +140,8 @@ void nfsd_fh(FILE *f) break; } + auth_reload(); + /* Now determine export point for this fsid/domain */ for (i=0 ; i < MCL_MAXTYPES; i++) { for (exp = exportlist[i]; exp; exp = exp->m_next) { @@ -236,6 +240,8 @@ void nfsd_export(FILE *f) if (qword_get(&cp, path, strlen(lbuf)) <= 0) goto out; + auth_reload(); + /* now find flags for this export point in this domain */ for (i=0 ; i < MCL_MAXTYPES; i++) { for (exp = exportlist[i]; exp; exp = exp->m_next) { |