aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | | 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.
| * | | | | | | Refactor: GetRandHash() method for utilGavin Andresen2012-05-174-15/+12
| | | | | | | |
| * | | | | | | Refactor: move code from key.h to key.cppGavin Andresen2012-05-172-246/+285
| | | | | | | |
* | | | | | | | Define BOOST_SPIRIT_THREADSAFE in all makefilesJeff Garzik2012-05-215-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rather than at each include site. Fixes #1371
* | | | | | | | Merge pull request #917 from mndrix/reopen-log-filePieter Wuille2012-05-213-1/+24
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Reopen log file on SIGHUP
| * | | | | | | | Reopen debug.log on SIGHUPMichael Hendricks2012-05-183-1/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The best log rotation method formerly available was to configure logrotate with the copytruncate option. As described in the logrotate documentation, "there is a very small time slice between copying the file and truncating it, so some logging data might be lost". By sending SIGHUP to the server process, one can now reopen the debug log file without losing any data.
| * | | | | | | | Serialize access to debug.log streamMichael Hendricks2012-05-181-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Acquire an exclusive, advisory lock before sending output to debug.log and release it when we're done. This should avoid output from multiple threads being interspersed in the log file. We can't use CRITICAL_SECTION machinery for this because the debug log is written during startup and shutdown when that machinery is not available. (Thanks to Gavin for pointing out the CRITICAL_SECTION problems based on his earlier work in this area)
* | | | | | | | | Merge pull request #1329 from laanwj/2012_05_addrremovewhitespaceWladimir J. van der Laan2012-05-211-9/+19
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Filter out whitespace and zero-width non-breaking spaces in address field validator
| * | | | | | | | | Remove autocorrection of 0/i in addresses in UIWladimir J. van der Laan2012-05-211-9/+3
| | | | | | | | | |
| * | | | | | | | | Filter out whitespace and zero-width non-breaking spaces in validatorWladimir J. van der Laan2012-05-211-2/+18
| | |_|/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | - Fixes issues with copy/pasting from web or html emails (#1325)
* | | | | | | | | Merge pull request #1365 from Diapolo/askpassphrasedialogWladimir J. van der Laan2012-05-211-7/+7
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | GUI: start rows in askpassphrasedialog.ui at 0 (not 1)
| * | | | | | | | | start rows in askpassphrasedialog.ui at 0 (not 1)Philip Kaufmann2012-05-201-7/+7
| | | | | | | | | |
* | | | | | | | | | BDB: restore DB_PRIVATE flag to environmentJeff Garzik2012-05-211-1/+6
| |/ / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | | | | | Merge pull request #1354 from fanquake/masterPieter Wuille2012-05-2046-46/+47
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Update Header Licenses
| * | | | | | | | | Update License in File HeadersFordy2012-05-1846-46/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | | | | | | Merge pull request #1363 from Diapolo/remove_strncasecmpPieter Wuille2012-05-202-9/+7
|\ \ \ \ \ \ \ \ \ \ | |_|/ / / / / / / / |/| | | | | | | | | remove strncasecmp() + strnicmp() calls use boost::algorithm::istarts_with()
| * | | | | | | | | remove strncasecmp() + strnicmp() calls and replace that code via ↵Philip Kaufmann2012-05-202-9/+7
| | |_|_|/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | boost::algorithm::istarts_with() / do not call ipcInit() on Mac and Windows as this is unneeded currently
* | | | | | | | | Make testcases build, prevent windows symbol collisionWladimir J. van der Laan2012-05-2013-80/+103
| | | | | | | | |
* | | | | | | | | Process address book updates incrementallyWladimir J. van der Laan2012-05-208-35/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - No longer invalidates selection model, thus retains selection on address book changes - Fixes selection of new address when added
* | | | | | | | | Convert UI interface to boost::signals2.Wladimir J. van der Laan2012-05-2021-222/+263
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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.
* | | | | | | | | Fine-grained UI updatesWladimir J. van der Laan2012-05-2024-273/+432
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | | | | | Merge pull request #1323 from Diapolo/string_fixesWladimir J. van der Laan2012-05-207-16/+16
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | translation updates / string updates
| * | | | | | | | | allow translation of "options" used in the --help message / split ↵Philip Kaufmann2012-05-177-16/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | translation of RPC console welcome message and remove the need to take care of "<br>" / remove some spaces in strings and misc other stuff related to translations
* | | | | | | | | | Merge pull request #1353 from Diapolo/RPC_OpenDebugLog_IconWladimir J. van der Laan2012-05-202-1/+4
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | GUI: add an icon for Debug logfile -> Open in the RPC console
| * | | | | | | | | | add an icon for Debug logfile -> Open in the RPC console / add a missing ↵Philip Kaufmann2012-05-182-1/+4
| | |_|/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | comment in rpcconsole.h
* | | | | | | | | | Merge pull request #1302 from laanwj/2012_05_utilstringsWladimir J. van der Laan2012-05-202-81/+37
|\ \ \ \ \ \ \ \ \ \ | |_|_|/ / / / / / / |/| | | | | | | | | Get rid of snprintf (except one) with fixed buffers, shorten code
| * | | | | | | | | Get rid of snprintf (except one) with fixed buffers, shorten codeWladimir J. van der Laan2012-05-142-81/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Use strprintf or vstrprintf instead of snprintf
* | | | | | | | | | Merge pull request #1360 from jgarzik/datasyncJeff Garzik2012-05-192-1/+2
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Default to DB_TXN_WRITE_NOSYNC for all transactional operations
| * | | | | | | | | | Default to DB_TXN_WRITE_NOSYNC for all transactional operationsJeff Garzik2012-05-192-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * This is safer than DB_TXN_NOSYNC, and does not appear to impact performance. * Applying this to the dbenv is necessary to avoid many fdatasync(2) calls on db 5.x * We carefully and thoroughly flush databases upon shutdown and other important events already.
* | | | | | | | | | | Merge pull request #1358 from luke-jr/shared_lockchkPieter Wuille2012-05-191-35/+31
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Shared code for wallet lock help and check
| * | | | | | | | | | | Shared code for wallet lock help and checkLuke Dashjr2012-05-181-35/+31
| |/ / / / / / / / / /
* | | | | | | | | | | Merge pull request #1296 from Diapolo/CheckDiskSpaceGavin Andresen2012-05-192-5/+5
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | make CheckDiskSpace() use 50 * 1024 * 1024 Bytes
| * | | | | | | | | | | make CheckDiskSpace() use a global static const uint64 for checking required ↵Philip Kaufmann2012-05-142-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | disk space and remove 2 ugly spaces from a message string
* | | | | | | | | | | | Merge pull request #1289 from Diapolo/Bitcoin_as_nounGavin Andresen2012-05-1912-31/+30
|\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | change strings to Bitcoin (uppercase), where it is used as a noun and up...
| * | | | | | | | | | | | change strings to Bitcoin (uppercase), where it is used as a noun and update ↵Philip Kaufmann2012-05-1812-31/+30
| | |/ / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | strings to use "Qt" (and not qt or QT) / update initialisation of notificator to use qApp->applicationName() instead of a static string
* | | | | | | | | | | | Merge pull request #1362 from laanwj/2012_05_debugwindowicon2Wladimir J. van der Laan2012-05-191-0/+0
|\ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / |/| | | | | | | | | | | Replace debug window icon with LGPL-licensed one (fixes #1348)
| * | | | | | | | | | | Replace debug window icon with LGPL-licensed one (fixes #1348)Wladimir J. van der Laan2012-05-191-0/+0
| | |_|/ / / / / / / / | |/| | | | | | | | |
* | | | | | | | | | | Merge pull request #1350 from jgarzik/del-deprecatedJeff Garzik2012-05-181-17/+1
|\ \ \ \ \ \ \ \ \ \ \ | |_|_|_|_|/ / / / / / |/| | | | | | | | | | JSON-RPC: remove 'getblocknumber' deprecated RPC