summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/config/SSSDConfig/__init__.py.in1
-rw-r--r--src/config/etc/sssd.api.d/sssd-ipa.conf1
-rw-r--r--src/man/sssd-ipa.5.xml2
-rw-r--r--src/providers/ipa/ipa_common.h1
-rw-r--r--src/providers/ipa/ipa_init.c8
-rw-r--r--src/providers/ipa/ipa_opts.h1
6 files changed, 9 insertions, 5 deletions
diff --git a/src/config/SSSDConfig/__init__.py.in b/src/config/SSSDConfig/__init__.py.in
index c6ccbff0..6605e082 100644
--- a/src/config/SSSDConfig/__init__.py.in
+++ b/src/config/SSSDConfig/__init__.py.in
@@ -126,6 +126,7 @@ option_strings = {
# [provider/ipa]
'ipa_domain' : _('IPA domain'),
'ipa_server' : _('IPA server address'),
+ 'ipa_backup_server' : _('Address of backup IPA server'),
'ipa_hostname' : _('IPA client hostname'),
'ipa_dyndns_update' : _("Whether to automatically update the client's DNS entry in FreeIPA"),
'ipa_dyndns_iface' : _("The interface whose IP should be used for dynamic DNS updates"),
diff --git a/src/config/etc/sssd.api.d/sssd-ipa.conf b/src/config/etc/sssd.api.d/sssd-ipa.conf
index cf16ea6e..7a2a70db 100644
--- a/src/config/etc/sssd.api.d/sssd-ipa.conf
+++ b/src/config/etc/sssd.api.d/sssd-ipa.conf
@@ -1,6 +1,7 @@
[provider/ipa]
ipa_domain = str, None, false
ipa_server = str, None, false
+ipa_backup_server = str, None, false
ipa_hostname = str, None, false
ipa_dyndns_update = bool, None, false
ipa_dyndns_iface = str, None, false
diff --git a/src/man/sssd-ipa.5.xml b/src/man/sssd-ipa.5.xml
index f31001cb..2e7da134 100644
--- a/src/man/sssd-ipa.5.xml
+++ b/src/man/sssd-ipa.5.xml
@@ -80,7 +80,7 @@
</varlistentry>
<varlistentry>
- <term>ipa_server (string)</term>
+ <term>ipa_server, ipa_backup_server (string)</term>
<listitem>
<para>
The comma-separated list of IP addresses or hostnames of the
diff --git a/src/providers/ipa/ipa_common.h b/src/providers/ipa/ipa_common.h
index b0944595..01e14032 100644
--- a/src/providers/ipa/ipa_common.h
+++ b/src/providers/ipa/ipa_common.h
@@ -35,6 +35,7 @@ struct ipa_service {
enum ipa_basic_opt {
IPA_DOMAIN = 0,
IPA_SERVER,
+ IPA_BACKUP_SERVER,
IPA_HOSTNAME,
IPA_DYNDNS_UPDATE,
IPA_DYNDNS_IFACE,
diff --git a/src/providers/ipa/ipa_init.c b/src/providers/ipa/ipa_init.c
index 65c77664..d3d865e0 100644
--- a/src/providers/ipa/ipa_init.c
+++ b/src/providers/ipa/ipa_init.c
@@ -84,6 +84,7 @@ struct bet_ops ipa_subdomains_ops = {
int common_ipa_init(struct be_ctx *bectx)
{
const char *ipa_servers;
+ const char *ipa_backup_servers;
int ret;
ret = ipa_get_options(bectx, bectx->cdb,
@@ -94,11 +95,10 @@ int common_ipa_init(struct be_ctx *bectx)
}
ipa_servers = dp_opt_get_string(ipa_options->basic, IPA_SERVER);
- if (!ipa_servers) {
- DEBUG(1, ("Missing ipa_server option - using service discovery!\n"));
- }
+ ipa_backup_servers = dp_opt_get_string(ipa_options->basic, IPA_BACKUP_SERVER);
- ret = ipa_service_init(ipa_options, bectx, ipa_servers, NULL, ipa_options,
+ ret = ipa_service_init(ipa_options, bectx, ipa_servers,
+ ipa_backup_servers, ipa_options,
&ipa_options->service);
if (ret != EOK) {
DEBUG(0, ("Failed to init IPA failover service!\n"));
diff --git a/src/providers/ipa/ipa_opts.h b/src/providers/ipa/ipa_opts.h
index bf1b7a33..0f66d2f6 100644
--- a/src/providers/ipa/ipa_opts.h
+++ b/src/providers/ipa/ipa_opts.h
@@ -32,6 +32,7 @@
struct dp_option ipa_basic_opts[] = {
{ "ipa_domain", DP_OPT_STRING, NULL_STRING, NULL_STRING },
{ "ipa_server", DP_OPT_STRING, NULL_STRING, NULL_STRING },
+ { "ipa_backup_server", DP_OPT_STRING, NULL_STRING, NULL_STRING },
{ "ipa_hostname", DP_OPT_STRING, NULL_STRING, NULL_STRING },
{ "ipa_dyndns_update", DP_OPT_BOOL, BOOL_FALSE, BOOL_FALSE },
{ "ipa_dyndns_iface", DP_OPT_STRING, NULL_STRING, NULL_STRING},