Allow to enable/disable LDAP provider in config
This commit is contained in:
@@ -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'
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -25,6 +25,8 @@ import io.kamax.mxisd.lookup.ThreePidMapping
|
|||||||
|
|
||||||
interface IThreePidProvider {
|
interface IThreePidProvider {
|
||||||
|
|
||||||
|
boolean isEnabled()
|
||||||
|
|
||||||
boolean isLocal()
|
boolean isLocal()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user