From: Christof Schmitt Date: Tue, 21 Aug 2018 19:35:11 +0000 (-0700) Subject: s3:smbcontrol: Use cmdline_messaging_context X-Git-Tag: tdb-1.3.17~1694 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=de040eafbd7d729316d757c14c44df163a4b36ad;p=thirdparty%2Fsamba.git s3:smbcontrol: Use cmdline_messaging_context Initialize the messaging context through cmdline_messaging_context to allow access to config in clustered Samba. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13465 Signed-off-by: Christof Schmitt Reviewed-by: Ralph Boehme --- diff --git a/source3/utils/smbcontrol.c b/source3/utils/smbcontrol.c index 6e612e9dd8f..d768849b766 100644 --- a/source3/utils/smbcontrol.c +++ b/source3/utils/smbcontrol.c @@ -35,6 +35,7 @@ #include "util_tdb.h" #include "../lib/util/pidfile.h" #include "serverid.h" +#include "cmdline_contexts.h" #if HAVE_LIBUNWIND_H #include @@ -1609,21 +1610,23 @@ int main(int argc, const char **argv) if (argc <= 1) usage(pc); + msg_ctx = cmdline_messaging_context(get_dyn_CONFIGFILE()); + if (msg_ctx == NULL) { + fprintf(stderr, + "Could not init messaging context, not root?\n"); + TALLOC_FREE(frame); + exit(1); + } + + evt_ctx = server_event_context(); + lp_load_global(get_dyn_CONFIGFILE()); /* Need to invert sense of return code -- samba * routines mostly return True==1 for success, but * shell needs 0. */ - if (!(evt_ctx = samba_tevent_context_init(NULL)) || - !(msg_ctx = messaging_init(NULL, evt_ctx))) { - fprintf(stderr, "could not init messaging context\n"); - TALLOC_FREE(frame); - exit(1); - } - ret = !do_command(evt_ctx, msg_ctx, argc, argv); - TALLOC_FREE(msg_ctx); TALLOC_FREE(frame); return ret; } diff --git a/source3/utils/wscript_build b/source3/utils/wscript_build index 11bd2015c3a..6793c6d5c8a 100644 --- a/source3/utils/wscript_build +++ b/source3/utils/wscript_build @@ -18,6 +18,7 @@ bld.SAMBA3_BINARY('smbcontrol', talloc smbconf popt_samba3 + cmdline_contexts PRINTBASE''') bld.SAMBA3_BINARY('smbtree',