Lines Matching defs:cr

57 static errno_t cache_req_set_plugin(struct cache_req *cr,
68 cr->reqname = plugin->name;
69 cr->dp_type = plugin->dp_type;
70 cr->plugin = plugin;
72 CACHE_REQ_DEBUG(SSSDBG_TRACE_INTERNAL, cr, "Setting \"%s\" plugin\n",
85 struct cache_req *cr;
88 cr = talloc_zero(mem_ctx, struct cache_req);
89 if (cr == NULL) {
93 cr->rctx = rctx;
94 cr->data = data;
95 cr->ncache = ncache;
96 cr->midpoint = midpoint;
97 cr->req_start = time(NULL);
100 cr->reqid = rctx->cache_req_num++;
102 ret = cache_req_set_plugin(cr, data->type);
104 talloc_free(cr);
108 return cr;
112 cache_req_set_name(struct cache_req *cr, const char *name)
116 CACHE_REQ_DEBUG(SSSDBG_TRACE_FUNC, cr, "Setting name [%s]\n", name);
118 dup_name = talloc_strdup(cr->data, name);
120 CACHE_REQ_DEBUG(SSSDBG_CRIT_FAILURE, cr, "Unable to set name!\n");
124 talloc_zfree(cr->data->name.name);
125 cr->data->name.name = dup_name;
131 cache_req_prepare_domain_data(struct cache_req *cr,
136 if (cr->plugin->prepare_domain_data_fn == NULL) {
140 CACHE_REQ_DEBUG(SSSDBG_TRACE_FUNC, cr,
144 ret = cr->plugin->prepare_domain_data_fn(cr, cr->data, domain);
146 CACHE_REQ_DEBUG(SSSDBG_CRIT_FAILURE, cr,
156 cache_req_create_debug_name(struct cache_req *cr,
159 if (cr->plugin->create_debug_name_fn == NULL) {
160 CACHE_REQ_DEBUG(SSSDBG_CRIT_FAILURE, cr,
165 talloc_zfree(cr->debugobj);
167 cr->debugobj = cr->plugin->create_debug_name_fn(cr, cr->data, domain);
168 if (cr->debugobj == NULL) {
169 CACHE_REQ_DEBUG(SSSDBG_CRIT_FAILURE, cr,
178 cache_req_set_domain(struct cache_req *cr,
183 CACHE_REQ_DEBUG(SSSDBG_TRACE_FUNC, cr, "Using domain [%s]\n", domain->name);
185 ret = cache_req_prepare_domain_data(cr, domain);
190 ret = cache_req_create_debug_name(cr, domain);
195 cr->domain = domain;
200 static void cache_req_global_ncache_add(struct cache_req *cr)
204 if (cr->plugin->global_ncache_add_fn == NULL) {
205 CACHE_REQ_DEBUG(SSSDBG_TRACE_INTERNAL, cr,
211 CACHE_REQ_DEBUG(SSSDBG_TRACE_FUNC, cr, "Adding [%s] to global "
212 "negative cache\n", cr->debugobj);
214 ret = cr->plugin->global_ncache_add_fn(cr->ncache, cr->data);
216 CACHE_REQ_DEBUG(SSSDBG_MINOR_FAILURE, cr,
218 cr->debugobj, ret, sss_strerror(ret));
226 cache_req_assume_upn(struct cache_req *cr)
230 if (cr->plugin->allow_switch_to_upn == false
231 || cr->data->name.input == NULL
232 || strchr(cr->data->name.input, '@') == NULL) {
236 ret = cache_req_set_plugin(cr, cr->plugin->upn_equivalent);
241 ret = cache_req_set_name(cr, cr->data->name.input);
247 CACHE_REQ_DEBUG(SSSDBG_TRACE_FUNC, cr, "Assuming UPN [%s]\n",
248 cr->data->name.input);
256 struct cache_req *cr;
267 struct cache_req *cr,
288 struct cache_req *cr;
299 state->cr = cr = cache_req_create(state, rctx, data, ncache, midpoint);
300 if (state->cr == NULL) {
305 CACHE_REQ_DEBUG(SSSDBG_TRACE_FUNC, cr, "New request\n");
307 ret = cache_req_process_input(state, req, cr, domain);
328 struct cache_req *cr,
333 if (cr->data->name.input == NULL) {
338 if (cr->plugin->parse_name == false || domain != NULL) {
340 return cache_req_set_name(cr, cr->data->name.input);
344 CACHE_REQ_DEBUG(SSSDBG_TRACE_FUNC, cr,
345 "Parsing input name [%s]\n", cr->data->name.input);
347 subreq = sss_parse_inp_send(mem_ctx, cr->rctx, cr->data->name.input);
373 ret = cache_req_set_name(state->cr, name);
380 maybe_upn = cache_req_assume_upn(state->cr);
408 CACHE_REQ_DEBUG(SSSDBG_TRACE_FUNC, state->cr,
411 state->domain = responder_get_domain(state->cr->rctx, domain);
418 CACHE_REQ_DEBUG(SSSDBG_TRACE_FUNC, state->cr,
421 state->domain = state->cr->rctx->domains;
432 struct cache_req *cr;
436 cr = state->cr;
443 && !cr->plugin->allow_missing_fqn) {
453 ret = cache_req_set_domain(cr, state->domain);
458 subreq = cache_req_search_send(state, state->ev, cr);
468 cr->plugin->get_next_domain_flags);
477 cache_req_global_ncache_add(cr);
494 CACHE_REQ_DEBUG(SSSDBG_TRACE_FUNC, state->cr, "Finished: Success\n");
500 if (ret == ENOENT && cache_req_assume_upn(state->cr)) {
506 CACHE_REQ_DEBUG(SSSDBG_TRACE_FUNC, state->cr, "Finished: Not found\n");
513 CACHE_REQ_DEBUG(SSSDBG_TRACE_FUNC, state->cr,
535 if (state->cr->data->name.lookup == NULL) {
538 name = talloc_strdup(mem_ctx, state->cr->data->name.lookup);