diff options
Diffstat (limited to 'source3/smbwrapper/smbsh.c')
-rw-r--r-- | source3/smbwrapper/smbsh.c | 34 |
1 files changed, 27 insertions, 7 deletions
diff --git a/source3/smbwrapper/smbsh.c b/source3/smbwrapper/smbsh.c index 28bdaad7e3..0489bb2b63 100644 --- a/source3/smbwrapper/smbsh.c +++ b/source3/smbwrapper/smbsh.c @@ -24,17 +24,37 @@ int main(int argc, char *argv[]) { char *p, *u; - char *libd = BINDIR; - + char *libd = BINDIR; pstring line; + extern FILE *dbf; - printf("Username: "); - u = fgets_slash(line, sizeof(line)-1, stdin); + smbw_setup_shared(); - p = getpass("Password: "); + p = getenv("SMBW_DEBUG"); + if (p) smbw_setshared("DEBUG", p); + + p = getenv("SMBW_WORKGROUP"); + if (p) smbw_setshared("WORKGROUP", p); + + p = getenv("SMBW_USER"); + if (p) smbw_setshared("USER", p); + + p = getenv("SMBW_PASSWORD"); + if (p) smbw_setshared("PASSWORD", p); + + charset_initialise(); + + if (!smbw_getshared("USER")) { + printf("Username: "); + u = fgets_slash(line, sizeof(line)-1, stdin); + smbw_setshared("USER", u); + } + + if (!smbw_getshared("PASSWORD")) { + p = getpass("Password: "); + smbw_setshared("PASSWORD", p); + } - setenv("SMBW_USER", u, 1); - setenv("SMBW_PASSWORD", p, 1); setenv("PS1", "smbsh$ ", 1); sys_getwd(line); |