Commit graph

13120 commits

Author SHA1 Message Date
Mikerah d2ec96909a Fixed typo in documentation for merkleblock.h
Github-Pull: #10258
Rebased-From: dd07068d6b
2017-06-05 22:58:53 +00:00
Luke Dashjr 3612219f9a contrib/init/bitcoind.openrcconf: Don't disable wallet by default
It's harmless if it goes unused, and confused when a wallet is desired

Github-Pull: #10451
Rebased-From: afc693dea6
2017-06-05 22:58:53 +00:00
fanquake 692dbb0288 [doc] Minor corrections to osx dependencies
Github-Pull: #10260
Rebased-From: 661caf83b3
2017-06-05 22:58:53 +00:00
Pieter Wuille 87a21d5922 Fix: make CCoinsViewDbCursor::Seek work for missing keys
Thanks to Suhas Daftuar for figuring this out.

Github-Pull: #10445
Rebased-From: 822755a424
2017-06-05 22:58:25 +00:00
Thomas Snider 28b8b8b603 [wallet] Securely erase potentially sensitive keys/values
Github-Pull: #10308
Rebased-From: 6c914ac176
2017-06-05 22:58:24 +00:00
Karl-Johan Alm ff13f592c5 [wallet] Make sure pindex is non-null before possibly referencing in LogPrintf call.
Github-Pull: #10265
Rebased-From: c36ea693ee
2017-06-05 22:58:24 +00:00
Pieter Wuille e23cef0c94 Fix some empty vector references
streams.h has some methods that can be tricked into dereferencing
null pointers or end() iterators. Fix this.

Github-Pull: #10250
Rebased-From: f478d98fe4
2017-06-05 22:58:23 +00:00
Luke Dashjr a40d69e0b8 Merge #10328 via branch 'debianppa-0.14' into 0.14.2_fixes 2017-06-05 22:58:07 +00:00
Luke Dashjr 1b864c9820 Merge #9497 via remote-tracking branch 'origin-pull/9497/head' into 0.14.2_fixes 2017-06-05 22:58:00 +00:00
Luke Dashjr 77de9bbc57 Merge #10008 via branch 'fee_warning-0.14' into 0.14.2_fixes 2017-06-05 22:57:49 +00:00
Luke Dashjr aca4b6dbcb Merge #9481 via remote-tracking branch 'jonas/2017/01/fee_warning' into 0.14.2_fixes 2017-06-05 22:57:35 +00:00
Luke Dashjr e05799a381 Merge #10234, #10143 (fixes only), and #9853 via branch 'disconnect_ban_fixes-0.14' into 0.14.2_fixes 2017-06-05 22:57:27 +00:00
John Newbery ee1a60d156 [tests] update disconnect_ban.py test case to work with listbanned
Github-Pull: #10234
Rebased-From: d6732d832a
2017-06-05 22:56:22 +00:00
John Newbery d289b564e3 [net] listbanned RPC and QT should show correct banned subnets
Github-Pull: #10234
Rebased-From: 77c54b270d
2017-06-05 22:56:05 +00:00
John Newbery 04226938a3 [tests] disconnect_ban: remove dependency on urllib
Github-Pull: #10143
Rebased-From: 5cc3ee24d2
2017-06-05 22:56:04 +00:00
John Newbery 98bd0c338b [tests] disconnect_ban: use wait_until instead of sleep
Github-Pull: #10143
Rebased-From: 12de2f252c
2017-06-05 22:55:10 +00:00
Luke Dashjr 99e5dbd0aa Merge #9853 via branch 'fixerrorcodes-0.14' into 0.14.2_fixes 2017-06-05 19:33:18 +00:00
Luke Dashjr 74653a41fe Merge #10196 via branch 'prioritisetx_gbtcache-0.14' into 0.14.2_fixes 2017-06-05 19:33:01 +00:00
John Newbery bfd1cf6713 [tests] disconnectban test - only use two nodes
Github-Pull: #10143
Rebased-From: 395561becf
2017-06-05 19:26:13 +00:00
John Newbery 5bc75bb8ee [tests] fix nodehandling.py flake8 warnings
Github-Pull: #10143
Rebased-From: d6564a26f4
2017-06-05 19:26:13 +00:00
John Newbery c25d0a8739 Update release notes to include RPC error code changes.
Github-Pull: #9853
Rebased-From: adaa281da1
2017-06-05 19:02:01 +00:00
John Newbery f5efe82a83 Return correct error codes in fundrawtransaction().
The fundrawtransaction() RPC was returning misleading or incorrect error
codes (for example RPC_INTERNAL_ERROR when funding the transaction
failed). This commit fixes those error codes:

- RPC_INTERNAL_ERROR should not be returned for application-level
errors, only for genuine internal errors such as corrupted data.

That error code has been replaced with RPC_WALLET_ERROR.

This commit also updates the test cases to explicitly test the error code.

