summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/providers/ad/ad_init.c10
-rw-r--r--src/providers/ipa/ipa_init.c10
-rw-r--r--src/providers/ldap/ldap_init.c9
3 files changed, 29 insertions, 0 deletions
diff --git a/src/providers/ad/ad_init.c b/src/providers/ad/ad_init.c
index 2add74a20..087ec3c45 100644
--- a/src/providers/ad/ad_init.c
+++ b/src/providers/ad/ad_init.c
@@ -107,6 +107,7 @@ sssm_ad_id_init(struct be_ctx *bectx,
errno_t ret;
struct ad_id_ctx *ad_ctx;
struct sdap_id_ctx *sdap_ctx;
+ const char *hostname;
if (!ad_options) {
ret = common_ad_init(bectx);
@@ -175,6 +176,15 @@ sssm_ad_id_init(struct be_ctx *bectx,
goto done;
}
+ /* setup SRV lookup plugin */
+ hostname = dp_opt_get_string(ad_options->basic, AD_HOSTNAME);
+ ret = be_fo_set_dns_srv_lookup_plugin(bectx, hostname);
+ if (ret != EOK) {
+ DEBUG(SSSDBG_CRIT_FAILURE, ("Unable to set SRV lookup plugin "
+ "[%d]: %s\n", ret, strerror(ret)));
+ goto done;
+ }
+
*ops = &ad_id_ops;
*pvt_data = ad_ctx;
diff --git a/src/providers/ipa/ipa_init.c b/src/providers/ipa/ipa_init.c
index a6c32be2a..cdca706da 100644
--- a/src/providers/ipa/ipa_init.c
+++ b/src/providers/ipa/ipa_init.c
@@ -110,6 +110,7 @@ int sssm_ipa_id_init(struct be_ctx *bectx,
struct ipa_id_ctx *ipa_ctx;
struct sdap_id_ctx *sdap_ctx;
struct stat stat_buf;
+ const char *hostname;
errno_t err;
int ret;
@@ -207,6 +208,15 @@ int sssm_ipa_id_init(struct be_ctx *bectx,
goto done;
}
+ /* setup SRV lookup plugin */
+ hostname = dp_opt_get_string(ipa_options->basic, IPA_HOSTNAME);
+ ret = be_fo_set_dns_srv_lookup_plugin(bectx, hostname);
+ if (ret != EOK) {
+ DEBUG(SSSDBG_CRIT_FAILURE, ("Unable to set SRV lookup plugin "
+ "[%d]: %s\n", ret, strerror(ret)));
+ goto done;
+ }
+
*ops = &ipa_id_ops;
*pvt_data = ipa_ctx;
ret = EOK;
diff --git a/src/providers/ldap/ldap_init.c b/src/providers/ldap/ldap_init.c
index fa888ba7d..2e30c37ed 100644
--- a/src/providers/ldap/ldap_init.c
+++ b/src/providers/ldap/ldap_init.c
@@ -29,6 +29,7 @@
#include "providers/ldap/sdap_sudo.h"
#include "providers/ldap/sdap_autofs.h"
#include "providers/ldap/sdap_idmap.h"
+#include "providers/fail_over_srv.h"
static void sdap_shutdown(struct be_req *req);
@@ -172,6 +173,14 @@ int sssm_ldap_id_init(struct be_ctx *bectx,
goto done;
}
+ /* setup SRV lookup plugin */
+ ret = be_fo_set_dns_srv_lookup_plugin(bectx, NULL);
+ if (ret != EOK) {
+ DEBUG(SSSDBG_CRIT_FAILURE, ("Unable to set SRV lookup plugin "
+ "[%d]: %s\n", ret, strerror(ret)));
+ goto done;
+ }
+
*ops = &sdap_id_ops;
*pvt_data = ctx;
ret = EOK;