Age | Commit message (Collapse) | Author |
|
|
|
Remove P2SH transition code: P2SH violations may cause DoS trigger
|
|
|
|
As the coinset data refers to the best block, stored in the block
tree. Flushing the coin set first can cause inconsistencies if
the process gets killed in between.
|
|
Estetics
|
|
remove "checkorder" P2P command
|
|
make optionsmodel query real proxy state for ::data()
|
|
Fixes a race condition in CreateNewBlock and a future null deref on testnet.
|
|
Fix out-of-bounds read in main (issue #1924)
|
|
Show warning when using prerelease version
|
|
Don't force getblocktemplate to have a parameter.
|
|
ensure AskPassphraseDialog::eventFilter forwards events
|
|
- instead of "return false;" use "return QDialog::eventFilter(object,
event);" to harmonize this event filter with our default behaviour
- remove orphan spaces found while editting the files
|
|
GCC hardening for Bitcoin-Qt
|
|
Implements #1948
- Add macro `CLIENT_VERSION_IS_RELEASE` to clientversion.h
- When running a prerelease (the above macro is `false`):
- In UI, show an orange warning bar at the top. This will be used for other
warnings (and alerts) as well, instead of the status bar.
- For `bitcoind`, show the warning in the "errors" field in `getinfo`
response.
|
|
This looks like it was just a munged merge when ultraprune
was committed.
|
|
Fixed 100% CPU utilization problem on FreeBSD 9
|
|
Sizeof() returned the size of a pointer instead of the size of the buffer.
Fixes issue #1924.
|
|
CreateNewBlock was reading pindexBest at the start before taking the lock
so it was possible to have the the block content not match the prevheader
and this can also trigger a newly added assert in ConnectBlock.
I noticed this during a code review after twobitcoins reported that ab91bf39
(BIP30 for all blocks) could cause a null dereference on a modified node
that mined during the IBD, or on testnet when it reached heights 91842 and
91880 due to CreateNewBlock calling ConnectBlock with pindex->phashBlock NULL.
|
|
fix a double inclusion of txdb.h in bitcoin-qt.pro
|
|
Ultraprune bugfixes
|
|
|
|
Some clarifications after a code review by Mike Hearn.
|
|
|
|
|
|
|
|
|
|
Bugfix: do not mark all future coins spent
|
|
change blockchain -> block chain (spelling)
|
|
- Wiki says "block chain" is correct ;)
- remove some unneeded spaces I found in the source, while fixing the spelling
|
|
|
|
remove init messages from ThreadImport()
|
|
- remove uiInterface.InitMessage() calls from ThreadImport(), as Qt
doesn't like them getting called out of it's main thread and because the
thread will continue to run after the GUI was loaded
|
|
|
|
|
|
Update version numbers to 0.7.99
|
|
|
|
Fix: CAddrMan: verify pchMessageStart file marker, before reading address data
|
|
Use CHashWriter also in SignatureHash(), and for message signing
|
|
Ultraprune: use a pruned-txout-set database for block validation
|
|
|
|
|
|
Support LevelDB memory-backed environments, and use them in unit tests.
|
|
Split off CBlockTreeDB and CCoinsViewDB into txdb-*.{cpp,h} files,
implemented by either LevelDB or BDB.
Based on code from earlier commits by Mike Hearn in his leveldb
branch.
|
|
|
|
|
|
This commit adds a status field and a transaction counter to the block
indexes.
|
|
Given that the block tree database (chain.dat) and the active chain
database (coins.dat) are entirely separate now, it becomes legal to
swap one with another instance without affecting the other.
This commit introduces a check in the startup code that detects the
presence of a better chain in chain.dat that has not been activated
yet, and does so efficiently (in batch, while reusing the blk???.dat
files).
|
|
To prevent excessive copying of CCoins in and out of the CCoinsView
implementations, introduce a GetCoins() function in CCoinsViewCache
with returns a direct reference. The block validation and connection
logic is updated to require caching CCoinsViews, and exploits the
GetCoins() function heavily.
|
|
Use CBlock's vMerkleTree to cache transaction hashes, and pass them
along as argument in more function calls. During initial block download,
this results in every transaction's hash to be only computed once.
|