diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/util/sss_ldap.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/util/sss_ldap.c b/src/util/sss_ldap.c index e24ae82b..1394b4d6 100644 --- a/src/util/sss_ldap.c +++ b/src/util/sss_ldap.c @@ -422,6 +422,21 @@ static void sss_ldap_init_sys_connect_done(struct tevent_req *subreq) return; } + if (ldap_is_ldaps_url(state->uri)) { + lret = ldap_install_tls(state->ldap); + if (lret != LDAP_SUCCESS) { + if (lret == LDAP_LOCAL_ERROR) { + DEBUG(5, ("TLS/SSL already in place.\n")); + } else { + DEBUG(1, ("ldap_install_tls failed: %s\n", + ldap_err2string(lret))); + + tevent_req_error(req, EIO); + return; + } + } + } + tevent_req_done(req); return; } |