Commit graph

10565 commits

Author SHA1 Message Date
Cory Fields a398549b3b depends: use c++11 2016-04-27 12:47:41 +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 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
Chris Stewart 62a9abd12b Fixing comment in script_test.json test case 2016-04-25 11:08:10 -05: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
Pieter Wuille 5d0434d13d Fix OOM bug: UTXO entries with invalid script length 2016-04-25 14:42:07 +02:00
Patrick Strateman 4bf631e5e4 CDataStream::ignore Throw exception instead of assert on negative nSize.
Previously disk corruption would cause an assert instead of an exception.
2016-04-25 14:42:07 +02:00
Pieter Wuille 4f87af6fc7 Treat overly long scriptPubKeys as unspendable 2016-04-25 14:22:30 +02:00
Pieter Wuille f8e6fb1800 Introduce constant for maximum CScript length 2016-04-25 14:22:30 +02:00
Wladimir J. van der Laan c4e8390047
Merge #7881: Update release process
f154470 [contrib] Remove reference to sf and add doc to verify.sh (MarcoFalke)
182bec4 contrib: remove hardcoded version from verify.sh (Wladimir J. van der Laan)
c907f4d doc: Update release process (Wladimir J. van der Laan)
2016-04-25 13:31:22 +02:00
MarcoFalke f154470070 [contrib] Remove reference to sf and add doc to verify.sh 2016-04-25 13:29:54 +02:00
Wladimir J. van der Laan 182bec4279 contrib: remove hardcoded version from verify.sh
Closes #7595 as by removing the hardcoded version number from
`verify.sh`.
2016-04-25 13:29:53 +02:00
Wladimir J. van der Laan c907f4d56b doc: Update release process
The actual release process quite diverged from what was written here,
also clarify things a bit.
2016-04-25 13:29:53 +02:00
Wladimir J. van der Laan f9c2ac7232
Merge #7927: Minor changes to dbwrapper to simplify support for other databases
869cf12 dbwrapper: Move `HandleError` to `dbwrapper_private` (Wladimir J. van der Laan)
b69836d dbwrapper: Pass parent CDBWrapper into CDBBatch and CDBIterator (Wladimir J. van der Laan)
878bf48 dbwrapper: Remove CDBWrapper::GetObfuscateKeyHex (Wladimir J. van der Laan)
74f7b12 dbwrapper: Remove throw keywords in function signatures (Wladimir J. van der Laan)
2016-04-25 12:46:23 +02:00
Wladimir J. van der Laan 869cf1234a dbwrapper: Move HandleError to dbwrapper_private
HandleError is implementation-specific.
2016-04-23 09:32:25 +02:00
Wladimir J. van der Laan b69836d6ff dbwrapper: Pass parent CDBWrapper into CDBBatch and CDBIterator
Pass parent wrapper directly instead of obfuscation key. This
makes it possible for other databases which re-use this code
to use other properties from the database.

