]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - support/export/nfsctl.c
libexport.a: Allow client_init() to fail instead of exit
[nfs-utils.git] / support / export / nfsctl.c
index 5f5acccb96ea340ae697eb980ac1ebae406a3630..e2877b9fa865f83eba27a439c4e583e6846dc2d7 100644 (file)
@@ -6,7 +6,9 @@
  * Copyright (C) 1995 Olaf Kirch <okir@monad.swb.de>
  */
 
-#include "config.h"
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
 
 #include <sys/stat.h>
 #include <stdlib.h>
@@ -27,7 +29,7 @@ export_export(nfs_export *exp)
        struct nfsctl_export    exparg;
        struct nfsctl_client    cltarg;
 
-       if (!clp->m_exported) {
+       if (!clp->m_exported && (clp->m_type != MCL_GSS)) {
                if (!cltsetup(&cltarg, clp))
                        return 0;
                if (nfsaddclient(&cltarg) < 0)
@@ -87,17 +89,11 @@ expsetup(struct nfsctl_export *exparg, nfs_export *exp, int unexport)
        nfs_client              *clp = exp->m_client;
        struct stat             stb;
 
-       if (stat(exp->m_export.m_path, &stb) < 0)
+       if (stat(exp->m_export.e_path, &stb) < 0)
                return 0;
 
-       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);
-               errno = EINVAL;
-               return 0;
-       }
        memset(exparg, 0, sizeof(*exparg));
-       strncpy(exparg->ex_path, exp->m_export.m_path,
+       strncpy(exparg->ex_path, exp->m_export.e_path,
                sizeof (exparg->ex_path) - 1);
        strncpy(exparg->ex_client, clp->m_hostname,
                sizeof (exparg->ex_client) - 1);