From ffd5105770094f8b13d25c6dfc42bf59737063f7 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Thu, 13 Jan 2022 15:31:33 +0100 Subject: [PATCH] s3:smbd: handle --build-options without parsing smb.conf The smb.conf is parsed in post mode of a popt callback. The smbd --build-options parameter should be handled when first encountered to avoid requiring smb.conf presence. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14945 Signed-off-by: Andreas Schneider Reviewed-by: David Disseldorp (cherry picked from commit 6a463c40d755b75b02884f123c19cc2c2845d729) --- source3/smbd/server.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/source3/smbd/server.c b/source3/smbd/server.c index d02ff1bd8834..dc34f800e3f7 100644 --- a/source3/smbd/server.c +++ b/source3/smbd/server.c @@ -1545,7 +1545,6 @@ extern void build_options(bool screen); char *profile_level = NULL; int opt; poptContext pc; - bool print_build_options = False; bool serving_printers = false; struct server_id main_server_id = {0}; struct poptOption long_options[] = { @@ -1650,7 +1649,8 @@ extern void build_options(bool screen); while((opt = poptGetNextOpt(pc)) != -1) { switch (opt) { case 'b': - print_build_options = True; + build_options(true); /* Display output to screen as well as debug */ + exit(0); break; default: d_fprintf(stderr, "\nInvalid option %s: %s\n\n", @@ -1667,11 +1667,6 @@ extern void build_options(bool screen); log_stdout = True; } - if (print_build_options) { - build_options(True); /* Display output to screen as well as debug */ - exit(0); - } - #ifdef HAVE_SETLUID /* needed for SecureWare on SCO */ setluid(0); -- 2.25.1