diff options
author | Simo Sorce <ssorce@redhat.com> | 2009-11-07 12:59:17 -0500 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2009-11-09 13:50:30 -0500 |
commit | 47d61ca8db78e5976400dbe08f426c0985e6e801 (patch) | |
tree | ec74b9a683113660420ee0aca8f10122ea8eb475 /server/providers/ldap/ldap_auth.c | |
parent | 35d0b225578e179b8c21f1eee59fcf075eb1f692 (diff) | |
download | sssd-47d61ca8db78e5976400dbe08f426c0985e6e801.tar.gz sssd-47d61ca8db78e5976400dbe08f426c0985e6e801.tar.bz2 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.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/server/providers/ldap/ldap_auth.c b/server/providers/ldap/ldap_auth.c index 275c8945..a9f03a76 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) { |