Commit graph

4795 commits

Author SHA1 Message Date
Cory Fields
a94496fbb6 tests: don't split an empty string 2014-09-25 14:56:26 -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
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
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
Jeff Garzik
ff36cbe8d0 RPC getnetworkinfo: export local node's client sub-version string 2014-09-25 10:09:21 +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
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
Wladimir J. van der Laan
35ee2dac67
Merge pull request #4949
c8589bf Add actual signature tests (Pieter Wuille)
76ec867 Use actually valid transactions for script tests (Pieter Wuille)
2014-09-23 13:14:19 +02:00
ENikS
6f3ae9b5df Fixing out of bounds error in GetKey() 2014-09-23 10:45:04 +02:00
Philip Kaufmann
bb26e2c896 [Qt] minor changes in splashscreen.cpp
- guard an unused variable with Q_UNUSED() macro
- remove a commented out line of code
2014-09-23 09:56:46 +02:00
Pieter Wuille
c8589bf99e Add actual signature tests 2014-09-22 19:26:17 +02:00
Pieter Wuille
76ec867796 Use actually valid transactions for script tests 2014-09-22 19:26:17 +02:00
Wladimir J. van der Laan
3cdae61aa2
Merge pull request #4787
4b0deb3 Clean up CMerkleTx::SetMerkleBranch. (Daniel Kraft)
2014-09-22 14:18:54 +02:00
Wladimir J. van der Laan
565da68ed0
Merge pull request #4852
5e83bc4 [Qt] include and file header cleanup (Philip Kaufmann)
2014-09-22 12:20:36 +02:00
Wladimir J. van der Laan
321fd7dbee
Merge pull request #4947
6134b43 Fixing condition 'sabotaging' MSVC build (ENikS)
2014-09-22 10:34:12 +02:00
Wladimir J. van der Laan
aa340a8f07
Merge pull request #4951
d6712db Also create pid file in non-daemon mode (Wladimir J. van der Laan)
2014-09-22 10:32:21 +02:00
Wladimir J. van der Laan
cfc5cfb0f0
qt: Make splash and shutdown window ignore close events
It's strange to be able to close these windows while there is work
in progress.

Also set Qt::WA_DeleteOnClose on both windows to make sure that they
are deleted eventually, no matter what happens.
2014-09-22 10:13:52 +02:00
Philip Kaufmann
2e5361b9c2 remove code below asserts in limitedmap.h (fixes a ToDo) 2014-09-22 09:35:40 +02:00
Wladimir J. van der Laan
6b09bc45b1
Merge pull request #4941
a49f11d qt: Change splash screen to normal window (Wladimir J. van der Laan)
2014-09-22 09:33:34 +02:00
Wladimir J. van der Laan
5547f08ec7
Merge pull request #4952
01c2807 Add warning about the merkle-tree algorithm duplicate txid flaw (Peter Todd)
2014-09-22 09:03:59 +02:00
ENikS
87314c1c5e Fixing improper input syntax and failing bounds check 2014-09-21 21:18:48 -04:00
Wladimir J. van der Laan
ae9966ed85
Merge pull request #4950
33a2771 test: Fix DoS tests after c74332c (Wladimir J. van der Laan)
2014-09-21 21:25:25 +02:00
jtimon
3fdb9e8c15 Remove CBaseChainParams::NetworkID() 2014-09-21 21:25:15 +02:00
jtimon
f297479a19 Reserve only one network specific cached path per session 2014-09-21 21:21:09 +02:00
Pieter Wuille
934b153a2c
Merge pull request #4933
20e01b1 Apply clang-format on some infrequently-updated files (Pieter Wuille)
2014-09-21 01:10:14 +02:00
Peter Todd
01c28073ba
Add warning about the merkle-tree algorithm duplicate txid flaw
Lots of people read the Bitcoin Core codebase to learn more about
crypto; better to warn about flaws explicitly so they don't blindly copy
the code for other uses and create broken systems.
2014-09-20 13:23:44 -04:00
Wladimir J. van der Laan
d6712db354
Also create pid file in non-daemon mode
Always make a pid file, not only when `-daemon` specified.

This is useful for troubleshooting, for attaching debuggers and loggers
and such.

