diff options
author | Pavel Březina <pbrezina@redhat.com> | 2013-04-04 12:28:15 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2013-04-10 15:36:56 +0200 |
commit | 1abdf56dcda5f6bed7b144e544c00dbdd501b3fc (patch) | |
tree | f71e257e87f75459c4717b7bcc92be3341c6532c /src/providers/ipa | |
parent | e26a019fbac96b7697c180124fe1d4894962e3a0 (diff) | |
download | sssd-1abdf56dcda5f6bed7b144e544c00dbdd501b3fc.tar.gz sssd-1abdf56dcda5f6bed7b144e544c00dbdd501b3fc.tar.bz2 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.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/providers/ipa/ipa_init.c b/src/providers/ipa/ipa_init.c index a6c32be2..cdca706d 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; |