Handle more edge cases in ACL updates (#10279)
parent
4ee57a36e0
commit
2b39eac7b5
|
@ -219,12 +219,16 @@ export class RoomPermalinkCreator {
|
|||
const getRegex = (hostname: string): RegExp =>
|
||||
new RegExp("^" + utils.globToRegexp(hostname, false) + "$");
|
||||
|
||||
const denied = aclEvent.getContent<{ deny: string[] }>().deny || [];
|
||||
denied.forEach((h) => bannedHostsRegexps.push(getRegex(h)));
|
||||
const denied = aclEvent.getContent<{ deny: string[] }>().deny;
|
||||
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
|
||||
allowed.forEach((h) => allowedHostsRegexps.push(getRegex(h)));
|
||||
if (Array.isArray(denied)) {
|
||||
allowed.forEach((h) => allowedHostsRegexps.push(getRegex(h)));
|
||||
}
|
||||
}
|
||||
}
|
||||
this.bannedHostsRegexps = bannedHostsRegexps;
|
||||
|
|
Loading…
Reference in New Issue