[Bug 1801227] Re: smbc_opendir returns EEXIST if login credentials are incorrect, breaking SMB shares in Kodi
Karl Stenerud
karl.stenerud at canonical.com
Thu Nov 8 13:06:23 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 &&
+ echo "
+ [global]
+ workgroup = WORKGROUP
+ security = user
+ map to guest = bad user
+ [test]
+ path = /tmp
+ browseable = yes
+ read only = yes
+ valid users = ubuntu
+ " >/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)
+
+
+ [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
+ 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
+ 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 &&
echo "
[global]
workgroup = WORKGROUP
security = user
map to guest = bad user
[test]
path = /tmp
browseable = yes
read only = yes
valid users = ubuntu
" >/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)
[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