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
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
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
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
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
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
This RPC command is unsafe as it will return an address even if the script is invalid.
Github-Pull: #8699
Rebased-From: 86c3f8db0bf64693313a81d5fe92ef603499030a
After #8594 the addrFrom sent by a node is not used anymore at all,
so don't bother sending it.
Also mitigates the privacy issue in (#8616). It doesn't completely solve
the issue as GetLocalAddress is also called in AdvertiseLocal, but at
least when advertising addresses it stands out less as *our* address.
Github-Pull: #8740
Rebased-From: d9c99c3058c90f4f7075cf5c495b8dcd2e7519a7