diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2013-06-04 15:15:24 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2013-06-07 00:14:13 +0200 |
commit | ca344fdecdf127c80ad1074047aeba21e1165313 (patch) | |
tree | 635f018041a1efca22dd16c5b5cf7c86c5002b70 /src/providers/ldap/ldap_common.h | |
parent | 749cfb5d3270b5daf389d51a0dbd3fd2aec6e05d (diff) | |
download | sssd-ca344fdecdf127c80ad1074047aeba21e1165313.tar.gz sssd-ca344fdecdf127c80ad1074047aeba21e1165313.tar.xz sssd-ca344fdecdf127c80ad1074047aeba21e1165313.zip |
LDAP: return sdap search return code to ID
By default, the LDAP searches delete the entry from cache if it wasn't
found during a search. But if a search wants to try both Global Catalog
and LDAP, for example, it might be beneficial to have an option to only
delete the entry from cache after the last operation fails to prevent
unnecessary memberof operations for example.
Diffstat (limited to 'src/providers/ldap/ldap_common.h')
-rw-r--r-- | src/providers/ldap/ldap_common.h | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/providers/ldap/ldap_common.h b/src/providers/ldap/ldap_common.h index 331e90d26..565e90b03 100644 --- a/src/providers/ldap/ldap_common.h +++ b/src/providers/ldap/ldap_common.h @@ -103,10 +103,12 @@ sdap_handle_acct_req_send(TALLOC_CTX *mem_ctx, struct be_acct_req *ar, struct sdap_id_ctx *id_ctx, struct sdap_domain *sdom, - struct sdap_id_conn_ctx *conn); + struct sdap_id_conn_ctx *conn, + bool noexist_delete); errno_t sdap_handle_acct_req_recv(struct tevent_req *req, - int *_dp_error, const char **_err); + int *_dp_error, const char **_err, + int *sdap_ret); /* auth */ void sdap_pam_auth_handler(struct be_req *breq); @@ -180,16 +182,18 @@ struct tevent_req *groups_get_send(TALLOC_CTX *memctx, struct sdap_id_conn_ctx *conn, const char *name, int filter_type, - int attrs_type); -int groups_get_recv(struct tevent_req *req, int *dp_error_out); + int attrs_type, + bool noexist_delete); +int groups_get_recv(struct tevent_req *req, int *dp_error_out, int *sdap_ret); struct tevent_req *ldap_netgroup_get_send(TALLOC_CTX *memctx, struct tevent_context *ev, struct sdap_id_ctx *ctx, struct sdap_domain *sdom, struct sdap_id_conn_ctx *conn, - const char *name); -int ldap_netgroup_get_recv(struct tevent_req *req, int *dp_error_out); + const char *name, + bool noexist_delete); +int ldap_netgroup_get_recv(struct tevent_req *req, int *dp_error_out, int *sdap_ret); struct tevent_req * services_get_send(TALLOC_CTX *mem_ctx, @@ -199,10 +203,11 @@ services_get_send(TALLOC_CTX *mem_ctx, struct sdap_id_conn_ctx *conn, const char *name, const char *protocol, - int filter_type); + int filter_type, + bool noexist_delete); errno_t -services_get_recv(struct tevent_req *req, int *dp_error_out); +services_get_recv(struct tevent_req *req, int *dp_error_out, int *sdap_ret); /* setup child logging */ int sdap_setup_child(void); |