summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2016-09-12 17:36:09 +0200
committerJakub Hrozek <jhrozek@redhat.com>2016-09-14 11:11:38 +0200
commit3319d964721396c07daba383ded6aaaf33ed6e3b (patch)
tree5fc6eb5c4f40a6ed2ff2fb729615a921676c5929
parenta8361f37af31a8a9767056bd27c418c947293f56 (diff)
downloadsssd-3319d964721396c07daba383ded6aaaf33ed6e3b.tar.gz
sssd-3319d964721396c07daba383ded6aaaf33ed6e3b.tar.xz
sssd-3319d964721396c07daba383ded6aaaf33ed6e3b.zip
LDAP: Return partial results from adminlimit exceeded
Resolves: https://fedorahosted.org/sssd/ticket/3185 Since commit c420ce830ac0b0b288a2a887ec2cfce5c748018c we try to move to the next server on any error on the connection, which in case there is only one server sends SSSD offline. It's more graceful to try to process the results, same as we already do with sizelimit exceeded. Reviewed-by: Michal Židek <mzidek@redhat.com> Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
-rw-r--r--src/providers/ldap/sdap_async.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/providers/ldap/sdap_async.c b/src/providers/ldap/sdap_async.c
index e9ce2d5fd..f37411293 100644
--- a/src/providers/ldap/sdap_async.c
+++ b/src/providers/ldap/sdap_async.c
@@ -1526,7 +1526,8 @@ static void sdap_get_generic_op_finished(struct sdap_op *op,
sss_ldap_err2string(result), result,
errmsg ? errmsg : "no errmsg set");
- if (result == LDAP_SIZELIMIT_EXCEEDED) {
+ if (result == LDAP_SIZELIMIT_EXCEEDED
+ || result == LDAP_ADMINLIMIT_EXCEEDED) {
/* Try to return what we've got */
if ( ! (state->flags & SDAP_SRCH_FLG_SIZELIMIT_SILENT)) {