Reduce fingerprinting through timestamps in 'addr' messages. #5860

pull sipa wants to merge 1 commits into bitcoin:master from sipa:addrfinger changing 2 files +18 −6
  1. sipa commented at 1:21 PM on March 6, 2015: member

    Suggested by @jonasnick.

  2. sipa force-pushed on Mar 7, 2015
  3. fanquake commented at 7:37 AM on March 8, 2015: member

    Travis failure

    Cleaning up
    terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::lock_error> >'
      what():  boost: mutex lock failed in pthread_mutex_lock: Invalid argument
    terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::lock_error> >'
      what():  boost: mutex lock failed in pthread_mutex_lock: Invalid argument
    *** glibc detected *** /home/travis/build/bitcoin/bitcoin/bitcoin-x86_64-unknown-linux-gnu/src/bitcoind: malloc(): memory corruption: 0x00007fd8131c3ab1 ***
    
  4. laanwj added this to the milestone 0.10.0 on Mar 9, 2015
  5. laanwj added the label P2P on Mar 9, 2015
  6. Diapolo commented at 10:46 AM on March 9, 2015: none

    @laanwj Isn't 0.10.0 released ;)? Why did you tag this 0.10.0 then?

  7. laanwj commented at 10:48 AM on March 9, 2015: member

    @diapolo Don't be so pedantic, I'm using it as marker for the next version on the 0.10 branch.

  8. Diapolo commented at 10:52 AM on March 9, 2015: none

    @laanwj Just asking, no offense :).

  9. laanwj commented at 11:22 AM on March 9, 2015: member

    @diapolo okay :) @sipa @fanquake Tried a Travis respin, still same problem on same configuration.

  10. laanwj commented at 8:19 AM on March 11, 2015: member

    I'm also getting these errors when running the RPC tests locally with this patch:

    bitcoind: /usr/include/boost/thread/pthread/recursive_mutex.hpp:110: void boost::recursive_mutex::lock(): Assertion `!pthread_mutex_lock(&m)' failed.
    bitcoind: /usr/include/boost/thread/pthread/recursive_mutex.hpp:110: void boost::recursive_mutex::lock(): Assertion `!pthread_mutex_lock(&m)' failed.
    

    This appears to be a problem with destruction order. By moving addrman.Connected(addr); to the CNode destructor, addrman is called when each node is deleted. This may cause a use-after-free of a mutex?

  11. jgarzik commented at 1:54 PM on March 11, 2015: contributor

    concept ACK

  12. sipa force-pushed on Mar 11, 2015
  13. sipa commented at 2:03 PM on March 11, 2015: member

    Changed approach.

  14. jonasnick commented at 11:42 PM on March 11, 2015: contributor

    To give a bit of context, without this PR it is possible to learn all outbound peers of a node by repeatedly sending 'getaddr' messages. See the histogram for the timestamps of a full node and a client client.

  15. sipa force-pushed on Mar 12, 2015
  16. sipa force-pushed on Mar 12, 2015
  17. laanwj commented at 7:47 AM on March 13, 2015: member

    utACK

  18. in src/main.cpp:None in d88011e435 outdated
    3637 | @@ -3628,6 +3638,12 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
    3638 |      else if (strCommand == "verack")
    3639 |      {
    3640 |          pfrom->SetRecvVersion(min(pfrom->nVersion, PROTOCOL_VERSION));
    3641 | +
    3642 | +        // Update the last seen time for this node's address
    


    laanwj commented at 1:00 PM on March 16, 2015:

    This comment is no longer correct, should probably be Update the connected status for this node


    sipa commented at 10:09 AM on March 17, 2015:

    Done.

  19. jonasnick commented at 9:40 PM on March 16, 2015: contributor

    untested ack

  20. Reduce fingerprinting through timestamps in 'addr' messages.
    Suggested by Jonas Nick.
    9c2737901b
  21. sipa force-pushed on Mar 17, 2015
  22. laanwj merged this on Mar 17, 2015
  23. laanwj closed this on Mar 17, 2015

  24. laanwj referenced this in commit 93a8c46807 on Mar 17, 2015
  25. sipa referenced this in commit ca301bf98c on Mar 17, 2015
  26. laanwj commented at 3:41 PM on March 17, 2015: member

    Cherry-picked to 0.10 as ca301bf

  27. laanwj referenced this in commit 149c1d890d on Apr 6, 2015
  28. reddink referenced this in commit bc820a93ff on Jul 11, 2020
  29. reddink referenced this in commit 5ddae186a0 on Jul 14, 2020
  30. DrahtBot locked this on Sep 8, 2021
Labels

Milestone
0.10.0


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-19 09:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me