summaryrefslogtreecommitdiffstats
path: root/src/responder/common/responder_cache_req.h
diff options
context:
space:
mode:
authorPavel Březina <pbrezina@redhat.com>2015-01-23 14:03:07 +0100
committerJakub Hrozek <jhrozek@redhat.com>2015-03-13 09:56:03 +0100
commit665bc06b1a39c64227de74ecbba3db1c4c104ccf (patch)
tree8b64a9d620951e29800894086c5355c2dfad8702 /src/responder/common/responder_cache_req.h
parentbbc34d5a6e84d6c337bd89a22d33e365eb466226 (diff)
downloadsssd-665bc06b1a39c64227de74ecbba3db1c4c104ccf.tar.gz
sssd-665bc06b1a39c64227de74ecbba3db1c4c104ccf.tar.xz
sssd-665bc06b1a39c64227de74ecbba3db1c4c104ccf.zip
cache_req: preparations for different input type
Currently cache_req takes only user name as an input parameter. However, this is not enough since we will need also UID and GID in the future. This patch creates a structure to hold input parameters so it can be simply extended to support other input types. Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
Diffstat (limited to 'src/responder/common/responder_cache_req.h')
-rw-r--r--src/responder/common/responder_cache_req.h41
1 files changed, 31 insertions, 10 deletions
diff --git a/src/responder/common/responder_cache_req.h b/src/responder/common/responder_cache_req.h
index fdad94a13..3d11cd234 100644
--- a/src/responder/common/responder_cache_req.h
+++ b/src/responder/common/responder_cache_req.h
@@ -27,6 +27,18 @@
#include "responder/common/responder.h"
#include "responder/common/negcache.h"
+enum cache_req_type {
+ CACHE_REQ_USER_BY_NAME,
+ CACHE_REQ_INITGROUPS
+};
+
+struct cache_req_input;
+
+struct cache_req_input *
+cache_req_input_create(TALLOC_CTX *mem_ctx,
+ enum cache_req_type type,
+ const char *name);
+
/**
* Currently only SSS_DP_USER and SSS_DP_INITGROUPS are supported.
*
@@ -38,27 +50,36 @@ struct tevent_req *cache_req_send(TALLOC_CTX *mem_ctx,
struct sss_nc_ctx *ncache,
int neg_timeout,
int cache_refresh_percent,
- enum sss_dp_acct_type dp_type,
const char *domain,
- const char *name);
+ struct cache_req_input *input);
errno_t cache_req_recv(TALLOC_CTX *mem_ctx,
struct tevent_req *req,
struct ldb_result **_result,
struct sss_domain_info **_domain);
-#define cache_req_user_by_name_send(mem_ctx, ev, rctx, ncache, neg_timeout, \
- cache_refresh_percent, domain, name) \
- cache_req_send(mem_ctx, ev, rctx, ncache, neg_timeout, \
- cache_refresh_percent, SSS_DP_USER, domain, name)
+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 neg_timeout,
+ int cache_refresh_percent,
+ const char *domain,
+ const char *name);
#define cache_req_user_by_name_recv(mem_ctx, req, _result, _domain) \
cache_req_recv(mem_ctx, req, _result, _domain)
-#define cache_req_initgr_by_name_send(mem_ctx, ev, rctx, ncache, neg_timeout, \
- cache_refresh_percent, domain, name) \
- cache_req_send(mem_ctx, ev, rctx, ncache, neg_timeout, \
- cache_refresh_percent, SSS_DP_INITGROUPS, domain, name)
+struct tevent_req *
+cache_req_initgr_by_name_send(TALLOC_CTX *mem_ctx,
+ struct tevent_context *ev,
+ struct resp_ctx *rctx,
+ struct sss_nc_ctx *ncache,
+ int neg_timeout,
+ int cache_refresh_percent,
+ const char *domain,
+ const char *name);
#define cache_req_initgr_by_name_recv(mem_ctx, req, _result, _domain) \
cache_req_recv(mem_ctx, req, _result, _domain)