diff options
author | Michael Adam <obnox@samba.org> | 2007-06-13 13:15:16 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:23:18 -0500 |
commit | a2762cfcaa7e1e77fdb353bbffcb33686f892e6a (patch) | |
tree | 35a3bc1110201e309f6d86ed27091b6ec6174d81 /source3/registry | |
parent | 0e0fed6f25520d31966a5b29429533397ee5e171 (diff) | |
download | samba-a2762cfcaa7e1e77fdb353bbffcb33686f892e6a.tar.gz samba-a2762cfcaa7e1e77fdb353bbffcb33686f892e6a.tar.bz2 samba-a2762cfcaa7e1e77fdb353bbffcb33686f892e6a.zip |
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)
Diffstat (limited to 'source3/registry')
-rw-r--r-- | source3/registry/reg_db.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/source3/registry/reg_db.c b/source3/registry/reg_db.c index 400384a965..555ae6adda 100644 --- a/source3/registry/reg_db.c +++ b/source3/registry/reg_db.c @@ -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", @@ -321,6 +323,16 @@ int regdb_close( void ) } /*********************************************************************** + 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 fstrings |