- Write the pid file only after the datadir lock was acquired
- Don't create or remove a pid file on WIN32, and also don't show the option
2014-09-20 11:03:59 +02:00
Wladimir J. van der Laan
33a27716fc
test: Fix DoS tests after c74332c
Fix data structure mismatch ... The mind boggles that they were still passing at all.
2014-09-20 09:55:14 +02:00
Pieter Wuille
25308337d6
Merge pull request #4835
ab15b2e Avoid copying undo data (Pieter Wuille)
2014-09-20 05:11:09 +02:00
ENikS
6134b43ba9 Fixing condition 'sabotaging' MSVC build 2014-09-19 18:29:58 -04:00
Pieter Wuille
20e01b1a03 Apply clang-format on some infrequently-updated files 2014-09-19 19:21:46 +02:00
ENikS
018cec7c41 Fixing 'vector out of bounds' issue in base 32 and 64 2014-09-18 16:57:01 -04:00
Wladimir J. van der Laan
94064710b9 Write fee estimate and peers files only when initialized
Fixes #4669.

Move the loading of addresses to StartNode() to make it more
self-contained.
2014-09-18 14:20:18 +02:00
Philip Kaufmann
5e83bc404c [Qt] include and file header cleanup
- alphabetical ordering
- correct ordering own headers before normal headers etc.
2014-09-18 14:11:44 +02:00
Wladimir J. van der Laan
a49f11d9ed qt: Change splash screen to normal window
Makes it possible to move, minimize, unminimize the window while
Bitcoin Core is initializing.
2014-09-18 13:21:26 +02:00
Wladimir J. van der Laan
7fd8813675
Merge pull request #4667
bbad683 [Qt] simplify return code and return values in txtablemodel (Philip Kaufmann)
21f1516 [Qt] add all used colors in txtablemodel to guiconstants (Philip Kaufmann)
2014-09-18 12:08:46 +02:00
Wladimir J. van der Laan
62e5f8f961 CMessageHeader sanity changes
- Remove spurious `pchCommand[1] = 1` in CMessageHeader()
- Make sure that pchCommand is zero-padded if length is shorter than
  COMMAND_SIZE
