Commit graph

15190 commits

Author SHA1 Message Date
Anthony Towns
d601f16621 Fix invalid memory access in CScript::operator+= 2017-09-11 13:40:31 +10:00
MarcoFalke
ee50c9e487
Merge #11276: [Docs] Update CONTRIBUTING.md to reduce unnecessary review workload
91c39e38d Update CONTRIBUTRING.md to reduce unnecesarry review workload (Jonas Schnelli)

Pull request description:

  The current workload for reviewing pull requests is relatively high and trivial, non-beneficial pull requests tend to slow down the overall development process.

  We may want to directly close trivial, non-beneficially pull requests during time of high pull request load.

  This PR would prepare for possible direct PR closing.

Tree-SHA512: 6a0fb0133e42a400133cc77e4830620c26af4fe5b69f6238e0e77e686d785bd984d85c681a942701e7719de836147e646091a6c492f1d1e2abb906129566082f
2017-09-10 18:40:23 +02:00
MeshCollider
b73628d5a8 Make sure ~/.bitcoin doesn't exist before build 2017-09-10 16:30:52 +12:00
MarcoFalke
11dacc6154
Merge #11286: [depends] Don't build libevent sample code
f38c05104 [depends] Don't build libevent sample code (fanquake)

Pull request description:

  Noticed today while doing Windows depends builds.
  Before and after libevent build on OS X.

  ```
  Building libevent...
    GEN      include/event2/event-config.h
  /Applications/Xcode.app/Contents/Developer/usr/bin/make  all-am
    CC       buffer.lo
    CC       bufferevent.lo
    CC       bufferevent_filter.lo
    CC       bufferevent_ratelim.lo
    CC       bufferevent_sock.lo
    CC       bufferevent_pair.lo
    CC       event.lo
    CC       evmap.lo
    CC       evthread.lo
    CC       evutil.lo
    CC       evutil_rand.lo
    CC       evutil_time.lo
    CC       listener.lo
    CC       log.lo
    CC       select.lo
    CC       poll.lo
    CC       kqueue.lo
    CC       signal.lo
    CC       evdns.lo
    CC       event_tagging.lo
    CC       evrpc.lo
    CC       http.lo
    CC       evthread_pthread.lo
    CC       sample/dns-example.o
    CC       sample/event-read-fifo.o
    CC       sample/hello-world.o
    CC       sample/http-server.o
    CC       sample/http-connect.o
    CC       sample/signal-test.o
    CC       sample/time-test.o
    CCLD     libevent_core.la
    CCLD     libevent_pthreads.la
    CCLD     libevent.la
    CCLD     libevent_extra.la
    CCLD     sample/event-read-fifo
    CCLD     sample/dns-example
    CCLD     sample/hello-world
    CCLD     sample/http-server
    CCLD     sample/http-connect
    CCLD     sample/signal-test
    CCLD     sample/time-test
  Staging libevent...
  ```

  ```
  Building libevent...
    GEN      include/event2/event-config.h
  /Applications/Xcode.app/Contents/Developer/usr/bin/make  all-am
    CC       buffer.lo
    CC       bufferevent.lo
    CC       bufferevent_filter.lo
    CC       bufferevent_pair.lo
    CC       bufferevent_ratelim.lo
    CC       bufferevent_sock.lo
    CC       event.lo
    CC       evmap.lo
    CC       evthread.lo
    CC       evutil.lo
    CC       evutil_rand.lo
    CC       evutil_time.lo
    CC       listener.lo
    CC       log.lo
    CC       select.lo
    CC       poll.lo
    CC       kqueue.lo
    CC       signal.lo
    CC       evdns.lo
    CC       event_tagging.lo
    CC       evrpc.lo
    CC       http.lo
    CC       evthread_pthread.lo
    CCLD     libevent_core.la
    CCLD     libevent_pthreads.la
    CCLD     libevent.la
    CCLD     libevent_extra.la
  Staging libevent...
  ```

Tree-SHA512: a82bde38e110a16f934c0f1e95d3ae66662c1b3c1367e4a6e7c4994f585ebeea4f5cbee4d98a8dc64a8e8936eb9f4bb0c55fb65e718f724d88e81cb8fa84be88
2017-09-10 04:39:11 +02:00
MeshCollider
c626dcb50e Make fUseCrypto atomic 2017-09-10 11:29:08 +12:00
Pieter Wuille
3255d6347b
Merge #11285: Add -usehd to excluded args in check-doc.py
7d03418ae Add -usehd to excluded args in check-doc.py (MeshCollider)

