Lines Matching refs:state

228 simple_resolve_group_check(struct simple_resolve_group_state *state);
241 struct simple_resolve_group_state *state;
244 req = tevent_req_create(mem_ctx, &state,
248 state->domain = domain;
249 state->gid = gid;
250 state->ctx = ctx;
254 ret = simple_resolve_group_check(state);
267 ar = talloc(state, struct dp_id_data);
276 ar->domain = talloc_strdup(ar, state->domain->name);
282 subreq = dp_req_send(state, ctx->be_ctx->provider, NULL, ar->domain,
304 simple_resolve_group_check(struct simple_resolve_group_state *state)
312 ret = sysdb_search_group_by_gid(state, state->domain, state->gid,
320 state->gid, ret, sss_strerror(ret));
324 state->name = ldb_msg_find_attr_as_string(group, SYSDB_NAME, NULL);
325 if (!state->name) {
343 struct simple_resolve_group_state *state;
348 state = tevent_req_data(req, struct simple_resolve_group_state);
350 ret = dp_req_recv_ptr(state, subreq, struct dp_reply_std, &reply);
367 ret = simple_resolve_group_check(state);
382 struct simple_resolve_group_state *state;
384 state = tevent_req_data(req, struct simple_resolve_group_state);
388 *name = talloc_strdup(mem_ctx, state->name);
415 simple_check_get_groups_primary(struct simple_check_groups_state *state,
418 simple_check_process_group(struct simple_check_groups_state *state,
430 struct simple_check_groups_state *state;
439 req = tevent_req_create(mem_ctx, &state,
443 state->ev = ev;
444 state->ctx = ctx;
445 state->failed_to_resolve_groups = false;
450 state->domain = find_domain_by_object_name(ctx->domain, username);
451 if (state->domain == NULL) {
457 ret = sysdb_search_user_by_name(state, state->domain, username, attrs,
470 ret = sysdb_asq_search(state, state->domain,
482 state->group_names = talloc_zero_array(state, const char *, group_count + 2);
483 state->lookup_groups = talloc_zero_array(state, struct simple_group,
485 if (!state->group_names || !state->lookup_groups) {
498 ret = simple_check_process_group(state, groups[i]);
511 ret = simple_check_get_groups_primary(state, gid);
516 if (state->num_groups == 0) {
526 state->num_groups);
527 state->giter = 0;
528 subreq = simple_resolve_group_send(req, state->ev, state->ctx,
529 state->lookup_groups[state->giter].domain,
530 state->lookup_groups[state->giter].gid);
553 struct simple_check_groups_state *state =
557 ret = simple_resolve_group_recv(subreq, state->group_names,
558 &state->group_names[state->num_names]);
563 state->lookup_groups[state->giter].gid);
564 state->failed_to_resolve_groups = true;
566 state->num_names++;
568 state->giter++;
570 if (state->giter < state->num_groups) {
571 subreq = simple_resolve_group_send(req, state->ev, state->ctx,
572 state->lookup_groups[state->giter].domain,
573 state->lookup_groups[state->giter].gid);
587 simple_check_process_group(struct simple_check_groups_state *state,
614 state->group_names[state->num_names] = talloc_strdup(state->group_names,
616 if (!state->group_names[state->num_names]) {
620 state->num_names++;
627 state->group_names[state->num_names] = talloc_strdup(state->group_names,
629 if (!state->group_names[state->num_names]) {
633 state->num_names++;
641 domain = state->ctx->domain;
643 domain = find_domain_by_sid(state->ctx->domain, group_sid);
652 state->lookup_groups[state->num_groups].domain = domain;
653 state->lookup_groups[state->num_groups].gid = gid;
655 state->num_groups++;
660 simple_check_get_groups_primary(struct simple_check_groups_state *state,
668 ret = sysdb_search_group_by_gid(state, state->domain, gid, group_attrs,
679 ret = simple_check_process_group(state, msg);
694 struct simple_check_groups_state *state;
696 state = tevent_req_data(req, struct simple_check_groups_state);
700 *_group_names = talloc_steal(mem_ctx, state->group_names);
701 if (state->failed_to_resolve_groups) {
725 struct simple_access_check_state *state;
727 req = tevent_req_create(mem_ctx, &state,
731 state->access_granted = false;
732 state->ctx = ctx;
733 state->username = talloc_strdup(state, username);
734 if (!state->username) {
741 ret = simple_check_users(ctx, username, &state->access_granted);
763 subreq = simple_check_get_groups_send(state, ev, ctx, username);
787 struct simple_access_check_state *state =
792 ret = simple_check_get_groups_recv(subreq, state, &state->group_names);
797 state->access_granted = false;
802 "Could not collect groups of user %s\n", state->username);
803 if (state->ctx->deny_groups == NULL) {
814 "Could not collect groups of user %s\n", state->username);
819 ret = simple_check_groups(state->ctx, state->group_names,
820 &state->access_granted);
835 struct simple_access_check_state *state =
841 "Access %sgranted\n", state->access_granted ? "" : "not ");
843 *access_granted = state->access_granted;