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-ad.conf1
-rw-r--r--src/man/sssd-ad.5.xml2
-rw-r--r--src/providers/ad/ad_common.h1
-rw-r--r--src/providers/ad/ad_init.c4
-rw-r--r--src/providers/ad/ad_opts.h1
6 files changed, 8 insertions, 2 deletions
diff --git a/src/config/SSSDConfig/__init__.py.in b/src/config/SSSDConfig/__init__.py.in
index 6605e082..32613543 100644
--- a/src/config/SSSDConfig/__init__.py.in
+++ b/src/config/SSSDConfig/__init__.py.in
@@ -141,6 +141,7 @@ option_strings = {
# [provider/ad]
'ad_domain' : _('Active Directory domain'),
'ad_server' : _('Active Directory server address'),
+ 'ad_backup_server' : _('Active Directory backup server address'),
'ad_hostname' : _('Active Directory client hostname'),
# [provider/krb5]
diff --git a/src/config/etc/sssd.api.d/sssd-ad.conf b/src/config/etc/sssd.api.d/sssd-ad.conf
index 763ea0d4..0154e6aa 100644
--- a/src/config/etc/sssd.api.d/sssd-ad.conf
+++ b/src/config/etc/sssd.api.d/sssd-ad.conf
@@ -1,6 +1,7 @@
[provider/ad]
ad_domain = str, None, false
ad_server = str, None, false
+ad_backup_server = str, None, false
ad_hostname = str, None, false
ldap_uri = str, None, false
ldap_backup_uri = str, None, false
diff --git a/src/man/sssd-ad.5.xml b/src/man/sssd-ad.5.xml
index f9ef0f3d..fa4b8e3a 100644
--- a/src/man/sssd-ad.5.xml
+++ b/src/man/sssd-ad.5.xml
@@ -96,7 +96,7 @@ ldap_id_mapping = False
</varlistentry>
<varlistentry>
- <term>ad_server (string)</term>
+ <term>ad_server, ad_backup_server (string)</term>
<listitem>
<para>
The comma-separated list of IP addresses or
diff --git a/src/providers/ad/ad_common.h b/src/providers/ad/ad_common.h
index f2ed680d..320bf1c9 100644
--- a/src/providers/ad/ad_common.h
+++ b/src/providers/ad/ad_common.h
@@ -33,6 +33,7 @@ struct ad_options;
enum ad_basic_opt {
AD_DOMAIN = 0,
AD_SERVER,
+ AD_BACKUP_SERVER,
AD_HOSTNAME,
AD_KEYTAB,
AD_KRB5_REALM,
diff --git a/src/providers/ad/ad_init.c b/src/providers/ad/ad_init.c
index 0c0a8ef6..d0831252 100644
--- a/src/providers/ad/ad_init.c
+++ b/src/providers/ad/ad_init.c
@@ -67,6 +67,7 @@ common_ad_init(struct be_ctx *bectx)
{
errno_t ret;
char *ad_servers = NULL;
+ char *ad_backup_servers = NULL;
/* Get AD-specific options */
ret = ad_get_common_options(bectx, bectx->cdb,
@@ -81,9 +82,10 @@ common_ad_init(struct be_ctx *bectx)
}
ad_servers = dp_opt_get_string(ad_options->basic, AD_SERVER);
+ ad_backup_servers = dp_opt_get_string(ad_options->basic, AD_BACKUP_SERVER);
/* Set up the failover service */
- ret = ad_failover_init(ad_options, bectx, ad_servers, NULL, ad_options,
+ ret = ad_failover_init(ad_options, bectx, ad_servers, ad_backup_servers, ad_options,
&ad_options->service);
if (ret != EOK) {
DEBUG(SSSDBG_FATAL_FAILURE,
diff --git a/src/providers/ad/ad_opts.h b/src/providers/ad/ad_opts.h
index 458e7ea4..eba5a099 100644
--- a/src/providers/ad/ad_opts.h
+++ b/src/providers/ad/ad_opts.h
@@ -30,6 +30,7 @@
struct dp_option ad_basic_opts[] = {
{ "ad_domain", DP_OPT_STRING, NULL_STRING, NULL_STRING },
{ "ad_server", DP_OPT_STRING, NULL_STRING, NULL_STRING },
+ { "ad_backup_server", DP_OPT_STRING, NULL_STRING, NULL_STRING },
{ "ad_hostname", DP_OPT_STRING, NULL_STRING, NULL_STRING },
{ "krb5_keytab", DP_OPT_STRING, NULL_STRING, NULL_STRING },
{ "krb5_realm", DP_OPT_STRING, NULL_STRING, NULL_STRING},