Commit graph

1214 commits

Author SHA1 Message Date
Byron Hambly
70c69d94f6 Merge 9f7661c0c4 into merged_master (Bitcoin PR bitcoin/bitcoin#19499) 2023-06-12 13:11:30 +00:00
Byron Hambly
b0b2f3deff Merge f6013265b7 into merged_master (Bitcoin PR bitcoin/bitcoin#20295) 2023-06-06 09:10:04 +00:00
Byron Hambly
16ce576d1d Merge e457513eb1 into merged_master (Bitcoin PR bitcoin/bitcoin#23631) 2023-06-02 12:58:30 +00:00
James Dorfman
72a90148c8 Merge 8b1de78577 into merged_master (Bitcoin PR bitcoin/bitcoin#23413) 2023-06-01 18:51:42 +00:00
James Dorfman
5aadbb7a9d Merge 63c0d0e937 into merged_master (Bitcoin PR bitcoin/bitcoin#21327)
I commented out a few new lines at the bottom of test/functional/p2p_ibd_txrelay.py
It tests that nodes process certain transactions, after IBD. These new assertions
from upstream are failing, but it may be because our IBD / tx sharing logic is different.

We should revisit this.
2023-06-01 05:27:06 +00:00
Byron Hambly
8250bf53d2 Merge 606e306277 into merged_master (Bitcoin PR bitcoin/bitcoin#22981) 2023-05-26 13:47:21 +00:00
Byron Hambly
2da8f66309 Merge 38b2a0a3f9 into merged_master (Bitcoin PR bitcoin/bitcoin#23173) 2023-05-24 11:45:57 +00:00
James Dorfman
df8f97d63b Merge 1847ce2d49 into merged_master (Bitcoin PR bitcoin/bitcoin#23157) 2023-05-16 09:04:56 +00:00
Byron Hambly
7925c2a451 Merge 224e90d9fd into merged_master (Bitcoin PR bitcoin/bitcoin#23336) 2023-05-15 12:27:08 +00:00
Byron Hambly
06d3e29912 Merge 788909f3c7 into merged_master (Bitcoin PR bitcoin/bitcoin#23042) 2023-05-14 11:08:09 +00:00
Byron Hambly
8299bec8a2 Merge c001da306b into merged_master (Bitcoin PR bitcoin/bitcoin#23325) 2023-05-14 10:52:15 +00:00
Byron Hambly
c1a05187a3 Merge 8a083bc5b5 into merged_master (Bitcoin PR bitcoin/bitcoin#23218) 2023-05-14 09:58:38 +00:00
Byron Hambly
9b7c9154fe Merge c4fc899442 into merged_master (Bitcoin PR bitcoin/bitcoin#22950) 2023-05-09 12:21:13 +00:00
Byron Hambly
498907a233 Merge 816e15ee81 into merged_master (Bitcoin PR bitcoin/bitcoin#22951) 2023-05-09 11:50:39 +00:00
0xb10c
4581a682d2
clarify processing of mempool-msgs when NODE_BLOOM
Under which circumstances we process received 'mempool' P2P messages
caused confusion in #27426. Rather than bikeshedding the formulation
of the IF-statement, this adds a comment clarifing when we process
the message. Also, correcting the comment of `m_send_mempool`.

Co-authored-by: willcl-ark <will8clark@gmail.com>
2023-05-03 00:24:22 +02:00
Byron Hambly
4d68eaa81b Merge 4e1de1fc59 into merged_master (Bitcoin PR bitcoin/bitcoin#22340) 2023-04-28 13:51:41 +00:00
Byron Hambly
eea9829aa6 Merge 825f4a64e6 into merged_master (Bitcoin PR bitcoin/bitcoin#22976) 2023-04-24 11:40:49 +00:00
Byron Hambly
965ac7c53b Merge 58e02395ba into merged_master (Bitcoin PR bitcoin/bitcoin#22955) 2023-04-21 11:43:16 +00:00
fanquake
669af32632
Merge bitcoin/bitcoin#27419: move-only: Extract common/args from util/system
be55f545d5 move-only: Extract common/args and common/config.cpp from util/system (TheCharlatan)

Pull request description:

  This pull request is part of the `libbitcoinkernel` project https://github.com/bitcoin/bitcoin/issues/24303 https://github.com/bitcoin/bitcoin/projects/18 and more specifically its "Step 2: Decouple most non-consensus code from libbitcoinkernel". It is part of a series of patches splitting up the `util/system` files. Its preceding pull request is https://github.com/bitcoin/bitcoin/pull/27254.

  The pull request contains an extraction of ArgsManager related functions from util/system into their own common/ file.

  The background of this commit is an ongoing effort to decouple the libbitcoinkernel library from the ArgsManager. The ArgsManager belongs into the common library, since the kernel library should not depend on it. See [doc/design/libraries.md](https://github.com/bitcoin/bitcoin/blob/master/doc/design/libraries.md) for more information on this rationale.

ACKs for top commit:
  MarcoFalke:
    re-ACK be55f545d5  🚲
  ryanofsky:
    Code review ACK be55f545d5. Just small cleanups since the last review.
  hebasto:
    ACK be55f545d5, I have reviewed the code and it looks OK, I agree it can be merged.

Tree-SHA512: 90eb03334af0155b823030b4f2ecf286d35058d700ee2ddbbaa445be19e31eb0fe982656f35bd14ecee3ad2c3d0db3746855cb8f3777eff7253713e42873e111
2023-04-21 11:19:08 +01:00
Andrew Chow
4c40837a45
Merge bitcoin/bitcoin#27412: logging, net: add ASN from peers on logs
0076bed45e logging: log ASN when using `-asmap` (brunoerg)
9836c76ae0 net: add `GetMappedAS` in `CConnman` (brunoerg)

Pull request description:

  When using `-asmap`, you can check the ASN assigned to the peers only with the RPC command `getpeerinfo` (check `mapped_as` field), however, it's not possible to check it in logs (e.g. see in logs the ASN of the peers when a new outbound peer has been connected). This PR includes the peers' ASN in debug output when using `-asmap`.

  Obs: Open this primarily to chase some Concept ACK, I've been using this on my node to facilitate to track the peers' ASN especially when reading the logs.

ACKs for top commit:
  Sjors:
    tACK 0076bed45e
  jamesob:
    ACK 0076bed45e ([`jamesob/ackr/27412.1.brunoerg.logging_net_add_asn_from`](https://github.com/jamesob/bitcoin/tree/ackr/27412.1.brunoerg.logging_net_add_asn_from))
  achow101:
    ACK 0076bed45e

Tree-SHA512: c19cd11e8ab49962021f390459aadf6d33d221ae9a2c3df331a25d6865a8df470e2c8828f6e5219b8a887d6ab5b3450d34be9e26c00cca4d223b4ca64d51111b
2023-04-20 17:20:29 -04:00
TheCharlatan
be55f545d5
move-only: Extract common/args and common/config.cpp from util/system
This is an extraction of ArgsManager related functions from util/system
into their own common file.

Config file related functions are moved to common/config.cpp.

The background of this commit is an ongoing effort to decouple the
libbitcoinkernel library from the ArgsManager. The ArgsManager belongs
into the common library, since the kernel library should not depend on
it. See doc/design/libraries.md for more information on this rationale.
2023-04-19 10:48:30 +02:00
fanquake
53eb4b7a21
Merge bitcoin/bitcoin#27270: refactor, net processing: Avoid CNode::m_relays_txs usage
55c4795c57 [net processing] Use TxRelay::m_relay_txs over CNode::m_relays_txs (dergoegge)

Pull request description:

  `CNode::m_relays_txs` is meant to only be used for the eviction logic in `net`. `TxRelay::m_relay_txs` will hold the same value and is meant to be used on the application layer to determine if we will/should relay transactions to a peer.

  (Shameless plug: we should really better specify the interface for updating eviction data to avoid refactors like this in the future -> #25572)

ACKs for top commit:
  MarcoFalke:
    lgtm ACK 55c4795c57

Tree-SHA512: 59cfd23e32568fd96cda5570790e518242a6c76d4edf5b7d1a2a7f9724d590d2a38395504e05be0af4e98dd5c0056fc0be6568eab2818934692483a186e5181d
2023-04-11 11:43:21 +01:00
Byron Hambly
6d32af1662 Merge 33707a2a88 into merged_master (Bitcoin PR bitcoin/bitcoin#22782) 2023-04-11 08:18:04 +00:00
James Dorfman
cdbedba214 Merge dbcb5742c4 into merged_master (Bitcoin PR bitcoin/bitcoin#20541) 2023-04-11 01:40:34 +00:00
Byron Hambly
a797e5e55a Merge 4c87665707 into merged_master (Bitcoin PR bitcoin/bitcoin#22604) 2023-04-09 07:26:48 +00:00
James Dorfman
815f4d545d Merge dd981b5e84 into merged_master (Bitcoin PR bitcoin/bitcoin#22618) 2023-04-06 20:54:28 +00:00
Byron Hambly
b9ff9a6259 Merge 513e1071a1 into merged_master (Bitcoin PR bitcoin/bitcoin#22616) 2023-04-06 13:35:05 +00:00
Byron Hambly
5f259e46c1 Merge 5b2d8661c9 into merged_master (Bitcoin PR bitcoin/bitcoin#22577) 2023-04-06 13:24:41 +00:00
brunoerg
0076bed45e logging: log ASN when using -asmap
When using `-asmap`, it will log the ASN from the peer on some logs (e.g. when a new outbound peer has been connected).
2023-04-04 16:53:25 -03:00
Byron Hambly
05f9a1a7c2 Merge 06788c6705 into merged_master (Bitcoin PR bitcoin/bitcoin#21528) 2023-04-04 11:04:30 +02:00
James Dorfman
c8526de70a Merge 67b9416540 into merged_master (Bitcoin PR bitcoin/bitcoin#21562) 2023-03-31 18:42:53 +00:00
dergoegge
3fa4c54ac5 [net processing] Pass TxRelay to FindTxForGetData instead of Peer 2023-03-31 13:19:20 +02:00
dergoegge
c85ee76a36 [net processin] Don't take cs_main in FindTxForGetData
Taking cs_main is no longer necessary since we moved
`m_recently_announced_invs` to `Peer` and `mapRelay` is actually only
accessed from the message processing thread.
2023-03-31 13:18:39 +02:00
dergoegge
3a060ae7b6 scripted-diff: Rename nUnconnectingHeaders and fPreferHeaders
-BEGIN VERIFY SCRIPT-
ren() { sed -i "s:\<$1\>:$2:g" $(git grep -l "\<$1\>" ./src ./test); }

ren nUnconnectingHeaders     m_num_unconnecting_headers_msgs
ren fPreferHeaders           m_prefers_headers
ren MAX_UNCONNECTING_HEADERS MAX_NUM_UNCONNECTING_HEADERS_MSGS

-END VERIFY SCRIPT-
2023-03-30 14:56:34 +02:00
dergoegge
279c53d7e4 [net processing] Move m_recently_announced_invs from CNodeState to Peer 2023-03-30 14:56:19 +02:00
dergoegge
938a8e2566 [net processing] Annotate m_recently_announced_invs as guarded by g_msgproc_mutex 2023-03-30 14:56:19 +02:00
dergoegge
8a2cb1f749 [net processing] Move fPreferHeaders from CNodeState to Peer 2023-03-30 14:56:19 +02:00
dergoegge
3605011e79 [net processing] Annotate fPreferHeaders as guarded by g_msgproc_mutex 2023-03-30 14:56:19 +02:00
dergoegge
4b84e502f5 [net processing] Move m_headers_sync_timeout from CNodeState to Peer 2023-03-30 14:56:19 +02:00
dergoegge
689b747fc3 [net processing] Annotate m_headers_sync_timeout as guarded by g_msgproc_mutex 2023-03-30 14:56:19 +02:00
dergoegge
d8c0d1c345 [net processing] Move nUnconnectingHeaders from CNodeState to Peer 2023-03-30 14:56:17 +02:00
dergoegge
5f80d8d1ee [net processing] Annotate nUnconnectingHeaders as guarded by g_msgproc_mutex 2023-03-30 14:55:28 +02:00
Hennadii Stepanov
ea7ec78087
refactor: Drop no longer used CNetMsgMaker instances 2023-03-30 11:00:44 +01:00
Glenn Willen
4334fce793 Merge 61cefde7a7 into merged_master (Bitcoin PR bitcoin/bitcoin#22006) 2023-03-28 00:12:41 +00:00
Glenn Willen
ac88de9825 Merge f372623807 into merged_master (Bitcoin PR bitcoin/bitcoin#22495) 2023-03-27 23:56:34 +00:00
dergoegge
cd0c8eeb09 [net] Pass nRecvFloodSize to CNode 2023-03-27 16:00:02 +02:00
fanquake
2305643646
Merge bitcoin/bitcoin#27257: refactor, net: End friendship of CNode, CConnman and ConnmanTestMsg
3566aa7d49 [net] Remove CNode friends (dergoegge)
3eac5e7cd1 [net] Add CNode helper for send byte accounting (dergoegge)
60441a3432 scripted-diff: [net] Rename CNode process queue members (dergoegge)
6693c499f7 [net] Make cs_vProcessMsg a non-recursive mutex (dergoegge)
23d9352654 [net] Make CNode msg process queue members private (dergoegge)
897e342d6e [net] Encapsulate CNode message polling (dergoegge)
cc5cdf8776 [net] Deduplicate marking received message for processing (dergoegge)
ad44aa5c64 [net] Add connection type getter to CNode (dergoegge)

Pull request description:

  We should define clear interfaces between CNode, CConnman and PeerManager. This PR makes a small step in that direction by ending the friendship of CNode, CConnman and ConnmanTestMsg. CNode's message processing queue is made private in the process and its mutex is turned into a non-recursive mutex.

ACKs for top commit:
  jnewbery:
    utACK 3566aa7d49
  vasild:
    ACK 3566aa7d49
  theStack:
    re-ACK 3566aa7d49
  brunoerg:
    re-ACK 3566aa7d49

Tree-SHA512: 26b87da5054e32401b693b2904e9c5f40e35a53937c0b6cf44b8597034ad07bacf27d87cdffc54d3e7ccfebde4231ef30a38d326f88cc18133bbb34688ead567
2023-03-23 17:31:52 +00:00
dergoegge
897e342d6e [net] Encapsulate CNode message polling 2023-03-22 13:18:30 +01:00
James Dorfman
17e6efe7fe Merge 5d83e7d714 into merged_master (Bitcoin PR bitcoin/bitcoin#21090)
We comment out a newly-added assert from the Bitcoin
side, because it's unclear how to replicate it
correctly in Elements.

Co-authored-by: Glenn Willen <gwillen@nerdnet.org>
2023-03-22 01:11:20 +00:00
James O'Beirne
e5ce857634 log: net: new header over cmpctblock 2023-03-20 08:32:40 -04:00