- Use strnlen to determine length of pcmCommand in GetCommand
2014-09-18 10:15:48 +02:00
Wladimir J. van der Laan
c14bfea8ee
Merge pull request #4936
c15e483 typo fix of booleamn to boolean (imharrywu)
2014-09-18 09:50:21 +02:00
Philip Kaufmann
93f84d0417 cleanup class private and public areas in walletdb
- only code movement
2014-09-18 07:21:49 +02:00
Philip Kaufmann
22d7e7014f prefer const string& over char* in CDB and CWalletDB constructor
- also make parameter of CDBEnv::CheckpointLSN a constant reference
2014-09-18 07:21:49 +02:00
imharrywu
c15e483f23 typo fix of booleamn to boolean 2014-09-18 08:15:09 +08:00
Pieter Wuille
ab15b2ec71 Avoid copying undo data 2014-09-17 20:38:20 +02:00
Wladimir J. van der Laan
438c7e4cd2
Merge pull request #4555
6dcfda2 Don't pass nHashType to EvalScript nor CheckSig (jtimon)
2b23a87 Don't pass nHashType to VerifyScript (jtimon)
ce3649fb Remove CScriptCheck::nHashType (was always 0) (jtimon)
358562b Remove unused function main:VerifySignature (jtimon)
2014-09-17 13:44:22 +02:00
Wladimir J. van der Laan
5b9d1e10a8
Merge pull request #4863
1a61396 fix missing gettransaction entries in rpcclient (Benedict Chan)
57e1716 update rpc help message for gettransaction to add includeWatchonly param (Benedict Chan)
2014-09-17 13:05:41 +02:00
Wladimir J. van der Laan
69dd8c919a
Merge pull request #4899
0be990b Move CTxDestination from script/script to script/standard (Pieter Wuille)
2014-09-17 13:04:54 +02:00
Pieter Wuille
651a1fcf81
Merge pull request #4927
ee304b6 minor changes for help message of getpeerinfo (Philip Kaufmann)
2014-09-16 21:25:51 +02:00
Pieter Wuille
0be990ba34 Move CTxDestination from script/script to script/standard 2014-09-16 19:14:32 +02:00
Pieter Wuille
ab3834baae
Merge pull request #4928
e9992fb remove include of chainparams.h (imharrywu)
2014-09-16 19:10:32 +02:00
Pieter Wuille
13168ea46c
Merge pull request #4903
efad808 Avoid reject message feedback loops (Pieter Wuille)
2014-09-16 18:54:46 +02:00
Wladimir J. van der Laan
cf04923618
Merge pull request #4930
f4fe205 add nModSize init to default constructor of CTxMemPoolEntry (Philip Kaufmann)
2014-09-16 15:21:24 +02:00
Philip Kaufmann
f4fe205034 add nModSize init to default constructor of CTxMemPoolEntry 2014-09-16 15:07:45 +02:00
Benedict Chan
1a613963e1 fix missing gettransaction entries in rpcclient 2014-09-16 11:12:01 +00:00
Benedict Chan
57e1716de6 update rpc help message for gettransaction to add includeWatchonly param 2014-09-16 11:12:01 +00:00
Wladimir J. van der Laan
6fc1dc1a32
Merge pull request #4719
52a5f90 Create the common location for all m4 autotool build scripts, build-aux/m4.
2014-09-16 12:00:18 +02:00
randy-waterhouse
52a5f90360 Create the common location for all m4 autotool build scripts, build-aux/m4.
Update .gitignore.
2014-09-16 11:55:15 +02:00
Wladimir J. van der Laan
f010344156
Merge pull request #4460
604ee2a Remove tx from AlreadyAskedFor list once we receive it, not when we process it. (R E Broadley)
2014-09-16 11:31:54 +02:00
Wladimir J. van der Laan
edb1eebabc
Merge pull request #4853
2605b94 [Qt] update form files for setting autoDefault explicitly to false (Philip Kaufmann)
2014-09-16 10:49:47 +02:00
imharrywu
e9992fb645 remove include of chainparams.h
chainparams.h has not been used in this cpp file already, consider to remove it for clean.
2014-09-16 15:53:04 +08:00
Philip Kaufmann
ee304b6e35 minor changes for help message of getpeerinfo 2014-09-16 09:00:36 +02:00
Pieter Wuille
dc54e9db98
Merge pull request #4825
8d657a6 Fixing compiler warning C4800: 'type' forcing value to bool 'true' or 'false' (ENikS)
2014-09-16 04:47:55 +02:00
Pieter Wuille
7388b74cd2
Merge pull request #4911
611116d header include cleanup (Philip Kaufmann)
2014-09-16 04:12:52 +02:00
Pieter Wuille
765f398436
Merge pull request #4875
f7e3637 Eliminate extra assignment (Suhas Daftuar)
ec7eb0f When reindexing check for file before trying to open (refactored) (Suhas Daftuar)
2014-09-16 03:21:21 +02:00
Wladimir J. van der Laan
327dcfece7 Merge pull request #4869
6050ab6 netbase: Make SOCKS5 negotiation interruptible (Wladimir J. van der Laan)
2014-09-15 17:25:12 +02:00
Suhas Daftuar
f7e36370f3 Eliminate extra assignment 2014-09-15 09:56:10 -04:00
ENikS
ec91092df8
Fixing compiler warning C4101
Github-Pull: #4856
2014-09-15 14:35:32 +02:00
Wladimir J. van der Laan
c362c57568
Merge pull request #4798
d920f7d Move g_signals.SetBestChain(..) below SyncWithWallets (Cozz Lovan)
2014-09-15 10:32:59 +02:00
Pieter Wuille
2ec82e94e6
Merge pull request #4817
c26649f Track modified size in TxMemPoolEntry so that we can correctly compute priority. (Alex Morcos)
2014-09-15 07:29:04 +02:00
Jeff Garzik
a0a8700bc8
Merge pull request #4909 2014-09-14 19:27:22 -04:00
Philip Kaufmann
611116d4e3 header include cleanup
- ensures alphabetical ordering for includes etc. in source file headers
2014-09-14 12:43:56 +02:00
Philip Kaufmann
2d79bba36b cleanup new script files (no code changes)
- add missing header end comments
- ensure alphabetical ordering
- update copyright year and license
2014-09-14 12:25:38 +02:00
Luke Dashjr
a65e320747 bitcoin-util-test: Test bitcoin-tx with null scriptPubKey 2014-09-14 06:28:22 +00:00
Luke Dashjr
15ef1b905b Bugfix: bitcoin-tx: scriptPubKey may be null, so accept outscript=<n>: 2014-09-14 05:28:41 +00:00
jtimon
6dcfda2dc4 Don't pass nHashType to EvalScript nor CheckSig 2014-09-12 20:04:31 +02:00
jtimon
2b23a87599 Don't pass nHashType to VerifyScript 2014-09-12 20:04:31 +02:00
jtimon
ce3649fb61 Remove CScriptCheck::nHashType (was always 0) 2014-09-12 20:03:03 +02:00
jtimon
358562b651 Remove unused function main:VerifySignature 2014-09-12 20:03:03 +02:00
Pieter Wuille
b9307d2f55
Merge pull request #4876
6022b5d Make script_{valid,invalid}.json validation flags configurable (Pieter Wuille)
2014-09-12 18:33:02 +02:00
Pieter Wuille
efad808aae Avoid reject message feedback loops 2014-09-12 17:50:31 +02:00
Wladimir J. van der Laan
3fa1c81b94
Merge pull request #4885
aa3c697 Store fewer orphan tx by default, add -maxorphantx option (Gavin Andresen)
c74332c Stricter handling of orphan transactions (Gavin Andresen)
2014-09-11 14:46:27 +02:00
Gavin Andresen
aa3c697e90
Store fewer orphan tx by default, add -maxorphantx option
There is no reason to store thousands of orphan transactions;
normally an orphan's parents will either be broadcast or
mined reasonably quickly.

