mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-04-20 03:39:48 +02:00
Merge #20284: addrman: ensure old versions don't parse peers.dat
38ada892edaddrman: ensure old versions don't parse peers.dat (Vasil Dimov) Pull request description: Even though the format of `peers.dat` was changed in a backwards incompatible way, it is not guaranteed that old versions will fail to parse it. There is a chance that old versions parse its contents as garbage and use it. Old versions expect the "key size" field to be 32 and fail the parsing if it is not. Thus, we put something other than 32 in it. This will make versions between 0.11.0 and 0.20.1 deterministically fail on the new format. Versions prior to https://github.com/bitcoin/bitcoin/pull/5941 will still parse it as garbage. Also, introduce a way to increment the `peers.dat` format in a way that does not necessary make older versions refuse to read it. ACKs for top commit: jnewbery: ACK38ada892edlaanwj: Code review ACK38ada892edMarcoFalke: re-ACK38ada892ed🥐 Tree-SHA512: 550bd660c5019dba0f9c334aca8a11c4a0463cfddf11efe7a4a5585ffb05549c82b95066fba5d073ae37893e0eccc158a7ffea9b33ea031d9be4a39e44f6face
This commit is contained in:
@@ -65,8 +65,8 @@ format of this file has been changed in a backwards-incompatible way in order to
|
||||
accommodate the storage of Tor v3 and other BIP155 addresses. This means that if
|
||||
the file is modified by 0.21.0 or newer then older versions will not be able to
|
||||
read it. Those old versions, in the event of a downgrade, will log an error
|
||||
message that deserialization has failed and will continue normal operation
|
||||
as if the file was missing, creating a new empty one. (#19954)
|
||||
message "Incorrect keysize in addrman deserialization" and will continue normal
|
||||
operation as if the file was missing, creating a new empty one. (#19954)
|
||||
|
||||
Notable changes
|
||||
===============
|
||||
|
||||
Reference in New Issue
Block a user