From: Volker Lendecke Date: Fri, 17 Oct 2014 12:09:03 +0000 (+0000) Subject: messaging3: Add messaging_names_db X-Git-Url: http://git.samba.org/?a=commitdiff_plain;h=d9a8453bbf69567236038e62f1c5cc4df25d899b;p=obnox%2Fsamba%2Fsamba-obnox.git messaging3: Add messaging_names_db This will enable messaging3 users to more easily register themselves under a name Signed-off-by: Volker Lendecke Reviewed-by: Jeremy Allison --- diff --git a/source3/include/messages.h b/source3/include/messages.h index fac561bcf69..80b6c19bf1f 100644 --- a/source3/include/messages.h +++ b/source3/include/messages.h @@ -89,6 +89,7 @@ struct messaging_context *messaging_init(TALLOC_CTX *mem_ctx, struct server_id messaging_server_id(const struct messaging_context *msg_ctx); struct tevent_context *messaging_tevent_context( struct messaging_context *msg_ctx); +struct server_id_db *messaging_names_db(struct messaging_context *msg_ctx); /* * re-init after a fork diff --git a/source3/lib/messages.c b/source3/lib/messages.c index 1fd7601f829..27114687189 100644 --- a/source3/lib/messages.c +++ b/source3/lib/messages.c @@ -53,6 +53,7 @@ #include "lib/background.h" #include "lib/messages_dgm.h" #include "lib/iov_buf.h" +#include "lib/util/server_id_db.h" struct messaging_callback { struct messaging_callback *prev, *next; @@ -75,6 +76,8 @@ struct messaging_context { unsigned num_waiters; struct messaging_backend *remote; + + struct server_id_db *names_db; }; struct messaging_hdr { @@ -314,6 +317,15 @@ struct messaging_context *messaging_init(TALLOC_CTX *mem_ctx, return NULL; } + ctx->names_db = server_id_db_init( + ctx, ctx->id, lp_cache_directory(), 0, + TDB_INCOMPATIBLE_HASH|TDB_CLEAR_IF_FIRST); + if (ctx->names_db == NULL) { + DEBUG(10, ("%s: server_id_db_init failed\n", __func__)); + TALLOC_FREE(ctx); + return NULL; + } + talloc_set_destructor(ctx, messaging_context_destructor); if (lp_clustering()) { @@ -377,6 +389,8 @@ NTSTATUS messaging_reinit(struct messaging_context *msg_ctx) } } + server_id_db_reinit(msg_ctx->names_db, msg_ctx->id); + return NT_STATUS_OK; } @@ -963,4 +977,9 @@ struct tevent_context *messaging_tevent_context( return msg_ctx->event_ctx; } +struct server_id_db *messaging_names_db(struct messaging_context *msg_ctx) +{ + return msg_ctx->names_db; +} + /** @} **/ diff --git a/source3/wscript_build b/source3/wscript_build index 5128b96bfd5..937657689af 100755 --- a/source3/wscript_build +++ b/source3/wscript_build @@ -363,6 +363,7 @@ bld.SAMBA3_SUBSYSTEM('samba3core', dbwrap samba3-util errors3 + server_id_db TDB_LIB''') bld.SAMBA3_LIBRARY('smbd_shim',