]> git.decadent.org.uk Git - nfs-utils.git/commitdiff
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 2c49a6186d55519f406d261f3a798012f1093be2..5edfaa1467bb8d9726dc77f0cb3864c5cd5a9eda 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+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>
 
 2004-02-24 NeilBrown <neilb@cse.unsw.edu.au>
        Based on patch from  Greg Banks <gnb@melbourne.sgi.com>
 
index a265ecda9f6412fefa457b79a915f32cfa0506c9..3a166419e4e7892cce9970da192b95e5de9f24ec 100644 (file)
@@ -67,6 +67,8 @@ void auth_unix_ip(FILE *f)
        if (inet_aton(ipaddr, &addr)==0)
                return;
 
        if (inet_aton(ipaddr, &addr)==0)
                return;
 
+       auth_reload();
+
        /* addr is a valid, interesting address, find the domain name... */
        client = client_compose(addr);
 
        /* addr is a valid, interesting address, find the domain name... */
        client = client_compose(addr);
 
@@ -138,6 +140,8 @@ void nfsd_fh(FILE *f)
                break;
        }
 
                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) {
        /* 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;
 
        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) {
        /* 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) {