Wladimir J. van der Laan e3b474c548
Merge #20140: Restore compatibility with old CSubNet serialization
886be97af5d4aba338b23a7b20b8560be8156231 Ignore incorrectly-serialized banlist.dat entries (Pieter Wuille)
883cea7dea3cedc9b45b6191f7d4e7be2d9a11ca Restore compatibility with old CSubNet serialization (Pieter Wuille)

Pull request description:

  #19628 changed CSubNet for IPv4 netmasks, using the first 4 bytes of `netmask` rather than the last 4 to store the actual mask. Unfortunately, CSubNet objects are serialized on disk in banlist.dat, breaking compatibility with existing banlists (and bringing them into an inconsistent state where entries reported in `listbanned` cannot be removed).

  Fix this by reverting to the old format (just for serialization). Also add a sanity check to the deserializer so that nonsensical banlist.dat entries are ignored (which would otherwise be possible if someone added IPv4 entries after #19628 but without this PR).

  Reported by Greg Maxwell.

ACKs for top commit:
  laanwj:
    Code review ACK 886be97af5d4aba338b23a7b20b8560be8156231
  vasild:
    ACK 886be97af

Tree-SHA512: d3fb91e8ecd933406e527187974f22770374ee2e12a233e7870363f52ecda471fb0b7bae72420e8ff6b6b1594e3037a5115984c023dbadf38f86aeaffcd681e7
2020-10-15 11:44:36 +02:00
..
2020-10-12 12:14:53 -07:00
2020-08-27 20:07:27 -04:00
2020-07-01 14:44:28 -04:00
2020-07-01 14:44:28 -04:00
2020-07-08 14:26:14 +03:00
2020-10-12 02:06:32 -07:00
2020-10-12 02:06:32 -07:00
2020-10-14 11:18:12 -04:00
2020-10-14 11:18:12 -04:00
2020-10-14 11:18:12 -04:00
2020-07-01 18:03:12 -04:00
2020-04-30 09:19:14 -04:00
2020-06-21 06:02:59 -04:00
2020-06-21 06:02:59 -04:00
2020-09-19 18:02:42 +03:00
2020-07-01 14:44:24 -04:00
2020-10-12 12:14:53 -07:00
2020-10-12 12:14:53 -07:00
2020-10-12 11:01:16 -07:00
2020-10-12 11:01:16 -07:00
2020-04-16 13:33:09 -04:00