summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteinar H. Gunderson <sesse@debian.org>2006-12-23 13:28:20 +0100
committerNeil Brown <neilb@suse.de>2007-02-05 09:02:20 +1100
commite673ca14c730ae4ed9e2acaea764c669d2b00433 (patch)
tree004cf4a7f0ee7fcba7e2c2c3770c22d1d7df70e5
parent2e0b281cbebd6624c2673f5e6822f85df698f273 (diff)
downloadnfs-utils-e673ca14c730ae4ed9e2acaea764c669d2b00433.tar.gz
nfs-utils-e673ca14c730ae4ed9e2acaea764c669d2b00433.tar.xz
nfs-utils-e673ca14c730ae4ed9e2acaea764c669d2b00433.zip
Make mountd complain on unsupported uid mapping schemes
The NFS kernel server does not support uid mappings, activated with flags such as "map_daemon" in exports. There is already code that parses these flags, and gives an error at mount time if an unsupported flag (ie. any but the default) is given. However, at some point the kernel changed the export interface, and the new code forgot to include the relevant check. Thus, simply copy the check from the old to the new code, which makes sure mountd behaves the same in this aspect regardless of kernel version, and makes sure the admin does not inadvertently use map_daemon and expect it to work. Signed-off-by: Steinar H. Gunderson <sesse@debian.org>
-rw-r--r--utils/mountd/cache.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c
index dcb5dac..e8d42ae 100644
--- a/utils/mountd/cache.c
+++ b/utils/mountd/cache.c
@@ -377,6 +377,12 @@ int cache_export(nfs_export *exp)
int err;
FILE *f;
+ if (exp->m_export.e_maptype != CLE_MAP_IDENT) {
+ xlog(L_ERROR, "%s: unsupported mapping; kernel supports only 'identity' (default)",
+ exp->m_export.m_path);
+ return;
+ }
+
f = fopen("/proc/net/rpc/auth.unix.ip/channel", "w");
if (!f)
return -1;