summaryrefslogtreecommitdiffstats
path: root/src/responder/pac/pacsrv.h
diff options
context:
space:
mode:
authorSumit Bose <sbose@redhat.com>2012-12-20 21:10:49 +0100
committerJakub Hrozek <jhrozek@redhat.com>2013-01-08 14:42:57 +0100
commitef7a4f1a831a15356edb8e571a8c6b36f6ace017 (patch)
tree7258fab1805fc8a18d341a2b1897b6c3a7b0f27d /src/responder/pac/pacsrv.h
parent57a3f07fd9ff149156078caacb22aab9fd634f43 (diff)
downloadsssd-ef7a4f1a831a15356edb8e571a8c6b36f6ace017.tar.gz
sssd-ef7a4f1a831a15356edb8e571a8c6b36f6ace017.tar.xz
sssd-ef7a4f1a831a15356edb8e571a8c6b36f6ace017.zip
Refactor gid handling in the PAC responder
Instead of using a single array of gid-domain_pointer pairs, Simo suggested to use a gid array for each domain an store it with a pointer to the domain.
Diffstat (limited to 'src/responder/pac/pacsrv.h')
-rw-r--r--src/responder/pac/pacsrv.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/responder/pac/pacsrv.h b/src/responder/pac/pacsrv.h
index 0bf2a07f5..c087c01f0 100644
--- a/src/responder/pac/pacsrv.h
+++ b/src/responder/pac/pacsrv.h
@@ -71,9 +71,10 @@ struct grp_info {
struct ldb_dn *dn;
};
-struct pac_grp {
- gid_t gid;
+struct pac_dom_grps {
struct sss_domain_info *grp_dom;
+ size_t gid_count;
+ gid_t *gids;
};
int pac_cmd_execute(struct cli_ctx *cctx);
@@ -104,7 +105,7 @@ errno_t get_gids_from_pac(TALLOC_CTX *mem_ctx,
struct local_mapping_ranges *range_map,
struct dom_sid *domain_sid,
struct PAC_LOGON_INFO *logon_info,
- size_t *_gid_count, struct pac_grp **_gids);
+ size_t *_gid_count, struct pac_dom_grps **_gids);
errno_t get_data_from_pac(TALLOC_CTX *mem_ctx,
uint8_t *pac_blob, size_t pac_len,
@@ -121,9 +122,9 @@ errno_t diff_gid_lists(TALLOC_CTX *mem_ctx,
size_t cur_grp_num,
struct grp_info *cur_gid_list,
size_t new_gid_num,
- struct pac_grp *new_gid_list,
+ struct pac_dom_grps *new_gid_list,
size_t *_add_gid_num,
- struct pac_grp **_add_gid_list,
+ struct pac_dom_grps **_add_gid_list,
size_t *_del_gid_num,
struct grp_info ***_del_gid_list);