[Bug 1801227] Re: smbc_opendir returns EEXIST if login credentials are incorrect, breaking SMB shares in Kodi

Karl Stenerud karl.stenerud at canonical.com
Fri Nov 23 14:47:55 UTC 2018


** Description changed:

  [Impact]
  
  A regression in Samba causes the wrong error message to be returned on
  an unsuccessful login, returning EEXIST instead of EACCESS or EPERM.
  
  [Tese Case]
  
- # lxc launch ubuntu:bionic tester
- # lxc exec tester bash
- # apt update && apt dist-upgrade -y && apt install -y samba &&
+ # lxc launch ubuntu:bionic tester && lxc exec tester bash
+ # apt update && apt dist-upgrade -y && apt install -y samba gvfs libglib2.0-bin gvfs-bin gvfs-backends dbus-x11 &&
  echo "
  [global]
  workgroup = WORKGROUP
  security = user
  map to guest = bad user
  [test]
      path = /tmp
      browseable = yes
      read only = yes
-     valid users = ubuntu
+     valid users = someone
  " >/etc/samba/smb.conf &&
- service smbd restart &&
- (echo ubuntu; echo ubuntu) | smbpasswd -a -s -U ubuntu && \
- echo -e "\nPoint your file browser to smb://$(ip addr | grep 'state UP' -A2 | tail -n1 | awk '{print $2}' | cut -f1 -d'/')/test and connect as guest"
- 
-  * Connect to the smb:// address provided using a file browser, logging in as an anonymous guest. You'll see an error to the effect of "file exists"
-  * Note: smbclient doesn't exhibit the incorrect behavior (smbclient //localhost/test -U guest -N)
- 
+ service smbd restart
+ # su - -c "dbus-launch gio mount -a smb://localhost/test" ubuntu
+ gio: smb://localhost/test/: Failed to mount Windows share: File exists
  
  [Regression Potential]
  
  The change reverts a regression in the closing order in certain cases
  from a previous version of samba, and should not cause further
  regressions in the fix.
  
  [Original Description]
  
+ Target to milestone
+ ​ 	Bionic Remove
+ Triaged
  
- 	
- Target to milestone
- ​ 	Bionic Remove 	
- Triaged
- 	
  High
- 	
+ 
    Karl Stenerud
- 	
+ 
  Target to milestone
  Also affects project (?) Also affects distribution/package Nominate for series
  Edit
  Bug Description
  
  In Kodi, try to add a smb:// URL for a share that doesn't allow guest
  logins and you'll get a cryptic "File Exists" error. It never asks for
  login credentials. From online searching, this is most likely due to a
  bug in libsmbclient where smbc_opendir will return EEXIST instead of a
  more appropriate error code if invalid login credentials were provided.
  
  This was fixed in Samba 4.8:
  
  https://github.com/samba-
  team/samba/commit/7470b9b18af282a742929d3fc90f4be5520428a1
  
  But 18.04 is shipping 4.7.
  
  Trying to add a share where the hostname doesn't resolve results in some
  cryptic messages as well, but that may or may not be a different bug.
  
  ProblemType: Bug
  DistroRelease: Ubuntu 18.04
  Package: libsmbclient 2:4.7.6+dfsg~ubuntu-0ubuntu2.2
  ProcVersionSignature: Ubuntu 4.15.0-38.41-generic 4.15.18
  Uname: Linux 4.15.0-38-generic x86_64
  NonfreeKernelModules: nvidia_modeset nvidia
  ApportVersion: 2.20.9-0ubuntu7.4
  Architecture: amd64
  CurrentDesktop: ubuntu:GNOME
  Date: Thu Nov 1 21:15:29 2018
  InstallationDate: Installed on 2018-09-12 (51 days ago)
  InstallationMedia: Ubuntu 18.04.1 LTS "Bionic Beaver" - Release amd64 (20180725)
  ProcEnviron:
