Bug 861892

Summary: samba4's wbclient/smbclient provides need to be filtered to avoid confusion with samba's wbclient/smbclient provides
Product: Red Hat Enterprise Linux 6 Reporter: Alexander Bokovoy <abokovoy>
Component: samba4Assignee: Andreas Schneider <asn>
Status: CLOSED ERRATA QA Contact: IDM QE LIST <seceng-idm-qe-list>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.4CC: asn, azelinka, nsoman, sbose
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: samba4-4.0.0-30.el6.rc2 Doc Type: Bug Fix
Doc Text:
internal
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-02-21 08:36:29 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
add --with-winbind-socket-dir option none

Description Alexander Bokovoy 2012-10-01 09:16:20 UTC
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.

Comment 1 Alexander Bokovoy 2012-10-01 09:17:15 UTC
Created attachment 619696 [details]
add --with-winbind-socket-dir option

Comment 3 Andreas Schneider 2012-10-01 10:06:49 UTC
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!

Comment 4 Alexander Bokovoy 2012-10-01 10:26:12 UTC
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.

Comment 5 Alexander Bokovoy 2012-10-04 09:47:55 UTC
Changing bug title to reflect actual problem as per comment 4

Comment 6 Andreas Schneider 2012-10-04 09:50:13 UTC
I will add a line for that.

Comment 8 Namita Soman 2013-01-25 15:29:26 UTC
Please add steps to verify

Comment 9 Namita Soman 2013-01-25 16:35:32 UTC
Took steps below to verify - but not sure of results:

#  rpm -qR samba4-winbind-clients| grep libsmbclient
<nothing listed>

#  rpm -qR samba4-winbind-clients| grep libwbclient
libwbclient.so.0(WBCLIENT_0.10)(64bit)  
libwbclient.so.0(WBCLIENT_0.9)(64bit)  

#  rpm -qR samba4-winbind-clients| grep libnetapi
<nothing listed>

Comment 10 Namita Soman 2013-01-29 01:28:31 UTC
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

Comment 11 Andreas Schneider 2013-01-29 13:49:10 UTC
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.

Comment 12 Andreas Schneider 2013-01-29 16:16:06 UTC
The easiest way to test this is:

yum install samba-common samba-winbind-client libsmbclient samba4-libs

Comment 13 Namita Soman 2013-01-29 16:20:07 UTC
verified using steps below:
# rpm -qa | grep samba
samba-common-3.6.9-151.el6.i686
samba-winbind-3.6.9-151.el6.i686
samba4-libs-4.0.0-55.el6.rc4.i686
samba-winbind-clients-3.6.9-151.el6.i686

# rpm -qa | grep bclient
libsmbclient-3.6.9-151.el6.i686

samba-common samba-winbind-client libsmbclient and samba4-libs ARE installable at the same time

Comment 14 errata-xmlrpc 2013-02-21 08:36:29 UTC
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.

http://rhn.redhat.com/errata/RHSA-2013-0506.html