Pull request description:

  All Travis builds on master are currently failing due to contrib/devtools/check-doc.py picking up `-usehd` in `src/wallet/wallet.cpp#L3845` as an undocumented argument (removed in https://github.com/bitcoin/bitcoin/pull/11250). Just need to add it to the list of unsupported, deprecated and duplicate args in check-doc.py so that it's ignored. Otherwise all builds on top of https://github.com/bitcoin/bitcoin/pull/11250 will fail until this is merged.

Tree-SHA512: 205c9be759b04bc3b85ac2b53fd455b3c0e229320d8e2b7f7d0ef5d5bd8033594b38a2d948250894ee2f4451584aca698476cd4b5cdf82955925683e3068a67c
2017-09-08 11:41:10 -07:00
fanquake
f38c051048
[depends] Don't build libevent sample code 2017-09-08 16:29:01 +08:00
practicalswift
b8d91e03a9 [Docs] Fix broken Markdown table in dependencies.md. Cleanups.
Use the correct capitalization for the dependencies

Sort dependencies

Fix header formatting. Minor style cleanups.
2017-09-08 09:44:20 +02:00
MeshCollider
7d03418aea Add -usehd to excluded args in check-doc.py 2017-09-08 19:21:52 +12:00
Wladimir J. van der Laan
c22a53cd63
Merge #11250: Bump wallet version to 159900 and remove the usehd option
713a92073 Remove usehd option and warn when it is used (Andrew Chow)
d4c18f733 Bump wallet version number to 159900 (Andrew Chow)

Pull request description:

  Bump the wallet version number to 159900 so that new wallets made without a default key will no longer work on previous versions at all. Also remove the `usehd` option to avoid weird interaction with wallet version numbers and HD-ness of wallets.

Tree-SHA512: dd7965505bfad6a926c79afd423236f509229a398a8398076f8d57d90a5974243f9459a61225c4daee560c796f427445c9e55a3ad528a3a97a9123ca6a1269ab
2017-09-08 02:28:12 +02:00
Jonas Schnelli
91c39e38d9
Update CONTRIBUTRING.md to reduce unnecesarry review workload 2017-09-07 16:57:40 -07:00
Wladimir J. van der Laan
5acd82de9a rpc: make estimatesmartfee argument naming consistent with documentation
Part of this was a reversion in ec6902d0ea.
2017-09-08 01:55:59 +02:00
Wladimir J. van der Laan
24697c40ee rpc: update cli for estimatefee argument rename
The first argument of estimatesmartfee was renamed from nblocks to
conf_target in 06bcdb8da6. Update the
client-side table as well.
2017-09-08 01:55:59 +02:00
Andrew Chow
713a92073b Remove usehd option and warn when it is used
Removed the -usehd option so wallets cannot be made to be non-hd
anymore. A warning will be displayed when the option is set.
2017-09-07 16:37:44 -07:00
Andrew Chow
d4c18f7330 Bump wallet version number to 159900 2017-09-07 16:37:07 -07:00
MarcoFalke
791a0e6dda
Merge #10767: [wallet] Clarify wallet initialization / destruction interface
5d2a3995e [trivial] fixup comment for VerifyWallets() (John Newbery)
43b0e81d0 [wallet] Add StartWallets() function to wallet/init.cpp (John Newbery)
290f3c56d [wallet] Add RegisterWalletRPC() function to wallet/init.cpp (John Newbery)
062d63102 [wallet] Add CloseWallets() function to wallet/init.cpp (John Newbery)
77fe07c15 [wallet] Add StopWallets() function to wallet/init.cpp (John Newbery)
2da5eafa4 [wallet] Add FlushWallets() function to wallet/init.cpp (John Newbery)
1b9cee66e [wallet] Rename WalletVerify() to VerifyWallets() (John Newbery)
9c76ba18c [wallet] Rename InitLoadWallet() to OpenWallets() (John Newbery)

Pull request description:

  Apologies for the mostly code move only PR. This is a pre-req for both #10740 and #10762

  All wallet component initialization/destruction functions are now in their own `wallet/init.cpp` translation unit and are no longer static functions on the CWallet class. The bitcoin_server also no longer has any knowledge that there are multiple wallets in vpwallet.

  There should be no changes in behavior from this PR.

Tree-SHA512: 7c260eb094f2fa1a88d803769ba60935810968a7309f731135e4b17623b97f18c03bbcd293c942093d1efce62c6c978f9ff484d54dc9a60bc2fcb5af2d160fcd
2017-09-07 16:35:52 -07:00
John Newbery
5d2a3995e7 [trivial] fixup comment for VerifyWallets() 2017-09-07 16:22:11 -07:00
John Newbery
43b0e81d0f [wallet] Add StartWallets() function to wallet/init.cpp 2017-09-07 16:21:26 -07:00
John Newbery
290f3c56d9 [wallet] Add RegisterWalletRPC() function to wallet/init.cpp 2017-09-07 16:21:26 -07:00
John Newbery
062d63102e [wallet] Add CloseWallets() function to wallet/init.cpp 2017-09-07 16:21:26 -07:00
John Newbery
77fe07c159 [wallet] Add StopWallets() function to wallet/init.cpp 2017-09-07 16:21:26 -07:00
John Newbery
2da5eafa47 [wallet] Add FlushWallets() function to wallet/init.cpp 2017-09-07 16:21:26 -07:00
John Newbery
1b9cee66e1 [wallet] Rename WalletVerify() to VerifyWallets()
This function can now verify multiple wallets.
2017-09-07 16:21:09 -07:00
John Newbery
9c76ba18cd [wallet] Rename InitLoadWallet() to OpenWallets()
Rationale:
- this init function can now open multiple wallets (hence
  Wallet->Wallets)
- This is named as the antonym to CloseWallets(), which carries out the
  opposite action.
2017-09-07 16:19:17 -07:00
Wladimir J. van der Laan
efb4383ef6
Merge #10793: Changing &var[0] to var.data()
592404f03 Changing &vec[0] to vec.data(), what 9804 missed (MeshCollider)

Pull request description:

  This just continues the work of https://github.com/bitcoin/bitcoin/pull/9804

  Modifies a lot of `&vector[]`'s to `vector.data()`'s across all the files including tests, just the stuff that 9804 missed

Tree-SHA512: dd1a9dffb999dea4fba78dcc91fe02f90250db86f5c74948e1ff3e8b4036b2154b600555eaa04dece5368920aae3513bc36425dc96e4319ca1041b0928a6b656
2017-09-08 01:16:54 +02:00
Wladimir J. van der Laan
723e580657
Merge #10756: net processing: swap out signals for an interface class
2525b972a net: stop both net/net_processing before destroying them (Cory Fields)
80e2e9d0c net: drop unused connman param (Cory Fields)
8ad663c1f net: use an interface class rather than signals for message processing (Cory Fields)
28f11e940 net: pass CConnman via pointer rather than reference (Cory Fields)

Pull request description:

  See individual commits.
  Benefits:
  - Allows us to begin moving stuff out of CNode and into CNodeState (after #10652 and follow-ups)
  - Drops boost dependency and overhead
  - Drops global signal registration
  - Friendlier backtraces

Tree-SHA512: af2038c959dbec25f0c90c74c88dc6a630e6b9e984adf52aceadd6954aa463b6aadfccf979c2459a9f3354326b5077ee02048128eda2a649236fadb595b66ee3
2017-09-08 01:01:12 +02:00
MeshCollider
592404f03f Changing &vec[0] to vec.data(), what 9804 missed 2017-09-08 10:36:26 +12:00
MarcoFalke
638e6c59da
Merge #11271: travis: filter out pyenv
aa2e0f09e travis: filter out pyenv (Cory Fields)

Pull request description:

  Testing.

Tree-SHA512: e7abe9160e1050918a65eb4b362b6cf4fd0b8e61d1422cd78cf2018e42e1e1b88a8130c8980a61f8774222699a26b417a6ef3f5cf82915f47b44cb731b612c20
2017-09-07 15:15:24 -07:00
Wladimir J. van der Laan
77aa9e59ea test: Check RPC argument mapping
Parse the dispatch tables from the server implementation files,
and the conversion table from the client.

Perform the following consistency checks:

- Arguments defined in conversion table, must be present in dispatch
  table. If not, it was probably forgotten to add them to the
  dispatch table, and they will not work.

- Arguments defined in conversion table must have the same names as
  in the dispatch table. If not, they will not work.

- All aliases for an argument must either be present in the
  conversion table, or not. Anything in between means an oversight
  and some aliases won't work.

Any of these results in an error.

It also performs a consistency check to see if the same
named argument is sometimes converted, and sometimes not. E.g.
one RPC call might have a 'verbose' argument that is converted,
another RPC call might have one that is not converted. This is not
necessarily wrong, but points at a possible error (as well as
makes the API harder to memorize) - so it is emitted as a warning
(could upgrade this to error).
2017-09-07 22:34:18 +02:00
Cory Fields
aa2e0f09ec travis: filter out pyenv 2017-09-07 16:19:05 -04:00
MarcoFalke
52f8877525
Merge #11260: travis: Assert default datadir isn't created, Run scripted diff only once
fa40b0eb5 travis: Assert default datadir isn't created, Run scripted diff only once (MarcoFalke)

Pull request description:

  It is sufficient to check the scripted diffs on one arch, i.e. `CHECK_DOC`==1.

  Also, the default datadir should not be created by just running the tests.

Tree-SHA512: d55e77cf0a888287f5d070ae368b24e7183863374420a7b8a2f9a69e3dc0a27dd5366b81d90646c2aa2c40e052d1bc7bf88644c19e153cc411d483d2ce95c973
2017-09-07 13:07:51 -07:00
Wladimir J. van der Laan
e6ab88a452
Merge #10916: add missing lock to crypter GetKeys()
fe09b0197 add missing lock to crypter GetKeys() (Marko Bencun)
5cb3da04b keystore GetKeys(): return result instead of writing to reference (Marko Bencun)

Pull request description:

  Issue: #10905

  First commit makes GetKeys() return the result instead of writing to a reference to remove some useless lines.

Tree-SHA512: bb51255b5a6cf5488c3d5dee89f539d41f0717f018441d120047f877e0a705a133fb3b7a97d1cf8f73b5d2ed93dd2dbdfcd6f394e40105af2a12e01d397cb402
2017-09-07 22:04:18 +02:00
Wladimir J. van der Laan
2f0d3e604a
Merge #11232: Ensure that data types are consistent
061297f0a Ensure that data types are consistent (jjz)

Pull request description:

  1. nStatus of CBlockIndex  is consistent with the definition of Enum(BlockStatus)
  2. The BlockHeader is consistent with the type of variable defined in CBlockHeader

Tree-SHA512: 3d4a55c62d3e17b9c83807eae153db4fcfcd8477c9413a45dedfa157563e77b775a66974648d28c9d44ac45a5705eef83b31a8a3b44316dc9814b85526a9d034
2017-09-07 21:09:00 +02:00
Wladimir J. van der Laan
e7f125562f
Merge #11237: qt: Fixing division by zero in time remaining
c8d38abd6 Refactor tipUpdate as per style guide (MeshCollider)
3b69a08c5 Fix division by zero in time remaining (MeshCollider)

Pull request description:

  Fixes https://github.com/bitcoin/bitcoin/issues/10291, https://github.com/bitcoin/bitcoin/issues/11265

  progressDelta may be 0 (or even negative according to 11265), this checks for that and prints unknown if it is, because we cannot calculate an estimate for the time remaining (would be infinite or negative).

Tree-SHA512: bc5708e5ed6e4670d008219558c5fbb25709bd99a32c98ec39bb74f94a0b7fa058f3d03389ccdd39e6723e6b5b48e34b13ceee7c051c2db631e51d8ec3e1d68c
2017-09-07 21:05:47 +02:00
Cory Fields
2525b972af net: stop both net/net_processing before destroying them
This should avoid either attempting to use an invalid reference/pointer to the
other.
2017-09-07 14:26:23 -04:00
Jonas Schnelli
f151f5f50f
[macOS] remove Growl support, remove unused code 2017-09-07 10:11:44 -07:00
Jonas Schnelli
a3624ddb1a
Merge #11156: Fix memory leaks in qt/guiutil.cpp
9b348ff9e Fix memory leaks in qt/guiutil.cpp (Dan Raviv)

Pull request description:

  on macOS:
  `listSnapshot` was leaking in `findStartupItemInList()`
  `bitcoinAppUrl` was leaking in `[Get|Set]StartOnSystemStartup()`

Tree-SHA512: dd49e1166336cf4f20035d21930f2f99f21f1d9f91a1101b1434a23dd0b92d402ac7efb177473c758d8af1dbab8d8750485583231c5b5854203d2493f0b43e73
2017-09-07 10:02:27 -07:00
Jonas Schnelli
ea729d55b4
Merge #10770: Drop upgrade-cancel callback registration for a generic "cancelable"
ee4d1493e Drop upgrade-cancel callback registration for a generic "resumeable" (Matt Corallo)

Pull request description:

  Instead of passing a StartShutdown reference all the way up from
  txdb, give ShowProgress a "cancelable" boolean, as StartShutdown
  is pretty much always what you'll want to use to cancel. Use the
  same boolean to allow cancel during initial block verification.

Tree-SHA512: 515817aaa4b9e3e856200e00be9c2d44ecfa2d4f288fe3e02116105fe85de2650c13076ee7e45396ec1ce6ab45e53b0477cddda7cfdee5b3bd0589cb81a4c346
2017-09-07 09:21:04 -07:00
Jonas Schnelli
9c8f3655cc
Merge #10911: [qt] Fix typo and access key in optionsdialog.ui
d2be7b25b Typo in optionsdialog.ui Tooltip displayed ampersand incorrectly, & should be in text. (James Evans)

Pull request description:

  Tooltip displayed ampersand incorrectly, & should be in text property rather than tooltip so that access key is correctly displayed for accessibility.

Tree-SHA512: 331848207317d37d4d9db40119d0b7ae9a276d06cd1b057cd0e87d508e1aa769b785246ca30ca9156db632798ec9f68ba8bf78cf42904267b4187bd27cfced35
2017-09-07 09:01:23 -07:00
James Evans
d2be7b25b5
Typo in optionsdialog.ui
Tooltip displayed ampersand incorrectly, & should be in text.
2017-09-07 08:55:58 -07:00
jjz
061297f0ac Ensure that data types are consistent
1. nStatus of CBlockIndex  is consistent with the definition of Enum(BlockStatus)

2. The BlockHeader is consistent with the type of variable defined in CBlockHeader
2017-09-07 11:17:35 +08:00
MarcoFalke
2a56baf395
Merge #10682: Trivial: Move the AreInputsStandard documentation next to its implementation
ca67ddf0b Move the AreInputsStandard documentation next to its implementation (esneider)

Pull request description:

  The documentation (and rationale) for `AreInputsStandard` somehow got separated from its implementation, and creates a bit of confusion: it's in the middle of the file, next to the implementation of `IsStandard`, which actually checks the "standardness" of outputs, not inputs.

Tree-SHA512: 71281cbcbc5a5701cc11e812a3e90669dda3d92dc2176b512b7832d79b08b34307999c984516bb0c56b01db9b03a12ee4755f662efc1158f4e126de5ca421999
2017-09-06 18:12:53 -07:00
Wladimir J. van der Laan
f65614726d
Merge #10779: Create dependencies.md
e91b96192 Create dependencies.md, and link dependencies file from README & build docs (flack)

Pull request description:

  As @fanquake mentioned in #8639, this should probably be a file in `doc/`, so I went ahead and pulled the issue text via the github API and dumped it into a file. No modifications made, except one spelling fix. This makes the info easier to find, and it will get a proper version history, too.

Tree-SHA512: 6ba4c37c97200972a74724e0e346d6ad5947c01ad18638e15250f2b4cd747dd744aba16e306c98d59f35736542a5eded7a17b6a5ce6aebc63c0a9dc969b365ef
2017-09-07 02:49:14 +02:00
MeshCollider
731065b114 Consistent parameter names in txdb.h 2017-09-07 12:00:35 +12:00
MeshCollider
35aeabec62 Make fReindex atomic to avoid race 2017-09-07 12:00:30 +12:00
MeshCollider
58d91af59e Fix race for mapBlockIndex in AppInitMain 2017-09-07 12:00:25 +12:00
Wladimir J. van der Laan
645a7ecc0b
Merge #11125: Add bitcoin-cli -stdin and -stdinrpcpass functional tests
29e1dfbd9 [test] Add bitcoin-cli -stdin and -stdinrpcpass functional tests (João Barbosa)
ce379b47b [test] Replace check_output with low level version (João Barbosa)
232e3e847 [test] Add assert_raises_process_error to assert process errors (João Barbosa)
5c18a84b9 [test] Add support for custom arguments to TestNodeCLI (João Barbosa)
e1274947d [test] Improve assert_raises_jsonrpc docstring (João Barbosa)
769684132 Fix style in -stdin and -stdinrpcpass handling (João Barbosa)

Pull request description:

  This patch adds tests for `bitcoin-cli` options `-stdin` (#7550) and `-stdinrpcpass` #10997.

Tree-SHA512: fd8133f44876f2b5b41dfd3762b1988598f6b7bf13fb2385ad95876825d9c0b2b896ce4ea6eeb21012158e1f276907f155d37bb967198b609d2d3dddbfa334c1
2017-09-07 01:46:24 +02:00
João Barbosa
29e1dfbd97 [test] Add bitcoin-cli -stdin and -stdinrpcpass functional tests 2017-09-07 00:38:13 +01:00
João Barbosa
ce379b47b9 [test] Replace check_output with low level version 2017-09-07 00:35:28 +01:00
João Barbosa
232e3e8471 [test] Add assert_raises_process_error to assert process errors 2017-09-07 00:35:28 +01:00