diff -urN -X exclude samba-3.0.6-orig/source/client/smbmount.c samba-3.0.6/source/client/smbmount.c --- samba-3.0.6-orig/source/client/smbmount.c 2004-04-20 22:42:58.000000000 +0200 +++ samba-3.0.6/source/client/smbmount.c 2004-08-25 23:57:37.487855173 +0200 @@ -53,6 +53,7 @@ static BOOL status32_smbfs = False; static BOOL smbfs_has_unicode = False; static BOOL smbfs_has_lfs = False; +static BOOL smbfs_has_unixext = True; static void usage(void); @@ -212,6 +213,8 @@ c->capabilities &= ~CAP_STATUS32; c->force_dos_errors = True; } + if (!smbfs_has_unixext) + c->capabilities &= ~CAP_UNIX; if (!cli_session_setup(c, username, password, strlen(password), @@ -685,6 +688,8 @@ scope=<arg> NetBIOS scope\n\ iocharset=<arg> Linux charset (iso8859-1, utf8)\n\ codepage=<arg> server codepage (cp850)\n\ + unix enable unix cifs extensions\n\ + nounix disable unix cifs extensions\n\ unicode use unicode when communicating with server\n\ lfs large file system support\n\ ttl=<arg> dircache time to live\n\ @@ -832,6 +837,10 @@ mount_ro = 0; } else if(!strcmp(opts, "ro")) { mount_ro = 1; + } else if(!strcmp(opts, "unix")) { + smbfs_has_unixext = True; + } else if(!strcmp(opts, "nounix")) { + smbfs_has_unixext = False; } else if(!strcmp(opts, "unicode")) { smbfs_has_unicode = True; } else if(!strcmp(opts, "lfs")) { @@ -914,6 +923,9 @@ dyn_CONFIGFILE); } + /* pick default from configfile */ + smbfs_has_unixext = lp_unix_extensions(); + parse_mount_smb(argc, argv); if (use_kerberos && !got_user) {