Red Hat Bugzilla – Bug 861892
samba4's wbclient/smbclient provides need to be filtered to avoid confusion with samba's wbclient/smbclient provides
Last modified: 2013-02-21 03:36:29 EST
I'm working on python-wbclient and testing it on RHEL6.4.
First thing I did were winbindd's ping, and interface/winbind details. Running them I've found that we need to fix paths to winbind:
Samba 3.6 expects winbind's pipe in /var/run/winbindd
Samba 4.0 expects winbind's pipe in /var/run/samba/winbindd
libwbclient (from 3.6) expects winbind's pipe in /var/run/winbindd, so it is unable to work with FreeIPA server setup.
Attached patch fixes the issue by moving samba4's winbindd pipe into /var/run/winbindd.
Created attachment 619696 [details]
add --with-winbind-socket-dir option
You can't use libwbclient from a Samba 3.x release to talk to a winbind from Samba 4.x release. The winbind library implements the winbind protocol. This means the library NEEDS to match the winbind version!
As discussed with Andreas on IRC, this is expected and should be solved by linking against samba4-provided libwbclient library. I'll do that.
However, the problem here is in automatically generated dependencies to libwbclient.so.0, provided by samba-winbind-clients.
samba4-winbind-clients filters out libwbclient.so.0 autogenerated provides in order to avoid conflicts with samba-winbind-client. However, ipa-server-trust-ad subpackage contains code that links against samba4's version of libwbclient and since that internal version is placed in (on x86_64) /usr/lib64/samba/libwbclient.so.0, even with RPATH set rpm will automatically generate dependency to libwbclient.so.0()(64bit). This is confusing as it will then pull in wrong package.
Since we have explicit dependency in ipa-server-trust-ad to samba4-libs, the generated libwbclient.so.0 dependency is not needed.
However, samba4-clients pulls in libsmbclient (built from samba 3.6) which pulls in libwbclient.so.0, from samba-winbind-clients. So this is again will not work.
Changing bug title to reflect actual problem as per comment 4
I will add a line for that.
Please add steps to verify
Took steps below to verify - but not sure of results:
# rpm -qR samba4-winbind-clients| grep libsmbclient
# rpm -qR samba4-winbind-clients| grep libwbclient
# rpm -qR samba4-winbind-clients| grep libnetapi
when verifying https://bugzilla.redhat.com/show_bug.cgi?id=886157, verified that /var/run/samba/winbindd/pipe does not exist, and instead it is at /var/run/winbindd/pipe
when verifying https://bugzilla.redhat.com/show_bug.cgi?id=895718, verified provides list
libsmbclient and libnetapi are part of the samba4-libs package. You can also confirm that it is working by installing the "libsmbclient package" and samba4-libs.
The output of 'rpm -qR samba4-winbind-clients| grep libwbclient' looks correct. It only includes version symbols of libwbclient.
The easiest way to test this is:
yum install samba-common samba-winbind-client libsmbclient samba4-libs
verified using steps below:
# rpm -qa | grep samba
# rpm -qa | grep bclient
samba-common samba-winbind-client libsmbclient and samba4-libs ARE installable at the same time
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.