diff options
author | Andrew Tridgell <tridge@samba.org> | 1998-10-19 01:03:00 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 1998-10-19 01:03:00 +0000 |
commit | 279cbe69efd75450113d2da0da5e67b29f3702b1 (patch) | |
tree | b1363d8d50c45ce719f2556f4561922d8a2fe1a6 /source/smbwrapper/smbsh.c | |
parent | f1672d055716f4b701e22801cbf5cf5573081685 (diff) | |
download | samba-279cbe69efd75450113d2da0da5e67b29f3702b1.tar.gz samba-279cbe69efd75450113d2da0da5e67b29f3702b1.tar.xz samba-279cbe69efd75450113d2da0da5e67b29f3702b1.zip |
- don't use env variables for passwords and usernames (yeah!)
- added a shared variable area based on a unlinked open file, and
implement a general get/set interface to it
- cache hostname lookups and master ip lookups in shared variable area
Diffstat (limited to 'source/smbwrapper/smbsh.c')
-rw-r--r-- | source/smbwrapper/smbsh.c | 34 |
1 files changed, 27 insertions, 7 deletions
diff --git a/source/smbwrapper/smbsh.c b/source/smbwrapper/smbsh.c index 28bdaad7e39..0489bb2b637 100644 --- a/source/smbwrapper/smbsh.c +++ b/source/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); |