From 007c6f6e659c61e426deb97f6156d92723549f71 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Fri, 12 Jan 2007 17:58:38 +0000 Subject: 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) --- source4/dsdb/samdb/ldb_modules/config.mk | 11 +++++++ source4/dsdb/samdb/ldb_modules/dsdb_cache.c | 48 +++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 source4/dsdb/samdb/ldb_modules/dsdb_cache.c (limited to 'source4/dsdb/samdb') 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 @@ -22,6 +22,17 @@ OBJ_FILES = \ # End MODULE ldb_repl_meta_data ################################################ +################################################ +# 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] 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); +} -- cgit