From a7fd9ee43a3f8a06555df597d8e2f4b57fb9b6d2 Mon Sep 17 00:00:00 2001 From: Sumit Bose Date: Fri, 19 Dec 2014 22:31:43 +0100 Subject: [PATCH] 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 --- ...client-initialize-some-return-values.patch | 101 ++++++++++++++++++ sssd.spec | 11 +- 2 files changed, 110 insertions(+), 2 deletions(-) create mode 100644 0027-libwbclient-initialize-some-return-values.patch 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 +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 +--- + 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 - 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 - 1.12.2-6 - Fix regressions and bugs in sssd upstream 1.12.2 - https://fedorahosted.org/sssd/ticket/{id}