summaryrefslogtreecommitdiff
path: root/source4/smbwrapper/smbsh.c
diff options
context:
space:
mode:
Diffstat (limited to 'source4/smbwrapper/smbsh.c')
-rw-r--r--source4/smbwrapper/smbsh.c127
1 files changed, 0 insertions, 127 deletions
diff --git a/source4/smbwrapper/smbsh.c b/source4/smbwrapper/smbsh.c
deleted file mode 100644
index 221c6d87c2..0000000000
--- a/source4/smbwrapper/smbsh.c
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- Unix SMB/CIFS implementation.
- SMB wrapper functions - frontend
- Copyright (C) Andrew Tridgell 1998
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-#include "includes.h"
-
-static void smbsh_usage(void)
-{
- printf("smbsh [options]\n\n");
- printf(" -W workgroup\n");
- printf(" -U username\n");
- printf(" -P prefix\n");
- printf(" -R resolve order\n");
- printf(" -d debug level\n");
- printf(" -l logfile\n");
- printf(" -L libdir\n");
- exit(0);
-}
-
-int main(int argc, char *argv[])
-{
- char *p, *u;
- const char *libd = dyn_BINDIR;
- pstring line, wd;
- int opt;
- extern char *optarg;
- extern int optind;
-
- dbf = x_stdout;
- smbw_setup_shared();
-
- while ((opt = getopt(argc, argv, "W:U:R:d:P:l:hL:")) != EOF) {
- switch (opt) {
- case 'L':
- libd = optarg;
- break;
- case 'W':
- smbw_setshared("WORKGROUP", optarg);
- break;
- case 'l':
- smbw_setshared("LOGFILE", optarg);
- break;
- case 'P':
- smbw_setshared("PREFIX", optarg);
- break;
- case 'd':
- smbw_setshared("DEBUG", optarg);
- break;
- case 'U':
- p = strchr_m(optarg,'%');
- if (p) {
- *p=0;
- smbw_setshared("PASSWORD",p+1);
- }
- smbw_setshared("USER", optarg);
- break;
- case 'R':
- smbw_setshared("RESOLVE_ORDER",optarg);
- break;
-
- case 'h':
- default:
- smbsh_usage();
- }
- }
-
-
- if (!smbw_getshared("USER")) {
- printf("Username: ");
- u = fgets_slash(line, sizeof(line)-1, x_stdin);
- smbw_setshared("USER", u);
- }
-
- if (!smbw_getshared("PASSWORD")) {
- p = getpass("Password: ");
- smbw_setshared("PASSWORD", p);
- }
-
- setenv("PS1", "smbsh$ ", 1);
-
- sys_getwd(wd);
-
- slprintf(line,sizeof(line)-1,"PWD_%d", (int)getpid());
-
- smbw_setshared(line, wd);
-
- slprintf(line,sizeof(line)-1,"%s/smbwrapper.so", libd);
- setenv("LD_PRELOAD", line, 1);
-
- slprintf(line,sizeof(line)-1,"%s/smbwrapper.32.so", libd);
-
- if (file_exist(line, NULL)) {
- slprintf(line,sizeof(line)-1,"%s/smbwrapper.32.so:DEFAULT", libd);
- setenv("_RLD_LIST", line, 1);
- slprintf(line,sizeof(line)-1,"%s/smbwrapper.so:DEFAULT", libd);
- setenv("_RLDN32_LIST", line, 1);
- } else {
- slprintf(line,sizeof(line)-1,"%s/smbwrapper.so:DEFAULT", libd);
- setenv("_RLD_LIST", line, 1);
- }
-
- {
- char *shellpath = getenv("SHELL");
- if(shellpath)
- execl(shellpath,"smbsh",NULL);
- else
- execl("/bin/sh","smbsh",NULL);
- }
- printf("launch failed!\n");
- return 1;
-}