-  TERM=xterm-256color
-  PATH=(custom, no user)
-  XDG_RUNTIME_DIR=<set>
-  LANG=en_US.UTF-8
-  SHELL=/bin/bash
+  TERM=xterm-256color
+  PATH=(custom, no user)
+  XDG_RUNTIME_DIR=<set>
+  LANG=en_US.UTF-8
+  SHELL=/bin/bash
  RelatedPackageVersions:
-  nautilus 1:3.26.4-0~ubuntu18.04.2
-  gvfs 1.36.1-0ubuntu1.1
+  nautilus 1:3.26.4-0~ubuntu18.04.2
+  gvfs 1.36.1-0ubuntu1.1
  SambaClientRegression: Yes
  SourcePackage: samba
  UpgradeStatus: No upgrade log present (probably fresh install)

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

Title:
  smbc_opendir returns EEXIST if login credentials are incorrect,
  breaking SMB shares in Kodi

Status in samba package in Ubuntu:
  Fix Released
Status in samba source package in Bionic:
  Triaged

Bug description:
  [Impact]

  A regression in Samba causes the wrong error message to be returned on
  an unsuccessful login, returning EEXIST instead of EACCESS or EPERM.

  [Tese Case]

  # lxc launch ubuntu:bionic tester && lxc exec tester bash
  # apt update && apt dist-upgrade -y && apt install -y samba gvfs libglib2.0-bin gvfs-bin gvfs-backends dbus-x11 &&
  echo "
  [global]
  workgroup = WORKGROUP
  security = user
  map to guest = bad user
  [test]
      path = /tmp
      browseable = yes
      read only = yes
      valid users = someone
  " >/etc/samba/smb.conf &&
  service smbd restart
  # su - -c "dbus-launch gio mount -a smb://localhost/test" ubuntu
  gio: smb://localhost/test/: Failed to mount Windows share: File exists

  [Regression Potential]

  The change reverts a regression in the closing order in certain cases
  from a previous version of samba, and should not cause further
  regressions in the fix.

  [Original Description]

  Target to milestone
  ​ 	Bionic Remove
  Triaged

  High

    Karl Stenerud

  Target to milestone
  Also affects project (?) Also affects distribution/package Nominate for series
  Edit
  Bug Description

  In Kodi, try to add a smb:// URL for a share that doesn't allow guest
  logins and you'll get a cryptic "File Exists" error. It never asks for
  login credentials. From online searching, this is most likely due to a
  bug in libsmbclient where smbc_opendir will return EEXIST instead of a
  more appropriate error code if invalid login credentials were
  provided.

  This was fixed in Samba 4.8:

  https://github.com/samba-
  team/samba/commit/7470b9b18af282a742929d3fc90f4be5520428a1

  But 18.04 is shipping 4.7.

  Trying to add a share where the hostname doesn't resolve results in
  some cryptic messages as well, but that may or may not be a different
  bug.

  ProblemType: Bug
  DistroRelease: Ubuntu 18.04
  Package: libsmbclient 2:4.7.6+dfsg~ubuntu-0ubuntu2.2
  ProcVersionSignature: Ubuntu 4.15.0-38.41-generic 4.15.18
  Uname: Linux 4.15.0-38-generic x86_64
  NonfreeKernelModules: nvidia_modeset nvidia
  ApportVersion: 2.20.9-0ubuntu7.4
  Architecture: amd64
  CurrentDesktop: ubuntu:GNOME
  Date: Thu Nov 1 21:15:29 2018
  InstallationDate: Installed on 2018-09-12 (51 days ago)
  InstallationMedia: Ubuntu 18.04.1 LTS "Bionic Beaver" - Release amd64 (20180725)
  ProcEnviron:
   TERM=xterm-256color
   PATH=(custom, no user)
   XDG_RUNTIME_DIR=<set>
   LANG=en_US.UTF-8
   SHELL=/bin/bash
  RelatedPackageVersions:
   nautilus 1:3.26.4-0~ubuntu18.04.2
   gvfs 1.36.1-0ubuntu1.1
  SambaClientRegression: Yes
  SourcePackage: samba
  UpgradeStatus: No upgrade log present (probably fresh install)

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



More information about the foundations-bugs mailing list