From: Ralph Boehme Date: Tue, 10 Jul 2018 13:26:40 +0000 (+0200) Subject: s3:popt_common: use cmdline_messaging_context() in popt_common_credentials_callback() X-Git-Tag: tdb-1.3.17~1707 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2c63ce94ef3a55ab0aa1aae4f6fee88e29ac2efe;p=thirdparty%2Fsamba.git s3:popt_common: use cmdline_messaging_context() in popt_common_credentials_callback() This adds a call to cmdline_messaging_context() to the popt popt_common_credentials_callback() hook and ensures that any client tool that uses POPT_COMMON_CREDENTIALS gets an implicit messaging context, ensuring it doesn't crash in the subsequent lp_load_client() with include=registry in a cluster. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13465 Signed-off-by: Ralph Boehme Reviewed-by: Christof Schmitt --- diff --git a/source3/lib/popt_common_cmdline.c b/source3/lib/popt_common_cmdline.c index 57f77e0868a..d1ba90dd43e 100644 --- a/source3/lib/popt_common_cmdline.c +++ b/source3/lib/popt_common_cmdline.c @@ -35,6 +35,7 @@ #include "popt_common_cmdline.h" #include "includes.h" #include "auth_info.h" +#include "cmdline_contexts.h" static struct user_auth_info *cmdline_auth_info; @@ -101,8 +102,15 @@ static void popt_common_credentials_callback(poptContext con, } if (reason == POPT_CALLBACK_REASON_POST) { + struct messaging_context *msg_ctx = NULL; bool ok; + msg_ctx = cmdline_messaging_context(get_dyn_CONFIGFILE()); + if (msg_ctx == NULL) { + fprintf(stderr, "Unable to initialize " + "messaging context\n"); + } + ok = lp_load_client(get_dyn_CONFIGFILE()); if (!ok) { const char *pname = poptGetInvocationName(con); diff --git a/source3/wscript_build b/source3/wscript_build index 5f6fce391c4..9c6200a2b74 100644 --- a/source3/wscript_build +++ b/source3/wscript_build @@ -270,7 +270,7 @@ bld.SAMBA3_LIBRARY('popt_samba3', bld.SAMBA3_LIBRARY('popt_samba3_cmdline', source='lib/popt_common_cmdline.c', - deps='popt_samba3 util_cmdline', + deps='popt_samba3 util_cmdline cmdline_contexts', private_library=True) bld.SAMBA3_LIBRARY('util_cmdline',