summaryrefslogtreecommitdiff
path: root/source4/dsdb/samdb
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2007-01-12 17:58:38 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:40:31 -0500
commit007c6f6e659c61e426deb97f6156d92723549f71 (patch)
tree2c90b51b6450c448585142d291f3652a2c220e44 /source4/dsdb/samdb
parent936fb1c0f744f908cde4f332de6c7187e8c6031f (diff)
downloadsamba-007c6f6e659c61e426deb97f6156d92723549f71.tar.gz
samba-007c6f6e659c61e426deb97f6156d92723549f71.tar.bz2
samba-007c6f6e659c61e426deb97f6156d92723549f71.zip
r20716: add a dsdb_cache ldb module which will load the dsdb_schema and other things
on startup into memory structures in future. metze (This used to be commit fbb1f85e320830f52bdf410ad61f2ec60e168d80)
Diffstat (limited to 'source4/dsdb/samdb')
-rw-r--r--source4/dsdb/samdb/ldb_modules/config.mk11
-rw-r--r--source4/dsdb/samdb/ldb_modules/dsdb_cache.c48
2 files changed, 59 insertions, 0 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/config.mk b/source4/dsdb/samdb/ldb_modules/config.mk
index 663f2cfb63..a92095f6f2 100644
--- a/source4/dsdb/samdb/ldb_modules/config.mk
+++ b/source4/dsdb/samdb/ldb_modules/config.mk
@@ -23,6 +23,17 @@ OBJ_FILES = \
################################################
################################################
+# Start MODULE ldb_dsdb_cache
+[MODULE::ldb_dsdb_cache]
+SUBSYSTEM = ldb
+PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC
+INIT_FUNCTION = dsdb_cache_module_init
+OBJ_FILES = \
+ dsdb_cache.o
+# End MODULE ldb_dsdb_cache
+################################################
+
+################################################
# Start MODULE ldb_samldb
[MODULE::ldb_samldb]
SUBSYSTEM = ldb
diff --git a/source4/dsdb/samdb/ldb_modules/dsdb_cache.c b/source4/dsdb/samdb/ldb_modules/dsdb_cache.c
new file mode 100644
index 0000000000..92de96915d
--- /dev/null
+++ b/source4/dsdb/samdb/ldb_modules/dsdb_cache.c
@@ -0,0 +1,48 @@
+/*
+ Unix SMB/CIFS mplementation.
+
+ The Module that loads some DSDB related things
+ into memory. E.g. it loads the dsdb_schema struture
+
+ Copyright (C) Stefan Metzmacher 2007
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
+#include "includes.h"
+#include "lib/ldb/include/ldb.h"
+#include "lib/ldb/include/ldb_errors.h"
+#include "lib/ldb/include/ldb_private.h"
+#include "dsdb/samdb/samdb.h"
+#include "librpc/gen_ndr/ndr_misc.h"
+#include "librpc/gen_ndr/ndr_drsuapi.h"
+#include "librpc/gen_ndr/ndr_drsblobs.h"
+
+static int dsdb_cache_init(struct ldb_module *module)
+{
+ /* TODO: load the schema */
+ return ldb_next_init(module);
+}
+
+static const struct ldb_module_ops dsdb_cache_ops = {
+ .name = "dsdb_cache",
+ .init_context = dsdb_cache_init
+};
+
+int dsdb_cache_module_init(void)
+{
+ return ldb_register_module(&dsdb_cache_ops);
+}