summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/lib/gencache.c26
-rw-r--r--source3/lib/privileges.c12
2 files changed, 13 insertions, 25 deletions
diff --git a/source3/lib/gencache.c b/source3/lib/gencache.c
index c58642553c..d6f5584c12 100644
--- a/source3/lib/gencache.c
+++ b/source3/lib/gencache.c
@@ -114,7 +114,7 @@ BOOL gencache_shutdown(void)
BOOL gencache_set(const char *keystr, const char *value, time_t timeout)
{
int ret;
- TDB_DATA keybuf, databuf;
+ TDB_DATA databuf;
char* valstr = NULL;
/* fail completely if get null pointers passed */
@@ -130,16 +130,13 @@ BOOL gencache_set(const char *keystr, const char *value, time_t timeout)
if (!valstr)
return False;
- keybuf.dptr = CONST_DISCARD(char *, keystr);
- keybuf.dsize = strlen(keystr)+1;
- databuf.dptr = valstr;
- databuf.dsize = strlen(valstr)+1;
+ databuf = string_term_tdb_data(valstr);
DEBUG(10, ("Adding cache entry with key = %s; value = %s and timeout ="
- " %s (%d seconds %s)\n", keybuf.dptr, value,ctime(&timeout),
+ " %s (%d seconds %s)\n", keystr, value,ctime(&timeout),
(int)(timeout - time(NULL)),
timeout > time(NULL) ? "ahead" : "in the past"));
- ret = tdb_store(cache, keybuf, databuf, 0);
+ ret = tdb_store_bystring(cache, keystr, databuf, 0);
SAFE_FREE(valstr);
return ret == 0;
@@ -157,7 +154,6 @@ BOOL gencache_set(const char *keystr, const char *value, time_t timeout)
BOOL gencache_del(const char *keystr)
{
int ret;
- TDB_DATA keybuf;
/* fail completely if get null pointers passed */
SMB_ASSERT(keystr);
@@ -168,10 +164,8 @@ BOOL gencache_del(const char *keystr)
return False;
}
- keybuf.dptr = CONST_DISCARD(char *, keystr);
- keybuf.dsize = strlen(keystr)+1;
DEBUG(10, ("Deleting cache entry (key = %s)\n", keystr));
- ret = tdb_delete(cache, keybuf);
+ ret = tdb_delete_bystring(cache, keystr);
return ret == 0;
}
@@ -192,7 +186,7 @@ BOOL gencache_del(const char *keystr)
BOOL gencache_get(const char *keystr, char **valstr, time_t *timeout)
{
- TDB_DATA keybuf, databuf;
+ TDB_DATA databuf;
time_t t;
char *endptr;
@@ -202,10 +196,8 @@ BOOL gencache_get(const char *keystr, char **valstr, time_t *timeout)
if (!gencache_init()) {
return False;
}
-
- keybuf.dptr = CONST_DISCARD(char *, keystr);
- keybuf.dsize = strlen(keystr)+1;
- databuf = tdb_fetch(cache, keybuf);
+
+ databuf = tdb_fetch_bystring(cache, keystr);
if (databuf.dptr == NULL) {
DEBUG(10, ("Cache entry with key = %s couldn't be found\n",
@@ -228,7 +220,7 @@ BOOL gencache_get(const char *keystr, char **valstr, time_t *timeout)
if (t <= time(NULL)) {
/* We're expired, delete the entry */
- tdb_delete(cache, keybuf);
+ tdb_delete_bystring(cache, keystr);
SAFE_FREE(databuf.dptr);
return False;
diff --git a/source3/lib/privileges.c b/source3/lib/privileges.c
index c0f7857c95..2348995dc8 100644
--- a/source3/lib/privileges.c
+++ b/source3/lib/privileges.c
@@ -237,7 +237,7 @@ static BOOL get_privileges( const DOM_SID *sid, SE_PRIV *mask )
{
TDB_CONTEXT *tdb = get_account_pol_tdb();
fstring keystr;
- TDB_DATA key, data;
+ TDB_DATA data;
/* Fail if the admin has not enable privileges */
@@ -251,10 +251,8 @@ static BOOL get_privileges( const DOM_SID *sid, SE_PRIV *mask )
/* PRIV_<SID> (NULL terminated) as the key */
fstr_sprintf( keystr, "%s%s", PRIVPREFIX, sid_string_static(sid) );
- key.dptr = keystr;
- key.dsize = strlen(keystr) + 1;
- data = tdb_fetch( tdb, key );
+ data = tdb_fetch_bystring( tdb, keystr );
if ( !data.dptr ) {
DEBUG(3,("get_privileges: No privileges assigned to SID [%s]\n",
@@ -278,7 +276,7 @@ static BOOL set_privileges( const DOM_SID *sid, SE_PRIV *mask )
{
TDB_CONTEXT *tdb = get_account_pol_tdb();
fstring keystr;
- TDB_DATA key, data;
+ TDB_DATA data;
if ( !lp_enable_privileges() )
return False;
@@ -294,15 +292,13 @@ static BOOL set_privileges( const DOM_SID *sid, SE_PRIV *mask )
/* PRIV_<SID> (NULL terminated) as the key */
fstr_sprintf( keystr, "%s%s", PRIVPREFIX, sid_string_static(sid) );
- key.dptr = keystr;
- key.dsize = strlen(keystr) + 1;
/* no packing. static size structure, just write it out */
data.dptr = (char*)mask;
data.dsize = sizeof(SE_PRIV);
- return ( tdb_store(tdb, key, data, TDB_REPLACE) != -1 );
+ return ( tdb_store_bystring(tdb, keystr, data, TDB_REPLACE) != -1 );
}
/****************************************************************************