lib/cmdline: move cli_credentials_set_cmdline_callbacks to the end of POPT_CALLBACK_R...
authorStefan Metzmacher <metze@samba.org>
Thu, 14 Apr 2022 11:30:56 +0000 (13:30 +0200)
committerStefan Metzmacher <metze@samba.org>
Tue, 23 Apr 2024 14:17:32 +0000 (14:17 +0000)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15018

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
lib/cmdline/cmdline.c

index db962146bd27502d5ff91af3ddd09577c12a9222..4b03f0231054f752c96c5d442309779a5ed44ed4 100644 (file)
@@ -803,19 +803,6 @@ static void popt_common_credentials_callback(poptContext popt_ctx,
                                "Unable to read defaults from smb.conf\n");
                }
 
-               (void)cli_credentials_get_password_and_obtained(creds,
-                                                               &password_obtained);
-               if (!skip_password_callback &&
-                   password_obtained < CRED_CALLBACK) {
-                       ok = cli_credentials_set_cmdline_callbacks(creds);
-                       if (!ok) {
-                               fprintf(stderr,
-                                       "Failed to set cmdline password "
-                                       "callback\n");
-                               exit(1);
-                       }
-               }
-
                if (machine_account_pending) {
                        NTSTATUS status;
 
@@ -850,6 +837,19 @@ static void popt_common_credentials_callback(poptContext popt_ctx,
                                                     CRED_SPECIFIED);
                }
 
+               (void)cli_credentials_get_password_and_obtained(creds,
+                                                               &password_obtained);
+               if (!skip_password_callback &&
+                   password_obtained < CRED_CALLBACK) {
+                       ok = cli_credentials_set_cmdline_callbacks(creds);
+                       if (!ok) {
+                               fprintf(stderr,
+                                       "Failed to set cmdline password "
+                                       "callback\n");
+                               exit(1);
+                       }
+               }
+
                return;
        }