]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3:popt_common: use cmdline_messaging_context() in popt_common_credentials_callback()
authorRalph Boehme <slow@samba.org>
Tue, 10 Jul 2018 13:26:40 +0000 (15:26 +0200)
committerKarolin Seeger <kseeger@samba.org>
Tue, 9 Oct 2018 09:29:23 +0000 (11:29 +0200)
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 <slow@samba.org>
Reviewed-by: Christof Schmitt <cs@samba.org>
(cherry picked from commit 2c63ce94ef3a55ab0aa1aae4f6fee88e29ac2efe)

source3/lib/popt_common_cmdline.c
source3/wscript_build

index 57f77e0868aa4e6be0737f3a1b7476eb384d006e..d1ba90dd43eaa520038b6435098ceaaf915a3b5b 100644 (file)
@@ -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);
index 1808b5e0cb3258b6718ff3a9d2a7301b50656988..fb61f3236df8fc9a94070397baf261eda455cd78 100644 (file)
@@ -262,7 +262,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',