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 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] acls, ok := s.acls[roomID]
if !ok { if !ok {
return false 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 _, _, err := net.ParseCIDR(fmt.Sprintf("%s/0", serverName)); err == nil {
if !acls.AllowIPLiterals { if !acls.AllowIPLiterals {
return true return true