static struct cache_req_data * hybrid_domain_retry_data(TALLOC_CTX *mem_ctx, struct cache_req_data *orig, const char *input_name, uint32_t input_id) { enum cache_req_type cr_type = cache_req_data_get_type(orig); struct cache_req_data *hybrid_data = NULL; if (cr_type == CACHE_REQ_GROUP_BY_ID) { DEBUG(SSSDBG_TRACE_FUNC, "Retrying group-by-ID lookup in user space\n"); hybrid_data = cache_req_data_id(mem_ctx, CACHE_REQ_USER_BY_ID, input_id); } else if (cr_type == CACHE_REQ_GROUP_BY_NAME) { DEBUG(SSSDBG_TRACE_FUNC, "Retrying group-by-name lookup in user space\n"); hybrid_data = cache_req_data_name(mem_ctx, CACHE_REQ_USER_BY_NAME, input_name); } return hybrid_data; }
struct tevent_req * cache_req_user_by_name_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct resp_ctx *rctx, struct sss_nc_ctx *ncache, int cache_refresh_percent, const char *domain, const char *name) { struct cache_req_data *data; data = cache_req_data_name(mem_ctx, CACHE_REQ_USER_BY_NAME, name); if (data == NULL) { return NULL; } return cache_req_steal_data_and_send(mem_ctx, ev, rctx, ncache, cache_refresh_percent, domain, data); }
struct tevent_req * cache_req_user_by_filter_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct resp_ctx *rctx, enum cache_req_dom_type req_dom_type, const char *domain, const char *filter) { struct cache_req_data *data; data = cache_req_data_name(mem_ctx, CACHE_REQ_USER_BY_FILTER, filter); if (data == NULL) { return NULL; } return cache_req_steal_data_and_send(mem_ctx, ev, rctx, NULL, 0, req_dom_type, domain, data); }