*/
struct server_id sess_pid;
+ TDB_DATA value;
snprintf(keystr, sizeof(keystr), "ID/%d", i);
return False;
}
- if (rec->value.dsize != sizeof(sessionid)) {
+ value = dbwrap_record_get_value(rec);
+
+ if (value.dsize != sizeof(sessionid)) {
DEBUG(1, ("Re-using invalid record\n"));
break;
}
memcpy(&sess_pid,
- ((char *)rec->value.dptr)
+ ((char *)value.dptr)
+ offsetof(struct sessionid, pid),
sizeof(sess_pid));
data.dptr = (uint8 *)&sessionid;
data.dsize = sizeof(sessionid);
- status = rec->store(rec, data, TDB_REPLACE);
+ status = dbwrap_record_store(rec, data, TDB_REPLACE);
TALLOC_FREE(rec);
{
struct sessionid sessionid;
struct db_record *rec;
+ TDB_DATA value;
if (!vuser->session_keystr) {
return;
return;
}
- if (rec->value.dsize != sizeof(sessionid))
+ value = dbwrap_record_get_value(rec);
+
+ if (value.dsize != sizeof(sessionid))
return;
- memcpy(&sessionid, rec->value.dptr, sizeof(sessionid));
+ memcpy(&sessionid, value.dptr, sizeof(sessionid));
if (lp_utmp()) {
sys_utmp_yield(sessionid.username, sessionid.hostname,
smb_pam_close_session(sessionid.username, sessionid.id_str,
sessionid.hostname);
- rec->delete_rec(rec);
+ dbwrap_record_delete(rec);
TALLOC_FREE(rec);
}