- 17 Feb, 2017 8 commits
-
-
Wladimir J. van der Laan authored
-
Wladimir J. van der Laan authored
-
Wladimir J. van der Laan authored
-
Wladimir J. van der Laan authored
e662af35 Use 2 hour grace period for key timestamps in importmulti rescans (Russell Yanofsky) 38d3e9ee [qa] Extend import-rescan.py to test imports on pruned nodes. (Russell Yanofsky) c28583d0 [qa] Extend import-rescan.py to test specific key timestamps (Russell Yanofsky) 8be08668 [qa] Simplify import-rescan.py (Russell Yanofsky)
-
Wladimir J. van der Laan authored
91fb506e Add two hour buffer to manual pruning (Alex Morcos)
-
Wladimir J. van der Laan authored
3f78e460 Update nMinimumChainWork and defaultAssumeValid. (Gregory Maxwell)
-
Wladimir J. van der Laan authored
55c403b8 Ensure `-maxsigcachesize` is in valid range (John Newbery)
-
John Newbery authored
- If the -maxsigcachesize parameter is set to zero, setup a minimum sized sigcache (2 elements) rather than segfaulting. - Handle maxsigcachesize being negative - Handle maxsigcachesize being too large
-
- 16 Feb, 2017 12 commits
-
-
Alex Morcos authored
-
Gregory Maxwell authored
-
Russell Yanofsky authored
Gregory Maxwell <greg@xiph.org> pointed out the lack of grace period in https://github.com/bitcoin/bitcoin/pull/9490#issue-199407998. The importwallet RPC which uses key timestamps in a similar way already has a 2 hour grace period.
-
Wladimir J. van der Laan authored
36164faa Fix typo and spelling inconsistency in CONTRIBUTING.md (Koki Takahashi)
-
Russell Yanofsky authored
-
Russell Yanofsky authored
-
Russell Yanofsky authored
Get rid of partial functions so the test can be more easily extended to add more variants of imports with options that affect rescanning (e.g. different key timestamps). Also change the second half of the test to send /to/ the imported addresses, instead of /from/ the imported addresses. The goal of this part of the test was to confirm that the wallet would pick up new transactions after an import regardless of whether or not a rescan happened during the import. But because the wallet can only do this reliably for incoming transactions and not outgoing transactions (which require the wallet to look up transaction inputs) the test previously was less meaningful than it should have been.
-
Wladimir J. van der Laan authored
00e623d0 [Trivial] Update comments referencing main.cpp (CryptAxe)
-
CryptAxe authored
-
Wladimir J. van der Laan authored
07afcd63 Add missing cs_wallet lock that triggers new lock held assertion (Russell Yanofsky)
-
Wladimir J. van der Laan authored
6c5427d2 wallet: Prevent "overrides a member function but is not marked 'override'" warnings (Wladimir J. van der Laan)
-
Wladimir J. van der Laan authored
ba803efb Harden against mistakes handling invalid blocks (Suhas Daftuar)
-
- 15 Feb, 2017 7 commits
-
-
Russell Yanofsky authored
A new AssertLockHeld(cs_wallet) call was added in commit a58370e6 "Dedup nTimeFirstKey update logic" (part of PR #9108). The lock held assertion will fail when loading prexisting wallets files from before the #9108 merge that have watch-only keys.
-
Wladimir J. van der Laan authored
9acf25cc Return error when importmulti called with invalid address. (Russell Yanofsky)
-
Wladimir J. van der Laan authored
4b6ccccc Selectively suppress deprecation warnings (Jonas Schnelli)
-
Suhas Daftuar authored
Fixes a bug in AcceptBlock() in invoking CheckBlock() with incorrect arguments, and restores a call to CheckBlock() from ProcessNewBlock() as belt-and-suspenders. Updates the (overspecified) tests to match behavior.
-
Wladimir J. van der Laan authored
Because it is used inconsistently at least version 5.4.0 of g++ to complains about methods that don't use override. There is two ways to go about this: remove override from the methods having it, or add it to the methods missing it. I chose the second.
-
Wladimir J. van der Laan authored
a80f98b1 Use importmulti timestamp when importing watch only keys (Russell Yanofsky) a58370e6 Dedup nTimeFirstKey update logic (Russell Yanofsky)
-
Wladimir J. van der Laan authored
a47da4b6 Use z = std::max(x - y, 0); instead of z = x - y; if (z < 0) z = 0; (practicalswift)
-
- 14 Feb, 2017 6 commits
-
-
Jonas Schnelli authored
0b4f273e Bugfix: Qt/Options: Restore persistent "restart required" notice (Luke Dashjr)
-
Wladimir J. van der Laan authored
d9434918 qa: add a test to detect leaky p2p messages (Cory Fields) 8650bbb6 qa: Expose on-connection to mininode listeners (Matt Corallo) 5b5e4f83 qa: mininode learns when a socket connects, not its first action (Matt Corallo) cbfc5a67 net: require a verack before responding to anything else (Cory Fields) 8502e7ac net: parse reject earlier (Cory Fields) c45b9fb5 net: correctly ban before the handshake is complete (Cory Fields)
-
Wladimir J. van der Laan authored
66f861ad Add a test for P2P inactivity timeouts (Matt Corallo) b436f92f qa: Expose on-connection to mininode listeners (Matt Corallo) 8aaba7a6 qa: mininode learns when a socket connects, not its first action (Matt Corallo) 2cbd1196 Disconnect peers which we do not receive VERACKs from within 60 sec (Matt Corallo)
-
Wladimir J. van der Laan authored
266a8114 Use MTP for importmulti "now" timestamps (Russell Yanofsky) 3cf99175 Add test to check new importmulti "now" value (Russell Yanofsky) 442887f2 Require timestamps for importmulti keys (Russell Yanofsky)
-
Jonas Schnelli authored
-
Wladimir J. van der Laan authored
7179e7ca qt: Periodic translations update (Wladimir J. van der Laan) 5e903a5e devtools: Handle Qt formatting characters edge-case in update-translations.py (Wladimir J. van der Laan)
-
- 13 Feb, 2017 7 commits
-
-
Cory Fields authored
This is certainly not exhaustive, but it's better than nothing. Adds checks for: - Any message received before sending a version - Any message received other than version/reject before sending a verack It also tries to goad the remote into sending a pong, address, or block announcement.
-
Matt Corallo authored
-
Matt Corallo authored
-
Cory Fields authored
7a8c2519 made this logic hard to follow. After that change, messages would not be sent to a peer via SendMessages() before the handshake was complete, but messages could still be sent as a response to an incoming message. For example, if a peer had not yet sent a verack, we wouldn't notify it about new blocks, but we would respond to a PING with a PONG. This change makes the behavior straightforward: until we've received a verack, never send any message other than version/verack/reject. The behavior until a VERACK is received has always been undefined, this change just tightens our policy. This also makes testing much easier, because we can now connect but not send version/verack, and anything sent to us is an error.
-
Cory Fields authored
Prior to this change, all messages were ignored until a VERSION message was received, as well as possibly incurring a ban score. Since REJECT messages can be sent at any time (including as a response to a bad VERSION message), make sure to always parse them. Moving this parsing up keeps it from being caught in the if (pfrom->nVersion == 0) check below.
-
Cory Fields authored
7a8c2519 made a change to avoid getting into SendMessages() until the version handshake (VERSION + VERACK) is complete. That was done to avoid leaking out messages to nodes who could connect, but never bothered sending us their version/verack. Unfortunately, the ban tally and possible disconnect are done as part of SendMessages(). So after 7a8c2519, if a peer managed to do something bannable before completing the handshake (say send 100 non-version messages before their version), they wouldn't actually end up getting disconnected/banned. That's fixed here by checking the banscore as part of ProcessMessages() in addition to SendMessages().
-
Russell Yanofsky authored
Lack of error checking noticed by Alex Morcos <morcos@chaincode.com>
-