Commit Graph
2187 Commits
Author SHA1 Message Date
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
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
Gavin Andresen 397737b913 Bump version numbers for 0.6.1rc2 v0.6.1 2012-05-04 10:22:26 -04:00
Gregory Maxwell 1210aa435f Merge pull request #1188 from Diapolo/rem_BackupWallet_wallet_h
remove obsolete BackupWallet() entry in wallet.h
2012-05-03 06:47:16 -07:00
Philip Kaufmann e23a121afe remove obsolete BackupWallet() entry in wallet.h 2012-05-03 11:30:52 +02:00
Wladimir J. van der Laan e099e1568a Merge pull request #1179 from Diapolo/project-file
add bitcoin-qt.rc to OTHER_FILES (shown in Qt Creator)
2012-05-01 23:57:02 -07:00
Jeff Garzik ca97bde8ff Merge pull request #1171 from Diapolo/fix_compiler_warn
fix 2 compiler warnings
2012-05-01 15:02:41 -07:00
Philip Kaufmann 8a6329a7ac add bitcoin-qt.rc to OTHER_FILES (shown in Qt Creator) 2012-05-01 22:26:33 +02:00
Wladimir J. van der Laan 50d710496d Merge pull request #1176 from Diapolo/project-file
fix DEPENDPATH in the project file, as json has no include sub-dir and src was in twice
2012-05-01 12:38:56 -07:00
Jeff Garzik e19ccfa657 Merge pull request #1177 from laanwj/2012_05_remove_duplicate_securestring
remove duplicate definition of SecureString in util.h
2012-05-01 10:05:00 -07:00
Wladimir J. van der Laan 6d25b0e99a Merge pull request #1172 from Diapolo/serialize_h_rem_typedef
remove unused typedef in serialize.h
2012-05-01 09:52:38 -07:00
Wladimir J. van der Laan 3ee5f8aac3 remove duplicate definition of SecureString in util.h
SecureString was moved to allocators.h in commit 6cb6d62347
2012-05-01 18:49:50 +02:00
Philip Kaufmann 68103043ce fix DEPENDPATH in the project file, as json has no include sub-dir and src was in twice 2012-05-01 18:45:10 +02:00
Jeff Garzik bd51e8ef8a Merge pull request #1173 from Diapolo/init_cpp_comment_upd
remove references to bitcoin-wx from comment in init.cpp
2012-05-01 08:29:10 -07:00
Philip Kaufmann 1c94f88d5e fix compiler warning "suggest parentheses around assignment used as truth
value [-Wparentheses]" in util.cpp
2012-05-01 11:41:04 +02:00
Philip Kaufmann f8e4d43be7 fix compiler warning "suggest explicit braces to avoid ambiguous "else"
[-Wparentheses]" in net.cpp
2012-05-01 11:40:08 +02:00
Philip Kaufmann 00d971e1e7 remove references to bitcoin-wx from comment in init.cpp 2012-05-01 01:59:54 +02:00
Philip Kaufmann 810b4fad7d remove unused typedef in serialize.h 2012-05-01 01:56:47 +02:00
Gavin Andresen be8651dde7 Check earlier for blocks with duplicate transactions. Fixes #1167 v0.6.1rc2 2012-04-30 11:08:07 -04:00
Wladimir J. van der Laan ec4997d48f Merge pull request #1139 from Diapolo/messagepage
change button tooltip on sign message page for copy to clipboard...
2012-04-29 04:35:27 -07:00
Wladimir J. van der Laan 0acb1e715c Merge pull request #1163 from laanwj/2012_04_uiperformanceissue
Fix critical UI performance issue (#1154)
2012-04-29 04:34:42 -07:00
Wladimir J. van der Laan 6974aff668 Fix critical UI performance issue (#1154) 2012-04-29 13:25:05 +02:00
Gavin Andresen 0acbe31cfc Update openssl version v0.6.1rc1 2012-04-27 12:45:49 -04:00
Gavin Andresen cedcec2dec Bump win32.deps version number for new openssl 2012-04-27 11:53:11 -04:00
Gavin Andresen 2b4d7735b6 Windows build: compile against openssl 1.0.1b 2012-04-27 10:52:14 -04:00
Gavin Andresen 2c31cfc271 Bump version numbers for 0.6.1rc1 2012-04-27 10:14:33 -04:00
Gavin Andresen dfead66eac Merge pull request #1151 from freewil/listsinceblock-blockhash
listsinceblock: rpc param blockid -> blockhash
2012-04-26 15:37:12 -07:00
Gavin Andresen 27d4b53a5c Merge pull request #1150 from gavinandresen/NOPCH
Remove unused -DNOPCH
2012-04-26 15:36:33 -07:00
Gavin Andresen b2997dc043 Merge pull request #1152 from freewil/remove-strange-debug
remove strange debug message from listsinceblock
2012-04-26 15:36:15 -07:00
Pieter Wuille 287ce61dc2 Merge pull request #1146 from drizztbsd/posix-include
We should include netinet/in.h to use sockaddr_in (POSIX.1-2001)
2012-04-26 15:25:56 -07:00
freewil 42ce57687a remove strange debug message from listsinceblock 2012-04-26 13:12:44 -04:00
freewil fdb204abb1 listsinceblock: rpc param blockid -> blockhash
This is more consistent with the rest of the labeling seen
by the user when accessing the rpc commands.
2012-04-26 12:48:33 -04:00
Gavin Andresen 9e71a5cd23 Define TEST_DATA_DIR so unit tests can be run from any current working directory 2012-04-26 11:20:44 -04:00
Gavin Andresen 08e663d7e2 Undo part of c2e8c8ac to fix issue#1148 2012-04-26 10:18:35 -04:00
Pieter Wuille e1ea3ce7aa Merge pull request #1119 from sipa/fastshutdown
Make lsn_reset ("detach databases") optional and off by default.
2012-04-26 05:20:57 -07:00
Gavin Andresen cfc45319fe Remove unused -DNOPCH 2012-04-25 19:40:44 -04:00
Pieter Wuille 83743ed681 Make lsn_reset ("detach databases") optional and off by default.
Add an option -detachdb (and entry in OptionDialog), without which no
lsn_reset is called on addr.dat and blkindex.dat. That means these
files cannot be moved to a new environment, but shutdown can be
significantly faster. The wallet file is always lsn_reset'ed.

-detachdb corresponds to the old behaviour, though it is off by
default now to speed up shutdowns.
2012-04-26 00:31:54 +02:00
Timothy Redaelli 5e9dc15360 We should include netinet/in.h to use sockaddr_in (POSIX.1-2001) 2012-04-25 14:07:24 +02:00
Jeff Garzik c2e8c8acd8 Merge pull request #1140 from jgarzik/sign-compare
Address many more sign comparison warnings
2012-04-23 21:33:29 -07:00
Jeff GarzikandJeff Garzik 735a60698c Change signed->unsigned at 3 code sites
This resolves signed/unsigned comparison warnings.
2012-04-23 14:14:36 -04:00
Jeff GarzikandJeff Garzik 5aa0b23825 CBlock::WriteToDisk() properly checks ftell(3) for error return
Rather than storing ftell(3)'s return value -- a long -- in an
unsigned int, we store and check a properly typed temp.  Then, assured a
non-negative value, we store in nBlockPosRet.
2012-04-23 14:14:36 -04:00
Jeff GarzikandJeff Garzik 1d8c7a9557 Add casts for unavoidable signed/unsigned comparisons
At these code sites, it is preferable to cast rather than change
a variable's type.
2012-04-23 14:14:36 -04:00
Jeff GarzikandJeff Garzik c0a0a93d02 Test ScriptSigArgsExpected() for error, before accumulating return value 2012-04-23 14:14:36 -04:00
Jeff GarzikandJeff Garzik 7bd9c3a3cf SigOp and orphan-tx constants and counts are always unsigned.
Fixes several sign-comparison warnings.
2012-04-23 14:14:03 -04:00
Pieter Wuille ef758662c5 Merge pull request #1133 from sipa/abspath
Make GetDataDir return absolute paths
2012-04-22 14:56:03 -07:00
Jeff GarzikandJeff Garzik faf705a42a Prefer 'unsigned int' for loop index variables tested against ::size()
C++ STL ::size() generally returns unsigned, which implies that "int idx"
style of loop variable will generate a signed-vs-unsigned comparison warning
when testing the loop exit condition "idx < blah.size()"

Update areas of the bitcoin code where loop variables may be more properly and
correctly defined as unsigned.
2012-04-22 13:22:39 -04:00