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 | f08565a83429df92e42935dc9977436f59b03845 (patch) | |
tree | fec569c3487deb5884e0c87d9ba534d73b88eed8 /source3/smbwrapper/smbsh.c | |
parent | f52b898a63e8474c360dd2061447c11cbbe34831 (diff) | |
download | samba-f08565a83429df92e42935dc9977436f59b03845.tar.gz samba-f08565a83429df92e42935dc9977436f59b03845.tar.bz2 samba-f08565a83429df92e42935dc9977436f59b03845.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
(This used to be commit 279cbe69efd75450113d2da0da5e67b29f3702b1)
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); |