diff options
author | Pavel Březina <pbrezina@redhat.com> | 2015-01-23 14:03:07 +0100 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2015-03-13 09:56:03 +0100 |
commit | 665bc06b1a39c64227de74ecbba3db1c4c104ccf (patch) | |
tree | 8b64a9d620951e29800894086c5355c2dfad8702 /src/responder/common/responder_cache_req.h | |
parent | bbc34d5a6e84d6c337bd89a22d33e365eb466226 (diff) | |
download | sssd-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.h | 41 |
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) |