Age | Commit message (Collapse) | Author |
|
When a BIP152 HB-mode peer is in the least preferred position and
disconnects, they will not be by ForNode on the next loop. They
will continue to sit in that position and prevent deactivating
HB mode for peers that are still connected.
There is no reason for them to stay in the list if already gone,
so drop the first element unconditionally if there are too many.
Fixes issue #9163.
Github-Pull: #9199
Rebased-From: ca8549d2bd32f17f8b69d1edbe3f2976fba504b4
|
|
Github-Pull: #8838
Rebased-From: 5f274a1749acfdf331bc2931e25ac80c346e5faa
|
|
e846166 Modify getblocktxn handler not to drop requests for old blocks (Russell Yanofsky)
2cad5db Align constant names for maximum compact block / blocktxn depth (Pieter Wuille)
3d23a0e Add cmpctblock to debug help list (instagibbs)
76ba1c9 More agressively filter compact block requests (Matt Corallo)
36e3b95 Dont remove a "preferred" cmpctblock peer if they provide a block (Matt Corallo)
286e548 [qa] Fix stale data bug in test_compactblocks_not_at_tip (Russell Yanofsky)
2ba5d78 [qa] Fix bug in compactblocks v2 merge (Russell Yanofsky)
eca9b46 [qa] Wait for specific block announcement in p2p-compactblocks (Russell Yanofsky)
dccdc3a test: Fix use-after-free in scheduler tests (Wladimir J. van der Laan)
da4926b [qa] Add more helpful RPC timeout message (Russell Yanofsky)
1d4c884 [qa] Increase wallet-dump RPC timeout (Russell Yanofsky)
3107280 [qa] add assert_raises_message to check specific error message (mrbandrews)
|
|
This reverts commit caf6150e9785da408f1e603ae70eae25b5202d98.
getaddrinfo_a has a nasty tendency to segfault internally in its
background thread, on every version of glibc I tested, especially
under helgrind.
See https://sourceware.org/bugzilla/show_bug.cgi?id=20874
Github-Pull: #9229
Rebased-From: 10ae7a7b2316f8052ec58ef237ce6dd987300900
|
|
When generating a new service key, explicitly request a RSA1024 one.
The bitcoin P2P protocol has no support for the longer hidden service names
that will come with ed25519 keys, until it does, we depend on the old
hidden service type so make this explicit.
See #9214.
Rebased-From: 7d3b627395582ae7c9d54ebdbc68096d7042162b
Github-Pull: #9234
|
|
The current getblocktxn implementation drops and ignores requests for old
blocks, which causes occasional sync_block timeouts during the
p2p-compactblocks.py test as reported in
https://github.com/bitcoin/bitcoin/issues/8842.
The p2p-compactblocks.py test setup creates many new blocks in a short
period of time, which can lead to getblocktxn requests for blocks below the
hardcoded depth limit of 10 blocks. This commit changes the getblocktxn
handler not to ignore these requests, so the peer nodes in the test setup
will reliably be able to sync.
The protocol change is documented in BIP-152 update "Allow block responses
to getblocktxn requests" at https://github.com/bitcoin/bips/pull/469.
The protocol change is not expected to affect nodes running outside the test
environment, because there shouldn't normally be lots of new blocks being
rapidly added that need to be synced.
Github-Pull: #9058
Rebased-From: dac53b58b555183ccc0d5e64c428528267cd98b3
Github-Pull: #9160
Rebased-From: ec34648766c4052816e4072cc61ad429430bcfd9
|
|
Github-Pull: #8637
Rebased-From: 3ac6de0a045cc9b2047ceb19af970e7ffbf905fa
|
|
Github-Pull: #8637
Rebased-From: b2e93a343ec2dc7d255b970e6ee45e9c390f7ed0
|
|
Unit test adaptations by Pieter Wuille.
Github-Pull: #8637
Rebased-From: fe998e962dc015978f104b782afb7daec3c4d4df
|
|
Github-Pull: #8637
Rebased-From: 02a337defdd854efc78ecba6d1fb19cb1c075f16
|
|
Make a copy of the boost time-point to wait for, otherwise the head of
the queue may be deleted by another thread while this one is waiting,
while the boost function still has a reference to it.
Although this problem is in non-test code, this is not an actual problem
outside of the tests because we use the thread scheduler with only one
service thread, so there will never be threads fighting at the head of
the queue.
The old boost fallback escapes this problem because it passes a scalar
value to wait_until instead of a const object reference.
Found by running the tests in LLVM-4.0-master asan.
Github-Pull: #9186
Rebased-From: 12519bf62b8c49b1c1744eca6ea5b3162a61f962
|
|
e8ef50b Bump the protocol version to distinguish new banning behavior. (Suhas Daftuar)
015865e Fix compact block handling to not ban if block is invalid (Suhas Daftuar)
8290506 [qa] Test that invalid compactblocks don't result in ban (Suhas Daftuar)
|
|
This allows future software that would relay compact blocks before
full validation to announce only to peers that will not ban if the
block turns out to be invalid.
|
|
|
|
Github-Pull: #8784
Rebased-From: f4dffdd6bffc58377b7505b639f0431244321c32
|
|
Github-Pull: #8845
Rebased-From: d51f18246165b580761af824f1bb4a49b6908f28
|
|
Github-Pull: #8357
Rebased-From: 94a34a5d951cee59ef9c9274c5ad49ac2a91ab8a
|
|
Note that this is not a major issue as, in order for the missing
lock to cause issues, you have to receive a GETBLOCKTXN message
while reindexing, adding a block header via RPC, etc, which results
in either a table rehash or an insert into the bucket which you are
currently looking at.
Github-Pull: #8995
Rebased-From: dfe79060a62c8de098e75d527d97b99c3b10de50
|
|
nMaxInbound might very well be 0 or -1, if the user prefers to keep
a small number of maxconnections.
Note: nMaxInbound of -1 means that the user set maxconnections
to 8 or less, but we still want to keep an additional slot for
the feeler connection.
Github-Pull: #9008
Rebased-From: fa1c3c2eb0a1853ed0e0662fc2bdbca51e05ccf5
|
|
Github-Pull: #8949
|
|
|
|
Github-Pull: #8951
Rebased-From: 59daa58d6a17bb1170c724f2d01d43c2ec21a9b4
|
|
We normally prefer to connect to peers offering the relevant services.
If we're not connected to enough peers with relevant services, we
probably don't know about them and could use dnsseed's help.
Github-Pull: #8949
Rebased-From: 46304791353d2bb61004a035869612620c30b4eb
|
|
Only allow skipping relevant services until there are four outbound
connections up.
This avoids quickly filling up with peers lacking the relevant
services when addrman has few or none of them.
Github-Pull: #8949
Rebased-From: 9583477288072e203541b747fcffe8d50cfefb8d
|
|
This value can be significantly higher if the users uses addnode
Github-Pull: #8944
Rebased-From: 1ab21cf344ed0547de5ae679b7e479cb4b1a923b
|
|
Base64 contains '/', and the '/' character in credentials is problematic
for AuthServiceProxy which represents the RPC endpoint as an URI with
user and password embedded.
Closes #8399.
Github-Pull: #8858
Rebased-From: 1c80386bceb216ca5b5da657e03a29f9c779d58b
|
|
|
|
Currently supports filtering by any combination of the 4 least
significant bits.
Github-Pull: #8940
Rebased-From: 2449e12681ab549695f143d9b3ad2c24be03a78d
|
|
Github-Pull: #8940
Rebased-From: ffb4713920205db39bfd219b6162986a52ddf32b
|
|
Github-Pull: #8940
Rebased-From: 504c72ad346a1b619f1fc58d0edce91ec955a67d
|
|
Github-Pull: #8937
Rebased-From: f9c23dea976465c51b9fe2cead81b707678c16bb
|
|
|
|
Github-Pull: #8499
Rebased-From: 9260085377e89e666d0cb95b462261d7e3a9c82f
|
|
Github-Pull: #8499
Rebased-From: 248f3a76a825a332e5495c5947ad283a9e5e938f
|
|
uncompressed keys for segwit scripts
Github-Pull: #8499
Rebased-From: 4c0c25a604cec39675187507df423cff5d707ab5
|
|
Github-Pull: #8499
Rebased-From: 3ade2f64cfe43ab53e4869ffc35d5fd23201e1c1
|
|
Github-Pull: #8817
Rebased-From: 4408558843c6c2b7abeb4160f641dfdbf5be5eb4
|
|
Contains version negotiation logic by Matt Corallo and bugfixes by
Suhas Daftuar.
Github-Pull: #8393
Rebased-From: 6aa28abf53ef4694692474b4a3b0a8fa7559b50b
|
|
Contains version negotiation logic by Matt Corallo and bugfixes by
Suhas Daftuar.
Github-Pull: #8393
Rebased-From: 6aa28abf53ef4694692474b4a3b0a8fa7559b50b
|
|
Github-Pull: #8848
Rebased-From: 2fa0063c26c80c719a1c0d30e548e338689ac917
|
|
disconnection
75ead758 turned these into crashes in the event of a handshake failure, most
notably when a peer does not offer the expected services.
There are likely other cases that these assertions will find as well.
Github-Pull: #8862
Rebased-From: 905bc68d05595f41cca36b3df83accd10c00cc48
|
|
Github-Pull: #8634
Rebased-From: e41bd449ab2b8d01260795383af2c40b659d8587
|
|
Github-Pull: #8526
Rebased-From: c72c5b1e3bd42e84465677e94aa83316ff3d9a14
|
|
Added languages:
- `ne` - Niger
|
|
This passes all QT cpp files to the lupdate executable which extracts
translations, no matter what conditional functionality is enabled.
Rebased-From: 8aed5f6c23cbaae6bf56be04f2b8d861eacf588d
Github-Pull: #8911
|
|
highest, block
Github-Pull: #8884
Rebased-From: a78e5428acb862bfb47e6faff39f4889f5c73269
|
|
Github-Pull: #8836
Rebased-From: da9469770847df56e67e629986129a087b5bd7a5
|
|
Github-Pull: #8832
Rebased-From: fa05cfdf256f3bc13b89ea80231e342f4302d204
|
|
Github-Pull: #8765
Rebased-From: c6f5ca822f1308983431bf1b3c91f8aaccff51a0
|
|
Github-Pull: #8829
Rebased-From: 54e5d7c1b81e1b76f5789abfa2cb1f5963cd9d72
|