svn commit: samba r9904 - in
branches/tmp/RPCREWRITE/source/registry: .
jra at samba.org
jra at samba.org
Thu Sep 1 15:43:21 GMT 2005
Author: jra
Date: 2005-09-01 15:43:20 +0000 (Thu, 01 Sep 2005)
New Revision: 9904
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=9904
Log:
Merge from HEAD.
Jeremy.
Modified:
branches/tmp/RPCREWRITE/source/registry/reg_db.c
Changeset:
Modified: branches/tmp/RPCREWRITE/source/registry/reg_db.c
===================================================================
--- branches/tmp/RPCREWRITE/source/registry/reg_db.c 2005-09-01 15:42:18 UTC (rev 9903)
+++ branches/tmp/RPCREWRITE/source/registry/reg_db.c 2005-09-01 15:43:20 UTC (rev 9904)
@@ -49,6 +49,7 @@
"HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Perflib\\009",
"HKLM\\SYSTEM\\CurrentControlSet\\Control\\Print\\Monitors",
"HKLM\\SYSTEM\\CurrentControlSet\\Control\\ProductOptions",
+ "HKLM\\SYSTEM\\CurrentControlSet\\Control\\Termininal Server\\DefaultUserConfiguration",
"HKLM\\SYSTEM\\CurrentControlSet\\Services\\TcpIp\\Parameters",
"HKLM\\SYSTEM\\CurrentControlSet\\Services\\Netlogon\\Parameters",
"HKU",
@@ -163,7 +164,12 @@
}
regdb_fetch_values( builtin_registry_values[i].path, values );
- switch( builtin_registry_values[i].type ) {
+
+ /* preserve existing values across restarts. Only add new ones */
+
+ if ( !regval_ctr_key_exists( values, builtin_registry_values[i].valuename ) )
+ {
+ switch( builtin_registry_values[i].type ) {
case REG_DWORD:
regval_ctr_addvalue( values,
builtin_registry_values[i].valuename,
@@ -184,8 +190,9 @@
default:
DEBUG(0,("init_registry_data: invalid value type in builtin_registry_values [%d]\n",
builtin_registry_values[i].type));
+ }
+ regdb_store_values( builtin_registry_values[i].path, values );
}
- regdb_store_values( builtin_registry_values[i].path, values );
TALLOC_FREE( values );
}
@@ -205,8 +212,6 @@
if ( tdb_reg )
return True;
- /* placeholder tdb; reinit upon startup */
-
if ( !(tdb_reg = tdb_open_log(lock_path("registry.tdb"), 0, TDB_DEFAULT, O_RDWR, 0600)) )
{
tdb_reg = tdb_open_log(lock_path("registry.tdb"), 0, TDB_DEFAULT, O_RDWR|O_CREAT, 0600);
@@ -223,13 +228,14 @@
vers_id = tdb_fetch_int32(tdb_reg, vstring);
if ( vers_id != REGVER_V1 ) {
+ /* any upgrade code here if needed */
+ }
- /* create the registry here */
+ /* always setup the necessary keys and values */
- if ( !init_registry_data() ) {
- DEBUG(0,("init_registry: Failed to initiailize data in registry!\n"));
- return False;
- }
+ if ( !init_registry_data() ) {
+ DEBUG(0,("init_registry: Failed to initiailize data in registry!\n"));
+ return False;
}
return True;
More information about the samba-cvs
mailing list