Commit graph

11071 commits

Author SHA1 Message Date
Daniel Kraft
f7c4f79f07 [trivial] Add missing const qualifiers.
Add some const qualifiers to references that are not modified and should
be marked as const.
2016-04-30 19:25:00 +02:00
Gregory Maxwell
d90351f050 More comments on the design of AttemptToEvictConnection.
Some developers clearly don't get this and have been posting
 "improvements" that create clear vulnerabilities.  It should
 have been better explained in the code, since the design
 is somewhat subtle and getting it right is important.
2016-04-29 23:15:23 +00:00
MarcoFalke
faf3d11ad7 [doc] Update bitcoin-core GitHub links 2016-04-29 23:07:06 +02:00
MarcoFalke
0ad1041904
Merge #7807: Fixed miner test values, gave constants for less error-prone values.
f8536a6 Corrected values (instagibbs)
617deeb Gave miner test values constants for less error-prone values. (instagibbs)
2016-04-29 22:02:59 +02:00
Jonas Schnelli
3b35e4896b
[RPC] add feerate option to fundrawtransaction 2016-04-28 22:04:07 +02:00
Andrew Chow
7db0ecb90c Test for signing messages
New rpc test for signing and verifying messages.
2016-04-28 14:58:14 -04:00
Wladimir J. van der Laan
20f9ecd343
Merge #7962: CalculateNextWorkRequired Cleanup
c7aac2d Deprecating the remaining LogPrintf dependencies that were made obsolete in PR #7459. (21E14)
2016-04-28 15:33:28 +02:00
Pieter Wuille
1953c40aa9 More efficient bitsliced rolling Bloom filter
This patch changes the implementation from one that stores 16 2-bit integers
in one uint32_t's, to one that stores the first bit of 64 2-bit integers in
one uint64_t and the second bit in another. This allows for 450x faster
refreshing and 2.2x faster average speed.
2016-04-28 14:56:32 +02:00
Pieter Wuille
aa62b68745 Benchmark rolling bloom filter 2016-04-28 14:56:32 +02:00
Wladimir J. van der Laan
5725807402
Merge #7926: [RPC] push back getaddednodeinfo dead value
9c0bcb6 push back getaddednodeinfo dead value (instagibbs)
2016-04-28 14:35:40 +02:00
Wladimir J. van der Laan
a9c8b744e8
Merge #7952: Log invalid block hash to make debugging easier.
61c0170 Log invalid block hash to make debugging easier. (Pavel Janík)
2016-04-28 13:53:01 +02:00
Wladimir J. van der Laan
07e4edb056 auto_ptr → unique_ptr
Change the few occurrences of the deprecated `auto_ptr` to c++11 `unique_ptr`.
Silences the deprecation warnings.

Also add a missing `std::` for consistency.
2016-04-28 13:43:32 +02:00
Wladimir J. van der Laan
073225cb01 chain: define enum used as bit field as uint32_t
Bitwise logic combined with `<` with undefined signedness will
potentially results in undefined behavior. Fix this by defining the type
as a c++11 typed enum.

Fixes #6017.
2016-04-28 13:35:16 +02:00
Wladimir J. van der Laan
d9594bfe0c
Merge #7514: Fix IsInitialBlockDownload for testnet
8aa7226 Fix IsInitialBlockDownload to play nice with testnet (jmacwhyte)
2016-04-28 12:55:35 +02:00
Wladimir J. van der Laan
574ddc63d6
Merge #7939: qt: Make it possible to show details for multiple transactions
f135e3c qt: Add transaction hash to details window title (Wladimir J. van der Laan)
17a6a21 qt: Make it possible to show details for multiple transactions (Wladimir J. van der Laan)
2016-04-28 12:21:29 +02:00
Wladimir J. van der Laan
06162f19d7
Merge #7165: build: Enable C++11 in build, require C++11 compiler
7df9224 doc: Add note about new build/test requirements to release notes (Wladimir J. van der Laan)
2aacc72 build: update ax_cxx_compile_stdcxx to serial 4 (Wladimir J. van der Laan)
a398549 depends: use c++11 (Cory Fields)
67969af build: Enable C++11 build, require C++11 compiler (Wladimir J. van der Laan)
2016-04-28 10:51:49 +02:00
Wladimir J. van der Laan
7df92242a9 doc: Add note about new build/test requirements to release notes
[skip ci]
2016-04-28 10:47:41 +02:00
Wladimir J. van der Laan
2aacc72727 build: update ax_cxx_compile_stdcxx to serial 4 2016-04-28 10:18:06 +02:00
21E14
c7aac2d557 Deprecating the remaining LogPrintf dependencies that were made obsolete in PR #7459. 2016-04-27 22:36:45 -04:00
Kaz Wesley
f4ac02ee7c fix race that could fail to persist a ban
DumpBanList currently does this:
  - with lock: take a copy of the banmap
  - perform I/O (write out the banmap)
  - with lock: mark the banmap non-dirty