This pull drops the maximum number of orphans from 10,000 down
to 100, and adds a command-line option (-maxorphantx) that is
just like -maxorphanblocks to override the default.
2014-09-10 14:09:40 -04:00
Gavin Andresen
c74332c678
Stricter handling of orphan transactions
Prevent denial-of-service attacks by banning
peers that send us invalid orphan transactions
and only storing orphan transactions given to
us by a peer while the peer is connected.
2014-09-10 14:09:40 -04:00
Suhas Daftuar
ec7eb0fa80 When reindexing check for file before trying to open (refactored) 2014-09-10 13:51:53 -04:00
Adam Weiss
e982b574a5 Use explicit fflush() instead of setvbuf()
Flushing after every line when printing to console is desirable when
running with systemd but setvbuf() has slightly different semantics
on Windows that causes warnings.  Just do an explicit fflush() after
each line print to console instead.
2014-09-10 12:48:13 -04:00
Gavin Andresen
def2fdb4b9
Fix crashing bug caused by orphan(s) with duplicate prevout.hash 2014-09-10 16:53:54 +02:00
Wladimir J. van der Laan
d6af9856b0
Merge pull request #4878
540ac45 Avoid returning many "inv" orphans (Jeff Garzik)
d4168c8 Limit CNode::mapAskFor (Wladimir J. van der Laan)
2014-09-10 16:52:57 +02:00
Wladimir J. van der Laan
f23869e14b
Merge pull request #4623
e84843c Broken addresses on command line no longer trigger testnet. (Ross Nicoll)
2014-09-10 15:07:58 +02:00
jtimon
c1e433b717 Rename scriptutils.o to wallet_ismine.o 2014-09-10 12:48:35 +02:00
jtimon
8b59a3d366 Move CAffectedKeysVisitor to wallet.cpp (remove ExtractAffectedKeys) 2014-09-10 12:44:43 +02:00
jtimon
0d2fa14a34 Move scriptutils.o to wallet 2014-09-10 12:42:56 +02:00
Wladimir J. van der Laan
6050ab6855 netbase: Make SOCKS5 negotiation interruptible
Avoids that SOCKS5 negotiation will hold up the shutdown process.

- Sockets can stay in non-blocking mode, no need to switch it on/off
  anymore
- Adds a timeout (20 seconds) on SOCK5 negotiation. This should be
  enough for even Tor to get a connection to a hidden service, and
  avoids blocking the opencon thread indefinitely on a hanging proxy.

