Age | Commit message (Collapse) | Author |
|
This change is needed to prevent sync_blocks timeouts in the mempool_reorg
test after the sync_blocks update in the upcoming commit
"[qa] Change sync_blocks to pick smarter maxheight".
This change was initially suggested by Suhas Daftuar <sdaftuar@chaincode.com>
in https://github.com/bitcoin/bitcoin/pull/8680#r78209060
Github-Pull: #9196
Rebased-From: 67c6326abd1788e6f411feb4f44b69774e76aae2
|
|
- Correctly manage the X509 and X509_STORE objects lifetime.
Github-Pull: #9190
Rebased-From: ed998ea7a0ecf294211b06e9ef82f1548a621a1d
|
|
Store a reference to the shutdown window on BitcoinApplication,
so that it will be deleted when exiting the main loop.
Github-Pull: #9190
Rebased-From: 5204598f8d07d7432d91e9b8781806d2f3d16415
|
|
Make splash screen queue its own deletion when it receives the finished
command, instead of relying on WA_DeleteOnClose which doesn't work under
these circumstances.
Github-Pull: #9190
Rebased-From: e4f126a7ba66e7317718c30276dff6db92dc1986
|
|
Make ownership of the QThread object clear, so that the RPCConsole
can wait for the executor thread to quit before shutdown is called. This
increases overall thread safety, and prevents some objects from leaking
on exit.
Github-Pull: #9190
Rebased-From: 693384eedb1ac7f449e226edd53e2cb52a86e279
|
|
None of these are very serious, and are leaks in objects that are
created at most one time.
In most cases this means properly using the QObject parent hierarchy,
except for BanTablePriv/PeerTablePriv which are not QObject,
so use a std::unique_ptr instead.
Github-Pull: #9190
Rebased-From: 47db07537746940ee7dd0739a8c73e328837813f
|
|
- Do sorting for date, amount and confirmations column as longlong, not
unsigned longlong.
- Use `UserRole` to store our own data. This makes it treated as
ancillary data prevents it from being displayed.
- Get rid of `getMappedColumn` `strPad` - these are no longer necessary.
- Get rid of hidden `_INT64` columns.
- Start enumeration from 0 (otherwise values are undefined).
Github-Pull: #9185
Rebased-From: 4231032bfcb9728f0f629b3d67884ba9de63e4ff
|
|
Github-Pull: #9185
Rebased-From: 76af4eb876814a916dd4f26cf71faa20bdc54f2d
|
|
Github-Pull: #9122
Rebased-From: a79f864945d7abe05e777a942864c181311e5070
|
|
Github-Pull: #9117
Rebased-From: 46625538d674a5aaf1bcfa7c8be8a49e5a23fa9e
|
|
Fixes #9089.
Github-Pull: #9094
Rebased-From: e760b307f6210bee293796d606bcca87f86be200
|
|
Github-Pull: #9120
Rebased-From: 45d372f88900bda74835a20a44246746c2ac94e6
|
|
numbers
Github-Pull: #9067
Rebased-From: 4441018d0860fce64ee74fa78da79bbb21114ca9
|
|
- `--help`, `--version` etc should exit with `0` i.e. no error ("not enough args" case should still trigger an error)
- error reading config file should exit with `1`
Slightly refactor AppInitRPC/AppInitRawTx to return standard exit codes (EXIT_FAILURE/EXIT_SUCCESS) or CONTINUE_EXECUTION (-1)
Github-Pull: #9067
Rebased-From: bd0de1386e1c7f9b875d52290de0d561c8d56bc9
|
|
Github-Pull: #9042
Rebased-From: fa326193ad739d1f93da456b3fa73af0bbf9fdd1
|
|
Github-Pull: #8993
Rebased-From: 1d8e12ba48154b2c59213e92efb50958d430a007
|
|
Github-Pull: #8972
Rebased-From: ef0c9ee2960fda58b2fe5b0c3b4c672231b30322
|
|
Github-Pull: #8932
Rebased-From: b0aea8057921f0ed2288cf07048f652c7d6d9cf3
|
|
Use of node_network here is really meant to be a proxy of "likely to
send us blocks in the future". RelevantServices is the right criteria
now.
Github-Pull: #9052
Rebased-From: d32036a47d9ccdc38628a7a75bb8b711af462e4f
|
|
In 0.13 orphan transactions began being treated as implicit
INVs for their parents. But the resulting getdata were
not getting the witness flag.
This fixes issue #9182 reported by chjj and roasbeef on IRC.
Github-Pull: #9188
Rebased-From: 5b0150a060208faf436c09b0ca9463407a869c72
|
|
Github-Pull: #9189
Rebased-From: ad04d1cb35b9612d36078c62213bdbb13f56d73d
|
|
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
|