aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | | | Merge pull request #1357 from sipa/keyidPieter Wuille2012-05-2628-400/+579
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Refactor: split CKeyID/CScriptID/CTxDestination from CBitcoinAddress
| * | | | | | | | Refactor: split CKeyID/CScriptID/CTxDestination from CBitcoinAddressPieter Wuille2012-05-2426-339/+477
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This introduces internal types: * CKeyID: reference (hash160) of a key * CScriptID: reference (hash160) of a script * CTxDestination: a boost::variant of the former two CBitcoinAddress is retrofitted to be a Base58 encoding of a CTxDestination. This allows all internal code to only use the internal types, and only have RPC and GUI depend on the base58 code. Furthermore, the header dependencies are a lot saner now. base58.h is at the top (right below rpc and gui) instead of at the bottom. For the rest: wallet -> script -> keystore -> key. Only keystore still requires a forward declaration of CScript. Solving that would require splitting script into two layers.
| * | | | | | | | Encapsulate public keys in CPubKeyPieter Wuille2012-05-2416-86/+127
| | | | | | | | |
* | | | | | | | | Merge pull request #1370 from Diapolo/add_startuptime_to_logPieter Wuille2012-05-264-4/+5
|\ \ \ \ \ \ \ \ \ | |_|/ / / / / / / |/| | | | | | | | add client startup time as an entry to debug.log
| * | | | | | | | add client startup time as an entry to debug.log (note: logged time in ↵Philip Kaufmann2012-05-234-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | debug.log differs by a few seconds from the one displayed in the Debug window) / make ClientModel::formatClientStartupTime() return a QString
* | | | | | | | | Remove newlines from JSON stringsGavin Andresen2012-05-252-80/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Newlines in JSON strings are against the JSON spec, so remove them from the script*.json unit tests to make python's jsonrpc happy (json::spirit didn't care).
* | | | | | | | | Merge pull request #1366 from roques/completionGavin Andresen2012-05-254-1/+118
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Bash completion for bitcoind(1)
| * | | | | | | | | Use debhelper to install bitcoind.bash-completionChristian von Roques2012-05-233-1/+3
| | | | | | | | | |
| * | | | | | | | | Bash programmable completion for bitcoind(1)Christian von Roques2012-05-231-0/+115
| |/ / / / / / / /
* | | / / / / / / Unit tests for transaction size limitsGavin Andresen2012-05-252-0/+100
| |_|/ / / / / / |/| | | | | | |
* | | | | | | | Lots more Script unit test cases.Gavin Andresen2012-05-243-8/+228
| |/ / / / / / |/| | | | | |
* | | | | | | More CScript unit tests.Gavin Andresen2012-05-243-6/+22
| | | | | | |
* | | | | | | DoS_tests: fix signed/unsigned comparison warningsJeff Garzik2012-05-241-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | test/DoS_tests.cpp: In member function ‘void DoS_tests::DoS_mapOrphans::test_method()’: test/DoS_tests.cpp:200:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] test/DoS_tests.cpp:208:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] test/DoS_tests.cpp: In member function ‘void DoS_tests::DoS_checkSig::test_method()’: test/DoS_tests.cpp:260:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] test/DoS_tests.cpp:267:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] test/DoS_tests.cpp:280:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] test/DoS_tests.cpp:307:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
* | | | | | | Merge pull request #1387 from Diapolo/rem_unused_rpcdumpJeff Garzik2012-05-241-1/+0
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | remove dead "using namespace boost::asio;" from rpcdump.cpp
| * | | | | | | remove dead "using namespace boost::asio;" from rpcdump.cppPhilip Kaufmann2012-05-241-1/+0
| | | | | | | |
* | | | | | | | Merge pull request #1383 from jgarzik/rawtxJeff Garzik2012-05-243-1/+37
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | JSON-RPC: Add 'sendrawtx' op, for sending pre-built TX's to network
| * | | | | | | JSON-RPC: Add 'sendrawtx' op, for sending pre-built TX's to networkJeff Garzik2012-05-233-1/+37
| |/ / / / / /
* | | | | | | Merge branch 'merge2' into mergeJeff Garzik2012-05-242-63/+83
|\ \ \ \ \ \ \
| * | | | | | | Refactor: add IsChainFile helper. LoadBlockIndex() code movement.Jeff Garzik2012-05-232-63/+83
| | | | | | | |
* | | | | | | | rpcdump: include cleanup. move JSONRPCError def to bitcoinrpc.h.Jeff Garzik2012-05-232-6/+2
| | | | | | | |
* | | | | | | | Refactor: move runCommand() to util.cppJeff Garzik2012-05-233-8/+9
| | | | | | | |
* | | | | | | | .gitignore: add test_bitcoinJeff Garzik2012-05-231-0/+1
| |/ / / / / / |/| | | | | |
* | | | | | | Merge pull request #1342 from rebroad/LastSeenMinusMinusGregory Maxwell2012-05-221-1/+1
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | Should not be T minus, as this indicate duration to future event.
| * | | | | | Was showing a negative number. Changes to positive, since negative (T minus) ↵R E Broadley2012-05-171-1/+1
| | |/ / / / | |/| | | | | | | | | | | | | | | | usually indicates a future event.
* | | | | | CDBEnv: fix qt buildLuke Dashjr2012-05-222-2/+4
| | | | | |
* | | | | | Merge pull request #1380 from gavinandresen/optimize2Pieter Wuille2012-05-222-69/+75
|\ \ \ \ \ \ | | | | | | | | | | | | | | Move signature cache from CKey::Verify to CheckSig in script.cpp
| * | | | | | Move signature cache from CKey::Verify to CheckSig in script.cppGavin Andresen2012-05-222-69/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | More than doubles the speed of verifying already-cached signatures that use compressed pubkeys: Before: ~200 microseconds After: ~80 microseconds (no caching at all: ~3,300 microseconds per signature) Also encapsulates the signature cache code in a class and fixes a signed/unsigned comparison warning.
* | | | | | | Merge branch 'dbenv' into tmpJeff Garzik2012-05-225-139/+166
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/db.cpp
| * | | | | | | Further CDBEnv encapsulation work.Jeff Garzik2012-05-193-25/+24
| | | | | | | |
| * | | | | | | CDB::CDB: properly initialize activeTxn to NULLJeff Garzik2012-05-191-1/+2
| | | | | | | |
| * | | | | | | Remove unused nested BDB transaction supportJeff Garzik2012-05-192-31/+19
| | | | | | | |
| * | | | | | | Create CDBEnv::TxnBegin(), and use it in CDB::TxnBegin()Jeff Garzik2012-05-191-3/+11
| | | | | | | |
| * | | | | | | Encapsulate BDB environment inside new CDBEnv classJeff Garzik2012-05-194-78/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cleans up and organizes several scattered functions and variables related to the BDB env. Class CDBInit() existed to provide a guaranteed-via-C++-destructor cleanup of the db environment. A formal CDBEnv class provides all of this inside a single wrapper.
| * | | | | | | Reorganize(): remove spurious TxnAbort()Jeff Garzik2012-05-191-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | | | | Merge pull request #1381 from jgarzik/check-deserJeff Garzik2012-05-224-8/+37
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Prevent crashes due to missing or corrupted database records
| * | | | | | | | Prevent crashes due to missing or corrupted blk????.dat recordsJeff Garzik2012-05-222-4/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In LoadExternalBlockFile(), errors are already caught... silently. Add a warning message, even though we do not abort the program due to load error.
| * | | | | | | | Prevent crashes due to missing or corrupted database recordsJeff Garzik2012-05-222-4/+21
| | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Any problems seen during deserialization will throw an uncaught exception, crashing the entire bitcoin process. Properly return an error instead, so that we may at least log the error and gracefully shutdown other portions of the app.
* | | | | | | | Merge pull request #1369 from sipa/bootorderPieter Wuille2012-05-221-194/+204
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Reorder AppInit2
| * | | | | | | | Reorder AppInit2Pieter Wuille2012-05-211-194/+204
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reorders AppInit2 into 10 sections: 1) basic setup (OS stuff, signal handlers) 2) parameter interactions (softset) 3) interpreting options without side effects (just setting internal variables) 4) application initialization (datadir lock, daemonize, pidfile, log file) 5) network initialization (network params, proxy, binding) 6) load blockchain 7) load wallet 8) import blocks (-loadblock=) 9) load peers 10) start node/rpc threads 11) finished This means invalid configurations will be detected as soon as possible (in particular, before loading the block chain).
* | | | | | | | | ProcessMessage(): remove duplicate orphan tx debug messageJeff Garzik2012-05-221-3/+0
| |/ / / / / / / |/| | | | | | |
* | | | | | | | Merge pull request #1379 from laanwj/2012_05_macoshideWladimir J. van der Laan2012-05-221-1/+0
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Remove duplicate behavior on MacOSX
| * | | | | | | | Remove duplicate behavior on MacOSXWladimir J. van der Laan2012-05-221-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Dock icon on macosx already has show/hide functionality. This results in erratic behavior.
* | | | | | | | | Merge branch 'master' of github.com:bitcoin/bitcoinGavin Andresen2012-05-221-7/+7
|\| | | | | | | |
| * | | | | | | | Merge pull request #1378 from rebroad/ProcessMessagesDebugCorrectGregory Maxwell2012-05-221-7/+7
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Correct debug.log output to show correct function the debug is coming from.
| | * | | | | | | | Correct debug.log output to show correct function the debug is coming from.R E Broadley2012-05-221-7/+7
| | |/ / / / / / /
* | | | | | | | | Merge branch 'optimize'Gavin Andresen2012-05-226-286/+544
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | | | |
| * | | | | | | | Cache signature verificationsGavin Andresen2012-05-182-1/+160
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create a maximum-10MB signature verification result cache. This should almost double the number of transactions that can be processed on a given CPU, because before this change ECDSA signatures were verified when transactions were added to the memory pool and then again when they appeared in a block.
| * | | | | | | | Further DoS prevention: Verify signatures lastGavin Andresen2012-05-181-5/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | | | | Remove invalid dependent orphans from memoryGavin Andresen2012-05-181-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | | | | Optimize orphan transaction handlingGavin Andresen2012-05-182-18/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes suggested by Sergio Demian Lerner to help prevent potential DoS attacks.