If a new ban is added during the I/O operation, it may never be persisted to
disk.

Reorder operations so that the data to be persisted cannot be older than the
time at which the banmap was marked non-dirty.
2016-04-27 09:41:13 -07:00
Pavel Janík
b02119e463 Remove useless argument to AlertNotify.
It is always 'true', so useless.
2016-04-27 18:04:02 +02:00
Suhas Daftuar
383fc10ebb Only use AddInventoryKnown for transactions
filterInventoryKnown is only used when relaying transactions,
so stop adding block hashes to the filter.
2016-04-27 09:57:02 -04:00
Jonas Schnelli
e59336fbf9
[bitcoin-tx] allow to set nSequence number over the in= command 2016-04-27 15:42:17 +02:00
Jonas Schnelli
a946bb6b18
[RPC] createrawtransaction: add option to set the sequence number per input 2016-04-27 15:42:14 +02:00
Wladimir J. van der Laan
08b37c5e06
Merge #7954: build: quiet annoying warnings without adding new ones
63b3111 build: quiet annoying warnings without adding new ones (Cory Fields)
2016-04-27 12:57:41 +02:00
Cory Fields
a398549b3b depends: use c++11 2016-04-27 12:47:41 +02:00
Andrew
f90efbfeef Create signmessagewithprivkey rpc
New rpc 'signmessagewithprivkey' which takes a private key to sign a message without using the wallet.
2016-04-27 06:43:39 -04:00
Wladimir J. van der Laan
6030625631 test: Add more thorough test for dbwrapper iterators
I made a silly mistake in a database wrapper where keys
were sorted by char instead of uint8_t. As x86 char is signed
the sorting for the block index database was messed up, resulting
in a segfault due to missing records.

Add a test to catch:
- Wrong sorting
- Seeking errors
- Iteration result not complete
2016-04-27 11:11:36 +02:00
Wladimir J. van der Laan
84c13e759d chain: Add assertion in case of missing records in index db 2016-04-27 11:11:36 +02:00
MarcoFalke
5c7df7022b
Merge #7951: [qa] test_framework: Properly print exception
fada064 [qa] test_framework: Properly print exceptions and assert empty dict (MarcoFalke)
5555528 [qa] mininode: Unfiddle strings into bytes (MarcoFalke)
2016-04-27 10:53:09 +02:00
Cory Fields
63b3111f84 build: quiet annoying warnings without adding new ones
Disabling warnings can be tricky, because doing so can cause a different
compiler to create new warnings about unsupported disable flags. Also, some
warnings don't surface until they're paired with another warning (gcc). For
example, adding "-Wno-foo" won't cause any trouble, but if there's a legitimate
warning emitted, the "unknown option -Wno-foo" will show up as well.

Work around this in 2 ways:

1. When checking to see if -Wno-foo is supported, check for "-Wfoo" instead.
2. Enable -Werror while checking 1.

If "-Werror -Wfoo" compiles, "-Wno-foo" is almost guaranteed to be supported.

-Werror itself is also checked. If that fails to compile by itself, it likely
means that the user added a flag that adds a warning. In that case, -Werror
won't be used while checking, and the build may be extra noisy. The user would
need to fix the bad input flag.