Fixes #2954.
2014-09-10 11:33:13 +02:00
Wladimir J. van der Laan
4e8cc3cb86
Merge pull request #4867
a95b119 qt: Remove thousands separators after decimal point (Wladimir J. van der Laan)
2014-09-10 10:28:47 +02:00
Pieter Wuille
f7cdcb80ab
Merge pull request #4822
629d75f Combine CCoinsViewCache's HaveCoins and const GetCoins into AccessCoins. (Pieter Wuille)
2014-09-10 01:44:30 +02:00
Pieter Wuille
4ebd80298d
Merge pull request #4882
faadbe1 remove unneeded cast in rpcmisc.cpp (Philip Kaufmann)
2014-09-10 01:37:46 +02:00
Philip Kaufmann
faadbe1733 remove unneeded cast in rpcmisc.cpp 2014-09-09 19:23:29 +02:00
Pieter Wuille
1575c5171f
Merge pull request #4868
2c2cc5d Remove some unnecessary c_strs() in logging and the GUI (Philip Kaufmann)
f7d0a86 netbase: Use .data() instead of .c_str() on binary string (Wladimir J. van der Laan)
2014-09-09 16:43:06 +02:00
Philip Kaufmann
2c2cc5dac1
Remove some unnecessary c_strs() in logging and the GUI
Includes `core: remove unneeded c_str() / Qt: replace c_str() with Qt code`
by P. Kaufmann.
2014-09-09 11:31:17 +02:00
Jeff Garzik
540ac4514d Avoid returning many "inv" orphans 2014-09-09 09:26:52 +02:00
Wladimir J. van der Laan
d4168c82be Limit CNode::mapAskFor
Tighten resource constraints on CNode.
2014-09-09 09:19:15 +02:00
Wladimir J. van der Laan
8bc0a0173e
Merge pull request #4873
89d91f6 Avoid repeated lookups in mapOrphanTransactions and mapOrphanTransactionsByPrev (Wladimir J. van der Laan)
2014-09-09 09:16:22 +02:00
Pieter Wuille
6022b5dc6b Make script_{valid,invalid}.json validation flags configurable 2014-09-08 22:38:26 +02:00
jtimon
e8b5f0d549 Move CBlockIndex, CChain and related code out of main 2014-09-08 22:17:19 +02:00
jtimon
6db83db3eb Decouple CChain from mapBlockIndex 2014-09-08 22:14:24 +02:00
jtimon
e088d65acb Separate script/sign 2014-09-08 20:21:35 +02:00
jtimon
9294a4bbe7 Separate CScriptCompressor 2014-09-08 20:21:35 +02:00
jtimon
c4408a6c85 Separate script/standard 2014-09-08 20:21:35 +02:00
jtimon
da03e6ed7c Separate script/interpreter 2014-09-08 20:21:33 +02:00
jtimon
cbd22a50c4 Move CScript class and dependencies to script/script 2014-09-08 20:19:31 +02:00
jtimon
86dbeea2cd Rename script.h/.cpp to scriptutils.h/.cpp (plus remove duplicated includes) 2014-09-08 20:19:31 +02:00
Wladimir J. van der Laan
89d91f6aa7 Avoid repeated lookups in mapOrphanTransactions and mapOrphanTransactionsByPrev 2014-09-08 17:38:43 +02:00
Alex Morcos
c26649f9ed Track modified size in TxMemPoolEntry so that we can correctly compute priority. 2014-09-08 11:28:46 -04:00
Pieter Wuille
df623d83da
Merge pull request #4865
8e44f2e Clarify 'compressed nor uncompressed' error message (Peter Todd)
2014-09-08 15:13:55 +02:00
Wladimir J. van der Laan
f7d0a86bf6 netbase: Use .data() instead of .c_str() on binary string
`.c_str()` is only guaranteed to return the data up to the first NUL
character.
2014-09-08 12:20:50 +02:00
Wladimir J. van der Laan
bb4ef1e9dc
Merge pull request #4712
80daee0 [Qt] Call checkBalanceChanged() periodically instead for every updated transaction (Cozz Lovan)
2014-09-08 12:00:08 +02:00
Wladimir J. van der Laan
297998808a
Merge pull request #4697
da2ede2 [Wallet] Improve ReorderTransactions(..) (Cozz Lovan)
2014-09-08 11:07:00 +02:00
Wladimir J. van der Laan
a95b1199db
qt: Remove thousands separators after decimal point
Revert thousands separators after decimal point, as introduced in #4167.
2014-09-08 10:46:52 +02:00
Peter Todd
8e44f2e00a
Clarify 'compressed nor uncompressed' error message 2014-09-07 22:32:57 -04:00
Andreas Schildbach
45a4baf100 Add testnet DNS seed of Andreas Schildbach.
It runs sipas crawler, but rather than using its custom nameserver implementation it serves a generated zonefile via bind9. The zone always contains 25 IPv4 and 25 IPv6 peers. FWIW, the zone is secured using DNSSEC.
2014-09-07 11:16:10 +02:00
ENikS
8d657a6517 Fixing compiler warning C4800: 'type' forcing value to bool 'true' or 'false' 2014-09-06 15:59:59 -04:00
Pieter Wuille
93193c8ffd
Merge pull request #4851
41ef558 univalue: make spaceStr thread-safe (Wladimir J. van der Laan)
2014-09-06 21:10:13 +02:00
Wladimir J. van der Laan
6eb427ed6e
Merge pull request #4839
346193b Cleanup messy error messages (R E Broadley)
2014-09-06 11:05:50 +02:00
R E Broadley
346193bd93 Cleanup messy error messages 2014-09-06 14:18:32 +07:00
Pieter Wuille
0c558288cb
Merge pull request #4849
a264e44 remove dup include of foreach.hpp in script.cpp (Philip Kaufmann)
2014-09-05 22:54:03 +02:00
Wladimir J. van der Laan
41ef558aa9
univalue: make spaceStr thread-safe
Simply add spaces to the existing string instead of using a
temporary.

