Commit Graph

6732 Commits

Author SHA1 Message Date
Pavel Janík
2d2b04543d Reenable multithread scheduler test
Github-Pull: #8016
Rebased-From: db18ab28c7 166e4b0dfa
2016-06-09 22:52:04 +02:00
Wladimir J. van der Laan
658307e835 test: Add more thorough test for dbwrapper iterators
Github-Pull: #7992
Rebased-From: 84c13e759d 6030625631 269a4402a8
2016-06-09 22:47:27 +02:00
Wladimir J. van der Laan
20d00a180e Merge #7938: [0.12.2] Backports
c3d1bc3 CBase58Data::SetString: cleanse the full vector (Kaz Wesley)
43c14ac Fix headers announcements edge case (Suhas Daftuar)
06c73a1 Removed call to `TryCreateDirectory` from `GetDefaultDataDir` in `src/util.cpp`. (Alexander Regueiro)
7e71785 Use txid as key in mapAlreadyAskedFor (Suhas Daftuar)
5583a3d Add curl to Gitian setup instrustions (BtcDrak)
d3ead9b Avoid "Unknown command" messages when receiving getaddr on outbound connections. (R E Broadley)
a5bc6a1 Remove vfReachable and modify IsReachable to only use vfLimited. (Patrick Strateman)
52c1011 Clarify description of blockindex (Matthew Zipkin)
21b2f82 Don't resend wallet txs that aren't in our own mempool (Alex Morcos)
66d5408 Fix memleak in TorController [rework] (Wladimir J. van der Laan)
1c3d38b Remove spurious dollar sign. Fixes #7189. (Chris Moore)
64fd0ce fix spelling of advertise in src and doc (jloughry)
a9e73f7 Fix and cleanup listreceivedbyX documentation (instagibbs)
9095594 Do not download transactions during inital sync (ptschip)
2016-06-09 10:22:52 +02:00
Kaz Wesley
c3d1bc33b5 CBase58Data::SetString: cleanse the full vector
SetString seems to be passing the length of the wrong variable to
memory_cleanse, resulting in the last byte of the temporary buffer not being
securely erased.

Github-Pull: #7922
Rebased-From: 57704499be
2016-06-04 18:01:02 +02:00
Wladimir J. van der Laan
e7ec24e336 Merge #8001: [0.12.2] backport script_tests improvements
e3a9ce9 Refactor script tests (Pieter Wuille)
87129b2 test: script_error checking in script_invalid tests (Wladimir J. van der Laan)
2016-05-31 15:52:55 +02:00
Pieter Wuille
e3a9ce9c94 Refactor script tests
Github-Pull: #7818
Rebased-From: c7c664191f 269281b7cc d03e46625a 76da761351 009b503792 dde46d3ae1
2016-05-04 13:01:59 +02:00
Wladimir J. van der Laan
87129b24e1 test: script_error checking in script_invalid tests
Github-Pull: #7517
Rebased-From: b0ff8572ae 2317ad7c56 0ecb3401fe
2016-05-04 13:01:55 +02:00
Suhas Daftuar
43c14acf14 Fix headers announcements edge case
Previously we would assert that if every block in vBlockHashesToAnnounce is in
chainActive, then the blocks to be announced must connect.  However, there are
edge cases where this assumption could be violated (eg using invalidateblock /
reconsiderblock), so just check for this case and revert to inv-announcement
instead.

Github-Pull: #7919
Rebased-From: 3a99fb2cb1
2016-04-27 22:34:48 +02:00
Alexander Regueiro
06c73a1751 Removed call to TryCreateDirectory from GetDefaultDataDir in src/util.cpp.
See https://github.com/bitcoin/bitcoin/issues/7845#issuecomment-207684728.
Also refactored `GetDefaultDataDir` function to return path for Mac in one expression.

Github-Pull: #7850
Rebased-From: 41dbc4849e
2016-04-27 22:34:48 +02:00
Suhas Daftuar
7e71785c40 Use txid as key in mapAlreadyAskedFor
Previously we used the CInv that would be sent to the peer announcing the
transaction as the key, but using the txid instead allows us to decouple the
p2p layer from the application logic (which relies on this map to avoid
duplicate tx requests).

