[sssd] Resolves: rhbz#1175511 - sssd-libwbclient conflicts with Samba's and causes

sbose sbose at fedoraproject.org
Fri Dec 19 22:16:02 UTC 2014


commit a7fd9ee43a3f8a06555df597d8e2f4b57fb9b6d2
Author: Sumit Bose <sbose at redhat.com>
Date:   Fri Dec 19 22:31:43 2014 +0100

    Resolves: rhbz#1175511 - sssd-libwbclient conflicts with Samba's and causes
    
                               crash in wbinfo
                               - in addition to the patch libwbclient.so is
                                 filtered out of the Provides list of the package

 ...libwbclient-initialize-some-return-values.patch |  101 ++++++++++++++++++++
 sssd.spec                                          |   11 ++-
 2 files changed, 110 insertions(+), 2 deletions(-)
---
diff --git a/0027-libwbclient-initialize-some-return-values.patch b/0027-libwbclient-initialize-some-return-values.patch
new file mode 100644
index 0000000..6bcb02d
--- /dev/null
+++ b/0027-libwbclient-initialize-some-return-values.patch
@@ -0,0 +1,101 @@
+From 082e13dba488ebb2b948d6a362095153714b669f Mon Sep 17 00:00:00 2001
+From: Sumit Bose <sbose at redhat.com>
+Date: Fri, 19 Dec 2014 11:21:41 +0100
+Subject: [PATCH] libwbclient: initialize some return values
+
+Some callers of libwbclient functions expects the return values are
+initialized even it the functions returns an error. This patch adds some
+initializations to meet this requirement.
+
+Resolves https://fedorahosted.org/sssd/ticket/2537
+
+Reviewed-by: Pavel Reichl <preichl at redhat.com>
+---
+ src/sss_client/libwbclient/wbc_pam_sssd.c | 36 +++++++++++++++++++++++++++++++
+ 1 file changed, 36 insertions(+)
+
+diff --git a/src/sss_client/libwbclient/wbc_pam_sssd.c b/src/sss_client/libwbclient/wbc_pam_sssd.c
+index 893a5c16cf0e020e0570ea838d96fa82292373fa..174cf1310fad0243036fe591978cc89700903896 100644
+--- a/src/sss_client/libwbclient/wbc_pam_sssd.c
++++ b/src/sss_client/libwbclient/wbc_pam_sssd.c
+@@ -45,6 +45,10 @@ wbcErr wbcAuthenticateUserEx(const struct wbcAuthUserParams *params,
+                  struct wbcAuthUserInfo **info,
+                  struct wbcAuthErrorInfo **error)
+ {
++    if (error != NULL) {
++        *error = NULL;
++    }
++
+     WBC_SSSD_NOT_IMPLEMENTED;
+ }
+ 
+@@ -52,6 +56,10 @@ wbcErr wbcAuthenticateUserEx(const struct wbcAuthUserParams *params,
+ wbcErr wbcCheckTrustCredentials(const char *domain,
+                 struct wbcAuthErrorInfo **error)
+ {
++    if (error != NULL) {
++        *error = NULL;
++    }
++
+     WBC_SSSD_NOT_IMPLEMENTED;
+ }
+ 
+@@ -59,6 +67,10 @@ wbcErr wbcCheckTrustCredentials(const char *domain,
+ wbcErr wbcChangeTrustCredentials(const char *domain,
+                  struct wbcAuthErrorInfo **error)
+ {
++    if (error != NULL) {
++        *error = NULL;
++    }
++
+     WBC_SSSD_NOT_IMPLEMENTED;
+ }
+ 
+@@ -102,6 +114,14 @@ wbcErr wbcChangeUserPasswordEx(const struct wbcChangePasswordParams *params,
+                    enum wbcPasswordChangeRejectReason *reject_reason,
+                    struct wbcUserPasswordPolicyInfo **policy)
+ {
++    if (error != NULL) {
++        *error = NULL;
++    }
++
++    if (policy != NULL) {
++        *policy = NULL;
++    }
++
+     WBC_SSSD_NOT_IMPLEMENTED;
+ }
+ 
+@@ -129,6 +149,18 @@ wbcErr wbcLogonUser(const struct wbcLogonUserParams *params,
+             struct wbcAuthErrorInfo **error,
+             struct wbcUserPasswordPolicyInfo **policy)
+ {
++    if (info != NULL) {
++        *info = NULL;
++    }
++
++    if (error != NULL) {
++        *error = NULL;
++    }
++
++    if (policy != NULL) {
++        *policy = NULL;
++    }
++
+     WBC_SSSD_NOT_IMPLEMENTED;
+ }
+ 
+@@ -137,6 +169,10 @@ wbcErr wbcCredentialCache(struct wbcCredentialCacheParams *params,
+                           struct wbcCredentialCacheInfo **info,
+                           struct wbcAuthErrorInfo **error)
+ {
++    if (error != NULL) {
++        *error = NULL;
++    }
++
+     WBC_SSSD_NOT_IMPLEMENTED;
+ }
+ 
+-- 
+1.9.3
+
diff --git a/sssd.spec b/sssd.spec
index f5cef0b..f1476a5 100644
--- a/sssd.spec
+++ b/sssd.spec
@@ -1,7 +1,7 @@
 %global rhel7_minor %(%{__grep} -o "7.[0-9]*" /etc/redhat-release |%{__sed} -s 's/7.//')
 
 # we don't want to provide private python extension libs
-%define __provides_exclude_from %{python_sitearch}/.*\.so$
+%define __provides_exclude_from %{python_sitearch}/.*\.so$|%{_libdir}/%{name}/modules/libwbclient.so.*$
 %define _hardened_build 1
 
 %if (0%{?fedora} >= 17 || 0%{?rhel} >= 7)
@@ -25,7 +25,7 @@
 
 Name: sssd
 Version: 1.12.2
-Release: 6%{?dist}
+Release: 7%{?dist}
 Group: Applications/System
 Summary: System Security Services Daemon
 License: GPLv3+
@@ -60,6 +60,7 @@ Patch0023: 0023-IPA-verify-group-memberships-of-trusted-domain-users.patch
 Patch0024: 0024-IPA-properly-handle-groups-from-different-domains.patch
 Patch0025: 0025-IPA-do-not-try-to-add-override-gid-twice.patch
 Patch0026: 0026-IPA-handle-GID-overrides-for-MPG-domains-on-clients.patch
+PAtch0027: 0027-libwbclient-initialize-some-return-values.patch
 
 ### Dependencies ###
 Requires: sssd-common = %{version}-%{release}
@@ -904,6 +905,12 @@ if [ $1 -eq 0 ]; then
 fi
 
 %changelog
+* Fri Dec 19 2014 Sumit Bose <sbose at redhat.com> - 1.12.2-7
+- Resolves: rhbz#1175511 - sssd-libwbclient conflicts with Samba's and causes
+                           crash in wbinfo
+                           - in addition to the patch libwbclient.so is
+                             filtered out of the Provides list of the package
+
 * Wed Dec 17 2014 Lukas Slebodnik <lslebodn at redhat.com> - 1.12.2-6
 - Fix regressions and bugs in sssd upstream 1.12.2
 - https://fedorahosted.org/sssd/ticket/{id}


More information about the scm-commits mailing list