Also, silence 2 more additional warnings that can show up post-c++11.
2016-04-27 01:17:14 -04:00
Pavel Janík
61c01706cd Log invalid block hash to make debugging easier. 2016-04-26 22:22:59 +02:00
MarcoFalke
fada064f67 [qa] test_framework: Properly print exceptions and assert empty dict 2016-04-26 18:04:26 +02:00
Wladimir J. van der Laan
67969af09f build: Enable C++11 build, require C++11 compiler
Implements #6211.
2016-04-26 16:15:02 +02:00
Wladimir J. van der Laan
f135e3c943 qt: Add transaction hash to details window title 2016-04-26 16:05:10 +02:00
Wladimir J. van der Laan
e26b62093a
Merge #7933: Fix OOM when deserializing UTXO entries with invalid length
1e44169 Add tests for CCoins deserialization (Pieter Wuille)
5d0434d Fix OOM bug: UTXO entries with invalid script length (Pieter Wuille)
4bf631e CDataStream::ignore Throw exception instead of assert on negative nSize. (Patrick Strateman)
4f87af6 Treat overly long scriptPubKeys as unspendable (Pieter Wuille)
f8e6fb1 Introduce constant for maximum CScript length (Pieter Wuille)
2016-04-26 13:23:05 +02:00
Wladimir J. van der Laan
0ea3941886
Merge #7941: Fixing comment in script_test.json test case
62a9abd Fixing comment in script_test.json test case (Chris Stewart)
2016-04-26 13:21:33 +02:00
Wladimir J. van der Laan
c3e3cfb5d1
Merge #7920: Switch Travis to Trusty
a33b7c9 travis: temporarily disable qt to avoid timeouts (Cory Fields)
174023c travis: Don't disable writing ccache for pull-requests (Cory Fields)
cf77fcd travis: drop MAKEJOBS=2 for windows compilers (Cory Fields)
9267a47 depends: enable pre-compiled headers for qt (Cory Fields)
06fdffd travis: switch to Trusty (Cory Fields)
a6666b2 depends: mac deploy Py3 compatibility (Wladimir J. van der Laan)
2016-04-26 13:20:16 +02:00
Wladimir J. van der Laan
a4078071e0
Merge #7944: Re-instate TARGET_OS=linux in configure.ac. Removed by 351abf9e03.
89c844d Re-instate TARGET_OS=linux in configure.ac. Removed by 351abf9e03. (randy-waterhouse)
2016-04-26 13:19:27 +02:00
randy-waterhouse
89c844df14 Re-instate TARGET_OS=linux in configure.ac. Removed by 351abf9e03. 2016-04-26 19:43:14 +12:00
Cory Fields
a33b7c9cb5 travis: temporarily disable qt to avoid timeouts
These builds take longer than they did on precise. Disable them now to keep
things working, we can re-enable them after experimentation
2016-04-26 02:25:22 -04:00
Cory Fields
174023c9b0 travis: Don't disable writing ccache for pull-requests
This was doing more harm than good. The original intention was to speed up
builds, since a PR's ccache results will be thrown away anyway.

However, each PR maintains its own cache, so disabling writes means that
subsequent pushes don't benefit from the fresh cache. This is significant when
(for example) many headers are touched in a PR, then the PR is updated. With
this change, the updated PR will take advantage of the cache generated during
the PR's previous build.
2016-04-26 02:25:22 -04:00
Cory Fields
cf77fcdb1f travis: drop MAKEJOBS=2 for windows compilers
These were only in place because of the old precice mingw toolchain
2016-04-25 23:48:29 -04:00
Cory Fields
9267a47d86 depends: enable pre-compiled headers for qt
All trusty compilers work ok with this now, and it shaves a few minutes off of
build time
2016-04-25 22:28:01 -04:00
Kaz Wesley
719de56ab2 lock cs_main for chainActive
ActivateBestChain uses chainActive after releasing the lock; reorder operations
to move all access to synchronized object into existing LOCK(cs_main) block.
2016-04-25 18:12:30 -07:00
Kaz Wesley
efb54ba065 lock cs_main for State/Misbehaving
ProcessMessage calls State(...) and Misbehaving(...) without holding the
required lock; add LOCK(cs_main) blocks.
2016-04-25 18:06:44 -07:00
Chris Stewart
62a9abd12b Fixing comment in script_test.json test case 2016-04-25 11:08:10 -05:00
Wladimir J. van der Laan
17a6a21786 qt: Make it possible to show details for multiple transactions
A small GUI annoyance for me has always been that it's impossible to
have multiple transaction detail windows open, for example to compare
transactions.

This patch makes the window non-modal so that it is possible to open
transaction details at will.
2016-04-25 16:06:07 +02:00
Wladimir J. van der Laan
46880ed2fd
Merge #7688: List solvability in listunspent output and improve help
c3932b3 List solvability in listunspent output and improve help (Pieter Wuille)
2016-04-25 14:46:29 +02:00
Pieter Wuille
1e44169f0e Add tests for CCoins deserialization 2016-04-25 14:42:07 +02:00