Commit Graph

7041 Commits

Author SHA1 Message Date
Mark Friedenbach
a372168e77 Use a typedef for monetary values 2014-09-26 15:42:04 -07:00
Pieter Wuille
8138cbea3c Add automatic script test generation, and actual checksig tests 2014-09-26 21:58:48 +02:00
Pieter Wuille
64cfaf891f
Merge pull request #4986
6eb67b0 autofile: Disallow by-value copies of CAutoFile (Cory Fields)
eee030f autofile: don't copy CAutoFile by value (Cory Fields)
2014-09-26 20:31:18 +02:00
Pieter Wuille
610a3d3a1b
Merge pull request #4983
d14d7de SanitizeString: allow '(' and ')' (Wladimir J. van der Laan)
2014-09-26 19:36:08 +02:00
Pieter Wuille
c2db599c1f
Merge pull request #4977
cf42c36 Apply clang-format on crypto/* and compat/* (Pieter Wuille)
2014-09-26 19:31:18 +02:00
Cory Fields
6eb67b0ed2 autofile: Disallow by-value copies of CAutoFile
One might assume that CAutoFile would be ref-counted so that a copied object
would delay closing the underlying file until all copies have gone out of
scope. Since that's not the case with CAutoFile, explicitly disable copying.
2014-09-26 13:27:40 -04:00
Cory Fields
eee030f6bc autofile: don't copy CAutoFile by value 2014-09-25 19:25:19 -04:00
Cory Fields
27c3e91014 qt: add proxy to options overridden if necessary.
If proxy is disabled in the gui but enabled via the command line, it needs to
be added to the override list.
2014-09-25 17:47:32 -04:00
Cory Fields
93e24dddf3 travis: use debug for one build
For the all-off build, enable the wallet and debug. This ensures that debug
options will catch wallet problems as well.

In order to make sure the no-wallet path is still tested, disable the wallet
in the other x86_64 build.
2014-09-25 14:56:26 -04:00
Cory Fields
be6d87aa60 script: don't read past the end 2014-09-25 14:56:26 -04:00
Cory Fields
a94496fbb6 tests: don't split an empty string 2014-09-25 14:56:26 -04:00
Cory Fields
00522cd45b depends: disable reduced exports for debug builds
Some debug options may not be compatible.
2014-09-25 14:56:26 -04:00
Cory Fields
1f7fff2bee depends: add docs for debug 2014-09-25 14:56:26 -04:00
Cory Fields
dc66ff53b4 depends: make LDFLAGS act like the other flags 2014-09-25 14:56:26 -04:00
Cory Fields
b1efba8298 depends: give miniupnpc cppflags 2014-09-25 14:56:26 -04:00
Cory Fields
1d154db457 depends: teach qt to honor debug/release
This means it also needs to honor our flags, so patch them in as necessary.
2014-09-25 14:56:26 -04:00
Cory Fields
3b63df5fac depends: boost: build for debug or release as requested
Also hook up cppflags there, which was missing before.
2014-09-25 14:56:26 -04:00
Cory Fields
7e99df78c4 depends: make sure openssl sees cppflags 2014-09-25 14:56:26 -04:00
Cory Fields
f397304002 depends: add debug/release flags for linux/osx/win
Linux and mingw enable libstdc++ debugging for extra runtime checks. OSX
doesn't play nice, so don't enable it there.
2014-09-25 14:56:26 -04:00
Cory Fields
2027ad30e7 depends: add the debug/release concept to depends 2014-09-25 14:56:25 -04:00
Wladimir J. van der Laan
4b2b78b9f2
Merge pull request #4969
cda45b5 Reinitializing list's begin iterator after few elements were erased from the head (ENikS)
2014-09-25 15:58:56 +02:00
Wladimir J. van der Laan
f66f986a25
Merge pull request #4823
1e73504 Fixing C4146 warning (ENikS)
2014-09-25 15:25:32 +02:00
ENikS
1e73504865
Fixing C4146 warning
Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
2014-09-25 15:24:36 +02:00
Philip Kaufmann
20a11ffabf minor variable init changes in init.cpp
- explicit init of pcoinsdbview and pwalletMain (even if not needed, as
  globals are init to NULL, it seems cleaner)
- remove check if (pwalletMain) in Shutdown() as delete is valid even if
  pwalletMain is NULL
2014-09-25 13:49:49 +02:00
Wladimir J. van der Laan
d14d7deff0 SanitizeString: allow '(' and ')'
'(' and ')' are valid in user agent strings, so should be reported
as such in RPC `getpeerinfo`.

Fixes #4537.
2014-09-25 12:45:46 +02:00
Wladimir J. van der Laan
b50e5fe099
Merge pull request #4968
219372f script: Fix reference into empty vector run time exception (ENikS)
2014-09-25 11:48:33 +02:00
ENikS
219372f1dd
script: Fix reference into empty vector run time exception
Edit by laanwj: `begin_ptr(sourcedata) + sourcedata.size()` -> `end_ptr(sourcedata)`
2014-09-25 11:46:52 +02:00
Wladimir J. van der Laan
375cb4c253
Merge pull request #4959
bb26e2c [Qt] minor changes in splashscreen.cpp (Philip Kaufmann)
2014-09-25 11:31:53 +02:00
Wladimir J. van der Laan
8152f4efd8
Merge pull request #4967
459a2d2 Avoiding referencing elements of an empty vector (ENikS)
2014-09-25 11:31:10 +02:00
Wladimir J. van der Laan
82e370b4b0
Merge pull request #4782
2e5361b remove code below asserts in limitedmap.h (fixes a ToDo) (Philip Kaufmann)
2014-09-25 11:21:43 +02:00
Janusz Lenar
346d5443f1
Fixed the broken brew shell command 2014-09-25 11:04:27 +02:00
Wladimir J. van der Laan
35e5b5329a
Merge pull request #4946
c65cc8c build: fix release name strings for gitian builds (Cory Fields)
2014-09-25 10:54:54 +02:00
Wladimir J. van der Laan
29a9d4483e
Merge pull request #4966
c8063b5 Fixing out of bounds asses error (ENikS)
2014-09-25 10:21:01 +02:00
Wladimir J. van der Laan
58d4b23284
Merge pull request #4914
ff36cbe RPC getnetworkinfo: export local node's client sub-version string (Jeff Garzik)
2014-09-25 10:17:29 +02:00
Jeff Garzik
ff36cbe8d0 RPC getnetworkinfo: export local node's client sub-version string 2014-09-25 10:09:21 +02:00
Wladimir J. van der Laan
c4998661e4
Merge pull request #4958
e6beedc [Qt] add more NULL pointer checks in bitcoingui (Philip Kaufmann)
2014-09-25 09:47:01 +02:00
Philip Kaufmann
e6beedc496 [Qt] add more NULL pointer checks in bitcoingui
- add missing checks for clientModel and optionsModel
- small cleanups for an #ifdef on Mac
- remove an unneeded else
2014-09-25 09:16:45 +02:00
Pieter Wuille
cf42c36e99 Apply clang-format on crypto/* and compat/* 2014-09-25 08:23:32 +02:00
Pieter Wuille
ea69592a2f
Merge pull request #4974
b498a94 Fixed typo in README.md file. "-regest" "-regtest" (Eric Shaw)
2014-09-24 21:15:58 +02:00
Eric Shaw
b498a9493c Fixed typo in README.md file. "-regest" "-regtest"
There was a typo in the README.md file. It previously read "-regest" instead of the proper "-regtest" and it has been updated to the proper reading.
2014-09-24 15:13:59 -04:00
Pieter Wuille
584a358997 Do merkle root and txid duplicates check simultaneously
Move the txid duplicates check into BuildMerkleTree, where it can be done
much more efficiently (without needing to build a full txid set to detect
duplicates).

The previous version (using the std::set<uint256> to detect duplicates) was
also slightly too weak. A block mined with actual duplicate transactions
(which is invalid, due to the inputs of the duplicated transactions being
seen as double spends) would trigger the duplicates logic, resulting in the
block not being stored on disk, and rerequested. This change fixes that by
only triggering in the case of duplicated transactions that can actually
result in an identical merkle root.
2014-09-24 19:17:02 +02:00
Pieter Wuille
7c70438dc6 Get rid of the dummy CCoinsViewCache constructor arg 2014-09-24 03:19:04 +02:00
ENikS
cda45b5131 Reinitializing list's begin iterator after few elements were erased from the head 2014-09-23 18:33:16 -04:00
Pieter Wuille
ed27e53c9b Add coins_tests with a large randomized CCoinViewCache test. 2014-09-23 22:29:45 +02:00
Pieter Wuille
058b08c147 Do not keep fully spent but unwritten CCoins entries cached.
Instead of storing CCoins entries directly in CCoinsMap, store a CCoinsCacheEntry
which additionally keeps track of whether a particular entry is:
* dirty: potentially different from its parent view.
* fresh: the parent view is known to not have a non-pruned version.

This allows us to skip non-dirty cache entries when pushing batches of changes up,
and to remove CCoins entries about transactions that are fully spent before the
parent cache learns about them.
2014-09-23 22:29:43 +02:00
Pieter Wuille
c9d1a81ce7 Get rid of CCoinsView's SetCoins and SetBestBlock.
All direct modifications are now done through ModifyCoins, and BatchWrite is
used for pushing batches of queued modifications up, so we don't need the
low-level SetCoins and SetBestBlock anymore in the top-level CCoinsView class.
2014-09-23 22:29:21 +02:00
Pieter Wuille
f28aec014e Use ModifyCoins instead of mutable GetCoins.
Replace the mutable non-copying GetCoins method with a ModifyCoins, which
returns an encapsulated iterator, so we can keep track of concurrent
modifications (as iterators can be invalidated by those) and run cleanup
code after a modification is finished.

This also removes the overloading of the 'GetCoins' name.
2014-09-23 22:29:12 +02:00
Pieter Wuille
7a04f3d708
Merge pull request #4955
87314c1 Fixing improper input syntax and failing bounds check (ENikS)
2014-09-23 20:20:58 +02:00
ENikS
459a2d25e0 Avoiding referencing elements of an empty vector 2014-09-23 11:54:12 -04:00
ENikS
c8063b5712 Fixing out of bounds asses error 2014-09-23 11:17:43 -04:00