Github-Pull: #7862
Rebased-From: 7e91f632c7
2016-04-27 22:34:48 +02:00
R E Broadley
d3ead9bcb6 Avoid "Unknown command" messages when receiving getaddr on outbound connections.
Github-Pull: #7642
Rebased-From: d84ea1a59ce3704457a162f1fd8a7353047156de
2016-04-27 22:34:48 +02:00
Patrick Strateman
a5bc6a1bc4 Remove vfReachable and modify IsReachable to only use vfLimited.
We do not know that a class of Network is reachable, only that it is not.

Github-Pull: #7553
Rebased-From: 110b62f069
2016-04-27 22:34:48 +02:00
Matthew Zipkin
52c101158f Clarify description of blockindex
see issues:

https://github.com/bitcoin-dot-org/bitcoin.org/issues/1237

https://github.com/bitcoin/bitcoin/issues/7532

Github-Pull: #7541
Rebased-From: 7eef1d0dad
2016-04-27 22:34:48 +02:00
Alex Morcos
21b2f82eb7 Don't resend wallet txs that aren't in our own mempool
Github-Pull: #7521
Rebased-From: 5a2b1c0c8b
2016-04-27 22:34:48 +02:00
Wladimir J. van der Laan
66d5408559 Fix memleak in TorController [rework]
It looks like, TorController::disconnected_cb(TorControlConnection&
conn) gets called multiple times which results in multiple event_new().

Avoid this by creating the event only once in the constructore, and
deleting it only once in the destructor (thanks to Cory Fields for the
idea).

Replaces the fix by Jonas Schnelli in #7610, see discussion there.

Github-Pull: #7637
Rebased-From: e219503711
2016-04-27 22:34:48 +02:00
jloughry
64fd0ce1d9 fix spelling of advertise in src and doc
Github-Pull: #7526
Rebased-From: 37767fd46f
2016-04-27 22:34:48 +02:00
instagibbs
a9e73f71d4 Fix and cleanup listreceivedbyX documentation
Github-Pull: #7527
Rebased-From: c372572595
2016-04-27 22:34:48 +02:00
ptschip
90955940d5 Do not download transactions during inital sync
Github-Pull: #7164
Rebased-From: 39a525c21f
2016-04-27 22:34:47 +02:00
MarcoFalke
89ae85484c Merge #7811: [0.12.2] qa Backports
6862627 Add listunspent() test for spendable/unspendable UTXO (Joao Fonseca)
28ba22c [qa] Remove misleading "errorString syntax" (MarcoFalke)
f1f1b82 [qa] py2: Unfiddle strings into bytes explicitly (MarcoFalke)
c0d9e31 Tests: make prioritise_transaction.py more robust (Suhas Daftuar)
ff9b436 [qa] Bug fixes and refactor (MarcoFalke)
b1dd64b [qa] wallet: Wait for reindex to catch up (MarcoFalke)
f23cb7c [qa] Add tests verifychain, lockunspent, getbalance, listsinceblock (MarcoFalke)
3316552 [qa] Test walletpassphrase timeout (MarcoFalke)
6aae129 [qa] wallet: Print maintenance (MarcoFalke)
ad8c743 [qa] Extend tests (MarcoFalke)
d89fbfe [qa] rpc-test: Normalize assert() (MarcoFalke)
2016-04-25 14:59:52 +02:00
MarcoFalke
f1f1b82033 [qa] py2: Unfiddle strings into bytes explicitly
Github-Pull: #7853
Rebased-From: faa41ee204, fa7abe0a00

 Conflicts:
	qa/rpc-tests/invalidtxrequest.py
	qa/rpc-tests/p2p-feefilter.py
	qa/rpc-tests/proxy_test.py
	qa/rpc-tests/test_framework/mininode.py
	qa/rpc-tests/test_framework/netutil.py
	src/test/bctest.py
2016-04-15 09:55:12 +02:00
Suhas Daftuar
46898e7e94 Version 2 transactions remain non-standard until CSV activates
Before activation, such transactions might not be mined, so don't
allow into the mempool.

- Tests: move get_bip9_status to util.py

- Test relay of version 2 transactions

Github-Pull: #7835
Rebased-From: e4ba9f6b04 5cb1d8a207 da5fdbb3a2
2016-04-08 14:22:04 +02:00
Wladimir J. van der Laan
4c3a00d35c Reduce block timeout to 10 minutes
Now that #7804 fixed the timeout handling, reduce the block timeout from
20 minutes to 10 minutes. 20 minutes is overkill.

Conflicts:
	src/main.h

