summaryrefslogtreecommitdiff
path: root/source4/ntvfs/posix/pvfs_acl.c
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2008-06-28 10:28:15 +0200
committerStefan Metzmacher <metze@samba.org>2008-06-28 10:30:25 +0200
commit98014c5668e3269a059658e433d636213e2b06e6 (patch)
tree6b8f0576f8e785a83070461c74d4e5180a94203f /source4/ntvfs/posix/pvfs_acl.c
parentc9d2570ce3dbca9b4933cbcfacd0242f41a08000 (diff)
downloadsamba-98014c5668e3269a059658e433d636213e2b06e6.tar.gz
samba-98014c5668e3269a059658e433d636213e2b06e6.tar.bz2
samba-98014c5668e3269a059658e433d636213e2b06e6.zip
pvfs: create a pvfs_acl subsystem
That means that the pvfs_acl implementations no longer register as ntvfs modules (which was wrong) metze (This used to be commit 89e90556ec57fce24faf0ed3d6fe262edd974b28)
Diffstat (limited to 'source4/ntvfs/posix/pvfs_acl.c')
-rw-r--r--source4/ntvfs/posix/pvfs_acl.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/source4/ntvfs/posix/pvfs_acl.c b/source4/ntvfs/posix/pvfs_acl.c
index 9a9200e4f0..57a463aba6 100644
--- a/source4/ntvfs/posix/pvfs_acl.c
+++ b/source4/ntvfs/posix/pvfs_acl.c
@@ -24,6 +24,7 @@
#include "vfs_posix.h"
#include "librpc/gen_ndr/xattr.h"
#include "libcli/security/security.h"
+#include "param/param.h"
/* the list of currently registered ACL backends */
@@ -79,6 +80,27 @@ const struct pvfs_acl_ops *pvfs_acl_backend_byname(const char *name)
return NULL;
}
+NTSTATUS pvfs_acl_init(struct loadparm_context *lp_ctx)
+{
+ static bool initialized = false;
+ extern NTSTATUS pvfs_acl_nfs4_init(void);
+ extern NTSTATUS pvfs_acl_xattr_init(void);
+ init_module_fn static_init[] = { STATIC_pvfs_acl_MODULES };
+ init_module_fn *shared_init;
+
+ if (initialized) return NT_STATUS_OK;
+ initialized = true;
+
+ shared_init = load_samba_modules(NULL, lp_ctx, "pvfs_acl");
+
+ run_init_functions(static_init);
+ run_init_functions(shared_init);
+
+ talloc_free(shared_init);
+
+ return NT_STATUS_OK;
+}
+
/*
map a single access_mask from generic to specific bits for files/dirs