aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
AgeCommit message (Collapse)Author
2013-03-17Before 15 May, limit created block size to 500KGavin Andresen
2013-03-17CheckBlock rule until 15-May for 10,000 BDB lock compatibilityGavin Andresen
2013-02-23Merge pull request #2186 from Diapolo/misc_stuffWladimir J. van der Laan
small changes in init, main, checkpoints.h and bitcoin-qt.pro
2013-02-22Merge pull request #2221 from sipa/perfoGavin Andresen
Various performance tweaks to CCoinsView
2013-02-22Merge pull request #2229 from sipa/preallocGavin Andresen
Native versions for AllocateFileRange()
2013-02-20small changes in init, main, checkpoints.h and bitcoin-qt.proPhilip Kaufmann
- remove an unneeded MODAL flag, as MSG_ERROR sets MODAL - re-order an if-clause in main to have bool checks before a function call - fix some log messages that used wrong function names - make a log message use a correct ellipsis - remove some unneded spaces, brackets and line-breaks - fix style for adding files in the Qt project
2013-02-17Improve block database load error reportingPieter Wuille
2013-02-06Merge pull request #2279 from sipa/cvrbip30Gavin Andresen
Bugfix CValidationResult for BIP30 + add DoS
2013-02-06Bugfix CValidationResult for BIP30 + add DoSPieter Wuille
2013-02-05Do not call ResendWalletTransactions when reindexing, importing or on IBDRubén Darío Ponticelli
Calling ResendWalletTransactions when reindexing, importing or on IBD spams other nodes with our old transactions, because they become unconfirmed.
2013-02-05Merge branch 'reindexgen' of git://github.com/sipa/bitcoinGavin Andresen
2013-02-05Merge pull request #2273 from gavinandresen/txsizeGavin Andresen
Make transactions larger than 100K non-standard
2013-02-05Make transactions larger than 100K non-standardGavin Andresen
Extremely large transactions with lots of inputs can cost the network almost as much to process as they cost the sender in fees. We would never create transactions larger than 100K big; this change makes transactions larger than 100K non-standard, so they are not relayed/mined by default. This is most important for miners that might create blocks larger than 250K big, who could be vulnerable to a make-your-blocks-so-expensive-to-verify-they-get-orphaned attack.
2013-02-01Make sure the genesis block is present after reindexPieter Wuille
2013-01-31Bugfix: Enable ConnectBestBlock to properly report back validation problems, ↵Luke Dashjr
and ensure orphan processing (when their parents are found) cannot be used to counter-DDoS the node providing the parent Also fix a minor typo
2013-01-30Drop padding in blk* when finalizing filePieter Wuille
2013-01-29Merge pull request #2224 from sipa/valstateGavin Andresen
Improve error handling during validation
2013-01-30Deal with LevelDB errorsPieter Wuille
2013-01-29Fix two clang3.3 warningsGavin Andresen
2013-01-30Improve dealing with abort conditionsPieter Wuille
2013-01-30Add disk space checks before flushing CCoins cachePieter Wuille
2013-01-30Treat coinbase value violation as DoSPieter Wuille
2013-01-30CValidationState frameworkPieter Wuille
2013-01-28Merge pull request #2223 from gavinandresen/nonfinalnonstandardGavin Andresen
Treat non-final transactions as non-standard
2013-01-26Treat non-final transactions as non-standardGavin Andresen
At least one service that accepted zero-confirmation transactions was vulnerable because an attacker could send a transaction with a lock time far in the future, and then have plenty of time in which to get a double-spend mined (perhaps from a miner who wasn't on the network when the first transaction was broadcast). That is a variation on the "Finney attack". We still don't recommend anybody accept 0-confirmation transactions as final payment for anything. This change keeps non-final transactions from appearing in the wallet, and, assuming most of the network accepts this change, will prevent them from being relayed until they are final.
2013-01-26Merge pull request #2182 from gavinandresen/addressoracleGavin Andresen
Remove IsFromMe() check in CTxMemPool::accept()
2013-01-26Check only 288 blocks at startup by defaultPieter Wuille
2013-01-26Various performance tweaks to CCoinsViewPieter Wuille
* Pass txid's to CCoinsView functions by reference instead of by value * Add a method to swap CCoins, and use it in some places to avoid a allocating copy + destruct. * Optimize CCoinsViewCache::FetchCoins to do only a single search through the backing map.
2013-01-25Merge pull request #2168 from sipa/txindexGavin Andresen
Add optional transaction index to databases
2013-01-23Let limitfreerelay=0 reject ALL free transactionsGavin Andresen
2013-01-23Merge pull request #2187 from CodeShark/SyncWithWalletsFixGavin Andresen
Bugfix - Moved SyncWithWallets out of ProcessMessage and into CTxMemPool::accept()
2013-01-23Merge pull request #2192 from mikehearn/notfoundmsgGavin Andresen
Add a notfound message to getdata.
2013-01-23Merge pull request #2188 from TheBlueMatt/bloomGavin Andresen
Send transactions after a CMerkleBlock when asked for it in an inv.
2013-01-19Add a notfound message to getdata that is sent if any transactions that ↵Mike Hearn
aren't in the relayable set are requested.
2013-01-19Bugfix + simplify special case for genesisPieter Wuille
2013-01-18Replace 520 constant with MAX_SCRIPT_ELEMENT_SIZEMatt Corallo
2013-01-18Send transactions after a CMerkleBlock when asked for it in an inv.Matt Corallo
This actually simplifies some SPV code, as they can keep track of a filtered block and its txn before accepting both in one step. The previous argument was that SPV nodes should handle the txn the same as any other free txn and then mark them as connected to a block when they get the filtered block itself. However, it now appears that SPV nodes will need to put in more effort to verify loose txn than they would to verify txn in blocks, thus making it more approriate to send the txn after the filtered block.
2013-01-18Moved SyncWithWallets out of ProcessMessage and into CTxMemPool::accept() so ↵Eric Lombrozo
that when adding multiple wallets they will be aware of each other's transactions.
2013-01-18Add optional transaction index to databasesPieter Wuille
By specifying -txindex when initializing the database, a txid-to-diskpos index is maintained in the blktree database. This database is used to help answering getrawtransaction() RPC queries, when enabled. Changing the -txindex value requires a -reindex; the client will abort at startup if the database and the specified -txindex mismatch.
2013-01-17Merge pull request #2060 from sipa/parallelGavin Andresen
Parallel script verification
2013-01-16Filter mempool commandMatt Corallo
2013-01-16Use CPartialMerkleTree for CMerkleBlock transactions.Matt Corallo
2013-01-16Add CPartialMerkleTreePieter Wuille
This adds a compact representation for a subset of a merkle tree's nodes.
2013-01-16Let a node opt out of tx invs before we get a their bloom filterMatt Corallo
Note that the default value for fRelayTxes is false, meaning we now no longer relay tx inv messages before receiving the remote peer's version message.
2013-01-16Relay CMerkleBlocks when asked for MSG_FILTERED_BLOCKMatt Corallo
2013-01-16Add a CMerkleBlock to store merkle branches of filtered txes.Matt Corallo
2013-01-16Replace RelayMessage with RelayTransaction.Matt Corallo
2013-01-16Add a filter field in CNode, add filterload+filteradd+filterclearMatt Corallo
2013-01-15Remove IsFromMe() check in CTxMemPool::accept()Gavin Andresen
Fixes issue #2178 : attacker could penny-flood with invalid-signature transactions to deduce which addresses belonged to your node. I'm committing this early for code review; I still need to write up a test plan. Executive summary of fix: check all transactions received from the network for penny-flood rate-limiting before adding to the memory pool. But do NOT ratelimit transactions added to the memory pool: - because of blockchain reorgs - stored in the wallet and added at startup - sent from the GUI or one of the send* RPC commands (CWallet::CommitTransaction) The limit-free-transactions code really should be a method on CNode, with counters per-peer. But that is a bigger change for another day.
2013-01-14Merge pull request #2161 from sipa/noclientGavin Andresen
Remove fClient