0db2f3402b37df221fbf55486769989f82df479aPavel Březina Pavel Březina <pbrezina@redhat.com>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina Copyright (C) 2016 Red Hat
0db2f3402b37df221fbf55486769989f82df479aPavel Březina This program is free software; you can redistribute it and/or modify
0db2f3402b37df221fbf55486769989f82df479aPavel Březina it under the terms of the GNU General Public License as published by
0db2f3402b37df221fbf55486769989f82df479aPavel Březina the Free Software Foundation; either version 3 of the License, or
0db2f3402b37df221fbf55486769989f82df479aPavel Březina (at your option) any later version.
0db2f3402b37df221fbf55486769989f82df479aPavel Březina This program is distributed in the hope that it will be useful,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina but WITHOUT ANY WARRANTY; without even the implied warranty of
0db2f3402b37df221fbf55486769989f82df479aPavel Březina MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
0db2f3402b37df221fbf55486769989f82df479aPavel Březina GNU General Public License for more details.
0db2f3402b37df221fbf55486769989f82df479aPavel Březina You should have received a copy of the GNU General Public License
0db2f3402b37df221fbf55486769989f82df479aPavel Březina along with this program. If not, see <http://www.gnu.org/licenses/>.
0db2f3402b37df221fbf55486769989f82df479aPavel Březina#include "responder/common/cache_req/cache_req_plugin.h"
0db2f3402b37df221fbf55486769989f82df479aPavel Březinacache_req_group_by_filter_prepare_domain_data(struct cache_req *cr,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina DEBUG(SSSDBG_CRIT_FAILURE, "Bug: parsed name is NULL?\n");
0db2f3402b37df221fbf55486769989f82df479aPavel Březina name = sss_get_cased_name(tmp_ctx, cr->data->name.name,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina name = sss_reverse_replace_space(tmp_ctx, name, cr->rctx->override_space);
0db2f3402b37df221fbf55486769989f82df479aPavel Březinastatic const char *
0db2f3402b37df221fbf55486769989f82df479aPavel Březinacache_req_group_by_filter_create_debug_name(TALLOC_CTX *mem_ctx,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina return talloc_strdup(mem_ctx, data->name.lookup);
0db2f3402b37df221fbf55486769989f82df479aPavel Březinacache_req_group_by_filter_lookup(TALLOC_CTX *mem_ctx,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina recent_filter = talloc_asprintf(mem_ctx, "(%s>=%lu)", SYSDB_LAST_UPDATE,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina ret = sysdb_enumgrent_filter_with_views(mem_ctx, domain, data->name.lookup,
0db2f3402b37df221fbf55486769989f82df479aPavel Březinacache_req_group_by_filter_dpreq_params(TALLOC_CTX *mem_ctx,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina const char **_string,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina const char **_flag)
0db2f3402b37df221fbf55486769989f82df479aPavel Březinastruct cache_req_plugin cache_req_group_by_filter = {
0db2f3402b37df221fbf55486769989f82df479aPavel Březina .prepare_domain_data_fn = cache_req_group_by_filter_prepare_domain_data,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina .create_debug_name_fn = cache_req_group_by_filter_create_debug_name,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina .lookup_fn = cache_req_group_by_filter_lookup,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina .dpreq_params_fn = cache_req_group_by_filter_dpreq_params
0db2f3402b37df221fbf55486769989f82df479aPavel Březinacache_req_group_by_filter_send(TALLOC_CTX *mem_ctx,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina data = cache_req_data_name(mem_ctx, CACHE_REQ_GROUP_BY_FILTER, filter);