Fixes #4756.
2014-09-05 14:42:22 +02:00
Philip Kaufmann
2605b94d73 [Qt] update form files for setting autoDefault explicitly to false
- also fixes indentation in one file (auto fixed by Qt Designer)
- removes several default parameters, which are not needed in the files
- related to #4840 (but not intended as fix for a no-bug)
2014-09-05 13:54:16 +02:00
Teran McKinney
f79323b0dd
Improve readability of CAddrInfo::IsTerrible
- Replaced 86400 with 24*60*60
- Remove references to specific timespans in comments

Github-Pull: #4724
2014-09-05 13:49:08 +02:00
Philip Kaufmann
1ffb99b07f [Qt] copyright, style and indentation cleanup of Qt tests 2014-09-05 13:23:21 +02:00
Philip Kaufmann
a264e445ff remove dup include of foreach.hpp in script.cpp 2014-09-05 09:49:57 +02:00
Pieter Wuille
af9c3b0cff
Merge pull request #4838
1e4f87f Use memcmp for uint256 equality/inequality (Pieter Wuille)
8a41e1e Use boost::unordered_map for mapBlockIndex (Pieter Wuille)
145d5be Introduce BlockMap type for mapBlockIndex (Pieter Wuille)
a0dbe43 checkpoints.cpp depends on main, it can use mapBlockIndex directly (Pieter Wuille)
2014-09-04 23:49:35 +02:00
Wladimir J. van der Laan
b4cd0975fb
Merge pull request #4783
fbe0fca [Qt] minor watch-only changes (Philip Kaufmann)
2014-09-04 16:44:39 +02:00
Wladimir J. van der Laan
65b529ba93
Merge pull request #4833
bbda402 net: Remove MilliSleep from StopNode (Wladimir J. van der Laan)
2014-09-04 13:31:15 +02:00
Wladimir J. van der Laan
f2cc1ee439
Merge pull request #4790
9189f5f remove useless millisleep (phantomcircuit)
2014-09-04 13:30:34 +02:00
Pieter Wuille
1e4f87f5a1 Use memcmp for uint256 equality/inequality 2014-09-04 02:27:04 +02:00
Pieter Wuille
8a41e1edd4 Use boost::unordered_map for mapBlockIndex 2014-09-04 02:05:20 +02:00
Pieter Wuille
145d5be896 Introduce BlockMap type for mapBlockIndex 2014-09-04 02:04:51 +02:00
Pieter Wuille
a0dbe433bd checkpoints.cpp depends on main, it can use mapBlockIndex directly 2014-09-04 02:01:10 +02:00
Pieter Wuille
961c4a04c2
Merge pull request #4808
3f6540a Rename IMPLEMENT_SERIALIZE to ADD_SERIALIZE_METHODS (Pieter Wuille)
47eb765 Serializer simplifications after IMPLEMENT_SERIALIZE overhaul (Pieter Wuille)
2014-09-03 21:01:39 +02:00
Pieter Wuille
52c1deb745
Merge pull request #4820
910526d Use OR of respective block flags for masks (Pieter Wuille)
2014-09-03 20:50:57 +02:00
Pieter Wuille
629d75faac Combine CCoinsViewCache's HaveCoins and const GetCoins into AccessCoins.
The efficient version of CCoinsViewCache::GetCoins only works for known-to-exist
cache entries, requiring a separate HaveCoins call beforehand. This is
inefficient as both perform a hashtable lookup.

Replace the non-mutable GetCoins with AccessCoins, which returns a potentially-NULL
pointer. This also decreases the overloading of GetCoins.

