summaryrefslogtreecommitdiff
path: root/server/providers/ldap
diff options
context:
space:
mode:
authorSimo Sorce <ssorce@redhat.com>2009-08-10 09:13:25 -0400
committerStephen Gallagher <sgallagh@redhat.com>2009-08-10 14:02:43 -0400
commit28bbb2ec4c5f29339488f07f63f55e5c6657e9a1 (patch)
treeec48cb796e5af1726e4642dbd7faccea4534f77b /server/providers/ldap
parent3f36267012d444acabbf0b003af30af4644344bc (diff)
downloadsssd-28bbb2ec4c5f29339488f07f63f55e5c6657e9a1.tar.gz
sssd-28bbb2ec4c5f29339488f07f63f55e5c6657e9a1.tar.bz2
sssd-28bbb2ec4c5f29339488f07f63f55e5c6657e9a1.zip
Do not fail enumerations because of range checks
Diffstat (limited to 'server/providers/ldap')
-rw-r--r--server/providers/ldap/sdap_async.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/server/providers/ldap/sdap_async.c b/server/providers/ldap/sdap_async.c
index a4491d81..b2e0fb21 100644
--- a/server/providers/ldap/sdap_async.c
+++ b/server/providers/ldap/sdap_async.c
@@ -1255,7 +1255,11 @@ static void sdap_get_users_save_done(struct tevent_req *subreq)
ret = sdap_save_user_recv(subreq);
talloc_zfree(subreq);
- if (ret) {
+
+ /* If the configuration has id ranges and the remote user is out
+ * of these ranges we will get back an ERANGE error. In this case
+ * we just ignore the error and go on with the next op */
+ if (ret && (ret != ERANGE)) {
tevent_req_error(req, ret);
return;
}
@@ -1448,7 +1452,11 @@ static void sdap_get_groups_save_done(struct tevent_req *subreq)
ret = sdap_save_group_recv(subreq);
talloc_zfree(subreq);
- if (ret) {
+
+ /* If the configuration has id ranges and the remote user is out
+ * of these ranges we will get back an ERANGE error. In this case
+ * we just ignore the error and go on with the next op */
+ if (ret && (ret != ERANGE)) {
tevent_req_error(req, ret);
return;
}
@@ -1752,7 +1760,11 @@ static void sdap_get_initgr_save_done(struct tevent_req *subreq)
ret = sdap_save_group_recv(subreq);
talloc_zfree(subreq);
- if (ret) {
+
+ /* If the configuration has id ranges and the remote user is out
+ * of these ranges we will get back an ERANGE error. In this case
+ * we just ignore the error and go on with the next op */
+ if (ret && (ret != ERANGE)) {
tevent_req_error(req, ret);
return;
}