Jeff Garzik
24b57e3c6a
Create CDBEnv::TxnBegin(), and use it in CDB::TxnBegin()
2012-05-19 20:44:31 -04:00
Jeff Garzik
cd9696fc97
Encapsulate BDB environment inside new CDBEnv class
...
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.
2012-05-19 20:43:19 -04:00
Jeff Garzik
b52a270538
Reorganize(): remove spurious TxnAbort()
...
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-19 20:40:43 -04:00
Philip Kaufmann
00fb08158d
remove strncasecmp() + strnicmp() calls and replace that code via boost::algorithm::istarts_with() / do not call ipcInit() on Mac and Windows as this is unneeded currently
2012-05-20 00:48:34 +02:00
Jeff Garzik
cde87ee75c
Merge pull request #1360 from jgarzik/datasync
...
Default to DB_TXN_WRITE_NOSYNC for all transactional operations
2012-05-19 12:33:19 -07:00
Pieter Wuille
bd795bd543
Merge pull request #1358 from luke-jr/shared_lockchk
...
Shared code for wallet lock help and check
2012-05-19 08:34:27 -07:00
Gavin Andresen
973ca019bc
Merge pull request #1296 from Diapolo/CheckDiskSpace
...
make CheckDiskSpace() use 50 * 1024 * 1024 Bytes
2012-05-19 05:48:48 -07:00
Gavin Andresen
23e5c5b11a
Merge pull request #1289 from Diapolo/Bitcoin_as_noun
...
change strings to Bitcoin (uppercase), where it is used as a noun and up...
2012-05-19 05:45:50 -07:00
Wladimir J. van der Laan
e3f72a3555
Merge pull request #1362 from laanwj/2012_05_debugwindowicon2
...
Replace debug window icon with LGPL-licensed one (fixes #1348 )
2012-05-19 03:48:09 -07:00
Wladimir J. van der Laan
8a6a35e9d9
Replace debug window icon with LGPL-licensed one ( fixes #1348 )
2012-05-19 12:47:01 +02:00
Jeff Garzik
394b9298fa
Default to DB_TXN_WRITE_NOSYNC for all transactional operations
...
* 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.
2012-05-19 01:25:06 -04:00
Luke Dashjr
29875dcb4b
Shared code for wallet lock help and check
2012-05-18 23:13:21 +00:00
Michael Hendricks
9af080c351
Reopen debug.log on SIGHUP
...
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.
2012-05-18 16:20:03 -06:00
Michael Hendricks
fea25712ca
Serialize access to debug.log stream
...
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)
2012-05-18 16:19:09 -06:00
Philip Kaufmann
ff0ee876bb
change strings to Bitcoin (uppercase), where it is used as a noun and update strings to use "Qt" (and not qt or QT) / update initialisation of notificator to use qApp->applicationName() instead of a static string
2012-05-18 23:13:58 +02:00
Jeff Garzik
d6615a54c6
Merge pull request #1350 from jgarzik/del-deprecated
...
JSON-RPC: remove 'getblocknumber' deprecated RPC
2012-05-18 08:26:40 -07:00
Pieter Wuille
660ff174f2
Use boost::thread locking instead of interprocess
2012-05-18 16:56:12 +02:00
Gavin Andresen
62922c8ab0
Cache signature verifications
...
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.
2012-05-18 10:41:18 -04:00
Gavin Andresen
4add41a2a6
Further DoS prevention: Verify signatures last
...
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-18 10:41:18 -04:00
Gavin Andresen
7a15109c04
Remove invalid dependent orphans from memory
...
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-18 10:41:17 -04:00
Gavin Andresen
77b99cf7ad
Optimize orphan transaction handling
...
Changes suggested by Sergio Demian Lerner to
help prevent potential DoS attacks.
2012-05-18 10:13:21 -04:00
Fordy
3a25a2b9b0
Update License in File Headers
...
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-18 22:02:28 +08:00
Philip Kaufmann
a3b4caac38
add an icon for Debug logfile -> Open in the RPC console / add a missing comment in rpcconsole.h
2012-05-18 14:11:55 +02:00
Wladimir J. van der Laan
4a9130aca2
Merge pull request #1346 from laanwj/2012_05_overviewpage_restore
...
Restore overview page (put transactions back within frame)
2012-05-18 01:35:31 -07:00
Wladimir J. van der Laan
320fe1015a
Restore overviewpage (put transactions back within frame)
...
- Also, change "(out of sync)" to only red, instead of red and bold, which a bit more subtle
- Move label stylesheets to xml
2012-05-18 10:33:09 +02:00
Jeff Garzik
47f48a658d
JSON-RPC: remove 'getblocknumber' deprecated RPC
...
RPC 'getblockcount' should be used instead.
2012-05-17 23:43:00 -04:00
Jeff Garzik
6d64a0bfed
Make orphan logging more verbose, displaying mapOrphanTransactions.size()
...
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-17 20:36:55 -04:00
Jeff Garzik
6c513a45d5
Merge pull request #1340 from rebroad/DBFlushDurationReport
...
Report how long DBFlush took.
2012-05-17 17:21:01 -07:00
Jeff Garzik
f9dd136a09
Revert "use _strnicmp (ISO C++) instead of deprecated strnicmp (POSIX) and add missing "#define strncasecmp _strnicmp" in init.cpp"
...
This reverts commit f4ac41806a
.
Reason: breaks build.
2012-05-17 20:14:24 -04:00
Jeff Garzik
c0a360ce49
Merge pull request #1345 from Diapolo/strnicmp_Win32
...
Win32: use _strnicmp (ISO C++) instead of deprecated strnicmp (POSIX)
2012-05-17 15:53:38 -07:00
R E Broadley
757cec9ddd
Should only be mapped when the getdata is done.
...
Without this change, mappings will be created even after AlreadyHave equals true, and will never be erased.
2012-05-17 23:01:00 +01:00
R E Broadley
53d0e6dd6a
Report how long DBFlush took.
2012-05-17 22:56:14 +01:00
Philip Kaufmann
f4ac41806a
use _strnicmp (ISO C++) instead of deprecated strnicmp (POSIX) and add missing "#define strncasecmp _strnicmp" in init.cpp
2012-05-17 23:20:47 +02:00
Wladimir J. van der Laan
f0fc95a143
Merge pull request #1314 from Diapolo/Wallet_Transaction_state_Overviewpage
...
GUI: add 2 labels to the overviewpage that display Wallet and Transaction status
2012-05-17 14:13:23 -07:00
R E Broadley
83e047eaa7
Was showing a negative number. Changes to positive, since negative (T minus) usually indicates a future event.
2012-05-17 21:58:05 +01:00
Gavin Andresen
f718aedd9f
Refactor: GetRandHash() method for util
2012-05-17 16:33:27 -04:00
Gavin Andresen
096e06dbb5
Refactor: move code from key.h to key.cpp
2012-05-17 16:33:26 -04:00
Philip Kaufmann
c26f3a9bd1
add 2 labels to the overviewpage that display Wallet and Transaction status (obsolete or current) / cleanup overviewpage XML ui-file
2012-05-17 21:49:32 +02:00
Wladimir J. van der Laan
f1e7570755
Merge pull request #1336 from laanwj/2012_05_consoleicon
...
Add icon for debug window
2012-05-17 11:38:08 -07:00
Wladimir J. van der Laan
8ece75aee1
Add icon for debug window
2012-05-17 20:34:30 +02:00
Jeff Garzik
985302c7cc
Merge pull request #1335 from rebroad/IgnoreBuildDir
...
Add build directory to .gitignore, so that it's not tracked.
2012-05-17 11:32:47 -07:00
Jeff Garzik
7563424f32
Merge pull request #1334 from rebroad/Exiting2Exited
...
Corrected grammar. As per Principle Of Least Surprise.
2012-05-17 11:29:09 -07:00
Wladimir J. van der Laan
ae2fe472c3
Merge pull request #1333 from rebroad/AddBinSh
...
Add /bin/sh to bitcoin-qt.pro - as some filesystems don't have the execute flag.
2012-05-17 11:14:42 -07:00
R E Broadley
0ec6e88048
Add build directory to .gitignore, so that it's not tracked.
2012-05-17 19:09:21 +01:00
R E Broadley
1d764d631f
Corrected grammar. As per Principle Of Least Surprise.
2012-05-17 18:52:38 +01:00
R E Broadley
8c35bfbadf
Add /bin/sh to bitcoin-qt.pro - as some filesystems don't have the execute flag.
2012-05-17 18:48:09 +01:00
Gregory Maxwell
1844b2fdb4
Merge pull request #1331 from roques/trivia
...
Fix typo. libarcode => libqrcode
2012-05-17 10:35:02 -07:00
Jeff Garzik
0c7fd94585
Merge pull request #1332 from Diapolo/fix_RenameOver_FileCommit_Win32
...
fix RenameOver() and FileCommit() functions, to not generate compilation errors
2012-05-17 09:34:12 -07:00
Philip Kaufmann
5f9861953e
fix RenameOver() and FileCommit() functions, to not generate compilation errors
2012-05-17 18:30:09 +02:00
Jeff Garzik
cf2f7c30a3
Merge pull request #1295 from jgarzik/txn-retval
...
[FIX] Always check return values of TxnBegin() and TxnCommit()
2012-05-17 08:49:16 -07:00