aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-05-25Generalise RPC connection handling code to allow more listening socketsGiel van Schijndel
Using this modification it should be relatively easy to, at a later time, listen on multiple addresses (even Unix domain sockets should be possible). Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-05-25Allow clients on the IPv6 loopback as wellGiel van Schijndel
Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-05-25Add dual IPv4/IPv6 stack support to the RPC serverGiel van Schijndel
The RPC server now listens for, and handles, incoming connections on both IPv4 as well as IPv6. If available (and usable) it uses a dual IPv4/IPv6 socket on systems that support it (e.g. Linux and BSDs) and falls back to separate IPv4/IPv6 sockets on systems that don't (e.g. Windows). Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-05-25Use asynchronous I/O to handle RPC requestsGiel van Schijndel
This allows more flexibility in the RPC code, e.g. making it easier to handle multiple simultaneous connections later on. Currently asynchronous I/O is only used to listen for and accept incoming connections. Asynchronous reading/writing is more involved. Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-05-24Lots more Script unit test cases.Gavin Andresen
2012-05-24More CScript unit tests.Gavin Andresen
2012-05-24DoS_tests: fix signed/unsigned comparison warningsJeff Garzik
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]
2012-05-24Merge pull request #1387 from Diapolo/rem_unused_rpcdumpJeff Garzik
remove dead "using namespace boost::asio;" from rpcdump.cpp
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-24remove dead "using namespace boost::asio;" from rpcdump.cppPhilip Kaufmann
2012-05-24Merge branch 'merge2' into mergeJeff Garzik
2012-05-23rpcdump: include cleanup. move JSONRPCError def to bitcoinrpc.h.Jeff Garzik
2012-05-23Refactor: move runCommand() to util.cppJeff Garzik
2012-05-23.gitignore: add test_bitcoinJeff Garzik
2012-05-23JSON-RPC: Add 'sendrawtx' op, for sending pre-built TX's to networkJeff Garzik
2012-05-23Refactor: add IsChainFile helper. LoadBlockIndex() code movement.Jeff Garzik
2012-05-22Merge pull request #1342 from rebroad/LastSeenMinusMinusGregory Maxwell
Should not be T minus, as this indicate duration to future event.
2012-05-22CDBEnv: fix qt buildLuke Dashjr
2012-05-22Merge pull request #1380 from gavinandresen/optimize2Pieter Wuille
Move signature cache from CKey::Verify to CheckSig in script.cpp
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-22Merge pull request #1369 from sipa/bootorderPieter Wuille
Reorder AppInit2
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-22Prevent crashes due to missing or corrupted database recordsJeff Garzik
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.
2012-05-22Move signature cache from CKey::Verify to CheckSig in script.cppGavin Andresen
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.
2012-05-22Merge pull request #1379 from laanwj/2012_05_macoshideWladimir J. van der Laan
Remove duplicate behavior on MacOSX
2012-05-22Remove duplicate behavior on MacOSXWladimir J. van der Laan
Dock icon on macosx already has show/hide functionality. This results in erratic behavior.
2012-05-22Merge branch 'master' of github.com:bitcoin/bitcoinGavin Andresen
2012-05-22Merge branch 'optimize'Gavin Andresen
2012-05-22Merge pull request #1378 from rebroad/ProcessMessagesDebugCorrectGregory Maxwell
Correct debug.log output to show correct function the debug is coming from.
2012-05-22Merge pull request #1372 from jgarzik/json-threadsafeGavin Andresen
Define BOOST_SPIRIT_THREADSAFE at all json_spirit*.h inclusion sites
2012-05-22Correct debug.log output to show correct function the debug is coming from.R E Broadley
2012-05-21Define BOOST_SPIRIT_THREADSAFE in all makefilesJeff Garzik
rather than at each include site. Fixes #1371
2012-05-21Merge pull request #917 from mndrix/reopen-log-filePieter Wuille
Reopen log file on SIGHUP
2012-05-21Merge pull request #1329 from laanwj/2012_05_addrremovewhitespaceWladimir J. van der Laan
Filter out whitespace and zero-width non-breaking spaces in address field validator
2012-05-21Remove autocorrection of 0/i in addresses in UIWladimir J. van der Laan
2012-05-21Filter out whitespace and zero-width non-breaking spaces in validatorWladimir J. van der Laan
- Fixes issues with copy/pasting from web or html emails (#1325)
2012-05-21Reorder AppInit2Pieter Wuille
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).
2012-05-21Merge pull request #1365 from Diapolo/askpassphrasedialogWladimir J. van der Laan
GUI: start rows in askpassphrasedialog.ui at 0 (not 1)
2012-05-21Merge pull request #1367 from jgarzik/db-privateJeff Garzik
BDB: restore DB_PRIVATE flag to environment
2012-05-21BDB: restore DB_PRIVATE flag to environmentJeff Garzik
Satoshi's commits fdbf76d and c8ad9b8 (SVN import) removed the DB_PRIVATE flag from the environment. In part, this enables processes other than bitcoind to examine the active database environment. However, this incurs a slight performance penalty versus working entirely within application memory (DB_PRIVATE). Because bitcointools and other direct-BDB-accessing tools are not used by the vast majority of users, prefer to default with DB_PRIVATE with the option of disabling it if needed via -privdb=0.
2012-05-20Merge pull request #1354 from fanquake/masterPieter Wuille
Update Header Licenses
2012-05-20Merge pull request #1363 from Diapolo/remove_strncasecmpPieter Wuille
remove strncasecmp() + strnicmp() calls use boost::algorithm::istarts_with()
2012-05-20start rows in askpassphrasedialog.ui at 0 (not 1)Philip Kaufmann
2012-05-20Merge pull request #1205 from laanwj/2012_05_granular_ui_notificationsWladimir J. van der Laan
Finer-grained UI updates, move UI interface to boost::signals
2012-05-20Make testcases build, prevent windows symbol collisionWladimir J. van der Laan
2012-05-20Process address book updates incrementallyWladimir J. van der Laan
- No longer invalidates selection model, thus retains selection on address book changes - Fixes selection of new address when added
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.