Also replace some copying (inefficient) GetCoins calls with equivalent AccessCoins,
decreasing the copying.
2014-09-03 14:24:52 +02:00
Wladimir J. van der Laan
bbda40226b
net: Remove MilliSleep from StopNode
I don't understand why it would be there in the first place. This looks
like voodoo, not programming.
2014-09-03 12:23:34 +02:00
Matt Corallo
550d4fa7a7 Remove DNS Seeds run by entities which were never well-established. 2014-09-03 00:41:54 -07:00
phantomcircuit
9189f5fe4d remove useless millisleep
reduces time to service requests improving performance
2014-09-02 21:25:53 -07:00
Pieter Wuille
910526d848 Use OR of respective block flags for masks 2014-09-02 18:57:43 +02:00
Pieter Wuille
b8d92236f6
Merge pull request #4812
53efb09 Discover some missing includes (jtimon)
8d5e510 Remove unused function StackString() and class CCoins; (jtimon)
2014-09-02 15:11:55 +02:00
Pieter Wuille
3f6540ad8f Rename IMPLEMENT_SERIALIZE to ADD_SERIALIZE_METHODS 2014-09-02 09:58:09 +02:00
jtimon
53efb09e4c Discover some missing includes 2014-09-02 02:27:03 +02:00
jtimon
8d5e5102f6 Remove unused function StackString() and class CCoins; 2014-09-02 02:27:03 +02:00
ENikS
c0f5d4aba5 Fixing Compiler Error C2466 2014-09-01 19:51:25 -04:00
Pieter Wuille
47eb76597e Serializer simplifications after IMPLEMENT_SERIALIZE overhaul 2014-09-01 22:00:19 +02:00
Pieter Wuille
2e731f24b5
Merge pull request #4737
31e9a83 Use CSizeComputer to avoid counting sizes in SerializationOp (Pieter Wuille)
84881f8 rework overhauled serialization methods to non-static (Kamil Domanski)
5d96b4a remove fields of ser_streamplaceholder (Kamil Domanski)
3d796f8 overhaul serialization code (Kamil Domanski)
2014-09-01 21:23:01 +02:00
Wladimir J. van der Laan
f6a8105037
Merge pull request #4779
093303a add missing header end comments (Philip Kaufmann)
2014-09-01 15:35:09 +02:00
Wladimir J. van der Laan
107922663b
Merge pull request #4767
b144a74 depends: bump miniupnpc to 1.9.20140701. (Cory Fields)
f628127 depends: bump openssl to 1.0.1i (Cory Fields)
9f7f504 build: add -DMINIUPNP_STATICLIB for new version (Cory Fields)
2014-09-01 10:28:33 +02:00
Wladimir J. van der Laan
01113f7b43
Merge pull request #4780
4d04492 add missing copyright headers (Philip Kaufmann)
2014-09-01 10:26:48 +02:00
Wladimir J. van der Laan
6f5d33b3d2
Update translations after update script improvements 2014-09-01 10:10:21 +02:00
Wladimir J. van der Laan
93f97aab62
Merge pull request #4768
2e28031 Perform CVerifyDB on pcoinsdbview instead of pcoinsTip (Wladimir J. van der Laan)
2014-09-01 09:42:10 +02:00
Cozz Lovan
d920f7dcf8 Move g_signals.SetBestChain(..) below SyncWithWallets 2014-08-31 16:17:39 +02:00
Pieter Wuille
31e9a8384a Use CSizeComputer to avoid counting sizes in SerializationOp 2014-08-31 02:18:42 +02:00
Kamil Domanski
84881f8c47 rework overhauled serialization methods to non-static
Thanks to Pieter Wuille for most of the work on this commit.
I did not fixup the overhaul commit, because a rebase conflicted
with "remove fields of ser_streamplaceholder".
I prefer not to risk making a mistake while resolving it.
2014-08-31 02:16:17 +02:00
Kamil Domanski
5d96b4ae01 remove fields of ser_streamplaceholder
The nType and nVersion fields of stream objects are never accessed
from outside the class (or perhaps from the inside too, I haven't checked).
Thus no need to have them in a placeholder, whose only purpose is to
fill the "Stream" template parameter in serialization implementation.
2014-08-31 02:16:10 +02:00
Kamil Domanski
3d796f8996 overhaul serialization code
The implementation of each class' serialization/deserialization is no longer
passed within a macro. The implementation now lies within a template of form:

template <typename T, typename Stream, typename Operation>
inline static size_t SerializationOp(T thisPtr, Stream& s, Operation ser_action, int nType, int nVersion) {
    size_t nSerSize = 0;
    /* CODE */
    return nSerSize;
}

In cases when codepath should depend on whether or not we are just deserializing
(old fGetSize, fWrite, fRead flags) an additional clause can be used:
bool fRead = boost::is_same<Operation, CSerActionUnserialize>();

The IMPLEMENT_SERIALIZE macro will now be a freestanding clause added within
class' body (similiar to Qt's Q_OBJECT) to implement GetSerializeSize,
Serialize and Unserialize. These are now wrappers around
the "SerializationOp" template.
2014-08-31 02:14:20 +02:00
Daniel Kraft
4b0deb3b2d Clean up CMerkleTx::SetMerkleBranch.
The case SetMerkleBranch(NULL) was never actually used, and thus the
involved code (loading the block from disk) can be removed and the
implementation simplified.
2014-08-30 18:00:55 +02:00
Ross Nicoll
e84843c0db Broken addresses on command line no longer trigger testnet.
When passing a bitcoin: URI on the command line, invalid addresses do not incorrectly send the
user to the test network.
2014-08-30 09:39:59 +01:00
Kamil Domanski
9f3d476779
changed field types in some structures to equivalent unambiguous types
Conflicts:
	src/core.cpp

