diff options
Diffstat (limited to 'src/back-sch.h')
-rw-r--r-- | src/back-sch.h | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/src/back-sch.h b/src/back-sch.h index 85ea86f..0741434 100644 --- a/src/back-sch.h +++ b/src/back-sch.h @@ -38,9 +38,6 @@ struct backend_set_data { bool_t check_access; enum sch_search_sssd_t check_sssd; long sssd_min_id; - char *sssd_buffer; - ssize_t sssd_buffer_len; - struct backend_set_data *sssd_relevant_set; }; struct backend_entry_data { @@ -48,6 +45,19 @@ struct backend_entry_data { Slapi_Entry *e; }; +struct backend_staged_data { + struct backend_staged_data *next; + struct backend_set_data *set_data_fixup; + char *map_group, *map_set; + enum sch_search_sssd_t type; + bool_t is_id; + bool_t search_members; + char *name; + char *container_sdn; + int count; + Slapi_Entry **entries; +}; + /* Intercept a search request, and if it belongs to one of our compatibility * trees, answer from our cache before letting the default database have a * crack at it. */ @@ -61,23 +71,30 @@ struct backend_search_cbdata { Slapi_DN *target_dn; Slapi_Filter *filter; long sssd_min_id; + char *sssd_buffer; + ssize_t sssd_buffer_len; bool_t answer; int result; bool_t matched; char *closest_match, *text; int n_entries; + struct backend_staged_data *staged; + struct backend_staged_data *cur_staged; }; void backend_search_sssd(struct backend_set_data *set_data, struct backend_search_cbdata *cbdata); +bool_t backend_retrieve_from_sssd(struct backend_staged_data *staged, + struct backend_search_cbdata *cbdata); + void backend_set_operational_attributes(Slapi_Entry *e, struct plugin_state *state, time_t timestamp, int n_subordinates, const char *usn); -int backend_sch_do_pam_auth(Slapi_PBlock *pb, Slapi_Entry *entry); +int backend_sch_do_pam_auth(Slapi_PBlock *pb, const char *username); #endif |