diff options
author | Pavel Březina <pbrezina@redhat.com> | 2015-02-19 12:10:23 +0100 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2015-03-08 22:38:14 +0100 |
commit | 156a4360e51dc6408af9b54b22282dbe493d82d8 (patch) | |
tree | e520e3a2239b308220c4dacf5505d9dd6fa026bd /src/providers/dp_refresh.c | |
parent | c75b5ffda709bd7373d9b6cae632eeda049282fe (diff) | |
download | sssd-156a4360e51dc6408af9b54b22282dbe493d82d8.tar.gz sssd-156a4360e51dc6408af9b54b22282dbe493d82d8.tar.xz sssd-156a4360e51dc6408af9b54b22282dbe493d82d8.zip |
be_refresh: support groups
Resolves:
https://fedorahosted.org/sssd/ticket/2346
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
(cherry picked from commit 61c8d13e55ebafc28da1b0b5ad9ae578d687e288)
Diffstat (limited to 'src/providers/dp_refresh.c')
-rw-r--r-- | src/providers/dp_refresh.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/providers/dp_refresh.c b/src/providers/dp_refresh.c index f599618e0..169ef71ed 100644 --- a/src/providers/dp_refresh.c +++ b/src/providers/dp_refresh.c @@ -109,6 +109,26 @@ static errno_t be_refresh_get_users(TALLOC_CTX *mem_ctx, return ret; } +static errno_t be_refresh_get_groups(TALLOC_CTX *mem_ctx, + struct sss_domain_info *domain, + time_t period, + char ***_values) +{ + struct ldb_dn *base_dn = NULL; + errno_t ret; + + base_dn = sysdb_group_base_dn(mem_ctx, domain); + if (base_dn == NULL) { + return ENOMEM; + } + + ret = be_refresh_get_values(mem_ctx, domain, period, SYSDB_GROUP_CLASS, + base_dn, SYSDB_NAME, _values); + + talloc_free(base_dn); + return ret; +} + static errno_t be_refresh_get_netgroups(TALLOC_CTX *mem_ctx, struct sss_domain_info *domain, time_t period, @@ -161,6 +181,9 @@ struct be_refresh_ctx *be_refresh_ctx_init(TALLOC_CTX *mem_ctx) ctx->callbacks[BE_REFRESH_TYPE_USERS].name = "users"; ctx->callbacks[BE_REFRESH_TYPE_USERS].get_values = be_refresh_get_users; + ctx->callbacks[BE_REFRESH_TYPE_GROUPS].name = "groups"; + ctx->callbacks[BE_REFRESH_TYPE_GROUPS].get_values = be_refresh_get_groups; + ctx->callbacks[BE_REFRESH_TYPE_NETGROUPS].name = "netgroups"; ctx->callbacks[BE_REFRESH_TYPE_NETGROUPS].get_values \ = be_refresh_get_netgroups; |