summaryrefslogtreecommitdiffstats
path: root/server/providers/ldap/ldap_auth.c
diff options
context:
space:
mode:
authorSimo Sorce <ssorce@redhat.com>2009-11-07 12:59:17 -0500
committerStephen Gallagher <sgallagh@redhat.com>2009-11-09 13:50:30 -0500
commit47d61ca8db78e5976400dbe08f426c0985e6e801 (patch)
treeec74b9a683113660420ee0aca8f10122ea8eb475 /server/providers/ldap/ldap_auth.c
parent35d0b225578e179b8c21f1eee59fcf075eb1f692 (diff)
downloadsssd-47d61ca8db78e5976400dbe08f426c0985e6e801.tar.gz
sssd-47d61ca8db78e5976400dbe08f426c0985e6e801.tar.xz
sssd-47d61ca8db78e5976400dbe08f426c0985e6e801.zip
Fix tevent_req error checking.
When possible using a macro that correctly deals with tstate
Diffstat (limited to 'server/providers/ldap/ldap_auth.c')
-rw-r--r--server/providers/ldap/ldap_auth.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/server/providers/ldap/ldap_auth.c b/server/providers/ldap/ldap_auth.c
index 275c89452..a9f03a763 100644
--- a/server/providers/ldap/ldap_auth.c
+++ b/server/providers/ldap/ldap_auth.c
@@ -386,12 +386,8 @@ static int get_user_dn_recv(struct tevent_req *req,
{
struct get_user_dn_state *state = tevent_req_data(req,
struct get_user_dn_state);
- enum tevent_req_state tstate;
- uint64_t err;
- if (tevent_req_is_error(req, &tstate, &err)) {
- return err;
- }
+ TEVENT_REQ_RETURN_ON_ERROR(req);
*dn = talloc_steal(memctx, state->dn);
if (!*dn) return ENOMEM;
@@ -535,9 +531,15 @@ int auth_recv(struct tevent_req *req,
uint64_t err;
if (tevent_req_is_error(req, &tstate, &err)) {
- if (err == ETIMEDOUT) *result = SDAP_UNAVAIL;
- else *result = SDAP_ERROR;
- return EOK;
+ switch (tstate) {
+ case TEVENT_REQ_USER_ERROR:
+ if (err == ETIMEDOUT) *result = SDAP_UNAVAIL;
+ else *result = SDAP_ERROR;
+ return err;
+ default:
+ *result = SDAP_ERROR;
+ return EIO;
+ }
}
if (sh != NULL) {