From b409d4120f9ae451f93a2322267c0f346531d9f3 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Sun, 26 Aug 2007 15:16:40 +0000 Subject: r24667: Finally merge the registry improvements that Wilco Baan Hofman and I have been working on for at least half a year now. Contains the following improvements: * proper layering (finally!) for the registry library. Distinction is now made between 'real' backends (local, remote, wine, etc) and the low-level hive backends (regf, creg, ldb, ...) that are only used by the local registry backend * tests for all important hive and registry operations * re-enable RPC-WINREG tests (still needs more work though, as some return values aren't checked yet) * write support for REGF files * dir backend now supports setting/reading values, creating keys * support for storing security descriptors * remove CREG backend as it was incomplete, didn't match the data model and wasn't used at all anyway * support for parsing ADM files as used by the policy editor (see lib/policy) * support for parsing PREG files (format used by .POL files) * new streaming interface for registry diffs (improves speed and memory usage for regdiff/regpatch significantly) ... and fixes a large number of bugs in the registry code (This used to be commit 7a1eec6358bc863dfc671c542b7185d3e39d7b5a) --- source4/lib/registry/README | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) (limited to 'source4/lib/registry/README') diff --git a/source4/lib/registry/README b/source4/lib/registry/README index db1fb7a678..07b2c01684 100644 --- a/source4/lib/registry/README +++ b/source4/lib/registry/README @@ -1,30 +1,31 @@ This is the registry library. The registry is basically a bunch of -hives that can be loaded from different places. +hives, each of which is loaded from a file. When using a local registry, +it is possible to specify where hives should be loaded from, etc. -The various registry backends provide support for loading/saving -specific types of hives: +There are separate APIs for accessing the data in a hive and the +data in the registry itself. Each supports different backends. + +The following "full registry" backends are currently provided: + + * Remote (over DCE/RPC) + * Local (allows "mounting" hives) + * Wine (uses the wine plain-text file) + +The following hive backends are supported: - ldb - - w95 (USER.DAT-style files) - - nt4 (NTUSER.DAT-style files) - - gconf (GNOME configuration) + - regf (NTUSER.DAT-style files) - rpc (Remote individual hives) + - directory -Instead of opening individual hives, one can also open a 'complete' -registry by using one of these three functions: - - - reg_open_local() - load local registry, see below - - reg_open_remote() - connect to remote registry over RPC - - reg_open_wine() (not working yet) - -reg_open_local() loads a set of hives based on smb.conf settings. +reg_open_samba() loads a set of hives based on smb.conf settings. Lines in smb.conf should have the following syntax: registry: = : So an example usage could be: -registry:HKEY_CURRENT_USER = nt4:NTUSER.DAT +registry:HKEY_CURRENT_USER = regf:NTUSER.DAT registry:HKEY_LOCAL_MACHINE = ldb:tdb://registry.tdb WERR_NOT_SUPPORTED will be returned for all hives that haven't been set. -- cgit