summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--support/include/nfs/export.h5
-rw-r--r--support/nfs/exports.c12
-rw-r--r--utils/exportfs/exportfs.c4
4 files changed, 19 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index c181e21..1494b88 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2003-05-21 NeilBrown <neilb@cse.unsw.edu.au>
+ * support/include/nfs/export.h: New CROSSMNT distinct from NOHIDE
+ * support/nfs/exports.c: Make CROSSMNT distinct from NOHIDE
+ * utils/exportfs/exportfs.c(dump): ditto
+
+2003-05-21 NeilBrown <neilb@cse.unsw.edu.au>
+
* support/export/hostname.c(get_reliable_hostbyaddr): new function
to get host name from address with full checking of authenticity.
* support/include/misc.h: declare above function
diff --git a/support/include/nfs/export.h b/support/include/nfs/export.h
index 344ece5..d79a179 100644
--- a/support/include/nfs/export.h
+++ b/support/include/nfs/export.h
@@ -20,10 +20,11 @@
#define NFSEXP_UIDMAP 0x0040
#define NFSEXP_KERBEROS 0x0080 /* not available */
#define NFSEXP_SUNSECURE 0x0100
-#define NFSEXP_CROSSMNT 0x0200
+#define NFSEXP_NOHIDE 0x0200
#define NFSEXP_NOSUBTREECHECK 0x0400
#define NFSEXP_NOAUTHNLM 0x0800
#define NFSEXP_FSID 0x2000
-#define NFSEXP_ALLFLAGS 0x3FFF
+#define NFSEXP_CROSSMNT 0x4000
+#define NFSEXP_ALLFLAGS 0x7FFF
#endif /* _NSF_EXPORT_H */
diff --git a/support/nfs/exports.c b/support/nfs/exports.c
index 3d23959..dfb241e 100644
--- a/support/nfs/exports.c
+++ b/support/nfs/exports.c
@@ -170,8 +170,10 @@ putexportent(struct exportent *ep)
fprintf(fp, "%ssync,", (ep->e_flags & NFSEXP_ASYNC)? "a" : "");
fprintf(fp, "%swdelay,", (ep->e_flags & NFSEXP_GATHERED_WRITES)?
"" : "no_");
- fprintf(fp, "%shide,", (ep->e_flags & NFSEXP_CROSSMNT)?
+ fprintf(fp, "%shide,", (ep->e_flags & NFSEXP_NOHIDE)?
"no" : "");
+ fprintf(fp, "%scrossmnt,", (ep->e_flags & NFSEXP_CROSSMNT)?
+ "" : "no");
fprintf(fp, "%ssecure,", (ep->e_flags & NFSEXP_INSECURE_PORT)?
"in" : "");
fprintf(fp, "%sroot_squash,", (ep->e_flags & NFSEXP_ROOTSQUASH)?
@@ -333,12 +335,12 @@ parseopts(char *cp, struct exportent *ep, int warn)
had_sync_opt = 1;
ep->e_flags |= NFSEXP_ASYNC;
} else if (!strcmp(opt, "nohide"))
- ep->e_flags |= NFSEXP_CROSSMNT;
+ ep->e_flags |= NFSEXP_NOHIDE;
else if (!strcmp(opt, "hide"))
- ep->e_flags &= ~NFSEXP_CROSSMNT;
- else if (!strcmp(opt, "crossmnt")) /* old style */
+ ep->e_flags &= ~NFSEXP_NOHIDE;
+ else if (!strcmp(opt, "crossmnt"))
ep->e_flags |= NFSEXP_CROSSMNT;
- else if (!strcmp(opt, "nocrossmnt")) /* old style */
+ else if (!strcmp(opt, "nocrossmnt"))
ep->e_flags &= ~NFSEXP_CROSSMNT;
else if (!strcmp(opt, "wdelay"))
ep->e_flags |= NFSEXP_GATHERED_WRITES;
diff --git a/utils/exportfs/exportfs.c b/utils/exportfs/exportfs.c
index 60f130e..05ace88 100644
--- a/utils/exportfs/exportfs.c
+++ b/utils/exportfs/exportfs.c
@@ -333,8 +333,10 @@ dump(int verbose)
c = dumpopt(c, "async");
if (ep->e_flags & NFSEXP_GATHERED_WRITES)
c = dumpopt(c, "wdelay");
- if (ep->e_flags & NFSEXP_CROSSMNT)
+ if (ep->e_flags & NFSEXP_NOHIDE)
c = dumpopt(c, "nohide");
+ if (ep->e_flags & NFSEXP_CROSSMNT)
+ c = dumpopt(c, "crossmnt");
if (ep->e_flags & NFSEXP_INSECURE_PORT)
c = dumpopt(c, "insecure");
if (ep->e_flags & NFSEXP_ROOTSQUASH)