Lines Matching refs:state
242 struct netgr_translate_members_state *state;
256 req = tevent_req_create(memctx, &state,
262 state->ev = ev;
263 state->opts = opts;
264 state->sh = sh;
265 state->netgroups = netgroups;
266 state->count = count;
267 state->dn_list = NULL;
268 state->dn_item = NULL;
269 state->dn_idx = NULL;
273 SYSDB_ORIG_NETGROUP_MEMBER, state,
282 dn_item = talloc_zero(state, struct dn_item);
293 DLIST_ADD(state->dn_list, dn_item);
306 if (state->dn_list == NULL) {
313 dn_filter = talloc_strdup(state, "(|");
320 DLIST_FOR_EACH(dn_item, state->dn_list) {
337 sysdb_filter = talloc_asprintf(state, "(&(%s)%s)", SYSDB_NC, dn_filter);
344 netgr_basedn = sysdb_netgroup_base_dn(state, dom);
350 ret = sysdb_search_entry(state, sysdb, netgr_basedn, LDB_SCOPE_BASE,
360 ret = update_dn_list(state->dn_list, sysdb_count, sysdb_res,
368 DLIST_FOR_EACH(dn_item, state->dn_list) {
385 state->dn_idx = state->dn_list;
414 struct netgr_translate_members_state *state = tevent_req_data(req,
421 DLIST_FOR_EACH(state->dn_item, state->dn_idx) {
422 if (state->dn_item->cn == NULL) {
426 if (state->dn_item == NULL) {
427 DLIST_FOR_EACH(state->dn_item, state->dn_list) {
428 ret = sysdb_attrs_add_string(state->dn_item->netgroup,
430 state->dn_item->cn);
442 if (!sss_ldap_dn_in_search_bases(state, state->dn_item->dn,
443 state->opts->sdom->netgroup_search_bases,
446 state->dn_idx = state->dn_item->next;
447 DLIST_REMOVE(state->dn_list, state->dn_item);
451 cn_attr = talloc_array(state, const char *, 3);
456 cn_attr[0] = state->opts->netgroup_map[SDAP_AT_NETGROUP_NAME].name;
460 DEBUG(SSSDBG_TRACE_ALL, "LDAP base search for [%s].\n", state->dn_item->dn);
461 subreq = sdap_get_generic_send(state, state->ev, state->opts, state->sh,
462 state->dn_item->dn, LDAP_SCOPE_BASE, filter,
463 cn_attr, state->opts->netgroup_map,
465 dp_opt_get_int(state->opts->basic,
482 struct netgr_translate_members_state *state = tevent_req_data(req,
489 ret = sdap_get_generic_recv(subreq, state, &count, &netgroups);
500 state->dn_item->dn);
508 state->dn_item->cn = talloc_strdup(state->dn_item, str);
509 if (state->dn_item->cn == NULL) {
519 if (state->dn_item->cn == NULL) {
522 state->dn_item->dn);
523 state->dn_item->cn = talloc_strdup(state->dn_item, state->dn_item->dn);
526 state->dn_idx = state->dn_item->next;
549 struct netgr_translate_members_state *state = tevent_req_data(req,
554 *count = state->count;
555 *netgroups = talloc_steal(mem_ctx, state->netgroups);
598 struct sdap_get_netgroups_state *state;
600 req = tevent_req_create(memctx, &state, struct sdap_get_netgroups_state);
603 state->ev = ev;
604 state->opts = opts;
605 state->dom = dom;
606 state->sh = sh;
607 state->sysdb = sysdb;
608 state->attrs = attrs;
609 state->higher_timestamp = NULL;
610 state->netgroups = NULL;
611 state->count = 0;
612 state->timeout = timeout;
613 state->base_filter = filter;
614 state->base_iter = 0;
615 state->search_bases = search_bases;
617 if (!state->search_bases) {
630 tevent_req_post(req, state->ev);
638 struct sdap_get_netgroups_state *state;
640 state = tevent_req_data(req, struct sdap_get_netgroups_state);
642 talloc_zfree(state->filter);
643 state->filter = sdap_combine_filters(state, state->base_filter,
644 state->search_bases[state->base_iter]->filter);
645 if (!state->filter) {
651 state->search_bases[state->base_iter]->basedn);
654 state, state->ev, state->opts, state->sh,
655 state->search_bases[state->base_iter]->basedn,
656 state->search_bases[state->base_iter]->scope,
657 state->filter, state->attrs,
658 state->opts->netgroup_map, SDAP_OPTS_NETGROUP,
659 state->timeout,
673 struct sdap_get_netgroups_state *state = tevent_req_data(req,
677 ret = sdap_get_generic_recv(subreq, state,
678 &state->count, &state->netgroups);
686 "Search for netgroups, returned %zu results.\n", state->count);
688 if (state->count == 0) {
690 state->base_iter++;
691 if (state->search_bases[state->base_iter]) {
704 subreq = netgr_translate_members_send(state, state->ev, state->opts,
705 state->sh, state->dom, state->sysdb,
706 state->count, state->netgroups);
721 struct sdap_get_netgroups_state *state = tevent_req_data(req,
727 ret = netgroup_translate_ldap_members_recv(subreq, state, &state->count,
728 &state->netgroups);
736 for (c = 0; c < state->count; c++) {
737 ret = sdap_save_netgroup(state,
738 state->dom,
739 state->opts,
740 state->netgroups[c],
741 &state->higher_timestamp,
750 DEBUG(SSSDBG_TRACE_ALL, "Saving %zu Netgroups - Done\n", state->count);
760 struct sdap_get_netgroups_state *state = tevent_req_data(req,
766 *timestamp = talloc_steal(mem_ctx, state->higher_timestamp);
770 *reply_count = state->count;
774 *reply = talloc_steal(mem_ctx, state->netgroups);