Allow to enable/disable LDAP provider in config

This commit is contained in:
Maxime Dor
2017-05-03 19:08:40 +02:00
parent 4ae853ef09
commit e221352fab
7 changed files with 28 additions and 1 deletions

View File

@@ -97,6 +97,7 @@ lookup:
ldap: ldap:
enabled: true
host: 'localhost' host: 'localhost'
port: 389 port: 389
bindDn: 'CN=Matrix Identity Server,CN=Users,DC=example,DC=org' bindDn: 'CN=Matrix Identity Server,CN=Users,DC=example,DC=org'

View File

@@ -32,6 +32,7 @@ class LdapConfig implements InitializingBean {
private Logger log = LoggerFactory.getLogger(LdapConfig.class) private Logger log = LoggerFactory.getLogger(LdapConfig.class)
private boolean enabled;
private String host private String host
private int port private int port
private String baseDn private String baseDn
@@ -41,6 +42,14 @@ class LdapConfig implements InitializingBean {
private String bindPassword private String bindPassword
private Map<String, String> mappings private Map<String, String> mappings
boolean getEnabled() {
return enabled
}
void setEnabled(boolean enabled) {
this.enabled = enabled
}
String getHost() { String getHost() {
return host return host
} }

View File

@@ -48,6 +48,11 @@ class DnsLookupProvider implements IThreePidProvider {
@Autowired @Autowired
private IRemoteIdentityServerFetcher fetcher private IRemoteIdentityServerFetcher fetcher
@Override
boolean isEnabled() {
return true
}
@Override @Override
boolean isLocal() { boolean isLocal() {
return false return false

View File

@@ -40,6 +40,11 @@ class ForwarderProvider implements IThreePidProvider {
@Autowired @Autowired
private IRemoteIdentityServerFetcher fetcher private IRemoteIdentityServerFetcher fetcher
@Override
boolean isEnabled() {
return true
}
@Override @Override
boolean isLocal() { boolean isLocal() {
return false return false

View File

@@ -25,6 +25,8 @@ import io.kamax.mxisd.lookup.ThreePidMapping
interface IThreePidProvider { interface IThreePidProvider {
boolean isEnabled()
boolean isLocal() boolean isLocal()
/** /**

View File

@@ -50,6 +50,11 @@ class LdapProvider implements IThreePidProvider {
@Autowired @Autowired
private LdapConfig ldapCfg private LdapConfig ldapCfg
@Override
boolean isEnabled() {
return ldapCfg.getEnabled()
}
@Override @Override
boolean isLocal() { boolean isLocal() {
return true return true

View File

@@ -96,7 +96,7 @@ class RecursivePriorityLookupStrategy implements LookupStrategy, InitializingBea
log.info("Host {} allowed for recursion: {}", request.getRequester(), canRecurse) log.info("Host {} allowed for recursion: {}", request.getRequester(), canRecurse)
for (IThreePidProvider provider : providers) { for (IThreePidProvider provider : providers) {
if (provider.isLocal() || canRecurse) { if (provider.isEnabled() && (provider.isLocal() || canRecurse)) {
usableProviders.add(provider) usableProviders.add(provider)
} }
} }