Github-Pull: #9853
Rebased-From: dab804c18a
2017-06-05 19:01:16 +00:00
John Newbery 4943d7a9fe Return correct error codes in setban().
The setban() RPC was returning misleading or incorrect error
codes (for example RPC_CLIENT_NODE_ALREADY_ADDED when an invalid IP
address was entered). This commit fixes those error codes:

- RPC_CLIENT_INVALID_IP_OR_SUBNET should be returned if the client
  enters an invalid IP address or subnet.

This commit also updates the test cases to explicitly test the error code.

This commit also adds a testcase for trying to setban on an invalid subnet.

Github-Pull: #9853
Rebased-From: a012087667
2017-06-05 19:01:16 +00:00
John Newbery 18c109ddb1 Return correct error codes in removeprunedfunds().
The removeprunedfunds() RPC was returning misleading or incorrect error
codes (for example RPC_INTERNAL_ERROR when the transaction was
not found in the wallet). This commit fixes those error codes:

- RPC_INTERNAL_ERROR should not be returned for application-level
errors, only for genuine internal errors such as corrupted data.

This error code has been replaced with RPC_WALLET_ERROR.

This commit also updates the test cases to explicitly test the error code.

Github-Pull: #9853
Rebased-From: 960bc7f778
2017-06-05 19:01:16 +00:00
John Newbery fe51c8924e Return correct error codes in blockchain.cpp.
RPCs in blockchain.cpp were returning misleading or incorrect error
codes (for example getblock() returning RPC_INTERNAL_ERROR when the
block had been pruned). This commit fixes those error codes:

- RPC_INTERNAL_ERROR should not be returned for application-level
  errors, only for genuine internal errors such as corrupted data.
- RPC_METHOD_NOT_FOUND should not be returned in response to a
  JSON request for an existing method.

Those error codes have been replaced with RPC_MISC_ERROR or
RPC_INVALID_PARAMETER as appropriate.

Github-Pull: #9853
Rebased-From: c1190963b3
2017-06-05 19:01:16 +00:00
John Newbery 3ad00b4b32 Return correct error codes in bumpfee().
The bumpfee() RPC was returning misleading or incorrect error codes
(for example RPC_INVALID_ADDRESS_OR_KEY when the transaction was not
BIP125 replacable). This commit fixes those error codes:

- RPC_INVALID_ADDRESS_OR_KEY if an invalid address was provided:
    - Invalid change address given
- RPC_INVALID_PARAMETER if a single (non-address/key) parameter is incorrect
    - confTarget and totalFee options should not both be set.
    - Invalid confTarget
    - Insufficient totalFee (cannot be less than required fee)
- RPC_WALLET_ERROR for any other error
    - Transaction has descendants in the wallet
    - Transaction has descendants in the mempool
    - Transaction has been mined, or is conflicted with a mined transaction
    - Transaction is not BIP 125 replaceable
    - Transaction has already been bumped
    - Transaction contains inputs that don't belong to the wallet
    - Transaction has multiple change outputs
    - Transaction does not have a change output
    - Fee is higher than maxTxFee
    - New fee rate is less than the minimum fee rate
    - Change output is too small.

This commit also updates the test cases to explicitly test the error code.

Github-Pull: #9853
Rebased-From: 6d07c62322
2017-06-05 19:01:16 +00:00
Wladimir J. van der Laan 21e1ed4898
doc: Preliminary release notes 0.14.2 2017-06-05 08:44:09 +02:00
Matt Corallo 6ad45b8f8b Re-enable upnp support in contrib/debian
Github-Pull: #10328
Rebased-From: 91700aa1df
2017-06-03 21:59:37 +00:00
Matt Corallo e9a0d89bf7 Build with QT5 on Debian-based systems using contrib/debian
Github-Pull: #10328
Rebased-From: c5071e1f03
2017-06-03 21:59:36 +00:00
Matt Corallo 2ea035832f Bump minimum boost version in contrib/debian
Github-Pull: #10328
Rebased-From: a8e928699a
2017-06-03 21:59:36 +00:00
Matt Corallo c94e262d4b Update contrib/debian to latest Ubuntu PPA upload.
This:
 * Partially reverts 9f68ed6 (which fixed spelling in a changelog,
   though generally changelogs should be append-only).
 * Disables UPnP support (PPA has not had it for a while, and I
   still don't trust miniupnpc, plus it seems uneccessary - its
   been a while since we needed to care about Bitcoin-Qt home users
   getting their inbound ports auto-mapped).
 * Enables ZMQ.
 * Forces GUI to Qt4 to fix various issues people have been seeing
   on Ubuntu and elsewhere with Qt5.
 * Reverts 70899d70b (Bitcoin does not enable "instant payments",
   not is transaction management "carried out collectively by the
   network", for whatever "transaction management" means, finally
   Bitcoin Core is not the only way to use the Bitcoin currency,
   as seemingly implied in the description).

