{
NTSTATUS ret;
time_t timeout = time(NULL) + lp_idmap_cache_time();
- TDB_DATA keybuf, databuf;
+ TDB_DATA databuf;
char *sidkey;
char *idkey;
char *valstr;
goto done;
}
- keybuf.dptr = sidkey;
- keybuf.dsize = strlen(sidkey)+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, valstr , ctime(&timeout),
+ " %s (%d seconds %s)\n", sidkey, valstr , ctime(&timeout),
(int)(timeout - time(NULL)),
timeout > time(NULL) ? "ahead" : "in the past"));
- if (tdb_store(cache->tdb, keybuf, databuf, TDB_REPLACE) != 0) {
+ if (tdb_store_bystring(cache->tdb, sidkey, databuf, TDB_REPLACE) != 0) {
DEBUG(3, ("Failed to store cache entry!\n"));
ret = NT_STATUS_UNSUCCESSFUL;
goto done;
goto done;
}
- keybuf.dptr = idkey;
- keybuf.dsize = strlen(idkey)+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, valstr, ctime(&timeout),
+ " %s (%d seconds %s)\n", idkey, valstr, ctime(&timeout),
(int)(timeout - time(NULL)),
timeout > time(NULL) ? "ahead" : "in the past"));
- if (tdb_store(cache->tdb, keybuf, databuf, TDB_REPLACE) != 0) {
+ if (tdb_store_bystring(cache->tdb, idkey, databuf, TDB_REPLACE) != 0) {
DEBUG(3, ("Failed to store cache entry!\n"));
ret = NT_STATUS_UNSUCCESSFUL;
goto done;
NTSTATUS idmap_cache_del(struct idmap_cache_ctx *cache, const struct id_map *id)
{
NTSTATUS ret;
- TDB_DATA keybuf;
char *sidkey = NULL;
char *idkey = NULL;
/* delete SID */
- keybuf.dptr = sidkey;
- keybuf.dsize = strlen(sidkey)+1;
- DEBUG(10, ("Deleting cache entry (key = %s)\n", keybuf.dptr));
+ DEBUG(10, ("Deleting cache entry (key = %s)\n", sidkey));
- if (tdb_delete(cache->tdb, keybuf) != 0) {
+ if (tdb_delete_bystring(cache->tdb, sidkey) != 0) {
DEBUG(3, ("Failed to delete cache entry!\n"));
}
/* delete ID */
- keybuf.dptr = idkey;
- keybuf.dsize = strlen(idkey)+1;
- DEBUG(10, ("Deleting cache entry (key = %s)\n", keybuf.dptr));
+ DEBUG(10, ("Deleting cache entry (key = %s)\n", idkey));
- if (tdb_delete(cache->tdb, keybuf) != 0) {
+ if (tdb_delete_bystring(cache->tdb, idkey) != 0) {
DEBUG(3, ("Failed to delete cache entry!\n"));
}
{
NTSTATUS ret;
time_t timeout = time(NULL) + lp_idmap_negative_cache_time();
- TDB_DATA keybuf, databuf;
+ TDB_DATA databuf;
char *sidkey;
char *valstr;
goto done;
}
- keybuf.dptr = sidkey;
- keybuf.dsize = strlen(sidkey)+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, valstr, ctime(&timeout),
+ " %s (%d seconds %s)\n", sidkey, valstr, ctime(&timeout),
(int)(timeout - time(NULL)),
timeout > time(NULL) ? "ahead" : "in the past"));
- if (tdb_store(cache->tdb, keybuf, databuf, TDB_REPLACE) != 0) {
+ if (tdb_store_bystring(cache->tdb, sidkey, databuf, TDB_REPLACE) != 0) {
DEBUG(3, ("Failed to store cache entry!\n"));
ret = NT_STATUS_UNSUCCESSFUL;
goto done;
{
NTSTATUS ret;
time_t timeout = time(NULL) + lp_idmap_negative_cache_time();
- TDB_DATA keybuf, databuf;
+ TDB_DATA databuf;
char *idkey;
char *valstr;
goto done;
}
- keybuf.dptr = idkey;
- keybuf.dsize = strlen(idkey)+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, valstr, ctime(&timeout),
+ " %s (%d seconds %s)\n", idkey, valstr, ctime(&timeout),
(int)(timeout - time(NULL)),
timeout > time(NULL) ? "ahead" : "in the past"));
- if (tdb_store(cache->tdb, keybuf, databuf, TDB_REPLACE) != 0) {
+ if (tdb_store_bystring(cache->tdb, idkey, databuf, TDB_REPLACE) != 0) {
DEBUG(3, ("Failed to store cache entry!\n"));
ret = NT_STATUS_UNSUCCESSFUL;
goto done;
NTSTATUS idmap_cache_map_sid(struct idmap_cache_ctx *cache, struct id_map *id)
{
NTSTATUS ret;
- TDB_DATA keybuf, databuf;
+ TDB_DATA databuf;
time_t t;
char *sidkey;
char *endptr;
ret = idmap_cache_build_sidkey(cache, &sidkey, id);
if (!NT_STATUS_IS_OK(ret)) return ret;
- keybuf.dptr = sidkey;
- keybuf.dsize = strlen(sidkey)+1;
-
- databuf = tdb_fetch(cache->tdb, keybuf);
+ databuf = tdb_fetch_bystring(cache->tdb, sidkey);
if (databuf.dptr == NULL) {
DEBUG(10, ("Cache entry with key = %s couldn't be found\n", sidkey));
if ((endptr == NULL) || (*endptr != '/')) {
DEBUG(2, ("Invalid gencache data format: %s\n", databuf.dptr));
/* remove the entry */
- tdb_delete(cache->tdb, keybuf);
+ tdb_delete_bystring(cache->tdb, sidkey);
ret = NT_STATUS_NONE_MAPPED;
goto done;
}
ret = idmap_cache_fill_map(id, endptr+1);
if ( ! NT_STATUS_IS_OK(ret)) {
/* if not valid form delete the entry */
- tdb_delete(cache->tdb, keybuf);
+ tdb_delete_bystring(cache->tdb, sidkey);
ret = NT_STATUS_NONE_MAPPED;
goto done;
}
} else {
/* We're expired, delete the entry and return
not mapped */
- tdb_delete(cache->tdb, keybuf);
+ tdb_delete_bystring(cache->tdb, sidkey);
ret = NT_STATUS_NONE_MAPPED;
}
} else {
NTSTATUS idmap_cache_map_id(struct idmap_cache_ctx *cache, struct id_map *id)
{
NTSTATUS ret;
- TDB_DATA keybuf, databuf;
+ TDB_DATA databuf;
time_t t;
char *idkey;
char *endptr;
ret = idmap_cache_build_idkey(cache, &idkey, id);
if (!NT_STATUS_IS_OK(ret)) return ret;
- keybuf.dptr = idkey;
- keybuf.dsize = strlen(idkey)+1;
-
- databuf = tdb_fetch(cache->tdb, keybuf);
+ databuf = tdb_fetch_bystring(cache->tdb, idkey);
if (databuf.dptr == NULL) {
DEBUG(10, ("Cache entry with key = %s couldn't be found\n", idkey));
if ((endptr == NULL) || (*endptr != '/')) {
DEBUG(2, ("Invalid gencache data format: %s\n", databuf.dptr));
/* remove the entry */
- tdb_delete(cache->tdb, keybuf);
+ tdb_delete_bystring(cache->tdb, idkey);
ret = NT_STATUS_NONE_MAPPED;
goto done;
}
ret = idmap_cache_fill_map(id, endptr+1);
if ( ! NT_STATUS_IS_OK(ret)) {
/* if not valid form delete the entry */
- tdb_delete(cache->tdb, keybuf);
+ tdb_delete_bystring(cache->tdb, idkey);
ret = NT_STATUS_NONE_MAPPED;
goto done;
}
} else {
/* We're expired, delete the entry and
return not mapped */
- tdb_delete(cache->tdb, keybuf);
+ tdb_delete_bystring(cache->tdb, idkey);
ret = NT_STATUS_NONE_MAPPED;
}
} else {