diff --git a/currentstateserver/acls/acls.go b/currentstateserver/acls/acls.go index 23e236e1f..70913c0a0 100644 --- a/currentstateserver/acls/acls.go +++ b/currentstateserver/acls/acls.go @@ -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