aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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
2016-10-17Comment that most dnsseeds only support some service bits combosMatt Corallo
Github-Pull: #8940 Rebased-From: 504c72ad346a1b619f1fc58d0edce91ec955a67d
2016-10-17Define start and end time for segwit deploymentPieter Wuille
Github-Pull: #8937 Rebased-From: f9c23dea976465c51b9fe2cead81b707678c16bb
2016-10-17qt: periodic translation updateWladimir J. van der Laan
2016-10-17test segwit uncompressed key fixesJohnson Lau
Github-Pull: #8499 Rebased-From: 9260085377e89e666d0cb95b462261d7e3a9c82f
2016-10-17Fix ismine and addwitnessaddress: no uncompressed keys in segwitPieter Wuille
Github-Pull: #8499 Rebased-From: 248f3a76a825a332e5495c5947ad283a9e5e938f
2016-10-17Require compressed keys in segwit as policy and disable signing with ↵Johnson Lau
uncompressed keys for segwit scripts Github-Pull: #8499 Rebased-From: 4c0c25a604cec39675187507df423cff5d707ab5
2016-10-17Add standard limits for P2WSH with testsJohnson Lau
Github-Pull: #8499 Rebased-From: 3ade2f64cfe43ab53e4869ffc35d5fd23201e1c1
2016-10-13Update bitcoin-tx to output witness data.jonnynewbs
Github-Pull: #8817 Rebased-From: 4408558843c6c2b7abeb4160f641dfdbf5be5eb4
2016-10-13Use cmpctblock type 2 for segwit-enabled transferMatt Corallo
Contains version negotiation logic by Matt Corallo and bugfixes by Suhas Daftuar. Github-Pull: #8393 Rebased-From: 6aa28abf53ef4694692474b4a3b0a8fa7559b50b
2016-10-13Use cmpctblock type 2 for segwit-enabled transferPieter Wuille
Contains version negotiation logic by Matt Corallo and bugfixes by Suhas Daftuar. Github-Pull: #8393 Rebased-From: 6aa28abf53ef4694692474b4a3b0a8fa7559b50b
2016-10-13Add NULLDUMMY verify flag in bitcoinconsensus.hJohnson Lau
Github-Pull: #8848 Rebased-From: 2fa0063c26c80c719a1c0d30e548e338689ac917
2016-10-13net: fix a few cases where messages were sent rather than dropped upon ↵Cory Fields
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
2016-10-13Add policy: null signature for failed CHECK(MULTI)SIGJohnson Lau
Github-Pull: #8634 Rebased-From: e41bd449ab2b8d01260795383af2c40b659d8587
2016-10-13Make non-minimal OP_IF/NOTIF argument non-standard for P2WSHJohnson Lau
Github-Pull: #8526 Rebased-From: c72c5b1e3bd42e84465677e94aa83316ff3d9a14
2016-10-13qt: Periodic translations updateWladimir J. van der Laan
Added languages: - `ne` - Niger
2016-10-13qt: Translate all files, even if wallet disabledWladimir J. van der Laan
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
2016-10-05Bugfix: Trivial: RPC: getblockchaininfo help: pruneheight is the lowest, not ↵Luke Dashjr
highest, block Github-Pull: #8884 Rebased-From: a78e5428acb862bfb47e6faff39f4889f5c73269
2016-10-03bitcoin-util-test.py should fail if the output file is emptyjnewbery
Github-Pull: #8836 Rebased-From: da9469770847df56e67e629986129a087b5bd7a5
2016-10-03[rpc] throw JSONRPCError when utxo set can not be readMarcoFalke
Github-Pull: #8832 Rebased-From: fa05cfdf256f3bc13b89ea80231e342f4302d204
2016-10-03[Wallet] remove "unused" ThreadFlushWalletDB from removeprunedfundsJonas Schnelli
Github-Pull: #8765 Rebased-From: c6f5ca822f1308983431bf1b3c91f8aaccff51a0
2016-10-03Add bitcoin-tx JSON testsjnewbery
Github-Pull: #8829 Rebased-From: 54e5d7c1b81e1b76f5789abfa2cb1f5963cd9d72