]> git.decadent.org.uk Git - nfs-utils.git/commitdiff
Make mountd complain on unsupported uid mapping schemes
authorSteinar H. Gunderson <sesse@debian.org>
Sat, 23 Dec 2006 12:28:20 +0000 (13:28 +0100)
committerNeil Brown <neilb@suse.de>
Sun, 4 Feb 2007 22:02:20 +0000 (09:02 +1100)
  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>
utils/mountd/cache.c

index dcb5dac1369bc3621290f730fd3b3537d1115cd0..e8d42aea101d5ede54903a2c277ee6251661e92b 100644 (file)
@@ -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;