1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-08 21:18:16 +03:00
samba-mirror/source4/lib/registry
Jelmer Vernooij 299265d47b Remove yet more global_loadparm instances.
(This used to be commit 5de88728ac)
2008-02-21 18:09:47 +01:00
..
man r24667: Finally merge the registry improvements that Wilco Baan Hofman and I have 2007-10-10 15:02:34 -05:00
tests Remove yet more uses of global_loadparm. 2008-02-21 17:17:37 +01:00
tools Remove more uses of global_loadparm. 2008-02-21 16:01:19 +01:00
config.mk build: Remove support for DESCRIPTION setting that is now unused. 2008-01-22 18:49:51 +01:00
dir.c registry: Use correct return values. 2008-01-18 03:42:00 +01:00
Doxyfile r24667: Finally merge the registry improvements that Wilco Baan Hofman and I have 2007-10-10 15:02:34 -05:00
hive.c Remove yet more uses of global_loadparm. 2008-02-21 17:17:37 +01:00
hive.h Remove yet more uses of global_loadparm. 2008-02-21 17:17:37 +01:00
interface.c r26689: registry: Return max_subkeynamelen, max_valnamelen and max_valbufsize in getkeyinfo(). 2008-01-07 08:18:07 -06:00
ldb.c Remove more global_loadparm instance.s 2008-02-21 17:54:24 +01:00
local.c registry: Avoid mapping registry return codes: return the right value in the first place. 2008-01-18 03:42:00 +01:00
patchfile_dotreg.c Remove more uses of global_loadparm. 2008-02-21 16:01:19 +01:00
patchfile_preg.c r26429: Avoid use of global_smb_iconv_convenience. 2007-12-21 05:49:56 +01:00
patchfile.c Remove yet more global_loadparm instances. 2008-02-21 18:09:47 +01:00
patchfile.h r26563: Fix reg_diff_apply argument order. 2007-12-24 01:51:01 -06:00
README r24667: Finally merge the registry improvements that Wilco Baan Hofman and I have 2007-10-10 15:02:34 -05:00
regf.c Remove yet more uses of global_loadparm. 2008-02-21 17:17:37 +01:00
regf.idl r24667: Finally merge the registry improvements that Wilco Baan Hofman and I have 2007-10-10 15:02:34 -05:00
registry_wrap.c r26572: Fix warnings in the Python code. 2007-12-24 01:51:04 -06:00
registry.h Remove more uses of global_loadparm. 2008-02-21 16:01:19 +01:00
registry.i r26572: Fix warnings in the Python code. 2007-12-24 01:51:04 -06:00
registry.pc.in dcerpc: Use manually written .pc files for dcerpc and ndr. 2008-01-22 18:36:14 +01:00
registry.py r26565: Fix python registry bindings. 'PROVISION_PYTHON=yes make test' works now. 2007-12-24 01:51:01 -06:00
rpc.c r26689: registry: Return max_subkeynamelen, max_valnamelen and max_valbufsize in getkeyinfo(). 2008-01-07 08:18:07 -06:00
samba.c registry: Avoid mapping registry return codes: return the right value in the first place. 2008-01-18 03:42:00 +01:00
TODO r24717: Some more easy bool conversions, update TODO for registry 2007-10-10 15:02:55 -05:00
util.c Remove more uses of global_loadparm. 2008-02-21 16:01:19 +01:00
wine.c r25544: Cleanup some more indents in lib/registry. 2007-10-10 15:07:51 -05:00

This is the registry library. The registry is basically a bunch of
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. 

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 
 - regf (NTUSER.DAT-style files)
 - rpc (Remote individual hives)
 - directory

reg_open_samba() loads a set of hives based on smb.conf settings.
Lines in smb.conf should have the following syntax:

registry:<hivename> = <backend>:<location>

So an example usage could be:

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.

On Windows the various registry hives are loaded from:

HKEY_CURRENT_CONFIG: %SystemRoot%\System32\Config\System
HKEY_CURRENT_USER: %Profile%\NTUser.dat
HKEY_LOCAL_MACHINE\SAM: %SystemRoot%\System32\Config\Sam
HKEY_LOCAL_MACHINE\Security: %SystemRoot%\System32\Config\Security
HKEY_LOCAL_MACHINE\Software: %SystemRoot%\System32\Config\Software
HKEY_LOCAL_MACHINE\System: %SystemRoot%\System32\Config\System
HKEY_USERS\.DEFAULT: %SystemRoot%\System32\Config\Default
HKEY_LOCAL_MACHINE\HARDWARE: is autogenerated