Age | Commit message (Collapse) | Author |
|
This fixes two alert system vulnerabilities found by
Sergio Lerner; you could send peers unlimited numbers
of invalid alert message to try to either fill up their
debug.log with messages and/or keep their CPU busy
checking signatures.
Fixed by disconnecting/banning peers if they send 10 or more
bad (invalid/expired/cancelled) alerts.
|
|
Conflicts:
src/main.cpp
|
|
"Version 2" blocks are blocks that have nVersion=2 and
have the block height as the first item in their coinbase.
Block-height-in-the-coinbase is strictly enforced when
version=2 blocks are a supermajority in the block chain
(750 of the last 1,000 blocks on main net, 51 of 100 for
testnet). This does not affect old clients/miners at all,
which will continue producing nVersion=1 blocks, and
which will continue to be valid.
|
|
Partial of upstream dae3e10a5abe93833c57183b7c00f1db9200f46e
|
|
|
|
|
|
(this fixes a Mac OS X gitian build error for 0.5.x)
|
|
(this fixes a Mac OS X gitian build error for 0.5.x)
|
|
Conflicts:
doc/release-process.txt
src/serialize.h
|
|
verification uses the latter too
This caused clients to reject block #177618 since it has a P2SH transaction with over 200 bytes in scriptSig.
(Upstream commit: e679ec969c8b22c676ebb10bea1038f6c8f13b33)
|
|
Conflicts:
src/ui.cpp
src/ui.h
src/uibase.cpp
src/xpm/about.xpm
|
|
|
|
I originally created a pull to replace the "COPYING" in crypter.cpp and
crypter.h, but it turned out that COPYING was actually the correct
file.
|
|
I originally created a pull to replace the "COPYING" in crypter.cpp and
crypter.h, but it turned out that COPYING was actually the correct
file.
|
|
Conflicts:
contrib/Bitcoin.app/Contents/Info.plist
doc/README
doc/README_windows.txt
share/setup.nsi
src/protocol.h
src/serialize.h
|
|
Rather than storing ftell(3)'s return value -- a long -- in an
unsigned int, we store and check a properly typed temp. Then, assured a
non-negative value, we store in nBlockPosRet.
|
|
Conflicts:
src/main.cpp
|
|
foo.size() typically returns an unsigned integral type; make loop variables
match those types' signedness.
|
|
Conflicts:
src/keystore.h
|
|
|
|
Conflicts:
src/main.cpp
|
|
|
|
Note this does NOT include accepting them in blocks (making them standard)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Conflicts:
src/main.cpp
|
|
All previous versions of bitcoin could store some types of
invalid transactions in the orphan-transaction list.
|
|
|
|
attacks
|
|
|
|
attacks
|
|
Replaced all occurrences of #if* __WXMSW__ with WIN32,
and all occurrences of __WXMAC_OSX__ with MAC_OSX, and made
sure those are defined appropriately in the makefile and bitcoin-qt.pro.
|
|
a block with a custom generation transaction and submit a solution
getmemorypool [data]
If [data] is not specified, returns data needed to construct a block to work on:
"version" : block version
"previousblockhash" : hash of current highest block
"transactions" : contents of non-coinbase transactions that should be included in the next block
"coinbasevalue" : maximum allowable input to coinbase transaction, including the generation award and transaction fees
"time" : timestamp appropriate for next block
"bits" : compressed target of next block
If [data] is specified, tries to solve the block and returns true if it was successful.
|
|
Denial-of-service prevention
|
|
|
|
|
|
blocks as initial value for number of peer blocks
|
|
git://gitorious.org/~Luke-Jr/bitcoin/luke-jr-bitcoin into unique_coinbase
|
|
coinbase txn is unique even if address is the same
|
|
|
|
Move CMessageHeader from net.h to protocol.[ch]pp, with the
implementation in the .cpp compilation unit (compiling once is enough).
This commit does *not* and should not modify *any* code, it only moves
it from net.h and splits it across protocol.cpp and protocol.hpp.
Indentation changes aside the closest thing to a modification of code is
the addition of the 'TODO' comment (the execution of which requires code
modifications and thus doesn't belong in this commit).
Signed-off-by: Giel van Schijndel <me@mortis.eu>
|
|
Explicitly make these global variables less-global to reduce the maximum
scope of this global state.
In my experience global variables tend to be a major source of bugs. As
such the less accessible they are the less likely they are to be the
source of a bug.
Signed-off-by: Giel van Schijndel <me@mortis.eu>
|
|
To a variation on:
// Copyright (c) 2009-2010 Satoshi Nakamoto
// Copyright (c) 2011 The Bitcoin developers
|
|
Make CKeyStore's interface work on uint160's instead of pubkeys, so
no separate global mapPubKeys is necessary anymore.
|
|
Wallet Private Key Encryption (on CWallet)
|
|
This prevents old clients from opening, and thus corrupting
or otherwise causing harm to encrypted wallets.
|