Commit graph

2190 commits

Author SHA1 Message Date
Andrew Poelstra
73a733fc17 Merge ffdde475b0 into merged_master (Bitcoin PR #18303) 2020-11-26 01:07:51 +00:00
Andrew Poelstra
a2660bd336 Merge 2492dc0068 into merged_master (Bitcoin PR #18259) 2020-11-26 01:07:49 +00:00
Andrew Poelstra
a0e2e69cfd Merge 31c0006a6c into merged_master (Bitcoin PR #17264) 2020-11-26 01:07:45 +00:00
Andrew Poelstra
a06e42a9f1 Merge eb3c6b0912 into merged_master (Bitcoin PR #18070) 2020-11-26 01:07:44 +00:00
Andrew Poelstra
d6ed4831e0 Merge 56fc2dfcc3 into merged_master (Bitcoin PR #18122) 2020-11-26 01:07:44 +00:00
Andrew Poelstra
8fe90f58dc Merge d4fc9aeb8b into merged_master (Bitcoin PR #18125) 2020-11-26 01:07:42 +00:00
Andrew Poelstra
fae78f5f1e Merge 98264e2ccb into merged_master (Bitcoin PR #18104) 2020-11-26 01:07:42 +00:00
Andrew Poelstra
47d76259bf Merge 22d11187ee into merged_master (Bitcoin PR #17398) 2020-11-26 01:07:41 +00:00
Andrew Poelstra
bcf509470b Merge 75fb37ce68 into merged_master (Bitcoin PR #18032) 2020-11-26 01:07:40 +00:00
Andrew Poelstra
9a8c2b0e3f Merge 8a56f79d49 into merged_master (Bitcoin PR #17482) 2020-11-26 01:07:40 +00:00
Andrew Poelstra
5a603ed0ac Merge c8ce2632eb into merged_master (Bitcoin PR #16392) 2020-11-26 00:29:45 +00:00
Andrew Poelstra
ca0936ab69 Merge 6d0e532ae0 into merged_master (Bitcoin PR #17585) 2020-11-26 00:29:43 +00:00
Andrew Poelstra
b6dc1e00a3 Merge 3e1bf71064 into merged_master (Bitcoin PR #18025) 2020-11-14 19:16:33 +00:00
Andrew Poelstra
a04ef15eea Merge 3b5b276734 into merged_master (Bitcoin PR #17942) 2020-11-14 16:52:13 +00:00
Andrew Poelstra
5423251ff0 Merge 218274de7d into merged_master (Bitcoin PR #17819) 2020-11-14 16:52:08 +00:00
Andrew Poelstra
a16766d528 Merge ceb789cf3a into merged_master (Bitcoin PR #17873) 2020-11-14 16:52:07 +00:00
Andrew Poelstra
74d2e8da1b Merge 7ea3b85ecf into merged_master (Bitcoin PR #17578) 2020-11-14 16:52:04 +00:00
Andrew Poelstra
0b6056198d Merge 35fff5be60 into merged_master (Bitcoin PR #17825) 2020-11-14 16:52:02 +00:00
Andrew Poelstra
8d23feca6c Merge 0cda557340 into merged_master (Bitcoin PR #17751) 2020-11-14 16:52:01 +00:00
Andrew Poelstra
ff582f396c Merge 988eaf2fcb into merged_master (Bitcoin PR #17752) 2020-11-14 16:51:59 +00:00
Andrew Poelstra
296a86e215 Merge c3628e4483 into merged_master (Bitcoin PR #17743) 2020-11-14 16:51:59 +00:00
Andrew Poelstra
fe9767f625 Merge d4b335c60a into merged_master (Bitcoin PR #17617) 2020-11-14 16:51:58 +00:00
Andrew Poelstra
b8ba5257bb Merge 8a01450b64 into merged_master (Bitcoin PR #17598) 2020-11-14 16:51:58 +00:00
Andrew Poelstra
d86e1a77cd Merge 14dafcbc13 into merged_master (Bitcoin PR #17713) 2020-11-14 16:51:57 +00:00
Andrew Poelstra
2f0b1e883c Merge 2126d6ce69 into merged_master (Bitcoin PR #17561) 2020-11-14 16:51:56 +00:00
Andrew Poelstra
02ef3faa7a Merge 5622d8f315 into merged_master (Bitcoin PR #17671) 2020-11-14 16:51:54 +00:00
Andrew Poelstra
1b46c58527 Merge 4fb82e916b into merged_master (Bitcoin PR #17567) 2020-11-14 16:51:50 +00:00
Andrew Poelstra
18b511b048 Merge 12230529e3 into merged_master (Bitcoin PR #17596) 2020-11-14 16:51:49 +00:00
Andrew Poelstra
434dfec482 Merge 7463181798 into merged_master (Bitcoin PR #17538) 2020-11-14 16:51:49 +00:00
Andrew Poelstra
0e349f28b2 Merge 239d199667 into merged_master (Bitcoin PR #17574) 2020-11-14 16:51:49 +00:00
Andrew Poelstra
d9dcd52ea5 Merge 33c103e2fe into merged_master (Bitcoin PR #17539) 2020-11-14 16:51:48 +00:00
Andrew Poelstra
810568e0fa Merge a6f5b6f47d into merged_master (Bitcoin PR #17550) 2020-11-14 16:51:48 +00:00
Wladimir J. van der Laan
0bd4929cd0
Merge #20284: addrman: ensure old versions don't parse peers.dat
38ada892ed addrman: 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:
    ACK 38ada892ed
  laanwj:
    Code review ACK 38ada892ed
  MarcoFalke:
    re-ACK 38ada892ed 🥐

Tree-SHA512: 550bd660c5019dba0f9c334aca8a11c4a0463cfddf11efe7a4a5585ffb05549c82b95066fba5d073ae37893e0eccc158a7ffea9b33ea031d9be4a39e44f6face
2020-11-12 17:05:51 +01:00
Vasil Dimov
38ada892ed
addrman: ensure old versions don't parse peers.dat
Even though the format of `peers.dat` was changed in an incompatible
way (old software versions <0.21 cannot understand the new file format),
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
(<0.11.0) 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.
2020-11-11 16:05:15 +01:00
Andrew Poelstra
c2c76d3738 Merge 6496bb87af into merged_master (Bitcoin PR #17008) 2020-11-09 23:10:13 +00:00
Andrew Poelstra
db065548fc Merge b4a1da9ef8 into merged_master (Bitcoin PR #17515) 2020-11-09 23:10:12 +00:00
Andrew Poelstra
9871fbe71e Merge 92db280817 into merged_master (Bitcoin PR #17411) 2020-11-09 23:10:12 +00:00
Andrew Poelstra
a648df2425 Merge 2065ef66ee into merged_master (Bitcoin PR #17265) 2020-11-09 23:10:12 +00:00
Andrew Poelstra
a6974cb1af Merge 6fde676f64 into merged_master (Bitcoin PR #16669) 2020-11-09 23:10:12 +00:00
Andrew Poelstra
bce97903cf Merge 1028882eea into merged_master (Bitcoin PR #17437) 2020-11-09 23:10:10 +00:00
Andrew Poelstra
f94f8bdfe9 Merge cef7df37ce into merged_master (Bitcoin PR #17410) 2020-11-09 23:10:09 +00:00
Andrew Poelstra
3efa6823d7 Merge adceca2ba5 into merged_master (Bitcoin PR #17422) 2020-11-09 23:10:09 +00:00
Andrew Poelstra
4febd3655e Merge 4e21f72980 into merged_master (Bitcoin PR #17370) 2020-11-09 21:20:53 +00:00
Andrew Poelstra
4262cdaf35 Merge d35b12107e into merged_master (Bitcoin PR #17044) 2020-11-09 21:20:52 +00:00
Andrew Poelstra
c3b2f1d8c0 Merge bdda137878 into merged_master (Bitcoin PR #16766) 2020-11-09 21:20:51 +00:00
Andrew Poelstra
c82f65f262 Merge 73b26e38d7 into merged_master (Bitcoin PR #17351) 2020-11-09 21:20:50 +00:00
Andrew Poelstra
b607d68347 Merge 463eab5e14 into merged_master (Bitcoin PR #17285) 2020-11-09 21:20:50 +00:00
Andrew Poelstra
cd3935c4c9 Merge c737839471 into merged_master (Bitcoin PR #17309) 2020-11-09 21:20:49 +00:00
Andrew Poelstra
1f56eedcbb Merge a6abc94e93 into merged_master (Bitcoin PR #17281) 2020-11-09 21:20:48 +00:00
Andrew Poelstra
0aba8c6168 Merge 341e8d355d into merged_master (Bitcoin PR #17291) 2020-11-09 21:20:48 +00:00