Page MenuHomePhabricator

[net] Ignore getheaders requests for very old side blocks
ClosedPublic

Authored by Fabien on Thu, Dec 27, 21:56.

Details

Summary

Sending a getheaders message with an empty locator and a stop hash
is a request for a single header by hash. The node will respond with
headers for blocks not in the main chain as well as those in the main
chain. To avoid fingerprinting, the node should, however, ignore
requests for headers on side branches that are too old.

Backport of core PR11113

Test Plan
./test/functional/test_runner.py p2p-fingerprint

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

Fabien created this revision.Thu, Dec 27, 21:56
Herald added a reviewer: Restricted Project. · View Herald TranscriptThu, Dec 27, 21:56
Herald added a subscriber: schancel. · View Herald Transcript
deadalnix accepted this revision.Sun, Dec 30, 12:30
This revision is now accepted and ready to land.Sun, Dec 30, 12:30
Fabien planned changes to this revision.Sun, Dec 30, 13:56

Needs an entry in the timings.json file

Fabien updated this revision to Diff 6505.Fri, Jan 4, 18:46

Update timings.json

This revision is now accepted and ready to land.Fri, Jan 4, 18:46
Fabien requested review of this revision.Fri, Jan 4, 18:47
deadalnix accepted this revision.Sun, Jan 6, 02:27

This is still good.

This revision is now accepted and ready to land.Sun, Jan 6, 02:27
This revision was automatically updated to reflect the committed changes.