summaryrefslogtreecommitdiffstats
path: root/src/providers/ldap/sdap_refresh.c
diff options
context:
space:
mode:
authorPavel Březina <pbrezina@redhat.com>2015-02-19 12:04:09 +0100
committerJakub Hrozek <jhrozek@redhat.com>2015-03-08 22:38:14 +0100
commit3cda71df4a17a736fdf4d9ac5b0adce3be39a67a (patch)
tree79229ffc799941b5f92f70d45c7354811c64b37d /src/providers/ldap/sdap_refresh.c
parentb1aa2921227538cef2ad7bd75a55ecb20e9574e6 (diff)
downloadsssd-3cda71df4a17a736fdf4d9ac5b0adce3be39a67a.tar.gz
sssd-3cda71df4a17a736fdf4d9ac5b0adce3be39a67a.tar.xz
sssd-3cda71df4a17a736fdf4d9ac5b0adce3be39a67a.zip
be_refresh: add sdap_refresh_init
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> (cherry picked from commit 17531a398cc9084036cb08d69fe876a8f12707bb)
Diffstat (limited to 'src/providers/ldap/sdap_refresh.c')
-rw-r--r--src/providers/ldap/sdap_refresh.c32
1 files changed, 25 insertions, 7 deletions
diff --git a/src/providers/ldap/sdap_refresh.c b/src/providers/ldap/sdap_refresh.c
index 29055359f..e300e28b6 100644
--- a/src/providers/ldap/sdap_refresh.c
+++ b/src/providers/ldap/sdap_refresh.c
@@ -199,18 +199,36 @@ static errno_t sdap_refresh_recv(struct tevent_req *req)
return EOK;
}
-struct tevent_req *sdap_refresh_netgroups_send(TALLOC_CTX *mem_ctx,
- struct tevent_context *ev,
- struct be_ctx *be_ctx,
- struct sss_domain_info *domain,
- char **names,
- void *pvt)
+static struct tevent_req *
+sdap_refresh_netgroups_send(TALLOC_CTX *mem_ctx,
+ struct tevent_context *ev,
+ struct be_ctx *be_ctx,
+ struct sss_domain_info *domain,
+ char **names,
+ void *pvt)
{
return sdap_refresh_send(mem_ctx, ev, be_ctx, domain,
BE_REQ_NETGROUP, names, pvt);
}
-errno_t sdap_refresh_netgroups_recv(struct tevent_req *req)
+static errno_t sdap_refresh_netgroups_recv(struct tevent_req *req)
{
return sdap_refresh_recv(req);
}
+
+errno_t sdap_refresh_init(struct be_refresh_ctx *refresh_ctx,
+ struct sdap_id_ctx *id_ctx)
+{
+ errno_t ret;
+
+ ret = be_refresh_add_cb(refresh_ctx, BE_REFRESH_TYPE_NETGROUPS,
+ sdap_refresh_netgroups_send,
+ sdap_refresh_netgroups_recv,
+ id_ctx);
+ if (ret != EOK && ret != EEXIST) {
+ DEBUG(SSSDBG_MINOR_FAILURE, "Periodical refresh of netgroups "
+ "will not work [%d]: %s\n", ret, strerror(ret));
+ }
+
+ return ret;
+}