Ignore port when matching servername

This commit is contained in:
Neil Alexander 2020-08-11 16:12:30 +01:00
parent 393cdf6405
commit 695649f329
No known key found for this signature in database
GPG key ID: A02A2019A2BB0944

View file

@ -84,11 +84,15 @@ func (s *ServerACLs) OnServerACLUpdate(state *gomatrixserverlib.Event) {
s.acls[state.RoomID()] = acls
}
func (s *ServerACLs) IsServerBannedFromRoom(serverName gomatrixserverlib.ServerName, roomID string) bool {
func (s *ServerACLs) IsServerBannedFromRoom(serverNameAndPort gomatrixserverlib.ServerName, roomID string) bool {
acls, ok := s.acls[roomID]
if !ok {
return false
}
serverName, _, err := net.SplitHostPort(string(serverNameAndPort))
if err != nil {
return true
}
if _, _, err := net.ParseCIDR(fmt.Sprintf("%s/0", serverName)); err == nil {
if !acls.AllowIPLiterals {
return true