is it really a protocolwarn when connection_or_client_learned_peer_id() finds a different keyid?
moria1 running with protocolwarnings 1 gets a whole lot of
Jul 19 12:13:06.000 [warn] Tried connecting to router at 18.104.22.168:444, but identity key was not as expected: wanted 995B562DA3CB2A5BC26A2AF6FB1B1D4FC26DA1C9 but got E0B348D09A5AF111AB7A4E1831AED23B1D40239F.
This happens because somebody runs a relay at that address, blows it away, and runs another one. moria1 does reachability testing of both.
(A while ago we had code for moria1 to throw away a descriptor when it found that there was another descriptor on the same address and that descriptor's keyid was the one it sees. We threw out that code when ln5 was refactoring though.)