summaryrefslogtreecommitdiff
path: root/source3/utils/smbcontrol.c
diff options
context:
space:
mode:
authorChristof Schmitt <cs@samba.org>2018-08-21 12:35:11 -0700
committerAndreas Schneider <asn@cryptomilk.org>2018-09-07 17:26:16 +0200
commitde040eafbd7d729316d757c14c44df163a4b36ad (patch)
tree9a3c2e1f2a20724ef291c468973de1ab9c774bee /source3/utils/smbcontrol.c
parent7eeff96b826711b5a8d44ab24603dafcc0343d84 (diff)
downloadsamba-de040eafbd7d729316d757c14c44df163a4b36ad.tar.gz
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 <cs@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
Diffstat (limited to 'source3/utils/smbcontrol.c')
-rw-r--r--source3/utils/smbcontrol.c19
1 files changed, 11 insertions, 8 deletions
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 <libunwind.h>
@@ -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;
}