aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2016-12-02Send tip change notification from invalidateblockRussell Yanofsky
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
2016-12-02qt: Avoid OpenSSL certstore-related memory leakWladimir J. van der Laan
- Correctly manage the X509 and X509_STORE objects lifetime. Github-Pull: #9190 Rebased-From: ed998ea7a0ecf294211b06e9ef82f1548a621a1d
2016-12-02qt: Avoid shutdownwindow-related memory leakWladimir J. van der Laan
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
2016-12-02qt: Avoid splash-screen related memory leakWladimir J. van der Laan
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
2016-12-02qt: Prevent thread/memory leak on exiting RPCConsoleWladimir J. van der Laan
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
2016-12-02qt: Plug many memory leaksWladimir J. van der Laan
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
2016-12-02[Qt] Clean up and fix coincontrol tree widget handlingWladimir J. van der Laan
- 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
2016-12-02[Qt] fix coincontrol sort issueJonas Schnelli
Github-Pull: #9185 Rebased-From: 76af4eb876814a916dd4f26cf71faa20bdc54f2d
2016-12-02fix getnettotals RPC description about timemillis.Masahiko Hyuga
Github-Pull: #9122 Rebased-From: a79f864945d7abe05e777a942864c181311e5070
2016-12-02net: don't send feefilter messages before the version handshake is completeCory Fields
Github-Pull: #9117 Rebased-From: 46625538d674a5aaf1bcfa7c8be8a49e5a23fa9e
2016-12-02qt: Use correct conversion function for boost::path datadirWladimir J. van der Laan
Fixes #9089. Github-Pull: #9094 Rebased-From: e760b307f6210bee293796d606bcca87f86be200
2016-12-02Missed one "return false" in recent refactoring in #9067UdjinM6
Github-Pull: #9120 Rebased-From: 45d372f88900bda74835a20a44246746c2ac94e6
2016-12-02Every main()/exit() should return/use one of EXIT_ codes instead of magic ↵UdjinM6
numbers Github-Pull: #9067 Rebased-From: 4441018d0860fce64ee74fa78da79bbb21114ca9
2016-12-02Fix exit codes:UdjinM6
- `--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
2016-12-02[rpc] ParseHash: Fail when length is not 64MarcoFalke
Github-Pull: #9042 Rebased-From: fa326193ad739d1f93da456b3fa73af0bbf9fdd1
2016-12-02Fix doxygen comment: the transaction is returned in txOutPavel Janík
Github-Pull: #8993 Rebased-From: 1d8e12ba48154b2c59213e92efb50958d430a007
2016-12-02[Qt] make warnings label selectableJonas Schnelli
Github-Pull: #8972 Rebased-From: ef0c9ee2960fda58b2fe5b0c3b4c672231b30322
2016-12-02Sync bitcoin-tx with tx version policyBtcDrak
Github-Pull: #8932 Rebased-From: b0aea8057921f0ed2288cf07048f652c7d6d9cf3
2016-12-02Use RelevantServices instead of node_network in AttemptToEvict.Gregory Maxwell
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
2016-12-02Make orphan parent fetching ask for witnesses.Gregory Maxwell
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
2016-12-02Always add default_witness_commitment with GBT client supportPieter Wuille
Github-Pull: #9189 Rebased-From: ad04d1cb35b9612d36078c62213bdbb13f56d73d
2016-12-02Always drop the least preferred HB peer when adding a new one.Gregory Maxwell
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
2016-12-02log block size and weight correctly.jnewbery
Github-Pull: #8838 Rebased-From: 5f274a1749acfdf331bc2931e25ac80c346e5faa
2016-12-02Merge #9191: [qa] 0.13.2 BackportsWladimir J. van der Laan
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)
2016-12-02Revert "Use async name resolving to improve net thread responsiveness"Matt Corallo
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
2016-11-30torcontrol: Explicitly request RSA1024 private keyWladimir J. van der Laan
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
2016-11-20Modify getblocktxn handler not to drop requests for old blocksRussell Yanofsky
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
2016-11-20Align constant names for maximum compact block / blocktxn depthPieter Wuille
Github-Pull: #8637 Rebased-From: 3ac6de0a045cc9b2047ceb19af970e7ffbf905fa
2016-11-20Add cmpctblock to debug help listinstagibbs
Github-Pull: #8637 Rebased-From: b2e93a343ec2dc7d255b970e6ee45e9c390f7ed0
2016-11-20More agressively filter compact block requestsMatt Corallo
Unit test adaptations by Pieter Wuille. Github-Pull: #8637 Rebased-From: fe998e962dc015978f104b782afb7daec3c4d4df
2016-11-20Dont remove a "preferred" cmpctblock peer if they provide a blockMatt Corallo
Github-Pull: #8637 Rebased-From: 02a337defdd854efc78ecba6d1fb19cb1c075f16
2016-11-19test: Fix use-after-free in scheduler testsWladimir J. van der Laan
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
2016-11-09Merge #9048: [0.13 backport] Fix handling of invalid compact blocksWladimir J. van der Laan
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)
2016-11-01Bump the protocol version to distinguish new banning behavior.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.
2016-11-01Fix compact block handling to not ban if block is invalidSuhas Daftuar
2016-10-27Add MIT license to MakefilesLuke Dashjr
Github-Pull: #8784 Rebased-From: f4dffdd6bffc58377b7505b639f0431244321c32
2016-10-27Don't return the address of a P2SH of a P2SH.jnewbery
Github-Pull: #8845 Rebased-From: d51f18246165b580761af824f1bb4a49b6908f28
2016-10-27Fix relaypriority calculation errormaiiz
Github-Pull: #8357 Rebased-From: 94a34a5d951cee59ef9c9274c5ad49ac2a91ab8a
2016-10-27Add missing cs_main lock to ::GETBLOCKTXN processingMatt Corallo
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
2016-10-25[net] Remove assert(nMaxInbound > 0)v0.13.1rc3MarcoFalke
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
2016-10-19nMaxOutbound is MAX_OUTBOUND_CONNECTIONS on 0.13Wladimir J. van der Laan
Github-Pull: #8949
2016-10-19qt: pre-rc2 translations updateWladimir J. van der Laan
2016-10-19RPC/Mining: getblocktemplate: Update and fix formatting of helpLuke Dashjr
Github-Pull: #8951 Rebased-From: 59daa58d6a17bb1170c724f2d01d43c2ec21a9b4
2016-10-19Make dnsseed's definition of acute need include relevant services.Gregory Maxwell
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
2016-10-19Be more aggressive in connecting to peers with relevant services.Gregory Maxwell
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
2016-10-18Remove bogus assert on number of oubound connections.Matt Corallo
This value can be significantly higher if the users uses addnode Github-Pull: #8944 Rebased-From: 1ab21cf344ed0547de5ae679b7e479cb4b1a923b
2016-10-18rpc: Generate auth cookie in hex instead of base64Wladimir J. van der Laan
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
2016-10-18Bump version to 0.13.1Wladimir J. van der Laan
2016-10-17My DNS seed supports filteringChristian Decker
Currently supports filtering by any combination of the 4 least significant bits. Github-Pull: #8940 Rebased-From: 2449e12681ab549695f143d9b3ad2c24be03a78d
2016-10-17Add x9 service bit support to dnsseed.bluematt.meMatt Corallo
Github-Pull: #8940 Rebased-From: ffb4713920205db39bfd219b6162986a52ddf32b