summaryrefslogtreecommitdiffstats
path: root/src/providers/ldap/ldap_common.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/providers/ldap/ldap_common.c')
-rw-r--r--src/providers/ldap/ldap_common.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/providers/ldap/ldap_common.c b/src/providers/ldap/ldap_common.c
index 8133431cc..840a09871 100644
--- a/src/providers/ldap/ldap_common.c
+++ b/src/providers/ldap/ldap_common.c
@@ -399,6 +399,18 @@ done:
return realm;
}
+const char *sdap_gssapi_realm(struct dp_option *opts)
+{
+ const char *realm;
+
+ realm = dp_opt_get_cstring(opts, SDAP_SASL_REALM);
+ if (!realm) {
+ realm = dp_opt_get_cstring(opts, SDAP_KRB5_REALM);
+ }
+
+ return realm;
+}
+
int sdap_gssapi_init(TALLOC_CTX *mem_ctx,
struct dp_option *opts,
struct be_ctx *bectx,
@@ -419,7 +431,7 @@ int sdap_gssapi_init(TALLOC_CTX *mem_ctx,
krb5_servers = dp_opt_get_string(opts, SDAP_KRB5_KDC);
krb5_backup_servers = dp_opt_get_string(opts, SDAP_KRB5_BACKUP_KDC);
- krb5_opt_realm = dp_opt_get_string(opts, SDAP_KRB5_REALM);
+ krb5_opt_realm = sdap_gssapi_realm(opts);
if (krb5_opt_realm == NULL) {
DEBUG(SSSDBG_OP_FAILURE,
"Missing krb5_realm option, will use libkrb default\n");