Lines Matching refs:state

84     struct users_get_state *state;
95 req = tevent_req_create(memctx, &state, struct users_get_state);
98 state->ev = ev;
99 state->ctx = ctx;
100 state->sdom = sdom;
101 state->conn = conn;
102 state->dp_error = DP_ERR_FATAL;
103 state->noexist_delete = noexist_delete;
104 state->extra_attrs = NULL;
106 state->op = sdap_id_op_create(state, state->conn->conn_cache);
107 if (!state->op) {
113 state->domain = sdom->dom;
114 state->sysdb = sdom->dom->sysdb;
115 state->filter_value = filter_value;
116 state->filter_type = filter_type;
118 if (state->domain->type == DOM_TYPE_APPLICATION) {
119 state->non_posix = true;
122 state->use_id_mapping = sdap_idmap_domain_has_algorithmic_mapping(
129 ret = sss_filter_sanitize_ex(state, filter_value, &clean_value,
137 ret = sss_filter_sanitize(state, filter_value, &clean_value);
142 ep_filter = get_enterprise_principal_string_filter(state,
146 user_filter = talloc_asprintf(state, "(|(%s=%s)(%s=%s)%s)",
161 ret = sss_parse_internal_fqname(state, filter_value,
162 &state->shortname, NULL);
168 ret = sss_filter_sanitize(state, state->shortname, &clean_value);
175 if (state->use_id_mapping) {
193 ret = sysdb_delete_user(state->domain, NULL, uid);
209 ret = sss_filter_sanitize(state, sid, &clean_value);
217 ret = sss_filter_sanitize(state, filter_value, &clean_value);
226 ret = sss_filter_sanitize(state, filter_value, &clean_value);
240 ret = sss_filter_sanitize(state, filter_value, &clean_value);
254 ret = sss_cert_derb64_to_ldap_filter(state, filter_value, attr_name,
256 state->domain, &user_filter);
270 ret = sysdb_remove_cert(state->domain, filter_value);
279 state->sdap_ret = ENOENT;
280 state->dp_error = DP_ERR_OK;
284 state->extra_attrs = sysdb_new_attrs(state);
285 if (state->extra_attrs == NULL) {
291 ret = sysdb_attrs_add_base64_blob(state->extra_attrs,
311 user_filter = talloc_asprintf(state, "(%s=%s)", attr_name, clean_value);
320 if (state->non_posix) {
321 state->filter = talloc_asprintf(state,
326 } else if (state->use_id_mapping || filter_type == BE_FILTER_SECID) {
331 state->filter = talloc_asprintf(state,
340 state->filter = talloc_asprintf(state,
350 if (!state->filter) {
356 ret = build_attrs_from_map(state, ctx->opts->user_map,
358 NULL, &state->attrs, NULL);
379 struct users_get_state *state = tevent_req_data(req,
384 subreq = sdap_id_op_connect_send(state->op, state, &ret);
397 struct users_get_state *state = tevent_req_data(req,
406 state->dp_error = dp_error;
414 if (should_run_posix_check(state->ctx,
415 state->conn,
416 state->use_id_mapping,
417 !state->non_posix)) {
418 subreq = sdap_gc_posix_check_send(state, state->ev, state->ctx->opts,
419 sdap_id_op_handle(state->op),
420 dp_opt_get_int(state->ctx->opts->basic,
441 struct users_get_state *state = tevent_req_data(req,
450 ret2 = sdap_id_op_done(state->op, ret, &dp_error);
461 state->ctx->srv_opts->posix_checked = true;
466 state->sdap_ret = ERR_NO_POSIX;
476 struct users_get_state *state = tevent_req_data(req,
481 if (state->filter_type == BE_FILTER_WILDCARD) {
487 subreq = sdap_get_users_send(state, state->ev,
488 state->domain, state->sysdb,
489 state->ctx->opts,
490 state->sdom->user_search_bases,
491 sdap_id_op_handle(state->op),
492 state->attrs, state->filter,
493 dp_opt_get_int(state->ctx->opts->basic,
495 lookup_type, state->extra_attrs);
507 struct users_get_state *state = tevent_req_data(req,
519 ret = sdap_id_op_done(state->op, ret, &dp_error);
532 (state->ctx->opts->schema_type == SDAP_SCHEMA_RFC2307) &&
533 (dp_opt_get_bool(state->ctx->opts->basic,
538 switch (state->filter_type) {
544 uid = (uid_t) strtouint32(state->filter_value, &endptr, 10);
545 if (errno || *endptr || (state->filter_value == endptr)) {
557 ret = sdap_fallback_local_user(state, state->shortname, uid, &usr_attrs);
559 ret = sdap_save_user(state, state->ctx->opts, state->domain,
564 state->sdap_ret = ret;
567 state->dp_error = dp_error;
572 if (ret == ENOENT && state->noexist_delete == true) {
573 switch (state->filter_type) {
578 if (state->name_is_upn == true) {
579 ret = sysdb_search_user_by_upn(state, state->domain, false,
580 state->filter_value,
587 del_name = state->filter_value;
594 ret = sysdb_delete_user(state->domain, state->filter_value, 0);
602 uid = (uid_t) strtouint32(state->filter_value, &endptr, 10);
603 if (errno || *endptr || (state->filter_value == endptr)) {
608 ret = sysdb_delete_user(state->domain, NULL, uid);
629 ret = sysdb_remove_cert(state->domain, state->filter_value);
644 state->dp_error = DP_ERR_OK;
651 struct users_get_state *state = tevent_req_data(req,
655 *dp_error_out = state->dp_error;
659 *sdap_ret = state->sdap_ret;
711 struct groups_get_state *state;
723 req = tevent_req_create(memctx, &state, struct groups_get_state);
726 state->ev = ev;
727 state->ctx = ctx;
728 state->sdom = sdom;
729 state->conn = conn;
730 state->dp_error = DP_ERR_FATAL;
731 state->noexist_delete = noexist_delete;
732 state->no_members = no_members;
734 state->op = sdap_id_op_create(state, state->conn->conn_cache);
735 if (!state->op) {
741 state->domain = sdom->dom;
742 state->sysdb = sdom->dom->sysdb;
743 state->filter_value = filter_value;
744 state->filter_type = filter_type;
746 if (state->domain->type == DOM_TYPE_APPLICATION) {
747 state->non_posix = true;
750 state->use_id_mapping = sdap_idmap_domain_has_algorithmic_mapping(
758 ret = sss_filter_sanitize_ex(state, filter_value, &clean_value,
767 ret = sss_parse_internal_fqname(state, filter_value,
774 ret = sss_filter_sanitize(state, shortname, &clean_value);
780 if (state->use_id_mapping) {
798 ret = sysdb_delete_group(state->domain, NULL, gid);
814 ret = sss_filter_sanitize(state, sid, &clean_value);
822 ret = sss_filter_sanitize(state, filter_value, &clean_value);
831 ret = sss_filter_sanitize(state, filter_value, &clean_value);
845 ret = sss_filter_sanitize(state, filter_value, &clean_value);
861 oc_list = sdap_make_oc_list(state, ctx->opts->group_map);
868 if (state->non_posix
869 || state->use_id_mapping
875 state->filter = talloc_asprintf(state,
880 state->filter = talloc_asprintf(state,
889 if (!state->filter) {
898 ret = build_attrs_from_map(state, ctx->opts->group_map, SDAP_OPTS_GROUP,
899 (state->domain->ignore_group_members
900 || state->no_members) ?
902 &state->attrs, NULL);
924 struct groups_get_state *state = tevent_req_data(req,
929 subreq = sdap_id_op_connect_send(state->op, state, &ret);
942 struct groups_get_state *state = tevent_req_data(req,
951 state->dp_error = dp_error;
959 if (should_run_posix_check(state->ctx,
960 state->conn,
961 state->use_id_mapping,
962 !state->non_posix)) {
963 subreq = sdap_gc_posix_check_send(state, state->ev, state->ctx->opts,
964 sdap_id_op_handle(state->op),
965 dp_opt_get_int(state->ctx->opts->basic,
985 struct groups_get_state *state = tevent_req_data(req,
994 ret = sdap_id_op_done(state->op, ret, &dp_error);
1005 state->ctx->srv_opts->posix_checked = true;
1010 state->sdap_ret = ERR_NO_POSIX;
1020 struct groups_get_state *state = tevent_req_data(req,
1025 if (state->filter_type == BE_FILTER_WILDCARD) {
1031 subreq = sdap_get_groups_send(state, state->ev,
1032 state->sdom,
1033 state->ctx->opts,
1034 sdap_id_op_handle(state->op),
1035 state->attrs, state->filter,
1036 dp_opt_get_int(state->ctx->opts->basic,
1039 state->no_members);
1051 struct groups_get_state *state = tevent_req_data(req,
1058 ret = sdap_id_op_done(state->op, ret, &dp_error);
1070 state->sdap_ret = ret;
1073 state->dp_error = dp_error;
1079 && state->domain->mpg == true) {
1084 subreq = users_get_send(state,
1085 state->ev,
1086 state->ctx,
1087 state->sdom,
1088 state->conn,
1089 state->filter_value,
1090 state->filter_type,
1092 state->noexist_delete);
1099 } else if (ret == ENOENT && state->noexist_delete == true) {
1109 state->dp_error = DP_ERR_OK;
1118 struct groups_get_state *state = tevent_req_data(req,
1121 ret = users_get_recv(subreq, &state->dp_error, &state->sdap_ret);
1129 if (state->sdap_ret == ENOENT && state->noexist_delete == true) {
1146 struct groups_get_state *state = tevent_req_data(req,
1152 switch (state->filter_type) {
1157 ret = sysdb_delete_group(state->domain, state->filter_value, 0);
1161 state->filter_value, ret, sss_strerror(ret));
1167 gid = (gid_t) strtouint32(state->filter_value, &endptr, 10);
1168 if (errno || *endptr || (state->filter_value == endptr)) {
1173 ret = sysdb_delete_group(state->domain, NULL, gid);
1205 struct groups_get_state *state = tevent_req_data(req,
1209 *dp_error_out = state->dp_error;
1213 *sdap_ret = state->sdap_ret;
1293 struct groups_by_user_state *state;
1296 req = tevent_req_create(memctx, &state, struct groups_by_user_state);
1299 state->ev = ev;
1300 state->ctx = ctx;
1301 state->dp_error = DP_ERR_FATAL;
1302 state->conn = conn;
1303 state->sdom = sdom;
1304 state->noexist_delete = noexist_delete;
1306 state->op = sdap_id_op_create(state, state->conn->conn_cache);
1307 if (!state->op) {
1313 state->filter_value = filter_value;
1314 state->filter_type = filter_type;
1315 state->extra_value = extra_value;
1316 state->domain = sdom->dom;
1317 state->sysdb = sdom->dom->sysdb;
1319 if (state->domain->type == DOM_TYPE_APPLICATION) {
1320 state->non_posix = true;
1323 ret = build_attrs_from_map(state, ctx->opts->group_map, SDAP_OPTS_GROUP,
1324 NULL, &state->attrs, NULL);
1342 struct groups_by_user_state *state = tevent_req_data(req,
1347 subreq = sdap_id_op_connect_send(state->op, state, &ret);
1360 struct groups_by_user_state *state = tevent_req_data(req,
1369 state->dp_error = dp_error;
1374 subreq = sdap_get_initgr_send(state,
1375 state->ev,
1376 state->sdom,
1377 sdap_id_op_handle(state->op),
1378 state->ctx,
1379 state->conn,
1380 state->filter_value,
1381 state->filter_type,
1382 state->extra_value,
1383 state->attrs);
1395 struct groups_by_user_state *state = tevent_req_data(req,
1403 ret = sdap_id_op_done(state->op, ret, &dp_error);
1415 state->sdap_ret = ret;
1418 /* state->filter_value is still the name used for the original req. The cached
1420 ret = sysdb_get_real_name(state,
1421 state->domain,
1422 state->filter_value,
1425 cname = state->filter_value;
1432 switch (state->sdap_ret) {
1434 if (state->noexist_delete == true) {
1435 ret = sysdb_delete_user(state->domain, cname, 0);
1443 ret = set_initgroups_expire_attribute(state->domain, cname);
1445 state->dp_error = DP_ERR_FATAL;
1451 state->dp_error = dp_error;
1456 state->dp_error = DP_ERR_OK;
1462 struct groups_by_user_state *state = tevent_req_data(req,
1466 *dp_error_out = state->dp_error;
1470 *sdap_ret = state->sdap_ret;
1530 struct sdap_handle_acct_req_state *state;
1534 req = tevent_req_create(mem_ctx, &state,
1539 state->ar = ar;
1547 state->ar->entry_type & BE_REQ_TYPE_MASK,
1548 state->ar->filter_type, state->ar->filter_value,
1549 PROBE_SAFE_STR(state->ar->extra_value));
1553 subreq = users_get_send(state, be_ctx->ev, id_ctx,
1562 subreq = groups_get_send(state, be_ctx->ev, id_ctx,
1574 state->err = "Invalid filter type";
1578 subreq = groups_by_user_send(state, be_ctx->ev, id_ctx,
1589 state->err = "Invalid filter type";
1593 subreq = ldap_netgroup_get_send(state, be_ctx->ev, id_ctx,
1603 state->err = "Invalid filter type";
1607 subreq = services_get_send(state, be_ctx->ev, id_ctx,
1618 state->err = "Invalid filter type";
1622 subreq = get_user_and_group_send(state, be_ctx->ev, id_ctx,
1632 state->err = "Invalid filter type";
1636 subreq = get_user_and_group_send(state, be_ctx->ev, id_ctx,
1647 state->err = "Invalid filter type";
1651 subreq = get_user_and_group_send(state, be_ctx->ev, id_ctx,
1659 subreq = users_get_send(state, be_ctx->ev, id_ctx,
1669 state->err = "Invalid request type";
1696 struct sdap_handle_acct_req_state *state;
1700 state = tevent_req_data(req, struct sdap_handle_acct_req_state);
1702 switch (state->ar->entry_type & BE_REQ_TYPE_MASK) {
1705 ret = users_get_recv(subreq, &state->dp_error, &state->sdap_ret);
1709 ret = groups_get_recv(subreq, &state->dp_error, &state->sdap_ret);
1713 ret = groups_by_user_recv(subreq, &state->dp_error, &state->sdap_ret);
1717 ret = ldap_netgroup_get_recv(subreq, &state->dp_error, &state->sdap_ret);
1721 ret = services_get_recv(subreq, &state->dp_error, &state->sdap_ret);
1729 ret = sdap_get_user_and_group_recv(subreq, &state->dp_error,
1730 &state->sdap_ret);
1734 ret = users_get_recv(subreq, &state->dp_error, &state->sdap_ret);
1743 state->err = err;
1748 state->err = "Success";
1757 struct sdap_handle_acct_req_state *state;
1759 state = tevent_req_data(req, struct sdap_handle_acct_req_state);
1762 state->ar->entry_type & BE_REQ_TYPE_MASK,
1763 state->ar->filter_type, state->ar->filter_value,
1764 PROBE_SAFE_STR(state->ar->extra_value));
1767 *_dp_error = state->dp_error;
1771 *_err = state->err;
1775 *sdap_ret = state->sdap_ret;
1816 struct get_user_and_group_state *state;
1819 req = tevent_req_create(memctx, &state, struct get_user_and_group_state);
1825 state->ev = ev;
1826 state->id_ctx = id_ctx;
1827 state->sdom = sdom;
1828 state->conn = conn;
1829 state->dp_error = DP_ERR_FATAL;
1830 state->noexist_delete = noexist_delete;
1832 state->op = sdap_id_op_create(state, state->conn->conn_cache);
1833 if (!state->op) {
1839 state->domain = sdom->dom;
1840 state->sysdb = sdom->dom->sysdb;
1841 state->filter_val = filter_val;
1842 state->filter_type = filter_type;
1844 subreq = groups_get_send(req, state->ev, state->id_ctx,
1845 state->sdom, state->conn,
1846 state->filter_val, state->filter_type,
1847 state->noexist_delete, false);
1868 struct get_user_and_group_state *state = tevent_req_data(req,
1874 ret = groups_get_recv(subreq, &state->dp_error, &state->sdap_ret);
1882 if (state->sdap_ret == EOK) { /* Matching group found */
1885 } else if (state->sdap_ret != ENOENT) {
1893 user_conn = state->conn;
1895 if (state->id_ctx->opts->schema_type == SDAP_SCHEMA_AD
1896 && state->sdom->pvt != NULL) {
1897 ad_id_ctx = talloc_get_type(state->sdom->pvt, struct ad_id_ctx);
1899 && state->conn == ad_id_ctx->gc_ctx) {
1906 subreq = users_get_send(req, state->ev, state->id_ctx,
1907 state->sdom, user_conn,
1908 state->filter_val, state->filter_type, NULL,
1909 state->noexist_delete);
1923 struct get_user_and_group_state *state = tevent_req_data(req,
1927 ret = users_get_recv(subreq, &state->dp_error, &state->sdap_ret);
1934 if (state->sdap_ret == ENOENT) {
1935 if (state->noexist_delete == true) {
1938 ret = sysdb_delete_by_sid(state->sysdb, state->domain,
1939 state->filter_val);
1946 } else if (state->sdap_ret != EOK) {
1959 struct get_user_and_group_state *state = tevent_req_data(req,
1963 *dp_error_out = state->dp_error;
1967 *sdap_ret = state->sdap_ret;
1987 struct sdap_account_info_handler_state *state;
1992 req = tevent_req_create(mem_ctx, &state,
2005 subreq = sdap_handle_acct_req_send(state, params->be_ctx, data, id_ctx,
2017 dp_reply_std_set(&state->reply, DP_ERR_DECIDE, ret, NULL);
2028 struct sdap_account_info_handler_state *state;
2035 state = tevent_req_data(req, struct sdap_account_info_handler_state);
2041 dp_reply_std_set(&state->reply, dp_error, ret, error_msg);
2049 struct sdap_account_info_handler_state *state = NULL;
2051 state = tevent_req_data(req, struct sdap_account_info_handler_state);
2055 *data = state->reply;