Rebased-By: Wladimir J. van der Laan
Github-Pull: #4180
2014-08-30 06:27:34 +02:00
Wladimir J. van der Laan
ce223e7b7d
Merge pull request #4789
bac5586 Replace weird characters by normal spaces (Pieter Wuille)
2014-08-30 05:58:33 +02:00
Pieter Wuille
f5f1ab8dc3
Merge pull request #4781
187115c cleanup include of assert.h (Philip Kaufmann)
2014-08-30 02:38:36 +02:00
Pieter Wuille
bac5586b10 Replace weird characters by normal spaces 2014-08-30 02:35:05 +02:00
Jeff Garzik
135a43df7b
Merge pull request #4778 2014-08-29 20:22:06 -04:00
jtimon
e9dd83f0a9 missing include boost/algorithm/string/replace.hpp 2014-08-29 22:52:41 +02:00
Jeff Garzik
309aa76d27
Merge pull request #4599 2014-08-29 15:23:13 -04:00
Wladimir J. van der Laan
0101483f46
Move CMerkleTx to wallet.cpp/h
It is only used by the wallet so it has no place in main.
2014-08-29 17:26:01 +02:00
Wladimir J. van der Laan
57153d4e1a rpc: Compute number of confirmations of a block from block height
Currently this uses a CMerkleTx, but that makes no sense as we
have the CBlockIndex available. As noted by @jgarzik.
2014-08-29 17:25:23 +02:00
Wladimir J. van der Laan
faeb341da3
Merge pull request #4777
8bdd287 Fix a few "Uninitialized scalar field" warnings (Wladimir J. van der Laan)
2014-08-29 10:53:47 +02:00
Philip Kaufmann
fbe0fcae76 [Qt] minor watch-only changes
- use watch-only, not watchonly
- add back a tooltip hint when hovering addresses and attach
  "(watch-only)" at the end
2014-08-28 23:20:46 +02:00
Philip Kaufmann
bbad683224 [Qt] simplify return code and return values in txtablemodel
- also move an added space in a string where it belongs
2014-08-28 23:14:11 +02:00
Philip Kaufmann
21f1516468 [Qt] add all used colors in txtablemodel to guiconstants
- add colors used in TX status decoration
2014-08-28 23:14:10 +02:00
Philip Kaufmann
187115c01d cleanup include of assert.h 2014-08-28 23:02:49 +02:00
Philip Kaufmann
4d04492bf2 add missing copyright headers 2014-08-28 22:26:56 +02:00
Philip Kaufmann
093303a887 add missing header end comments
- ensures a consistent usage in header files
- also add a blank line after the copyright header where missing
- also remove orphan new-lines at the end of some files
2014-08-28 22:25:21 +02:00
Wladimir J. van der Laan
3ed668dbe2
Merge pull request #4772
87d9819 fix comments ExtractAddress() -> ExtractDestination() (jtimon)
2014-08-28 18:14:03 +02:00
Wladimir J. van der Laan
8bdd2877c4
Fix a few "Uninitialized scalar field" warnings
Fix a few warnings reported by Coverity.
None of these is critical, but making sure that class fields are
initialized can avoid heisenbugs.
2014-08-28 15:30:50 +02:00
Jeff Garzik
11a899445e
qt/splashscreen: #include version.h
Needed to build breakage reported by Arnavion on IRC:
qt/splashscreen.cpp: In constructor 'SplashScreen::SplashScreen(const QPixmap&, Qt::WindowFlags, bool)':
qt/splashscreen.cpp:33:98: error: 'FormatFullVersion' was not declared in this scope
2014-08-27 22:39:01 -04:00
jtimon
87d9819d4d fix comments ExtractAddress() -> ExtractDestination() 2014-08-28 01:54:45 +02:00
Wladimir J. van der Laan
d2d6f708e4 Fix build with DEBUG_LOCKORDER
Fixes #4771
2014-08-28 01:52:22 +02:00
Pieter Wuille
d1062e32fa
Merge pull request #4377
654871d replace ComputeMinWork with CheckMinWork (jtimon)
b343c1a Move CBlockIndex::GetBlockWork() to pow::GetProofIncrement(nBits) (jtimon)
c2c02f3 Move UpdateTime to pow (jtimon)
2014-08-27 22:39:28 +02:00