summaryrefslogtreecommitdiff
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:06:36 +0200
commit74802794554e0f87d1354b6788f1719cd7d80a6c (patch)
treeff10cc4446f6fff980c955b8c50d659b87f0d8c0 /src/providers/ldap
parent21f749c9300a1a51f3eb83d7f1483ec2fe15b3cc (diff)
downloadsssd-74802794554e0f87d1354b6788f1719cd7d80a6c.tar.gz
sssd-74802794554e0f87d1354b6788f1719cd7d80a6c.tar.bz2
sssd-74802794554e0f87d1354b6788f1719cd7d80a6c.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 b21de002..0d565fc6 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 2a42fdaf..8cccaa91 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,