****************************************************************************/
BOOL add_mapping_entry(GROUP_MAP *map, int flag)
{
- TDB_DATA kbuf, dbuf;
+ TDB_DATA dbuf;
pstring key, buf;
fstring string_sid="";
int len;
slprintf(key, sizeof(key), "%s%s", GROUP_PREFIX, string_sid);
- kbuf.dsize = strlen(key)+1;
- kbuf.dptr = key;
dbuf.dsize = len;
dbuf.dptr = buf;
- if (tdb_store(tdb, kbuf, dbuf, flag) != 0) return False;
+ if (tdb_store_bystring(tdb, key, dbuf, flag) != 0) return False;
return True;
}
BOOL get_group_map_from_sid(DOM_SID sid, GROUP_MAP *map)
{
- TDB_DATA kbuf, dbuf;
+ TDB_DATA dbuf;
pstring key;
fstring string_sid;
int ret = 0;
sid_to_string(string_sid, &sid);
slprintf(key, sizeof(key), "%s%s", GROUP_PREFIX, string_sid);
- kbuf.dptr = key;
- kbuf.dsize = strlen(key)+1;
-
- dbuf = tdb_fetch(tdb, kbuf);
+ dbuf = tdb_fetch_bystring(tdb, key);
if (!dbuf.dptr)
return False;
BOOL group_map_remove(const DOM_SID *sid)
{
- TDB_DATA kbuf, dbuf;
+ TDB_DATA dbuf;
pstring key;
fstring string_sid;
sid_to_string(string_sid, sid);
slprintf(key, sizeof(key), "%s%s", GROUP_PREFIX, string_sid);
- kbuf.dptr = key;
- kbuf.dsize = strlen(key)+1;
-
- dbuf = tdb_fetch(tdb, kbuf);
+ dbuf = tdb_fetch_bystring(tdb, key);
if (!dbuf.dptr)
return False;
SAFE_FREE(dbuf.dptr);
- if(tdb_delete(tdb, kbuf) != TDB_SUCCESS)
+ if(tdb_delete_bystring(tdb, key) != TDB_SUCCESS)
return False;
return True;
DOM_SID **sids, size_t *num)
{
fstring key, string_sid;
- TDB_DATA kbuf, dbuf;
+ TDB_DATA dbuf;
const char *p;
if (!init_group_mapping()) {
sid_to_string(string_sid, member);
slprintf(key, sizeof(key), "%s%s", MEMBEROF_PREFIX, string_sid);
- kbuf.dsize = strlen(key)+1;
- kbuf.dptr = key;
-
- dbuf = tdb_fetch(tdb, kbuf);
+ dbuf = tdb_fetch_bystring(tdb, key);
if (dbuf.dptr == NULL) {
return NT_STATUS_OK;
NTSTATUS add_aliasmem(const DOM_SID *alias, const DOM_SID *member)
{
GROUP_MAP map;
- TDB_DATA kbuf, dbuf;
+ TDB_DATA dbuf;
pstring key;
fstring string_sid;
char *new_memberstring;
sid_to_string(string_sid, member);
slprintf(key, sizeof(key), "%s%s", MEMBEROF_PREFIX, string_sid);
- kbuf.dsize = strlen(key)+1;
- kbuf.dptr = key;
-
- dbuf = tdb_fetch(tdb, kbuf);
+ dbuf = tdb_fetch_bystring(tdb, key);
sid_to_string(string_sid, alias);
return NT_STATUS_NO_MEMORY;
SAFE_FREE(dbuf.dptr);
- dbuf.dsize = strlen(new_memberstring)+1;
- dbuf.dptr = new_memberstring;
+ dbuf = string_term_tdb_data(new_memberstring);
- result = tdb_store(tdb, kbuf, dbuf, 0);
+ result = tdb_store_bystring(tdb, key, dbuf, 0);
SAFE_FREE(new_memberstring);
size_t i, num;
BOOL found = False;
char *member_string;
- TDB_DATA kbuf, dbuf;
+ TDB_DATA dbuf;
pstring key;
fstring sid_string;
sid_to_string(sid_string, member);
slprintf(key, sizeof(key), "%s%s", MEMBEROF_PREFIX, sid_string);
- kbuf.dsize = strlen(key)+1;
- kbuf.dptr = key;
-
if (num == 0)
- return tdb_delete(tdb, kbuf) == 0 ?
+ return tdb_delete_bystring(tdb, key) == 0 ?
NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
member_string = SMB_STRDUP("");
}
}
- dbuf.dsize = strlen(member_string)+1;
- dbuf.dptr = member_string;
+ dbuf = string_term_tdb_data(member_string);
- result = tdb_store(tdb, kbuf, dbuf, 0) == 0 ?
+ result = tdb_store_bystring(tdb, key, dbuf, 0) == 0 ?
NT_STATUS_OK : NT_STATUS_ACCESS_DENIED;
SAFE_FREE(sids);