Bug type: Plugin or Server
Plugin / server version: Any.
Homeserver name: N/A
Description:
The federation system contains an announce system where servers announce on another to others. When a server first starts up, it will talk to bootstrap server to get to know which servers are in the network. It will then announce itself to all of these servers and from there ask them which servers they know. This system works great.
There's a bug however, when 2 or more servers are known, it will skip the bootstrap server in the announcement list. This leads to the bootstrap server only knowing a few servers, and other servers don't announce themselves anymore. This is not a problem per se, but it is a problem for new servers. When new server owners install their server, they have to pick an identifier. It checks the bootstrap server to see if the "servername" is already in used, and present the user with an error if it is, and tells them to choose another.
By not updating the bootstrap server anymore, it doesn't have a complete view of the network, leading to allowing users to pick a conflicting server name. THis is a problem because that server won't be able to identify itself anywhere as it will be seen as an impostor.