Add a namespace dbwrapper_private for private functions to be used
only in dbwrapper.h/cpp and dbwrapper_tests.
2016-04-23 09:32:25 +02:00
Wladimir J. van der Laan 878bf480a3 dbwrapper: Remove CDBWrapper::GetObfuscateKeyHex
It is an unnecessary method as it is used only two times
and only internally, and the whole implementation is
HexStr(obfuscate_key).
2016-04-23 09:32:25 +02:00
Wladimir J. van der Laan 74f7b1273c dbwrapper: Remove throw keywords in function signatures
Using throw() specifications in function signatures is not only
not required in C++, it is considered deprecated for
[various reasons](https://stackoverflow.com/questions/1055387/throw-keyword-in-functions-signature).
It is not implemented by any of the common C++ compilers. The usage is
also inconsistent with the rest of the source code.
2016-04-23 09:32:25 +02:00
Wladimir J. van der Laan f604bf6321
Merge #7925: qt: Fix out-of-tree GUI builds
f59dceb qt: Fix out-of-tree GUI builds (Wladimir J. van der Laan)
2016-04-22 11:32:03 +02:00
Wladimir J. van der Laan f59dceb44f qt: Fix out-of-tree GUI builds
Without this patch:

- When I compile the GUI from the bitcoin directory itself, it works as
  expected.

- When I build the GUI in an out-of-tree build, I cannot get it to
  select tabs. When I click, say the "Receive" tab nothing happens,
  the button selects but it doesn't switch the page. The rest - even
  the debug window - seems to work.

See full discussion here:
https://github.com/bitcoin/bitcoin/pull/7911#issuecomment-212413442

This turned out to be caused by a mismatch in the arguments to moc,
preventing it from finding `bitcoin-config.h`. Fix this by passing
`$(DEFAULT_INCLUDES)` to it, which gets set to the appropriate
path by autoconf itself.
2016-04-22 09:21:09 +02:00
Wladimir J. van der Laan 351abf9e03
Merge #7911: leveldb: integrate leveldb into our buildsystem
a4625ac leveldb: integrate leveldb into our buildsystem (Cory Fields)
2016-04-22 09:16:17 +02:00
Wladimir J. van der Laan 90653bc91d
Merge #7922: CBase58Data::SetString: cleanse the full vector
5770449 CBase58Data::SetString: cleanse the full vector (Kaz Wesley)
2016-04-22 09:04:16 +02:00
Wladimir J. van der Laan 76176823ba
Merge #7919: Fix headers announcements edge case
3a99fb2 Fix headers announcements edge case (Suhas Daftuar)
2016-04-22 08:40:22 +02:00
Wladimir J. van der Laan 0c95ebce7e
Merge #7816: [Wallet] slighly refactor GetOldestKeyPoolTime()
9f7336b [Wallet] slightly refactor GetOldestKeyPoolTime() (Jonas Schnelli)
2016-04-22 08:36:56 +02:00
Kaz Wesley 57704499be 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.
2016-04-21 18:28:57 -07:00
Cory Fields 06fdffd222 travis: switch to Trusty 2016-04-21 13:40:51 -04:00
Wladimir J. van der Laan a6666b25c7 depends: mac deploy Py3 compatibility
This fixes the gitian MacOSX build, it was broken in #7723.

The patch to `native_mac_alias` should probably make it upstream.
2016-04-21 13:40:51 -04:00
MarcoFalke 59ad56851a
Merge #7912: Tests: Fix deserialization of reject messages
807fa47 Tests: Fix deserialization of reject messages (Suhas Daftuar)
2016-04-21 17:23:25 +02:00
Wladimir J. van der Laan 78d61aab23
Merge #7921: [contrib] verify-commits: Add MarcoFalke fingerprint
fa24329 [contrib] verify-commits: Add MarcoFalke fingerprint (MarcoFalke)
2016-04-21 16:34:23 +02:00
MarcoFalke fa24329334 [contrib] verify-commits: Add MarcoFalke fingerprint 2016-04-21 15:25:09 +02:00
Wladimir J. van der Laan 3689ac4634
Merge #7916: Explicitly pass CChainParams& to DisconnectTip()
176869f Explicitly pass CChainParams to ConnectBlock (face)
d0a6353 Pass CChainParams to DisconnectTip() (face)
764d237 Globals: Explicitly pass const CChainParams& to UpdateTip() (Jorge Timón)
2016-04-21 14:54:31 +02:00
Pieter Wuille bafd075c5e
Merge #7913: Fix for incorrect locking in GetPubKey() (keystore.cpp)
220f950 Fix for incorrect locking in GetPubKey() (keystore.cpp) (Yuri Zhykin)
2016-04-21 13:57:07 +02:00
Pieter Wuille 7daa3adb24
Merge #7868: net: Split DNS resolving functionality out of net structures
d39f5b4 net: disable resolving from storage structures (Cory Fields)
3675699 net: resolve outside of storage structures (Cory Fields)
a98cd1f net: manually resolve dns seed sources (Cory Fields)
e9fc71e net: require lookup functions to specify all arguments (Cory Fields)
2016-04-21 13:48:13 +02:00
Suhas Daftuar 3a99fb2cb1 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.
2016-04-20 14:19:03 -04:00
Cory Fields d39f5b425d net: disable resolving from storage structures
CNetAddr/CService/CSubnet can no longer resolve DNS.
2016-04-20 13:08:19 -04:00
Cory Fields 367569926a net: resolve outside of storage structures
Rather than allowing CNetAddr/CService/CSubNet to launch DNS queries, require
that addresses are already resolved.

This greatly simplifies async resolve logic, and makes it harder to
accidentally leak DNS queries.
2016-04-20 13:08:19 -04:00
Cory Fields a98cd1fc86 net: manually resolve dns seed sources
Note: Some seeds aren't actually returning an IP for their name entries, so
they're being added to addrman with a source of [::].

This commit shouldn't change that behavior, for better or worse.
2016-04-20 13:07:19 -04:00
face 176869f9b3 Explicitly pass CChainParams to ConnectBlock 2016-04-20 17:05:15 +03:00
Suhas Daftuar 807fa47a1e Tests: Fix deserialization of reject messages
Assume that reject messages for blocks or transactions due to reason
REJECT_MALFORMED will not include the hash of the block or tx being rejected.
2016-04-20 09:27:26 -04:00
Yuri Zhykin 220f950ab1 Fix for incorrect locking in GetPubKey() (keystore.cpp) 2016-04-20 16:04:28 +03:00
Cory Fields a4625acbf8 leveldb: integrate leveldb into our buildsystem
leveldb's buildsystem causes us a few problems:
- breaks out-of-tree builds
- forces flags used for some tools
- limits cross builds

Rather than continuing to add wrappers around it, simply integrate it into our
build.
2016-04-19 14:37:15 -04:00