diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/config/SSSDConfig/__init__.py.in | 1 | ||||
-rw-r--r-- | src/config/etc/sssd.api.d/sssd-ipa.conf | 1 | ||||
-rw-r--r-- | src/man/sssd-ipa.5.xml | 2 | ||||
-rw-r--r-- | src/providers/ipa/ipa_common.h | 1 | ||||
-rw-r--r-- | src/providers/ipa/ipa_init.c | 8 | ||||
-rw-r--r-- | src/providers/ipa/ipa_opts.h | 1 |
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}, |