summaryrefslogtreecommitdiffstats
path: root/src/providers/ldap
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2013-08-24 15:45:57 +0200
committerJakub Hrozek <jhrozek@redhat.com>2013-09-18 19:15:34 +0200
commit86809d51488f9622807857167d9ad92bf856bef5 (patch)
treee6ac61084c523b14b40b811f32da58b2961bb1db /src/providers/ldap
parent55403f58f35814fab94106b913e8f3b4e98e92b8 (diff)
downloadsssd-86809d51488f9622807857167d9ad92bf856bef5.tar.gz
sssd-86809d51488f9622807857167d9ad92bf856bef5.tar.xz
sssd-86809d51488f9622807857167d9ad92bf856bef5.zip
AD: Download master domain info when enumerating
https://fedorahosted.org/sssd/ticket/2068 With the current design, downloading master domain data was tied to subdomains refresh, triggered by responders. But because enumeration is a background task that can't be triggered on its own, we can't rely on responders to download the master domain data and we need to check the master domain on each enumeration request.
Diffstat (limited to 'src/providers/ldap')
-rw-r--r--src/providers/ldap/ldap_common.h11
-rw-r--r--src/providers/ldap/ldap_id_enum.c6
2 files changed, 11 insertions, 6 deletions
diff --git a/src/providers/ldap/ldap_common.h b/src/providers/ldap/ldap_common.h
index b21de0024..0d565fc63 100644
--- a/src/providers/ldap/ldap_common.h
+++ b/src/providers/ldap/ldap_common.h
@@ -169,6 +169,17 @@ int ldap_get_autofs_options(TALLOC_CTX *memctx,
const char *conf_path,
struct sdap_options *opts);
+/* Calling ldap_setup_enumeration will set up a periodic task
+ * that would periodically call send_fn/recv_fn request. The
+ * send_fn's pvt parameter will be a pointer to ldap_enum_ctx
+ * structure that contains the request data
+ */
+struct ldap_enum_ctx {
+ struct sdap_id_ctx *ctx;
+ struct sdap_domain *sdom;
+ struct sdap_id_conn_ctx *conn;
+};
+
errno_t ldap_setup_enumeration(struct sdap_id_ctx *ctx,
struct sdap_id_conn_ctx *conn,
struct sdap_domain *sdom,
diff --git a/src/providers/ldap/ldap_id_enum.c b/src/providers/ldap/ldap_id_enum.c
index 2a42fdafb..8cccaa916 100644
--- a/src/providers/ldap/ldap_id_enum.c
+++ b/src/providers/ldap/ldap_id_enum.c
@@ -27,12 +27,6 @@
#include "providers/ldap/ldap_common.h"
#include "providers/ldap/sdap_async_enum.h"
-struct ldap_enum_ctx {
- struct sdap_id_ctx *ctx;
- struct sdap_domain *sdom;
- struct sdap_id_conn_ctx *conn;
-};
-
errno_t ldap_setup_enumeration(struct sdap_id_ctx *ctx,
struct sdap_id_conn_ctx *conn,
struct sdap_domain *sdom,