mirror of
https://github.com/samba-team/samba.git
synced 2025-02-03 13:47:25 +03:00
r23468: Open registry.tdb with sequence number.
Add a function to retrieve the registry db sequence number. This is in preparation of loadparm integration of registry global smb.conf options: this will allow to detect changes in order to trigger reload. Michael (This used to be commit ebe2ea8f22bfe0855beee087af771c690db443c1)
This commit is contained in:
parent
0e0fed6f25
commit
a2762cfcaa
@ -31,6 +31,8 @@ static int tdb_refcount;
|
||||
#define VALUE_PREFIX "SAMBA_REGVAL"
|
||||
#define SECDESC_PREFIX "SAMBA_SECDESC"
|
||||
|
||||
#define REG_TDB_FLAGS TDB_SEQNUM
|
||||
|
||||
/* List the deepest path into the registry. All part components will be created.*/
|
||||
|
||||
/* If you want to have a part of the path controlled by the tdb and part by
|
||||
@ -236,9 +238,9 @@ BOOL regdb_init( void )
|
||||
if ( tdb_reg )
|
||||
return True;
|
||||
|
||||
if ( !(tdb_reg = tdb_open_log(lock_path("registry.tdb"), 0, TDB_DEFAULT, O_RDWR, 0600)) )
|
||||
if ( !(tdb_reg = tdb_open_log(lock_path("registry.tdb"), 0, REG_TDB_FLAGS, O_RDWR, 0600)) )
|
||||
{
|
||||
tdb_reg = tdb_open_log(lock_path("registry.tdb"), 0, TDB_DEFAULT, O_RDWR|O_CREAT, 0600);
|
||||
tdb_reg = tdb_open_log(lock_path("registry.tdb"), 0, REG_TDB_FLAGS, O_RDWR|O_CREAT, 0600);
|
||||
if ( !tdb_reg ) {
|
||||
DEBUG(0,("regdb_init: Failed to open registry %s (%s)\n",
|
||||
lock_path("registry.tdb"), strerror(errno) ));
|
||||
@ -283,7 +285,7 @@ WERROR regdb_open( void )
|
||||
|
||||
become_root();
|
||||
|
||||
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, REG_TDB_FLAGS, O_RDWR, 0600);
|
||||
if ( !tdb_reg ) {
|
||||
result = ntstatus_to_werror( map_nt_error_from_unix( errno ) );
|
||||
DEBUG(0,("regdb_open: Failed to open %s! (%s)\n",
|
||||
@ -320,6 +322,16 @@ int regdb_close( void )
|
||||
return ret;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
return the tdb sequence number of the registry tdb.
|
||||
this is an indicator for the content of the registry
|
||||
having changed. it will change upon regdb_init, too, though.
|
||||
***********************************************************************/
|
||||
int regdb_get_seqnum(void)
|
||||
{
|
||||
return tdb_get_seqnum(tdb_reg);
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
Add subkey strings to the registry tdb under a defined key
|
||||
fmt is the same format as tdb_pack except this function only supports
|
||||
|
Loading…
x
Reference in New Issue
Block a user