diff options
-rw-r--r-- | source3/lib/conn_tdb.c | 20 | ||||
-rw-r--r-- | source3/lib/conn_tdb.h | 4 |
2 files changed, 19 insertions, 5 deletions
diff --git a/source3/lib/conn_tdb.c b/source3/lib/conn_tdb.c index 776f53ca79..fb605e12ba 100644 --- a/source3/lib/conn_tdb.c +++ b/source3/lib/conn_tdb.c @@ -54,16 +54,17 @@ static struct db_record *connections_fetch_record(TALLOC_CTX *mem_ctx, return dbwrap_fetch_locked(ctx, mem_ctx, key); } -struct db_record *connections_fetch_entry(TALLOC_CTX *mem_ctx, - connection_struct *conn, - const char *name) +struct db_record *connections_fetch_entry_ext(TALLOC_CTX *mem_ctx, + struct server_id id, + int cnum, + const char *name) { struct connections_key ckey; TDB_DATA key; ZERO_STRUCT(ckey); - ckey.pid = messaging_server_id(conn->sconn->msg_ctx); - ckey.cnum = conn->cnum; + ckey.pid = id; + ckey.cnum = cnum; strlcpy(ckey.name, name, sizeof(ckey.name)); key.dsize = sizeof(ckey); @@ -72,6 +73,15 @@ struct db_record *connections_fetch_entry(TALLOC_CTX *mem_ctx, return connections_fetch_record(mem_ctx, key); } +struct db_record *connections_fetch_entry(TALLOC_CTX *mem_ctx, + connection_struct *conn, + const char *name) +{ + struct server_id id = messaging_server_id(conn->sconn->msg_ctx); + return connections_fetch_entry_ext(mem_ctx, id, conn->cnum, name); +} + + struct conn_traverse_state { int (*fn)(struct db_record *rec, const struct connections_key *key, diff --git a/source3/lib/conn_tdb.h b/source3/lib/conn_tdb.h index ee4befed16..9b63364d44 100644 --- a/source3/lib/conn_tdb.h +++ b/source3/lib/conn_tdb.h @@ -47,6 +47,10 @@ struct connections_data { struct db_record *connections_fetch_entry(TALLOC_CTX *mem_ctx, connection_struct *conn, const char *name); +struct db_record *connections_fetch_entry_ext(TALLOC_CTX *mem_ctx, + struct server_id id, + int cnum, + const char *name); int connections_traverse(int (*fn)(struct db_record *rec, void *private_data), void *private_data); |