diff -ru samba-2.2.3a.orig/source/client/smbmount.c samba-2.2.3a/source/client/smbmount.c
--- samba-2.2.3a.orig/source/client/smbmount.c	Sun Feb  3 01:46:38 2002
+++ samba-2.2.3a/source/client/smbmount.c	Thu Jan 30 13:41:57 2003
@@ -43,6 +43,8 @@
 static pstring service;
 static pstring options;
 
+static BOOL smbfs_has_unicode = False;
+static BOOL smbfs_has_lfs = False;
 static struct in_addr dest_ip;
 static BOOL have_ip;
 static int smb_port = 139;
@@ -189,10 +191,14 @@
 	}
 
 	/* 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);
+	   oplocks too. */
+	c->capabilities &= ~(CAP_NT_SMBS | CAP_NT_FIND |
+			     CAP_STATUS32 | CAP_LEVEL_II_OPLOCKS);
 	c->force_dos_errors = True;
+	if (!smbfs_has_lfs)
+		c->capabilities &= ~CAP_LARGE_FILES;
+	if (!smbfs_has_unicode)
+		c->capabilities &= ~CAP_UNICODE;
 	if (!cli_session_setup(c, username, 
 			       password, strlen(password),
 			       password, strlen(password),
@@ -479,6 +485,9 @@
 		if (file_exist(BINDIR "/smbmnt", NULL)) {
 			execv(BINDIR "/smbmnt", args);
 			fprintf(stderr,"execv of %s failed. Error was %s.", BINDIR "/smbmnt", strerror(errno));
+		} else if (file_exist(SBINDIR "/smbmnt", NULL)) {
+			execv(SBINDIR "/smbmnt", args);
+			fprintf(stderr,"execv of %s failed. Error was %s.", SBINDIR "/smbmnt", strerror(errno));
 		} else {
 			execvp("smbmnt", args);
 			fprintf(stderr,"execvp of smbmnt failed. Error was %s.", strerror(errno) );
@@ -775,6 +784,10 @@
 				mount_ro = 0;
 			} else if(!strcmp(opts, "ro")) {
 				mount_ro = 1;
+			} else if(!strcmp(opts, "unicode")) {
+				smbfs_has_unicode = True;
+			} else if(!strcmp(opts, "lfs")) {
+				smbfs_has_lfs = True;
 			} else {
 				strncpy(p, opts, sizeof(pstring) - (p - options) - 1);
 				p += strlen(opts);
diff -ru samba-2.2.3a.orig/source/libsmb/cliconnect.c samba-2.2.3a/source/libsmb/cliconnect.c
--- samba-2.2.3a.orig/source/libsmb/cliconnect.c	Sun Feb  3 01:46:43 2002
+++ samba-2.2.3a/source/libsmb/cliconnect.c	Thu Jan 30 13:41:10 2003
@@ -129,6 +129,10 @@
 		capabilities |= CAP_UNICODE;
 	}
 
+	if (cli->capabilities & CAP_LARGE_FILES) {
+		capabilities |= CAP_LARGE_FILES;
+	}
+
 	return capabilities;
 }
 
