From 06be639c30dfcbdc0a7298c034c588b58829eab6 Mon Sep 17 00:00:00 2001 From: Maxime Dor Date: Tue, 27 Jun 2017 00:16:21 +0200 Subject: [PATCH] Add support for LDAPS --- application.example.yaml | 1 + .../groovy/io/kamax/mxisd/config/LdapConfig.groovy | 11 ++++++++++- .../kamax/mxisd/lookup/provider/LdapProvider.groovy | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/application.example.yaml b/application.example.yaml index 9ffa259..82965fb 100644 --- a/application.example.yaml +++ b/application.example.yaml @@ -98,6 +98,7 @@ lookup: ldap: enabled: true + tls: false host: 'localhost' port: 389 bindDn: 'CN=Matrix Identity Server,CN=Users,DC=example,DC=org' diff --git a/src/main/groovy/io/kamax/mxisd/config/LdapConfig.groovy b/src/main/groovy/io/kamax/mxisd/config/LdapConfig.groovy index 4434b26..58451f5 100644 --- a/src/main/groovy/io/kamax/mxisd/config/LdapConfig.groovy +++ b/src/main/groovy/io/kamax/mxisd/config/LdapConfig.groovy @@ -32,7 +32,8 @@ class LdapConfig implements InitializingBean { private Logger log = LoggerFactory.getLogger(LdapConfig.class) - private boolean enabled; + private boolean enabled + private boolean tls private String host private int port private String baseDn @@ -50,6 +51,14 @@ class LdapConfig implements InitializingBean { this.enabled = enabled } + boolean getTls() { + return tls + } + + void setTls(boolean tls) { + this.tls = tls + } + String getHost() { return host } diff --git a/src/main/groovy/io/kamax/mxisd/lookup/provider/LdapProvider.groovy b/src/main/groovy/io/kamax/mxisd/lookup/provider/LdapProvider.groovy index d5ba2c5..f484ce7 100644 --- a/src/main/groovy/io/kamax/mxisd/lookup/provider/LdapProvider.groovy +++ b/src/main/groovy/io/kamax/mxisd/lookup/provider/LdapProvider.groovy @@ -119,7 +119,7 @@ class LdapProvider implements IThreePidProvider { Optional find(SingleLookupRequest request) { log.info("Performing LDAP lookup ${request.getThreePid()} of type ${request.getType()}") - LdapConnection conn = new LdapNetworkConnection(ldapCfg.getHost(), ldapCfg.getPort()) + LdapConnection conn = new LdapNetworkConnection(ldapCfg.getHost(), ldapCfg.getPort(), ldapCfg.getTls()) try { conn.bind(ldapCfg.getBindDn(), ldapCfg.getBindPassword())