コード例 #1
0
ファイル: nss_get_object.c プロジェクト: SSSD/sssd
static struct cache_req_data *
hybrid_domain_retry_data(TALLOC_CTX *mem_ctx,
                         struct cache_req_data *orig,
                         const char *input_name,
                         uint32_t input_id)
{
    enum cache_req_type cr_type = cache_req_data_get_type(orig);
    struct cache_req_data *hybrid_data = NULL;

    if (cr_type == CACHE_REQ_GROUP_BY_ID) {
        DEBUG(SSSDBG_TRACE_FUNC,
              "Retrying group-by-ID lookup in user space\n");
        hybrid_data = cache_req_data_id(mem_ctx,
                                        CACHE_REQ_USER_BY_ID,
                                        input_id);
    } else if (cr_type == CACHE_REQ_GROUP_BY_NAME) {
        DEBUG(SSSDBG_TRACE_FUNC,
              "Retrying group-by-name lookup in user space\n");
        hybrid_data = cache_req_data_name(mem_ctx,
                                          CACHE_REQ_USER_BY_NAME,
                                          input_name);
    }

    return hybrid_data;
}
コード例 #2
0
struct tevent_req *
cache_req_user_by_name_send(TALLOC_CTX *mem_ctx,
                            struct tevent_context *ev,
                            struct resp_ctx *rctx,
                            struct sss_nc_ctx *ncache,
                            int cache_refresh_percent,
                            const char *domain,
                            const char *name)
{
    struct cache_req_data *data;

    data = cache_req_data_name(mem_ctx, CACHE_REQ_USER_BY_NAME, name);
    if (data == NULL) {
        return NULL;
    }

    return cache_req_steal_data_and_send(mem_ctx, ev, rctx, ncache,
                                         cache_refresh_percent, domain, data);
}
コード例 #3
0
ファイル: cache_req_user_by_filter.c プロジェクト: SSSD/sssd
struct tevent_req *
cache_req_user_by_filter_send(TALLOC_CTX *mem_ctx,
                              struct tevent_context *ev,
                              struct resp_ctx *rctx,
                              enum cache_req_dom_type req_dom_type,
                              const char *domain,
                              const char *filter)
{
    struct cache_req_data *data;

    data = cache_req_data_name(mem_ctx, CACHE_REQ_USER_BY_FILTER, filter);
    if (data == NULL) {
        return NULL;
    }

    return cache_req_steal_data_and_send(mem_ctx, ev, rctx, NULL,
                                         0,
                                         req_dom_type, domain,
                                         data);
}