1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-13 13:18:06 +03:00
samba-mirror/source4/lib/registry
Matthias Dieter Wallnöfer 47868196b8 Registry server LDB backend REG_SZ type: Fix up the empty string problem
This fixes up the empty string problem in a better way without the need of changing the character conversion code.
2008-10-21 14:40:41 +02:00
..
man r24667: Finally merge the registry improvements that Wilco Baan Hofman and I have 2007-10-10 15:02:34 -05:00
tests Cope with new event context parameter in API and removed parameters to reg_open_local(). 2008-05-23 16:17:58 +02:00
tools Fix up the "reg_common_open_remote" call 2008-09-09 18:03:54 +02:00
config.mk Allow external use of regf idl. 2008-05-27 18:46:05 +02:00
dir.c Merge hive.h into registry.h 2008-04-02 13:59:48 +02: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 Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into registry 2008-05-23 15:24:40 +02:00
interface.c Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into registry 2008-05-23 15:24:40 +02:00
ldb.c Registry server LDB backend REG_SZ type: Fix up the empty string problem 2008-10-21 14:40:41 +02:00
local.c Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into registry 2008-05-23 15:24:40 +02:00
patchfile_dotreg.c Fixed the patchfile tests and tidy up the patchfile backends. 2008-04-15 11:52:33 +02:00
patchfile_preg.c Fix const. 2008-04-15 22:19:05 +02:00
patchfile.c Fix PReg write support. 2008-04-15 19:57:29 +02: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 Add support for security descriptors. Also patched the regf backend to support this. 2008-04-14 22:52:51 +02: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 Add a setexpiry operation in samdb.py 2008-08-30 07:32:44 +10:00
registry.h Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into registry 2008-05-23 15:24:40 +02:00
registry.i Use proper python errors. 2008-06-14 12:20:12 +02:00
registry.pc.in Fix installation of dcerpc_atsvc and registry as required by samba-gtk. 2008-04-03 01:36:03 +02:00
registry.py Add a setexpiry operation in samdb.py 2008-08-30 07:32:44 +10: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 Specify event_context to ldb_wrap_connect explicitly. 2008-04-17 12:23:44 +02: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