summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2001-12-19 03:14:54 +0000
committerJeremy Allison <jra@samba.org>2001-12-19 03:14:54 +0000
commite943ace4f0fc70476668b0445acd91314a2e2a01 (patch)
tree7355fa106dc865a5b4be51e184e06b37516148d9
parent5700cbbd3fc0175932890df5f5ceb4931ba50dd3 (diff)
downloadsamba-e943ace4f0fc70476668b0445acd91314a2e2a01.tar.gz
Fix for extra capabilities from Urban Widmark <urban@teststation.com>.
Jeremy.
-rw-r--r--source/client/smbmount.c58
1 files changed, 33 insertions, 25 deletions
diff --git a/source/client/smbmount.c b/source/client/smbmount.c
index 02db69dfd5a..2b5617ceb5c 100644
--- a/source/client/smbmount.c
+++ b/source/client/smbmount.c
@@ -184,6 +184,11 @@ static struct cli_state *do_connection(char *the_service)
}
}
+ /* This should be right for current smbfs. Future versions will support
+ large files as well as unicode and oplocks. */
+ c->capabilities &= ~(CAP_UNICODE | CAP_LARGE_FILES | CAP_NT_SMBS |
+ CAP_NT_FIND | CAP_STATUS32 | CAP_LEVEL_II_OPLOCKS);
+ c->force_dos_errors = True;
if (!cli_session_setup(c, username,
password, strlen(password),
password, strlen(password),
@@ -355,6 +360,7 @@ static void send_fs_socket(char *the_service, char *mount_point, struct cli_stat
If we don't do this we will "leak" sockets and memory on
each reconnection we have to make. */
cli_shutdown(c);
+ c = NULL;
if (!closed) {
/* redirect stdout & stderr since we can't know that
@@ -633,31 +639,31 @@ static void usage(void)
printf("Version %s\n\n",VERSION);
printf(
-"Options:
- username=<arg> SMB username
- password=<arg> SMB password
- credentials=<filename> file with username/password
- netbiosname=<arg> source NetBIOS name
- uid=<arg> mount uid or username
- gid=<arg> mount gid or groupname
- port=<arg> remote SMB port number
- fmask=<arg> file umask
- dmask=<arg> directory umask
- debug=<arg> debug level
- ip=<arg> destination host or IP address
- workgroup=<arg> workgroup on destination
- sockopt=<arg> TCP socket options
- scope=<arg> NetBIOS scope
- iocharset=<arg> Linux charset (iso8859-1, utf8)
- codepage=<arg> server codepage (cp850)
- ttl=<arg> dircache time to live
- guest don't prompt for a password
- ro mount read-only
- rw mount read-write
-
-This command is designed to be run from within /bin/mount by giving
-the option '-t smbfs'. For example:
- mount -t smbfs -o username=tridge,password=foobar //fjall/test /data/test
+"Options:\n\
+ username=<arg> SMB username\n\
+ password=<arg> SMB password\n\
+ credentials=<filename> file with username/password\n\
+ netbiosname=<arg> source NetBIOS name\n\
+ uid=<arg> mount uid or username\n\
+ gid=<arg> mount gid or groupname\n\
+ port=<arg> remote SMB port number\n\
+ fmask=<arg> file umask\n\
+ dmask=<arg> directory umask\n\
+ debug=<arg> debug level\n\
+ ip=<arg> destination host or IP address\n\
+ workgroup=<arg> workgroup on destination\n\
+ sockopt=<arg> TCP socket options\n\
+ scope=<arg> NetBIOS scope\n\
+ iocharset=<arg> Linux charset (iso8859-1, utf8)\n\
+ codepage=<arg> server codepage (cp850)\n\
+ ttl=<arg> dircache time to live\n\
+ guest don't prompt for a password\n\
+ ro mount read-only\n\
+ rw mount read-write\n\
+\n\
+This command is designed to be run from within /bin/mount by giving\n\
+the option '-t smbfs'. For example:\n\
+ mount -t smbfs -o username=tridge,password=foobar //fjall/test /data/test\n\
");
}
@@ -808,6 +814,7 @@ static void parse_mount_smb(int argc, char **argv)
/* here we are interactive, even if run from autofs */
setup_logging("mount.smbfs",True);
+#if 0 /* JRA - Urban says not needed ? */
/* CLI_FORCE_ASCII=false makes smbmount negotiate unicode. The default
is to not announce any unicode capabilities as current smbfs does
not support it. */
@@ -816,6 +823,7 @@ static void parse_mount_smb(int argc, char **argv)
unsetenv("CLI_FORCE_ASCII");
else
setenv("CLI_FORCE_ASCII", "true", 1);
+#endif
in_client = True; /* Make sure that we tell lp_load we are */