Handle more edge cases in ACL updates (#10279)
This commit is contained in:
parent
4ee57a36e0
commit
2b39eac7b5
1 changed files with 8 additions and 4 deletions
|
@ -219,12 +219,16 @@ export class RoomPermalinkCreator {
|
||||||
const getRegex = (hostname: string): RegExp =>
|
const getRegex = (hostname: string): RegExp =>
|
||||||
new RegExp("^" + utils.globToRegexp(hostname, false) + "$");
|
new RegExp("^" + utils.globToRegexp(hostname, false) + "$");
|
||||||
|
|
||||||
const denied = aclEvent.getContent<{ deny: string[] }>().deny || [];
|
const denied = aclEvent.getContent<{ deny: string[] }>().deny;
|
||||||
denied.forEach((h) => bannedHostsRegexps.push(getRegex(h)));
|
if (Array.isArray(denied)) {
|
||||||
|
denied.forEach((h) => bannedHostsRegexps.push(getRegex(h)));
|
||||||
|
}
|
||||||
|
|
||||||
const allowed = aclEvent.getContent<{ allow: string[] }>().allow || [];
|
const allowed = aclEvent.getContent<{ allow: string[] }>().allow;
|
||||||
allowedHostsRegexps = []; // we don't want to use the default rule here
|
allowedHostsRegexps = []; // we don't want to use the default rule here
|
||||||
allowed.forEach((h) => allowedHostsRegexps.push(getRegex(h)));
|
if (Array.isArray(denied)) {
|
||||||
|
allowed.forEach((h) => allowedHostsRegexps.push(getRegex(h)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.bannedHostsRegexps = bannedHostsRegexps;
|
this.bannedHostsRegexps = bannedHostsRegexps;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue