aboutsummaryrefslogtreecommitdiff
path: root/src/main.h
AgeCommit message (Collapse)Author
2012-08-27Alert system DoS preventionGavin Andresen
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.
2012-08-26Merge branch '0.4.x' into 0.5.xLuke Dashjr
Conflicts: src/main.cpp
2012-08-26Block height in coinbase as a new block ruleGavin Andresen
"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.
2012-08-26Add CBlock::CURRENT_VERSION and CTransaction::CURRENT_VERSION constants.Gavin Andresen
Partial of upstream dae3e10a5abe93833c57183b7c00f1db9200f46e
2012-08-12Merge branch '0.4.x' into 0.5.xLuke Dashjr
2012-08-12Bugfix: Use standard BTC unit in commentsLuke Dashjr
2012-06-14Use std::numeric_limits<> for typesafe INT_MAX/etcGavin Andresen
(this fixes a Mac OS X gitian build error for 0.5.x)
2012-06-14Use std::numeric_limits<> for typesafe INT_MAX/etcGavin Andresen
(this fixes a Mac OS X gitian build error for 0.5.x)
2012-06-14Merge branch '0.4.x' into 0.5.xLuke Dashjr
Conflicts: doc/release-process.txt src/serialize.h
2012-06-12Bugfix: Move IsStandard scriptSig size check out of IsPushOnly, since BIP16 ↵Luke Dashjr
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)
2012-05-22Merge branch '0.4.x' into 0.5.xLuke Dashjr
Conflicts: src/ui.cpp src/ui.h src/uibase.cpp src/xpm/about.xpm
2012-05-22Prevent crashes due to missing or corrupted blk????.dat recordsJeff Garzik
2012-05-20Update License in File HeadersFordy
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.
2012-05-20Update License in File HeadersFordy
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.
2012-04-27Merge branch '0.4.x' into 0.5.xLuke Dashjr
Conflicts: contrib/Bitcoin.app/Contents/Info.plist doc/README doc/README_windows.txt share/setup.nsi src/protocol.h src/serialize.h
2012-04-24CBlock::WriteToDisk() properly checks ftell(3) for error returnJeff Garzik
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.
2012-04-22Merge branch '0.4.x' into 0.5.xLuke Dashjr
Conflicts: src/main.cpp
2012-04-17Fix loop index var types, fixing many minor sign comparison warningsJeff Garzik
foo.size() typically returns an unsigned integral type; make loop variables match those types' signedness.
2012-04-15Merge branch '0.4.x' into 0.5.0.xLuke Dashjr
Conflicts: src/keystore.h
2012-04-15fix warnings: suggest explicit braces to avoid ambiguous 'else' [-Wparentheses]Wladimir J. van der Laan
2012-03-21Merge branch '0.4.x' into 0.5.0.xLuke Dashjr
Conflicts: src/main.cpp
2012-03-21Merge branch 'bip16_0.4.x' into 0.4.xLuke Dashjr
2012-03-20Minimal support for validating BIP16 pay-to-script-hash transactionsLuke Dashjr
Note this does NOT include accepting them in blocks (making them standard)
2012-03-16Fix issue #848 : broken mining on testnetGavin Andresen
2012-03-16Fix issue #848 : broken mining on testnetGavin Andresen
2012-03-03Merge branch '0.4.x' into 0.5.0.xLuke Dashjr
2012-03-02DoS fix for mapOrphanTransactionsGavin Andresen
2012-02-07Update copyrights to 2012 for files modified this yearLuke Dashjr
2012-02-07Update copyrights to 2012 for files modified this yearLuke Dashjr
2012-02-02Merge branch '0.4.x' into 0.5.0.xLuke Dashjr
Conflicts: src/main.cpp
2012-02-02Only store transactions with missing inputs in the orphan pool.Gavin Andresen
All previous versions of bitcoin could store some types of invalid transactions in the orphan-transaction list.
2011-12-01Orphan block fill-up-memory attack preventionGavin Andresen
2011-12-01Moved checkpoints out of main, to prep for using them to help prevent DoS ↵Gavin Andresen
attacks
2011-12-01Orphan block fill-up-memory attack preventionGavin Andresen
2011-12-01Moved checkpoints out of main, to prep for using them to help prevent DoS ↵Gavin Andresen
attacks
2011-10-07Fix build on windows and macGavin Andresen
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.
2011-10-01Added RPC call 'getmemorypool' that provides everything needed to construct ↵Forrest Voight
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.
2011-09-26Merge pull request #517 from gavinandresen/DoSpreventionGavin Andresen
Denial-of-service prevention
2011-09-21Transaction/Block denial-of-service detection/responseGavin Andresen
2011-09-16Merge branch 'master' of https://github.com/bitcoin/bitcoinWladimir J. van der Laan
2011-09-11clarify function signature (GetNumBlocksOfPeers) and use number of 'frozen' ↵Wladimir J. van der Laan
blocks as initial value for number of peer blocks
2011-09-07Merge branch 'unique_coinbase' of ↵Gavin Andresen
git://gitorious.org/~Luke-Jr/bitcoin/luke-jr-bitcoin into unique_coinbase
2011-09-06Bugfix: Use timestamp in coinbase rather than "bits", needed to ensure ↵Luke Dashjr
coinbase txn is unique even if address is the same
2011-09-02update to work with new lock system, add protocol.* to build systemWladimir J. van der Laan
2011-08-19Start moving protocol-specific code to protocol.[ch]ppGiel van Schijndel
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>
2011-08-19Make some global variables less-global (static)Giel van Schijndel
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>
2011-08-09Unify copyright notices.Matt Corallo
To a variation on: // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2011 The Bitcoin developers
2011-07-17get rid of mapPubKeysPieter Wuille
Make CKeyStore's interface work on uint160's instead of pubkeys, so no separate global mapPubKeys is necessary anymore.
2011-07-12Merge pull request #352 from TheBlueMatt/newencJeff Garzik
Wallet Private Key Encryption (on CWallet)
2011-07-13Make an invalid addrIncoming so that old clients crash.Matt Corallo
This prevents old clients from opening, and thus corrupting or otherwise causing harm to encrypted wallets.