Resolves: rhbz#1335639 - [abrt] sssd-dbus: ldb_msg_find_element():
sssd_ifp killed by SIGSEGV
This commit is contained in:
parent
18bea94912
commit
9aeb640f15
62
0002-UTIL-Add-ERR_SBUS_REQUEST_HANDLED.patch
Normal file
62
0002-UTIL-Add-ERR_SBUS_REQUEST_HANDLED.patch
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
From 33abcf8b0ba5c71369c1c12f91b89e6f6a0143c3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jakub Hrozek <jhrozek@redhat.com>
|
||||||
|
Date: Wed, 27 Apr 2016 11:11:31 +0200
|
||||||
|
Subject: [PATCH 2/3] UTIL: Add ERR_SBUS_REQUEST_HANDLED
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
In most cases when sbus request parsing finishes, the request is handled
|
||||||
|
internally and a reply is sent to the caller. However, in handlers that
|
||||||
|
are parsed and handled completely manually, we might want to be notified
|
||||||
|
about this case so that the called of sbus_request_parse_or_finish()
|
||||||
|
aborts the request and doesn't proceed with using the sbus request which
|
||||||
|
is already freed internally in sbus_request_parse_or_finish().
|
||||||
|
|
||||||
|
Reviewed-by: Pavel Březina <pbrezina@redhat.com>
|
||||||
|
(cherry picked from commit 406a7e5b731ae79084dce00021e01ebe7b7d724a)
|
||||||
|
---
|
||||||
|
src/sbus/sssd_dbus_request.c | 1 +
|
||||||
|
src/util/util_errors.c | 1 +
|
||||||
|
src/util/util_errors.h | 1 +
|
||||||
|
3 files changed, 3 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/sbus/sssd_dbus_request.c b/src/sbus/sssd_dbus_request.c
|
||||||
|
index aa57f6b6587183a9edd7764d123e82b01b5f6070..c71a79b1f06c92c25f8bb836b5bf815c056d3912 100644
|
||||||
|
--- a/src/sbus/sssd_dbus_request.c
|
||||||
|
+++ b/src/sbus/sssd_dbus_request.c
|
||||||
|
@@ -74,6 +74,7 @@ sbus_request_invoke_or_finish(struct sbus_request *dbus_req,
|
||||||
|
}
|
||||||
|
|
||||||
|
switch(ret) {
|
||||||
|
+ case ERR_SBUS_REQUEST_HANDLED:
|
||||||
|
case EOK:
|
||||||
|
return;
|
||||||
|
case ENOMEM:
|
||||||
|
diff --git a/src/util/util_errors.c b/src/util/util_errors.c
|
||||||
|
index 59ae63ab8d6e834a772349b162bf282f9a4f1c72..c998e14c26e43c3cd6a5a060bb6f74698b9e93ae 100644
|
||||||
|
--- a/src/util/util_errors.c
|
||||||
|
+++ b/src/util/util_errors.c
|
||||||
|
@@ -84,6 +84,7 @@ struct err_string error_to_str[] = {
|
||||||
|
{ "Subdomain is inactive" }, /* ERR_SUBDOM_INACTIVE */
|
||||||
|
{ "Account is locked" }, /* ERR_ACCOUNT_LOCKED */
|
||||||
|
{ "AD renewal child failed" }, /* ERR_RENEWAL_CHILD */
|
||||||
|
+ { "SBUS request already handled" }, /* ERR_SBUS_REQUEST_HANDLED */
|
||||||
|
{ "ERR_LAST" } /* ERR_LAST */
|
||||||
|
};
|
||||||
|
|
||||||
|
diff --git a/src/util/util_errors.h b/src/util/util_errors.h
|
||||||
|
index 05791f2f08f107a8b4830b810b8826983763174f..c0d9622a431a9946fdfa5e5c60ecf7b9e1ae66a5 100644
|
||||||
|
--- a/src/util/util_errors.h
|
||||||
|
+++ b/src/util/util_errors.h
|
||||||
|
@@ -106,6 +106,7 @@ enum sssd_errors {
|
||||||
|
ERR_SUBDOM_INACTIVE,
|
||||||
|
ERR_ACCOUNT_LOCKED,
|
||||||
|
ERR_RENEWAL_CHILD,
|
||||||
|
+ ERR_SBUS_REQUEST_HANDLED,
|
||||||
|
ERR_LAST /* ALWAYS LAST */
|
||||||
|
};
|
||||||
|
|
||||||
|
--
|
||||||
|
2.7.4
|
||||||
|
|
@ -0,0 +1,39 @@
|
|||||||
|
From 2dcfe9ba33d65aa08373f84a31065597413fc762 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jakub Hrozek <jhrozek@redhat.com>
|
||||||
|
Date: Tue, 10 May 2016 12:24:44 +0200
|
||||||
|
Subject: [PATCH 3/3] IFP: Do not crash on invalid arguments to GetUserAttr
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Reviewed-by: Pavel Březina <pbrezina@redhat.com>
|
||||||
|
(cherry picked from commit 7ff6858b18fb463bc446797aa860960d5165fe9e)
|
||||||
|
---
|
||||||
|
src/responder/ifp/ifpsrv_cmd.c | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/responder/ifp/ifpsrv_cmd.c b/src/responder/ifp/ifpsrv_cmd.c
|
||||||
|
index ab6156fd6c92e8fd8176da6664cd6b79eb3f5a97..624db5f9f16b7f864dc2df67f7a62983686d8e29 100644
|
||||||
|
--- a/src/responder/ifp/ifpsrv_cmd.c
|
||||||
|
+++ b/src/responder/ifp/ifpsrv_cmd.c
|
||||||
|
@@ -83,7 +83,7 @@ int ifp_user_get_attr(struct sbus_request *dbus_req, void *data)
|
||||||
|
|
||||||
|
ret = ifp_user_get_attr_unpack_msg(attr_req);
|
||||||
|
if (ret != EOK) {
|
||||||
|
- return ret; /* handled internally */
|
||||||
|
+ return ret; /* internal error */
|
||||||
|
}
|
||||||
|
|
||||||
|
DEBUG(SSSDBG_FUNC_DATA,
|
||||||
|
@@ -117,7 +117,7 @@ ifp_user_get_attr_unpack_msg(struct ifp_attr_req *attr_req)
|
||||||
|
DBUS_TYPE_INVALID);
|
||||||
|
if (parsed == false) {
|
||||||
|
DEBUG(SSSDBG_OP_FAILURE, "Could not parse arguments\n");
|
||||||
|
- return EOK; /* handled */
|
||||||
|
+ return ERR_SBUS_REQUEST_HANDLED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Copy the attributes to maintain memory hierarchy with talloc */
|
||||||
|
--
|
||||||
|
2.7.4
|
||||||
|
|
@ -24,7 +24,7 @@
|
|||||||
|
|
||||||
Name: sssd
|
Name: sssd
|
||||||
Version: 1.13.4
|
Version: 1.13.4
|
||||||
Release: 2%{?dist}
|
Release: 3%{?dist}
|
||||||
Group: Applications/System
|
Group: Applications/System
|
||||||
Summary: System Security Services Daemon
|
Summary: System Security Services Daemon
|
||||||
License: GPLv3+
|
License: GPLv3+
|
||||||
@ -34,6 +34,8 @@ BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
|
|||||||
|
|
||||||
### Patches ###
|
### Patches ###
|
||||||
Patch0001: 0001-IPA-terminate-properly-if-view-name-lookup-fails.patch
|
Patch0001: 0001-IPA-terminate-properly-if-view-name-lookup-fails.patch
|
||||||
|
Patch0002: 0002-UTIL-Add-ERR_SBUS_REQUEST_HANDLED.patch
|
||||||
|
Patch0003: 0003-IFP-Do-not-crash-on-invalid-arguments-to-GetUserAttr.patch
|
||||||
Patch1001: 1001-Netlink-Ignore-RTM_NEWADDR-signals-from-link-local.patch
|
Patch1001: 1001-Netlink-Ignore-RTM_NEWADDR-signals-from-link-local.patch
|
||||||
|
|
||||||
### Dependencies ###
|
### Dependencies ###
|
||||||
@ -1020,6 +1022,10 @@ fi
|
|||||||
%{_libdir}/%{name}/modules/libwbclient.so
|
%{_libdir}/%{name}/modules/libwbclient.so
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri May 13 2016 Lukas Slebodnik <lslebodn@redhat.com> - 1.13.4-3
|
||||||
|
- Resolves: rhbz#1335639 - [abrt] sssd-dbus: ldb_msg_find_element():
|
||||||
|
sssd_ifp killed by SIGSEGV
|
||||||
|
|
||||||
* Fri Apr 22 2016 Lukas Slebodnik <lslebodn@redhat.com> - 1.13.4-2
|
* Fri Apr 22 2016 Lukas Slebodnik <lslebodn@redhat.com> - 1.13.4-2
|
||||||
- Resolves: rhbz#1328108 - Protocol error with FreeIPA on CentOS 6
|
- Resolves: rhbz#1328108 - Protocol error with FreeIPA on CentOS 6
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user