1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-09 09:57:48 +03:00

smbd: Simplify smbXsrv_open_global_parse_record()

It does not need a db_record.

Signed-off-by: Volker Lendecke <vl@samba.org>
This commit is contained in:
Volker Lendecke 2023-01-19 12:25:21 +01:00
parent 2f6776741d
commit 132b83d065

View File

@ -323,11 +323,10 @@ static NTSTATUS smbXsrv_open_global_allocate(
static NTSTATUS smbXsrv_open_global_parse_record( static NTSTATUS smbXsrv_open_global_parse_record(
TALLOC_CTX *mem_ctx, TALLOC_CTX *mem_ctx,
struct db_record *rec, TDB_DATA key,
TDB_DATA val,
struct smbXsrv_open_global0 **global) struct smbXsrv_open_global0 **global)
{ {
TDB_DATA key = dbwrap_record_get_key(rec);
TDB_DATA val = dbwrap_record_get_value(rec);
DATA_BLOB blob = data_blob_const(val.dptr, val.dsize); DATA_BLOB blob = data_blob_const(val.dptr, val.dsize);
struct smbXsrv_open_globalB global_blob; struct smbXsrv_open_globalB global_blob;
enum ndr_err_code ndr_err; enum ndr_err_code ndr_err;
@ -1325,10 +1324,13 @@ static int smbXsrv_open_global_traverse_fn(struct db_record *rec, void *data)
struct smbXsrv_open_global_traverse_state *state = struct smbXsrv_open_global_traverse_state *state =
(struct smbXsrv_open_global_traverse_state*)data; (struct smbXsrv_open_global_traverse_state*)data;
struct smbXsrv_open_global0 *global = NULL; struct smbXsrv_open_global0 *global = NULL;
TDB_DATA key = dbwrap_record_get_key(rec);
TDB_DATA val = dbwrap_record_get_value(rec);
NTSTATUS status; NTSTATUS status;
int ret = -1; int ret = -1;
status = smbXsrv_open_global_parse_record(talloc_tos(), rec, &global); status = smbXsrv_open_global_parse_record(
talloc_tos(), key, val, &global);
if (!NT_STATUS_IS_OK(status)) { if (!NT_STATUS_IS_OK(status)) {
return -1; return -1;
} }
@ -1374,7 +1376,7 @@ NTSTATUS smbXsrv_open_cleanup(uint64_t persistent_id)
NTSTATUS status = NT_STATUS_OK; NTSTATUS status = NT_STATUS_OK;
TALLOC_CTX *frame = talloc_stackframe(); TALLOC_CTX *frame = talloc_stackframe();
struct smbXsrv_open_global0 *op = NULL; struct smbXsrv_open_global0 *op = NULL;
TDB_DATA val; TDB_DATA key, val;
struct db_record *rec; struct db_record *rec;
bool delete_open = false; bool delete_open = false;
uint32_t global_id = persistent_id & UINT32_MAX; uint32_t global_id = persistent_id & UINT32_MAX;
@ -1387,7 +1389,9 @@ NTSTATUS smbXsrv_open_cleanup(uint64_t persistent_id)
goto done; goto done;
} }
key = dbwrap_record_get_key(rec);
val = dbwrap_record_get_value(rec); val = dbwrap_record_get_value(rec);
if (val.dsize == 0) { if (val.dsize == 0) {
DEBUG(10, ("smbXsrv_open_cleanup[global: 0x%08x] " DEBUG(10, ("smbXsrv_open_cleanup[global: 0x%08x] "
"empty record in %s, skipping...\n", "empty record in %s, skipping...\n",
@ -1395,7 +1399,8 @@ NTSTATUS smbXsrv_open_cleanup(uint64_t persistent_id)
goto done; goto done;
} }
status = smbXsrv_open_global_parse_record(talloc_tos(), rec, &op); status = smbXsrv_open_global_parse_record(
talloc_tos(), key, val, &op);
if (!NT_STATUS_IS_OK(status)) { if (!NT_STATUS_IS_OK(status)) {
DEBUG(1, ("smbXsrv_open_cleanup[global: 0x%08x] " DEBUG(1, ("smbXsrv_open_cleanup[global: 0x%08x] "
"failed to read record: %s\n", "failed to read record: %s\n",