1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-11 05:18:09 +03:00
samba-mirror/source4/lib/registry
Jelmer Vernooij 6812c73534 r10348: Add scons scripts for remaining subsystems. Most subsystems build now,
but final linking still fails (as does generating files asn1, et, idl and proto
files)
(This used to be commit 4f0d7f75b9)
2007-10-10 13:38:30 -05:00
..
common r10207: Add some const 2007-10-10 13:38:08 -05:00
man r7113: Move manpages from docs repository to source repository 2007-10-10 13:17:18 -05:00
tools r10052: Add 'print' command 2007-10-10 13:36:33 -05:00
config.m4 r7373: Disable reg_gconf by default, allow building it with --enable-reg-gconf 2007-10-10 13:17:47 -05:00
config.mk r10294: Generate Makefile directly rather then thru Makefile.in. Autoconf 2007-10-10 13:38:14 -05:00
README r9381: Line wrapping. 2007-10-10 13:33:30 -05:00
reg_backend_dir.c r10207: Add some const 2007-10-10 13:38:08 -05:00
reg_backend_gconf.c r5303: fixed build of gconf registry backend 2007-10-10 13:09:39 -05:00
reg_backend_ldb.c r10207: Add some const 2007-10-10 13:38:08 -05:00
reg_backend_nt4.c r10207: Add some const 2007-10-10 13:38:08 -05:00
reg_backend_rpc.c r10207: Add some const 2007-10-10 13:38:08 -05:00
reg_backend_w95.c r10207: Add some const 2007-10-10 13:38:08 -05:00
reg_backend_wine.c r4132: - Bunch of rather large fixes in the registry 2007-10-10 13:06:29 -05:00
reg_samba.c r9357: Remove DBGC_CLASS cruft copied over from Samba 3. I would like to 2007-10-10 13:33:27 -05:00
regf.idl r10207: Add some const 2007-10-10 13:38:08 -05:00
registry.h r10207: Add some const 2007-10-10 13:38:08 -05:00
SConscript r10348: Add scons scripts for remaining subsystems. Most subsystems build now, 2007-10-10 13:38:30 -05:00
TODO r10007: Merge data_blk and data_len member of registry_value into a DATA_BLOB. 2007-10-10 13:36:28 -05:00
winregistry.pc.in r20: Add the registry library. Still needs a lot of work, 2007-10-10 12:50:33 -05:00

This is the registry library. The registry is basically a bunch of
hives that can be loaded from different places.

The various registry backends provide support for loading/saving
specific types of hives:

 - ldb 
 - w95 (USER.DAT-style files)
 - nt4 (NTUSER.DAT-style files)
 - gconf (GNOME configuration)
 - rpc (Remote individual hives)

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.
Lines in smb.conf should have the following syntax:

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

So an example usage could be:

registry:HKEY_CURRENT_USER = nt4: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