aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
AgeCommit message (Collapse)Author
2012-05-24Merge pull request #1383 from jgarzik/rawtxJeff Garzik
JSON-RPC: Add 'sendrawtx' op, for sending pre-built TX's to network
2012-05-23Refactor: move runCommand() to util.cppJeff Garzik
2012-05-23JSON-RPC: Add 'sendrawtx' op, for sending pre-built TX's to networkJeff Garzik
2012-05-22Merge branch 'dbenv' into tmpJeff Garzik
Conflicts: src/db.cpp
2012-05-22Merge pull request #1381 from jgarzik/check-deserJeff Garzik
Prevent crashes due to missing or corrupted database records
2012-05-22ProcessMessage(): remove duplicate orphan tx debug messageJeff Garzik
2012-05-22Prevent crashes due to missing or corrupted blk????.dat recordsJeff Garzik
In LoadExternalBlockFile(), errors are already caught... silently. Add a warning message, even though we do not abort the program due to load error.
2012-05-22Merge branch 'master' of github.com:bitcoin/bitcoinGavin Andresen
2012-05-22Merge branch 'optimize'Gavin Andresen
2012-05-22Correct debug.log output to show correct function the debug is coming from.R E Broadley
2012-05-20Merge pull request #1354 from fanquake/masterPieter Wuille
Update Header Licenses
2012-05-20Make testcases build, prevent windows symbol collisionWladimir J. van der Laan
2012-05-20Convert UI interface to boost::signals2.Wladimir J. van der Laan
- Signals now go directly from the core to WalletModel/ClientModel. - WalletModel subscribes to signals on CWallet: Prepares for multi-wallet support, by no longer assuming an implicit global wallet. - Gets rid of noui.cpp, the few lines that were left are merged into init.cpp - Rename wxXXX message flags to MF_XXX, to make them UI indifferent. - ThreadSafeMessageBox no longer returns the value `4` which was never used, converted to void.
2012-05-20Fine-grained UI updatesWladimir J. van der Laan
Gets rid of `MainFrameRepaint` in favor of specific update functions that tell the UI exactly what changed. This improves the efficiency of various handlers. Also fixes problems with mined transactions not showing up until restart. The following notifications were added: - `NotifyBlocksChanged`: Block chain changed - `NotifyKeyStoreStatusChanged`: Wallet status (encrypted, locked) changed. - `NotifyAddressBookChanged`: Address book entry changed. - `NotifyTransactionChanged`: Wallet transaction added, removed or updated. - `NotifyNumConnectionsChanged`: Number of connections changed. - `NotifyAlertChanged`: New, updated or cancelled alert. As this finally makes it possible for the UI to know when a new alert arrived, it can be shown as OS notification. These notifications could also be useful for RPC clients. However, currently, they are ignored in bitcoind (in noui.cpp). Also brings back polling with timer for numBlocks in ClientModel. This value updates so frequently during initial download that the number of signals clogs the UI thread and causes heavy CPU usage. And after initial block download, the value changes so rarely that a delay of half a second until the UI updates is unnoticable.
2012-05-19Reorganize(): remove spurious TxnAbort()Jeff Garzik
If Reorganize() fails, then its caller, CBlock::SetBestChain(), will call TxnAbort(). Redundant TxnAbort() calls are harmless. The second will return an error return value, with no other side effects. TxnAbort() return values are generally never checked. The impact is nil.
2012-05-19Merge pull request #1296 from Diapolo/CheckDiskSpaceGavin Andresen
make CheckDiskSpace() use 50 * 1024 * 1024 Bytes
2012-05-18Further DoS prevention: Verify signatures lastGavin Andresen
Loop over all inputs doing inexpensive validity checks first, and then loop over them a second time doing expensive signature checks. This helps prevent possible CPU exhaustion attacks where an attacker tries to make a victim waste time checking signatures for invalid transactions.
2012-05-18Remove invalid dependent orphans from memoryGavin Andresen
Remove orphan transactions from memory once all of their parent transactions are received and they're still not valid. Thanks to Sergio Demian Lerner for suggesting this fix.
2012-05-18Optimize orphan transaction handlingGavin Andresen
Changes suggested by Sergio Demian Lerner to help prevent potential DoS attacks.
2012-05-18Update 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-17Make orphan logging more verbose, displaying mapOrphanTransactions.size()Jeff Garzik
Old log message: storing orphan tx df2244f6bc New log message: storing orphan tx df2244f6bc (mapsz 51) Also, trim a few trailing whitespace in main.cpp.
2012-05-17Refactor: GetRandHash() method for utilGavin Andresen
2012-05-17Merge pull request #1295 from jgarzik/txn-retvalJeff Garzik
[FIX] Always check return values of TxnBegin() and TxnCommit()
2012-05-15Hopefully final fix for the stuck blockchain issuePieter Wuille
Immediately issue a "getblocks", instead of a "getdata" (which will trigger the relevant "inv" to be sent anyway), and only do so when the previous set of invs led us into a known and attached part of the block tree.
2012-05-14make CheckDiskSpace() use a global static const uint64 for checking required ↵Philip Kaufmann
disk space and remove 2 ugly spaces from a message string
2012-05-14Always check return values of TxnBegin() and TxnCommit()Jeff Garzik
2012-05-13ensure that no double timestamps show up in the debug.log, by removing ↵Philip Kaufmann
manual timestamps from the source (now only -logtimestamps parameter adds timestamps to debug.log)
2012-05-11Merge pull request #1021 from sipa/ipv6Pieter Wuille
IPv6 node support
2012-05-11Limited relaying/storing of foreign addressesPieter Wuille
Introduce a boolean variable for each "network" (ipv4, ipv6, tor, i2p), and track whether we are likely to able to connect to it. Addresses in "addr" messages outside of our network get limited relaying and are not stored in addrman.
2012-05-11IPv6 node supportPieter Wuille
This will make bitcoin relay valid routable IPv6 addresses, and when USE_IPV6 is enabled, listen on IPv6 interfaces and attempt connections to IPv6 addresses.
2012-05-10CTxMemPool::accept(): do not log FetchInputs failure redundantlyJeff Garzik
FetchInputs already logs failures internally. This commit makes the logging more consistent with other FetchInputs callsites also. Prior to this commit, two log lines were logged for one condition: ERROR: FetchInputs() : de15fde415 mempool Tx prev not found a2c75da227 ERROR: CTxMemPool::accept() : FetchInputs failed de15fde415 After this commit, only one line is logged: ERROR: FetchInputs() : e0507ab2c7 mempool Tx prev not found 9a620262cd
2012-05-10CTxMemPool: consolidate two frequently-printed debug.log lines into oneJeff Garzik
Previously, a single TX would trigger two log lines in quick succession, addUnchecked(): size 152 CTxMemPool::accept() : accepted c4cfdd48b7 After this change, only one log line is used: CTxMemPool::accept() : accepted 98885e65db (poolsz 26)
2012-05-09Clean up warningsPieter Wuille
* Use -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameters * Remove xCXXFLAGS usage in makefile.unix * Fix several recent and older sign-compare warnings
2012-05-08Merge branch 'tmp-ipv6' into merge-ipv6Jeff Garzik
2012-05-08Merge pull request #1180 from jgarzik/sign-compareJeff Garzik
Fix final sign comparison warnings
2012-05-08Merge pull request #841 from sipa/getalltransactionsGregory Maxwell
gettransaction RPC for non-wallet transactions
2012-05-08Merge pull request #883 from sipa/loadblockGregory Maxwell
Add -loadblock to load from an external blk000?.dat file
2012-05-06Prevent stuck download: correct solutionPieter Wuille
Pull request #948 introduced a fix for nodes stuck on a long side branch of the main chain. The fix was non-functional however, as the additional getdata request was created in a first step of processing, but dropped in a second step as it was considered redundant. This commits fixes it by sending the request directly.
2012-05-05Bugfix: %-12I64d is not valid and causes the parameter to be skipped, use ↵Luke Dashjr
%12"PRI64d" instead
2012-05-04Support for multiple local addressesPieter Wuille
2012-05-04Add -seednode connections, and use this for -dnsseed + -proxydnsPieter Wuille
2012-05-01OpenBlockFile(): cast to eliminate signed/unsigned comparison warningJeff Garzik
nFile's null value is -1. Cast that to unsigned int, to avoid warning. Additionally, avoid nFile==0 because the first valid value is 1.
2012-04-30Check earlier for blocks with duplicate transactions. Fixes #1167v0.6.1rc2Gavin Andresen
2012-04-23Add casts for unavoidable signed/unsigned comparisonsJeff Garzik
At these code sites, it is preferable to cast rather than change a variable's type.
2012-04-23Test ScriptSigArgsExpected() for error, before accumulating return valueJeff Garzik
2012-04-23SigOp and orphan-tx constants and counts are always unsigned.Jeff Garzik
Fixes several sign-comparison warnings.
2012-04-22-loadblock to load from an external blk000?.dat filePieter Wuille
2012-04-18gettransaction RPC for non-wallet transactionsPieter Wuille
Works for wallet transactions, memory-pool transaction and block chain transactions. Available for all: * txid * version * locktime * size * coinbase/inputs/outputs * confirmations Available only for wallet transactions: * amount * fee * details * blockindex Available for wallet transactions and block chain transactions: * blockhash * time
2012-04-17Merge remote-tracking branch 'jgarzik/mempool'Pieter Wuille
2012-04-17Merge pull request #1117 from sipa/deadlockfixPieter Wuille
Fix potential deadlock