summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--utils/mountd/cache.c6
2 files changed, 12 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 2c49a61..5edfaa1 100644
--- 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.
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) {