auth_reload calls in cache.
authorneilbrown <neilbrown>
Tue, 24 Feb 2004 03:38:33 +0000 (03:38 +0000)
committerneilbrown <neilbrown>
Tue, 24 Feb 2004 03:38:33 +0000 (03:38 +0000)
ChangeLog
utils/mountd/cache.c

index 2c49a61..5edfaa1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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.
index a265ecd..3a16641 100644 (file)
@@ -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) {