summaryrefslogtreecommitdiffstats
path: root/src/providers/ipa
diff options
context:
space:
mode:
authorPavel Březina <pbrezina@redhat.com>2013-04-04 12:28:15 +0200
committerJakub Hrozek <jhrozek@redhat.com>2013-04-10 15:36:56 +0200
commit1abdf56dcda5f6bed7b144e544c00dbdd501b3fc (patch)
treef71e257e87f75459c4717b7bcc92be3341c6532c /src/providers/ipa
parente26a019fbac96b7697c180124fe1d4894962e3a0 (diff)
downloadsssd-1abdf56dcda5f6bed7b144e544c00dbdd501b3fc.tar.gz
sssd-1abdf56dcda5f6bed7b144e544c00dbdd501b3fc.tar.xz
sssd-1abdf56dcda5f6bed7b144e544c00dbdd501b3fc.zip
DNS sites support - use SRV DNS lookup plugin in all providers
https://fedorahosted.org/sssd/ticket/1032 We set a plugin during an initialization of ID provider, which is an authoritative provider for a plugin choice. The plugin is set only once. When other provider is initalized (e.g. id = IPA, sudo = LDAP), we do not overwrite the plugin. Since sssm_*_id_init() is called from all module constructors, this patch relies on the fact, that ID provider is initialized before all other providers.
Diffstat (limited to 'src/providers/ipa')
-rw-r--r--src/providers/ipa/ipa_init.c10
1 files changed, 10 insertions, 0 deletions
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;