[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