diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2004-04-04 16:24:08 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:50:33 -0500 |
commit | c424c2b857fe08587eb81a5c5e3625545119d1c2 (patch) | |
tree | 03505d09ccd72cdfd1218066d355e2d01d403bd0 /source4/lib/registry/reg_backend_ldb/reg_backend_ldb.c | |
parent | 3855ee0164d1c8ff3c3c4ba8a5556d8cfb6546b3 (diff) | |
download | samba-c424c2b857fe08587eb81a5c5e3625545119d1c2.tar.gz samba-c424c2b857fe08587eb81a5c5e3625545119d1c2.tar.bz2 samba-c424c2b857fe08587eb81a5c5e3625545119d1c2.zip |
r20: Add the registry library. Still needs a lot of work,
see source/lib/registry/TODO for details.
(This used to be commit 7cab3a00d7b4b1d95a3bfa6b28f318b4aaa5d493)
Diffstat (limited to 'source4/lib/registry/reg_backend_ldb/reg_backend_ldb.c')
-rw-r--r-- | source4/lib/registry/reg_backend_ldb/reg_backend_ldb.c | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/source4/lib/registry/reg_backend_ldb/reg_backend_ldb.c b/source4/lib/registry/reg_backend_ldb/reg_backend_ldb.c new file mode 100644 index 0000000000..75d5a95187 --- /dev/null +++ b/source4/lib/registry/reg_backend_ldb/reg_backend_ldb.c @@ -0,0 +1,61 @@ +/* + Unix SMB/CIFS implementation. + Registry interface + Copyright (C) Jelmer Vernooij 2004. + + 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/registry/common/registry.h" + +/* + * Saves the dn as private_data for every key/val + */ + +static BOOL ldb_open_registry(REG_HANDLE *handle, const char *location, BOOL try_full_load) +{ + struct ldb_context *c; + c = ldb_connect(location, 0, NULL); + + if(!c) return False; + + handle->backend_data = c; + + return True; +} + +static BOOL ldb_close_registry(REG_HANDLE *h) +{ + ldb_close(h); + return True; +} + +static REG_KEY *ldb_open_key(REG_HANDLE *h, const char *name) +{ + /* FIXME */ +} + +static REG_OPS reg_backend_ldb = { + .name = "ldb", + .open_registry = ldb_open_registry, + .close_registry = ldb_close_registry, + .open_key = ldb_open_key, +}; + +NTSTATUS reg_ldb_init(void) +{ + return register_backend("registry", ®_backend_ldb); +} |