Looks like I've been mislead by the man page of mount.cifs and
linux/fs/cifs/connect.c which state:

man mount.cifs:
vers=
           SMB protocol version. Allowed values are:

           ยท   1.0 - The classic CIFS/SMBv1 protocol. This is the
default.


4.13 kernel code:
pr_warn("No dialect specified on mount. Default has changed to "
                        "a more secure dialect, SMB2.1 or later (e.g. SMB3), 
from CIFS "
                        "(SMB1). To use the less secure SMB1 dialect to access "
                        "old servers which do not support SMB3 (or SMB2.1) 
specify vers=1.0"
                        " on mount.\n");

So looks like I need to explicitly apply the version number to
mount.cifs argument to have consistent results.

More over sec=ntlm is needed in smb.conf and mount.cifs cmdline.

Updating the description.

** Description changed:

  On a Xenial installation after upgrading to the HWE 4.13.0-32-generic
  kernel it is not possible to use mount.cifs with -o vers=x.y different
  than 1.0.
  
  Steps to reproduce:
- 1. Setup a local Samba share.
+ 1. Setup a local Samba share with ntlm auth = yes.
  2. Run:
- mount.cifs -o user=<myuser>,sec=ntlm //localhost/theshare/ /mnt/theshare
- (please note that not specifying the vers= option results in using protocol 
SMB2.1 which also results in the error).
+ mount.cifs -o user=<myuser>,sec=ntlm,vers=2.0 //localhost/theshare/ 
/mnt/theshare
  3. This may be repeated for the following versions: 2.0, 2.1, 3.0.
  
  Expected result:
  The share gets mounted at /mnt/theshare.
  
  Actual result:
  The share is not mounted, this gets printed in the console (and in dmesg):
  [  232.439162] CIFS VFS: ioctl error in smb2_get_dfs_refer rc=-2

** Description changed:

  On a Xenial installation after upgrading to the HWE 4.13.0-32-generic
  kernel it is not possible to use mount.cifs with -o vers=x.y different
  than 1.0.
  
  Steps to reproduce:
  1. Setup a local Samba share with ntlm auth = yes.
  2. Run:
  mount.cifs -o user=<myuser>,sec=ntlm,vers=2.0 //localhost/theshare/ 
/mnt/theshare
  3. This may be repeated for the following versions: 2.0, 2.1, 3.0.
  
  Expected result:
  The share gets mounted at /mnt/theshare.
  
  Actual result:
- The share is not mounted, this gets printed in the console (and in dmesg):
- [  232.439162] CIFS VFS: ioctl error in smb2_get_dfs_refer rc=-2
+ The share is not mounted, this gets printed in the console:
+ mount error(22): Invalid argument
+ Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
+ 
+ and in dmesg:
+ [   61.935687] CIFS VFS: Unable to select appropriate authentication method!
+ [   61.935689] CIFS VFS: Send error in SessSetup = -22
+ [   61.935744] CIFS VFS: cifs_mount failed w/return code = -22

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1746482

Title:
  mount.cifs stopped working with protocol version != 1.0

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1746482/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to