Github-Pull: #7832
Rebased-From: 62b9a557fc
2016-04-07 13:53:48 +02:00
Pieter Wuille
90f1d246d3 Track block download times per individual block
Currently, we're keeping a timeout for each requested block, starting
from when it is requested, with a correction factor for the number of
blocks in the queue.

That's unnecessarily complicated and inaccurate.

As peers process block requests in order, we can make the timeout for each
block start counting only when all previous ones have been received, and
have a correction based on the number of peers, rather than the total number
of blocks.

Conflicts:
	src/main.cpp
	src/main.h

Self check after the last peer is removed

Github-Pull: #7804
Rebased-From: 2d1d6581ec 0e24bbf679
2016-04-07 13:16:16 +02:00
Wladimir J. van der Laan
4226aacdba init: allow shutdown during 'Activating best chain...'
Two-line patch to make it possible to shut down bitcoind cleanly during
the initial ActivateBestChain.

Fixes #6459 (among other complaints).

To reproduce:

- shutdown bitcoind
- copy chainstate
- start bitcoind
- let the chain sync a bit
- shutdown bitcoind
- copy back old chainstate
- start bitcoind
- bitcoind will catch up with all blocks during Init()

(the `boost::this_thread::interruption_point` / `ShutdownRequested()`
dance is ugly, this should be refactored all over bitcoind at some point
when moving from boost::threads to c++11 threads, but it works...)

Github-Pull: #7821
Rebased-From: 07398e8e9d
2016-04-07 13:00:17 +02:00
Wladimir J. van der Laan
c2106543fe pre-rc1 translations update
New languages:

- `af` Afrikaans
- `es_AR` Spanish (Argentina)
- `es_CO` Spanish (Colombia)
- `ro` Romanian
- `ta` Tamil
- `uz@Latn` Uzbek in Latin script
2016-04-05 18:01:12 +02:00
MarcoFalke
ad8c743421 [qa] Extend tests
Github-Pull: #7684
Rebased-From: fa3a81af18 fad7dc8a6c fad8cfb893
2016-04-05 11:53:50 +02:00
Wladimir J. van der Laan
834aaef7bd Merge #7543: [0.12] Backport BIP9, BIP68 and BIP112 with softfork
640666b [qa] rpc-tests: Properly use integers, floats (BtcDrak)
c270b62 Fix comments in tests (BtcDrak)
caf1381 Add bip68-sequence.py to extended rpc tests (BtcDrak)
26e9a05 Test of BIP9 fork activation of mtp, csv, sequence_lock (NicolasDorier)
3a99feb Add RPC test for BIP 68/112/113 soft fork. (Alex Morcos)
159ee3d Policy: allow transaction version 2 relay policy. (BtcDrak)
9713ed3 Soft fork logic for BIP68 (BtcDrak)
648be9b Soft fork logic for BIP113 (BtcDrak)
ee40924 Add CHECKSEQUENCEVERIFY softfork through BIP9 (Pieter Wuille)
6ff0b9f RPC test for BIP9 warning logic (Suhas Daftuar)
0710b30 Test versionbits deployments (Suhas Daftuar)
8ebc6f2 Add testing of ComputeBlockVersion (Suhas Daftuar)
0bdaacd Softfork status report in RPC (Pieter Wuille)
5f90d4e Versionbits tests (Pieter Wuille)
6f83cf2 BIP9 Implementation (Pieter Wuille)
ade85e1 Add LockPoints (Alex Morcos)
c8d309e Code style fix. (BtcDrak)
6170506 Separate CheckLockTime() and CheckSequence() logic (BtcDrak)
c0c5e09 BIP112: Implement CHECKSEQUENCEVERIFY (Mark Friedenbach)
197c376 fix sdaftuar's nits again (Alex Morcos)
0a79c04 Bug fix to RPC test (Alex Morcos)
0d09af7 Add RPC test exercising BIP68 (mempool only) (Suhas Daftuar)
15ba08c Implement SequenceLocks functions (Alex Morcos)
2016-04-04 13:08:29 +02:00
BtcDrak
869262605f Disable bad chain alerts
Continuous false positives lead to them being ignored entirely
so it's better to disable now until this can be fixed more
thoroughly.
2016-03-31 20:50:54 +01:00
Wladimir J. van der Laan
ba80ceef59 bump version to 0.12.1 2016-03-30 20:12:21 +02:00
BtcDrak
c0fe2c9e03 Mark p2p alert system as deprecated.
Set default to off
This feature is removed entirely as of 0.13.0
2016-03-24 20:06:06 +00:00
Jonas Schnelli
597494f5a9 Remove openssl info from init/log and from Qt debug window
Conflicts:
	src/init.cpp

