Commit graph

12284 commits

Author SHA1 Message Date
Matt Corallo 97e28029c9 Erase orphans per-transaction instead of per-block 2016-11-17 17:10:00 -08:00
Matt Corallo ec4525ccc1 Move orphan processing to ActivateBestChain
This further decouples "main" and "net" processing logic by moving
orphan processing out of the chain-connecting cs_main lock and
into its own cs_main lock, beside all of the other chain callbacks.

Once further decoupling of net and main processing logic occurs,
orphan handing should move to its own lock, out of cs_main.

Note that this will introduce a race if there are any cases where
we assume the orphan map to be consistent with the current chain
tip, however I am confident there is no such case (ATMP will fail
without DoS score in all such cases).
2016-11-17 17:10:00 -08:00
MarcoFalke fa7cc5a508 Set DEFAULT_LIMITFREERELAY = 0 kB/minute 2016-11-18 00:23:25 +01:00
Pieter Wuille 9346f84299
Merge #9075: Decouple peer-processing-logic from block-connection-logic (#3)
ae22357 Replace CValidationState param in ProcessNewBlock with BlockChecked (Matt Corallo)
7c98ce5 Remove pfrom parameter from ProcessNewBlock (Matt Corallo)
e2e069d Revert "RPC: Give more details when "generate" fails" (Matt Corallo)
2016-11-17 13:23:50 -08:00
Wladimir J. van der Laan a8b2a82618
Merge #9156: Add compile and link options echo to configure
d8274bc Add compile and link options echo to configure (Jonas Schnelli)
2016-11-17 16:05:56 +01:00
Wladimir J. van der Laan aaca05c0da
Merge #9178: Doxygen: Set PROJECT_NAME = "Bitcoin Core"
fa63ee8 Doxygen: Set PROJECT_NAME = "Bitcoin Core" (MarcoFalke)
2016-11-17 15:29:02 +01:00
MarcoFalke fa63ee8e3e Doxygen: Set PROJECT_NAME = "Bitcoin Core" 2016-11-17 14:37:34 +01:00
Wladimir J. van der Laan f6db48ad1c
Merge #8838: Calculate size and weight of block correctly in CreateNewBlock()
5f274a1 log block size and weight correctly. (jnewbery)
2016-11-17 14:14:51 +01:00
Jonas Schnelli d8274bcd00
Add compile and link options echo to configure 2016-11-16 12:02:05 +01:00
MarcoFalke cb2ed300a8
Merge #9155: [trivial] update comments for tx weight
07ede5d update comments for tx weight (Brian Deery)
2016-11-16 11:05:40 +01:00
MarcoFalke 0a6d48d9ed
Merge #9168: [qa] add assert_raises_message to check specific error message
307acdd [qa] add assert_raises_message to check specific error message (mrbandrews)
2016-11-16 10:51:25 +01:00
Wladimir J. van der Laan 434e683f7b
Merge #9133: Unset fImporting for loading mempool
79f755d Unset fImporting for loading mempool (Alex Morcos)
2016-11-16 10:11:41 +01:00
Wladimir J. van der Laan 62af164638
Merge #9131: fNetworkActive is not protected by a lock, use an atomic
079142b fNetworkActive is not protected by a lock, use an atomic (Jonas Schnelli)
2016-11-16 10:09:52 +01:00
Wladimir J. van der Laan 4333b1c4ea
Merge #9151: [qa] proxy_test: Calculate hardcoded port numbers
fa80ef8 [qa] proxy_test: Calculate hardcoded port numbers instead (MarcoFalke)
2016-11-16 10:04:18 +01:00
Wladimir J. van der Laan 918ea16dc0
Merge #9169: build: fix qt5.7 build under macOS
70266e9 build: fix qt5.7 build under macOS (Cory Fields)
2016-11-16 10:01:20 +01:00
Cory Fields 70266e9829 build: fix qt5.7 build under macOS
OBJCXX's std flags don't get defined by our cxx macro. Rather than hard-coding
to c++11, just force OBJCXX to be the same as CXX unless the user specified
otherwise.
2016-11-15 16:12:17 -05:00
mrbandrews 307acdd3df [qa] add assert_raises_message to check specific error message 2016-11-15 15:37:46 -05:00
Pieter Wuille 6eeac6e30d
Merge #9164: [trivial] credit values are CAmount
20c3215 credit values are CAmount (Gregory Sanders)
2016-11-15 09:44:07 -08:00
Gregory Sanders 20c3215a90 credit values are CAmount 2016-11-15 09:19:23 -05:00
Wladimir J. van der Laan 018a4eb120
Merge #9140: Bugfix: Correctly replace generated headers and fail cleanly
b74ff5c Bugfix: Correctly replace generated headers and fail cleanly (Luke Dashjr)
2016-11-15 10:34:56 +01:00
Wladimir J. van der Laan f54e4605fc
Merge #9132: Make strWalletFile const
f734505 Make strWalletFile const (Jonas Schnelli)
2016-11-15 10:06:01 +01:00
Wladimir J. van der Laan 770364b8ea
Merge #9160: [trivial] Fix hungarian variable name
ec34648 [trivial] Fix hungarian variable name (Russell Yanofsky)
2016-11-15 09:52:14 +01:00
MarcoFalke b422913346
Merge #9136: sync_blocks cleanup
7943b13 [qa] Avoid 2 list comprehensions in sync_blocks (Russell Yanofsky)
05e57cc [qa] Fix sync_blocks timeout argument (Russell Yanofsky)
fd6bb70 [qa] Improve sync_blocks error messages. (Russell Yanofsky)
2016-11-14 20:28:08 +01:00
Russell Yanofsky ec34648766 [trivial] Fix hungarian variable name
Follow up to comment https://github.com/bitcoin/bitcoin/pull/9058#discussion_r87676593
2016-11-14 14:02:24 -05:00
Russell Yanofsky dfa44d1b07 [qa] Wait for specific block announcement in p2p-compactblocks
Change check_announcement_of_new_block() to wait specifically for the
announcement of the newly created block, instead of waiting for any
announcement at all. A difficult to reproduce failure in
check_announcement_of_new_block() that happened in a travis build
(https://travis-ci.org/bitcoin/bitcoin/jobs/175198367) might have happened
because an older announcement was mistaken for the expected one. The error
looked like:

  Assertion failed: Failed

  File ".../bitcoin/qa/rpc-tests/test_framework/test_framework.py", line 145, in main
    self.run_test()
  File ".../bitcoin/build/../qa/rpc-tests/p2p-compactblocks.py", line 787, in run_test
    self.test_sendcmpct(self.nodes[1], self.segwit_node, 2, old_node=self.old_node)
  File ".../bitcoin/build/../qa/rpc-tests/p2p-compactblocks.py", line 201, in test_sendcmpct
    check_announcement_of_new_block(node, test_node, lambda p: p.last_cmpctblock is None and p.last_inv is not None)
  File ".../bitcoin/build/../qa/rpc-tests/p2p-compactblocks.py", line 194, in check_announcement_of_new_block
    assert(predicate(peer))

This commit also changes the assertion failed message above to include more
detailed information for debug.
2016-11-14 13:59:20 -05:00
Russell Yanofsky 7943b13ab3 [qa] Avoid 2 list comprehensions in sync_blocks 2016-11-14 12:02:33 -05:00
Russell Yanofsky 05e57ccd74 [qa] Fix sync_blocks timeout argument
Motivation for this change is mainly to make sync_blocks behavior easier to
understand. Behavior is unchanged in the normal case when there are only 2
nodes in the rpc_connections set. When there are more than 2 nodes, the
previous "timeout -= wait" statement wouldn't take into account time spent
waiting for all nodes and as a result could lead to blocking for longer than
the requested timeout.
2016-11-14 12:02:31 -05:00
Russell Yanofsky fd6bb700b7 [qa] Improve sync_blocks error messages. 2016-11-14 12:01:51 -05:00
Jonas Schnelli 924745dd6f
Merge #9145: [qt] Make network disabled icon 50% opaque
fa42e4a [qt] Make network disabled icon 50% opaque (MarcoFalke)
2016-11-14 08:46:13 +01:00
Brian Deery 07ede5d711 update comments for tx weight 2016-11-14 00:38:07 -06:00
MarcoFalke fa80ef8173 [qa] proxy_test: Calculate hardcoded port numbers instead 2016-11-13 22:32:23 +01:00
MarcoFalke fa42e4a082 [qt] Make network disabled icon 50% opaque 2016-11-13 22:06:35 +01:00
Jonas Schnelli 4512550fa0
Remove unnecessary calls to CheckFinalTx 2016-11-12 13:50:39 +01:00
Pavel Janík 1260c1103b Mention the new network toggle functionality in the tooltip. 2016-11-12 13:28:21 +01:00
Jonas Schnelli 2e44893081
Move -salvagewallet, -zap(wtx) to where they belong 2016-11-12 10:25:34 +01:00
Luke Dashjr b74ff5cf0c Bugfix: Correctly replace generated headers and fail cleanly
Also removes generation of headers for *.raw files in test_bitcoin (none exist anymore)
2016-11-12 07:16:28 +00:00
Russell Yanofsky 1126c853d9 [qa] Change sync_blocks to pick smarter maxheight
Instead of syncing to max height returned by the waitforblockheight RPC, sync
to the max height returned by the getblockcount RPC.

This change was suggested by Suhas Daftuar <sdaftuar@chaincode.com>.
2016-11-11 15:46:14 -05:00
Alex Morcos 79f755db41 Unset fImporting for loading mempool 2016-11-11 09:33:16 -05:00
Jonas Schnelli f7345050e9
Make strWalletFile const 2016-11-11 14:32:38 +01:00
Jonas Schnelli 079142b757
fNetworkActive is not protected by a lock, use an atomic 2016-11-11 14:09:52 +01:00
Wladimir J. van der Laan 87ab49e4fe
Merge #9124: Use better name for local variable to prevent -Wshadow compiler warning
bf49f10 Use better name for local variable to prevent -Wshadow compiler warning (Pavel Janík)
2016-11-11 11:46:49 +01:00
Wladimir J. van der Laan bfc7aad008
Merge #9115: Mention reporting security issues responsibly
7d1de30 Mention reporting security issues responsibly (Pavel Janík)
2016-11-11 11:30:23 +01:00
Jonas Schnelli ab914a6530
Merge #8996: Network activity toggle
19f46f1 Qt: New network_disabled icon (Luke Dashjr)
54cf997 RPC/Net: Use boolean consistently for networkactive, and remove from getinfo (Luke Dashjr)
b2b33d9 Overhaul network activity toggle (Jonas Schnelli)
32efa79 Qt: Add GUI feedback and control of network activity state. (Jon Lund Steffensen)
e38993b RPC: Add "togglenetwork" method to toggle network activity temporarily (Jon Lund Steffensen)
7c9a98a Allow network activity to be temporarily suspended. (Jon Lund Steffensen)
2016-11-11 11:16:40 +01:00
Wladimir J. van der Laan 7977a1157a
Merge #9058: Fixes for p2p-compactblocks.py test timeouts on travis (#8842)
dac53b5 Modify getblocktxn handler not to drop requests for old blocks (Russell Yanofsky)
55bfddc [qa] Fix stale data bug in test_compactblocks_not_at_tip (Russell Yanofsky)
47e9659 [qa] Fix bug in compactblocks v2 merge (Russell Yanofsky)
2016-11-11 11:02:44 +01:00
Wladimir J. van der Laan 46027e8668
Merge #9112: Avoid ugly exception in log on unknown inv type
e9f25dd Avoid ugly exception in log on unknown inv type (Wladimir J. van der Laan)
2016-11-11 10:58:58 +01:00
Wladimir J. van der Laan 21e6c6b569
Merge #9114: [depends] Set OSX_MIN_VERSION to 10.8
617c96d [depends] Set OSX_MIN_VERSION to 10.8 (fanquake)
2016-11-11 10:07:10 +01:00
Pavel Janík bf49f107ef Use better name for local variable to prevent -Wshadow compiler warning 2016-11-10 21:38:07 +01:00
Wladimir J. van der Laan 71bc39eb74
Merge #9049: Remove duplicatable duplicate-input check from CheckTransaction
e2b3fb3 Optimize vInOutPoints insertion a bit (Matt Corallo)
eecffe5 Remove redundant duplicate-input check from CheckTransaction (Matt Corallo)
b2e178a Add deserialize + CheckBlock benchmarks, and a full block hex (Matt Corallo)
2016-11-10 16:02:55 +01:00
Pavel Janík 7d1de3032d Mention reporting security issues responsibly 2016-11-10 14:41:40 +01:00
MarcoFalke e5364991da
Merge #9097: [qa] Rework sync_* and preciousblock.py
fa97ccb [qa] util: Rework sync_*() (MarcoFalke)
fac1141 [qa] preciousblock: Use assert_equal and BitcoinTestFramework.__init__ (MarcoFalke)
2016-11-10 11:23:40 +01:00