r1957: add cmdline_set_* functions
authorStefan Metzmacher <metze@samba.org>
Fri, 20 Aug 2004 13:24:28 +0000 (13:24 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:58:13 +0000 (12:58 -0500)
and let smbclient use the cmdline _* functions

metze
(This used to be commit ffb87ebc33e728bf8506383f95b80605adec3c68)

source4/client/client.c
source4/lib/cmdline/popt_common.c

index f9fbbab6ece21558817807cdf0ba8d7d4588fd88..35569ca75ca5889a6c54a4b51fad2b820cf69c8b 100644 (file)
@@ -36,8 +36,6 @@ static pstring desthost;
 static pstring username;
 static pstring domain;
 static pstring password;
-static BOOL use_kerberos;
-static BOOL got_pass;
 static char *cmdstr = NULL;
 
 static int io_bufsize = 64512;
@@ -2799,18 +2797,11 @@ static struct smbcli_state *do_connect(const char *server, const char *share)
                return NULL;
        }
 
-       if (!got_pass) {
-               const char *pass = getpass("Password: ");
-               if (pass) {
-                       pstrcpy(password, pass);
-               }
-       }
-
        status = smbcli_session_setup(c, username, password, domain);
        if (NT_STATUS_IS_ERR(status)) {
                d_printf("authenticated session setup failed: %s\n", nt_errstr(status));
                /* if a password was not supplied then try again with a null username */
-               if (password[0] || !username[0] || use_kerberos) {
+               if (password[0] || !username[0]) {
                        status = smbcli_session_setup(c, "", "", lp_workgroup());
                }
                if (NT_STATUS_IS_ERR(status)) {
@@ -3064,8 +3055,7 @@ static void remember_query_host(const char *arg,
        }
 
        if (poptPeekArg(pc)) { 
-               cmdline_auth_info.got_pass = True;
-               pstrcpy(cmdline_auth_info.password,poptGetArg(pc));  
+               cmdline_set_userpassword(poptGetArg(pc));
        }
 
        /*init_names(); */
@@ -3077,15 +3067,9 @@ static void remember_query_host(const char *arg,
 
        poptFreeContext(pc);
 
-       pstrcpy(username, cmdline_auth_info.username);
-       if (cmdline_auth_info.domain[0]) {
-               pstrcpy(domain, cmdline_auth_info.domain);
-       } else {
-               pstrcpy(domain, lp_workgroup());
-       }
-       pstrcpy(password, cmdline_auth_info.password);
-       use_kerberos = cmdline_auth_info.use_kerberos;
-       got_pass = cmdline_auth_info.got_pass;
+       pstrcpy(username, cmdline_get_username());
+       pstrcpy(domain, cmdline_get_userdomain());
+       pstrcpy(password, cmdline_get_userpassword());
 
        DEBUG( 3, ( "Client started (version %s).\n", SAMBA_VERSION_STRING ) );
 
index 20b9aac2016722605bba9a755f94d1ef61e3fd30..7acdb34bba23a710c9ae5bd25dc36f1fad0fc18c 100644 (file)
@@ -397,11 +397,21 @@ struct poptOption popt_common_credentials[] = {
        POPT_TABLEEND
 };
 
+void cmdline_set_username(const char *name)
+{
+       pstrcpy(cmdline_auth_info.username, name);
+}
+
 const char *cmdline_get_username(void)
 {
        return cmdline_auth_info.username;
 }
 
+void cmdline_set_userdomain(const char *domain)
+{
+       pstrcpy(cmdline_auth_info.domain, domain);
+}
+
 const char *cmdline_get_userdomain(void)
 {
        if (cmdline_auth_info.domain[0]) {
@@ -431,3 +441,19 @@ const char *cmdline_get_userpassword(void)
 
        return getpass(prompt);
 }
+
+void cmdline_set_userpassword(const char *pass)
+{
+       cmdline_auth_info.got_pass = True;
+       pstrcpy(cmdline_auth_info.password, pass);
+}
+
+void cmdline_set_use_kerberos(BOOL use_kerberos)
+{
+       cmdline_auth_info.use_kerberos = use_kerberos;
+}
+
+BOOL cmdline_get_use_kerberos(void)
+{
+       return cmdline_auth_info.use_kerberos;
+}