Github-Pull: #10328
Rebased-From: 997021986e
2017-06-03 21:59:36 +00:00
practicalswift ef810c4cd4 [trivial] Fix a typo (introduced two days ago) in the default fee warning
Github-Pull: #10008
Rebased-From: a3ca43bb32
2017-06-03 21:19:05 +00:00
Wladimir J. van der Laan 4a41de4585
build: bump version to 0.14.2 2017-06-02 07:39:56 +02:00
Cory Fields 9e3ad50078
net: only enforce the services required to connect
also once half of all outgoing nodes have our preferred flags, require only
minimal flags from the rest.

Github-Pull: #10441
Rebased-From: b6fbfc2282
2017-06-01 13:26:12 +02:00
Wladimir J. van der Laan ff3f9a807d
Merge #10484: 0.14 Backports
1847642 [Wallet] unset change position when there is no change on exact match (Gregory Sanders)
ae479bc build: fix bitcoin-config.h regeneration after touching build files (Cory Fields)
3d395d6 build: remove wonky auto top-level convenience targets (Cory Fields)
4bc99c3 Add missing <atomic> header in clientmodel.h (Jonas Schnelli)
222f377 Set both time/height header caches at the same time (Jonas Schnelli)
7da1337 Declare headers height/time cache mutable, re-set the methods const (Jonas Schnelli)
9ac40e8 Update the remaining blocks left in modaloverlay at init. (Jonas Schnelli)
1e936d7 Reduce cs_main locks during modal overlay by adding an atomic cache (Jonas Schnelli)
0aee4a1 Check interruptNet during dnsseed lookups (Matt Corallo)
2017-05-31 18:05:06 +02:00
Gregory Sanders 18476423fb
[Wallet] unset change position when there is no change on exact match 2017-05-31 10:57:16 +02:00
Cory Fields ae479bc45b
build: fix bitcoin-config.h regeneration after touching build files
This was a long-standing and annoying problem.

If autogen.sh was not manually run after touching configure.ac,
bitcoin-config.h would not be properly regenerated. This causes very subtle
problems when configure appears to enable a new value, but it does not end up
reflected in the build.
2017-05-31 10:54:19 +02:00
Cory Fields 3d395d6815
build: remove wonky auto top-level convenience targets
These were meant to help build subdir targets from the top builddir, but cause
infinite recursion when going the other way.

If anyone actually uses these, we can add back specific targets.
2017-05-31 10:54:19 +02:00
Jonas Schnelli 4bc99c3b28
Add missing <atomic> header in clientmodel.h 2017-05-31 10:53:47 +02:00
Jonas Schnelli 222f3775cf
Set both time/height header caches at the same time 2017-05-31 10:53:47 +02:00
Jonas Schnelli 7da133772d
Declare headers height/time cache mutable, re-set the methods const 2017-05-31 10:53:47 +02:00
Jonas Schnelli 9ac40e853c
Update the remaining blocks left in modaloverlay at init. 2017-05-31 10:53:47 +02:00
Jonas Schnelli 1e936d7e87
Reduce cs_main locks during modal overlay by adding an atomic cache 2017-05-31 10:53:46 +02:00
Matt Corallo 0aee4a132b
Check interruptNet during dnsseed lookups 2017-05-31 10:52:56 +02:00
Shigeya Suzuki 44a17f278a
Minor fix in build documentation for FreeBSD 11
- Package name is libevent, not libevent2
- Need to use GNU make

Github-Pull: #10245
Rebased-From: 0611bc3439
2017-05-29 11:58:24 +02:00
Russell Yanofsky 321419bc06
Fix importwallet edge case rescan bug
Start importwallet rescans at the first block with timestamp greater or equal
to the wallet birthday instead of the last block with timestamp less or equal.
This fixes an edge case bug where importwallet could fail to start the rescan
early enough if there are blocks with decreasing timestamps or multiple blocks
with the same timestamp.

Github-Pull: #10410
Rebased-From: 2a8e35a11d
2017-05-23 17:09:42 +02:00
Alex Morcos 37a8fc54d4
Populate services in GetLocalAddress
Previously if we didn't have any local addresses, GetLocalAddress would return
0.0.0.0 and then we'd swap in a peer's notion of our address in AdvertiseLocal,
but then nServices would never get set.

Github-Pull: #10424
Rebased-From: 307013469f
2017-05-22 12:56:13 +02:00
fanquake ffb0c4b035
[depends] miniupnpc 2.0.20170509
Github-Pull: #10414
Rebased-From: af5d48c9a0
2017-05-17 20:58:56 +02:00
Wladimir J. van der Laan f2a96e7d02
doc: clean out release notes 2017-04-22 16:22:09 +02:00
Suhas Daftuar 71463a7d18 [qa] Test prioritise_transaction / getblocktemplate interaction
Github-Pull: #10196
Rebased-From: 6a61424c9eed072ae8d79d68aac71f525c1608b5
2017-04-21 12:38:23 +00:00