Github-Merge: #7605
Rebased-From: 5ecfa36fd0
2016-03-24 12:09:23 +01:00
Jonas Schnelli
7ffc2bd943 [Wallet][RPC] add abandoned status to listtransactions
Github-Pull: #7739
Rebased-From: 263de3d1c8
2016-03-23 16:30:49 +01:00
Alex Morcos
19866c1ffc Fix calculation of balances and available coins.
No longer consider coins which aren't in our mempool.

Add test for regression in abandonconflict.py

Github-Pull: #7715
Rebased-From: 68d4282774
2016-03-23 15:11:22 +01:00
BtcDrak
159ee3dd90 Policy: allow transaction version 2 relay policy.
This commit introduces a way to gracefully bump the default
transaction version in a two step process.
2016-03-18 09:28:41 +00:00
BtcDrak
9713ed3015 Soft fork logic for BIP68 2016-03-18 09:28:40 +00:00
BtcDrak
648be9b442 Soft fork logic for BIP113 2016-03-18 09:28:40 +00:00
Pieter Wuille
ee40924fef Add CHECKSEQUENCEVERIFY softfork through BIP9 2016-03-18 09:28:40 +00:00
Suhas Daftuar
0710b303d6 Test versionbits deployments 2016-03-18 09:14:53 +00:00
Suhas Daftuar
8ebc6f2aac Add testing of ComputeBlockVersion 2016-03-18 09:14:53 +00:00
Pieter Wuille
0bdaacd791 Softfork status report in RPC 2016-03-18 09:14:52 +00:00
Pieter Wuille
5f90d4e294 Versionbits tests 2016-03-18 09:14:52 +00:00
Pieter Wuille
6f83cf2adb BIP9 Implementation
Inspired by former implementations by Eric Lombrozo and Rusty Russell, and
based on code by Jorge Timon.
2016-03-18 09:14:52 +00:00
Alex Morcos
ade85e126d Add LockPoints
Obtain LockPoints to store in CTxMemPoolEntry and during a reorg, evaluate whether they are still valid and if not, recalculate them.
2016-03-18 09:14:52 +00:00
BtcDrak
c8d309e4b4 Code style fix.
This if statement is a little obtuse and using braces here
improves readability.
2016-03-18 09:14:52 +00:00
BtcDrak
6170506fdf Separate CheckLockTime() and CheckSequence() logic
For the sake of a little repetition, make code more readable.
2016-03-18 09:14:52 +00:00
Mark Friedenbach
c0c5e09fe2 BIP112: Implement CHECKSEQUENCEVERIFY
- Replace NOP3 with CHECKSEQUENCEVERIFY (BIP112)
  <nSequence> CHECKSEQUENCEVERIFY -> <nSequence>
- Fails if txin.nSequence < nSequence, allowing funds of a txout to be locked for a number of blocks or a duration of time after its inclusion in a block.
- Pull most of CheckLockTime() out into VerifyLockTime(), a local function that will be reused for CheckSequence()
- Add bitwise AND operator to CScriptNum
- Enable CHECKSEQUENCEVERIFY as a standard script verify flag
- Transactions that fail CSV verification will be rejected from the mempool, making it easy to test the feature. However blocks containing "invalid" CSV-using transactions will still be accepted; this is *not* the soft-fork required to actually enable CSV for production use.
2016-03-18 09:14:52 +00:00
Alex Morcos
197c3760ff fix sdaftuar's nits again
it boggles the mind why these nits can't be delivered on a more timely basis
2016-03-18 09:14:52 +00:00
Alex Morcos
15ba08c3b5 Implement SequenceLocks functions
SequenceLocks functions are used to evaluate sequence lock times or heights per BIP 68.

The majority of this code is copied from maaku in #6312
Further credit: btcdrak, sipa, NicolasDorier
2016-03-18 09:14:52 +00:00
MarcoFalke
f04f4fd2ee [doc/log] Fix markdown syntax and line terminate LogPrint
- Fix doxygen comment for payTxFee
- [doc] Fix markdown
- Make sure LogPrintf strings are line-terminated

Github-Pull: #7617
Rebased-From: fa06ce0949 fa97f95c15 fa26652459
2016-03-11 09:44:17 +01:00
Wladimir J. van der Laan
68134263e2 qt: Translation update pre-rc5 2016-02-10 21:18:33 +01:00