Gavin Andresen [Tue, 19 Jun 2012 19:50:12 +0000]
print large orphan warning BEFORE deleting pvMsg
Gavin Andresen [Tue, 19 Jun 2012 19:48:29 +0000]
Checkpoint at block 185333 (and remove a couple of intermediate checkpoints)
Pieter Wuille [Thu, 14 Jun 2012 16:31:08 +0000]
Use a 64-bit nonce in ping
Former code sent '0' as nonce, which was serialized as 32-bit.
Jeff Garzik [Tue, 22 May 2012 19:23:17 +0000]
Prevent crashes due to missing or corrupted blk????.dat records
In LoadExternalBlockFile(), errors are already caught... silently.
Add a warning message, even though we do not abort the program due to
load error.
Jeff Garzik [Tue, 22 May 2012 19:12:52 +0000]
Prevent crashes due to missing or corrupted database records
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.
Gavin Andresen [Tue, 22 May 2012 17:56:14 +0000]
Move signature cache from CKey::Verify to CheckSig in script.cpp
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.
Jeff Garzik [Tue, 22 May 2012 02:25:54 +0000]
Define BOOST_SPIRIT_THREADSAFE in all makefiles
rather than at each include site.
Fixes #1371
Jeff Garzik [Sat, 19 May 2012 05:25:06 +0000]
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.
Gavin Andresen [Thu, 17 May 2012 16:13:14 +0000]
Refactor: GetRandHash() method for util
Gavin Andresen [Wed, 16 May 2012 19:57:04 +0000]
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.
Gavin Andresen [Wed, 16 May 2012 15:26:56 +0000]
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.
Gavin Andresen [Thu, 17 May 2012 14:12:04 +0000]
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.
Gavin Andresen [Tue, 15 May 2012 19:53:30 +0000]
Optimize orphan transaction handling
Changes suggested by Sergio Demian Lerner to
help prevent potential DoS attacks.
Jeff Garzik [Fri, 18 May 2012 00:36:55 +0000]
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.
Gavin Andresen [Wed, 16 May 2012 16:36:38 +0000]
Refactor: move code from key.h to key.cpp
Gavin Andresen [Tue, 19 Jun 2012 18:44:38 +0000]
Bump version numbers to 0.6.3
Gavin Andresen [Fri, 11 May 2012 14:09:45 +0000]
Bump version to 0.6.2.2 for osx-special build
Gavin Andresen [Thu, 10 May 2012 20:39:49 +0000]
Merge branch 'semaphores-v0.6.2' of https://github.com/sipa/bitcoin into 0.6.2
Pieter Wuille [Thu, 10 May 2012 18:45:35 +0000]
Use polling instead of boost's broken semaphore on OSX
Pieter Wuille [Thu, 10 May 2012 16:44:07 +0000]
Use semaphores instead of condition variables
Gavin Andresen [Thu, 10 May 2012 20:14:15 +0000]
Revert "Fix 100% cpu usage on osx bug"
This reverts commit
8f9123a157d0ef479f62eb3e05da2ba6613c5dfc.
Gavin Andresen [Wed, 9 May 2012 22:24:34 +0000]
Fix 100% cpu usage on osx bug
Gavin Andresen [Mon, 7 May 2012 00:11:05 +0000]
Bump versions for 0.6.2
Pieter Wuille [Sat, 5 May 2012 19:27:52 +0000]
Bugfix: store source address in addrman
Pieter Wuille [Sat, 5 May 2012 19:22:55 +0000]
Fix addrman crashes
A function returned the element to remove from a bucket, instead of its
position in that bucket. This function was only called when a tried
bucket overflowed, which only happens after many outgoing connections
have been made.
Closes: #1065, #1156
Pieter Wuille [Sat, 5 May 2012 19:30:38 +0000]
Add extra asserts to addrman
Gavin Andresen [Mon, 30 Apr 2012 17:06:30 +0000]
Bump version numbers for 0.6.1rc2
Gregory Maxwell [Thu, 3 May 2012 13:47:16 +0000]
Merge pull request #1188 from Diapolo/rem_BackupWallet_wallet_h
remove obsolete BackupWallet() entry in wallet.h
Philip Kaufmann [Thu, 3 May 2012 09:30:52 +0000]
remove obsolete BackupWallet() entry in wallet.h
Wladimir J. van der Laan [Wed, 2 May 2012 06:57:02 +0000]
Merge pull request #1179 from Diapolo/project-file
add bitcoin-qt.rc to OTHER_FILES (shown in Qt Creator)
Jeff Garzik [Tue, 1 May 2012 22:02:41 +0000]
Merge pull request #1171 from Diapolo/fix_compiler_warn
fix 2 compiler warnings
Philip Kaufmann [Tue, 1 May 2012 20:26:33 +0000]
add bitcoin-qt.rc to OTHER_FILES (shown in Qt Creator)
Wladimir J. van der Laan [Tue, 1 May 2012 19:38:56 +0000]
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
Jeff Garzik [Tue, 1 May 2012 17:05:00 +0000]
Merge pull request #1177 from laanwj/2012_05_remove_duplicate_securestring
remove duplicate definition of SecureString in util.h
Wladimir J. van der Laan [Tue, 1 May 2012 16:52:38 +0000]
Merge pull request #1172 from Diapolo/serialize_h_rem_typedef
remove unused typedef in serialize.h
Wladimir J. van der Laan [Tue, 1 May 2012 16:49:50 +0000]
remove duplicate definition of SecureString in util.h
SecureString was moved to allocators.h in commit
6cb6d623479c5dd42d91de7a4d391078d0800e54
Philip Kaufmann [Tue, 1 May 2012 16:45:10 +0000]
fix DEPENDPATH in the project file, as json has no include sub-dir and src was in twice
Jeff Garzik [Tue, 1 May 2012 15:29:10 +0000]
Merge pull request #1173 from Diapolo/init_cpp_comment_upd
remove references to bitcoin-wx from comment in init.cpp
Philip Kaufmann [Mon, 30 Apr 2012 23:46:03 +0000]
fix compiler warning "suggest parentheses around assignment used as truth
value [-Wparentheses]" in util.cpp
Philip Kaufmann [Mon, 30 Apr 2012 23:44:59 +0000]
fix compiler warning "suggest explicit braces to avoid ambiguous "else"
[-Wparentheses]" in net.cpp
Philip Kaufmann [Mon, 30 Apr 2012 23:59:54 +0000]
remove references to bitcoin-wx from comment in init.cpp
Philip Kaufmann [Mon, 30 Apr 2012 23:56:47 +0000]
remove unused typedef in serialize.h
Gavin Andresen [Mon, 30 Apr 2012 00:56:55 +0000]
Check earlier for blocks with duplicate transactions. Fixes #1167
Wladimir J. van der Laan [Sun, 29 Apr 2012 11:35:27 +0000]
Merge pull request #1139 from Diapolo/messagepage
change button tooltip on sign message page for copy to clipboard...
Wladimir J. van der Laan [Sun, 29 Apr 2012 11:34:42 +0000]
Merge pull request #1163 from laanwj/2012_04_uiperformanceissue
Fix critical UI performance issue (#1154)
Wladimir J. van der Laan [Sun, 29 Apr 2012 11:22:12 +0000]
Fix critical UI performance issue (#1154)
Gavin Andresen [Fri, 27 Apr 2012 16:45:49 +0000]
Update openssl version
Gavin Andresen [Fri, 27 Apr 2012 15:53:11 +0000]
Bump win32.deps version number for new openssl
Gavin Andresen [Fri, 27 Apr 2012 14:52:14 +0000]
Windows build: compile against openssl 1.0.1b
Gavin Andresen [Fri, 27 Apr 2012 14:14:33 +0000]
Bump version numbers for 0.6.1rc1
Gavin Andresen [Thu, 26 Apr 2012 22:37:12 +0000]
Merge pull request #1151 from freewil/listsinceblock-blockhash
listsinceblock: rpc param blockid -> blockhash
Gavin Andresen [Thu, 26 Apr 2012 22:36:33 +0000]
Merge pull request #1150 from gavinandresen/NOPCH
Remove unused -DNOPCH
Gavin Andresen [Thu, 26 Apr 2012 22:36:15 +0000]
Merge pull request #1152 from freewil/remove-strange-debug
remove strange debug message from listsinceblock
Pieter Wuille [Thu, 26 Apr 2012 22:25:56 +0000]
Merge pull request #1146 from drizztbsd/posix-include
We should include netinet/in.h to use sockaddr_in (POSIX.1-2001)
freewil [Thu, 26 Apr 2012 17:12:44 +0000]
remove strange debug message from listsinceblock
freewil [Thu, 26 Apr 2012 16:48:33 +0000]
listsinceblock: rpc param blockid -> blockhash
This is more consistent with the rest of the labeling seen
by the user when accessing the rpc commands.
Gavin Andresen [Thu, 26 Apr 2012 15:20:44 +0000]
Define TEST_DATA_DIR so unit tests can be run from any current working directory
Gavin Andresen [Thu, 26 Apr 2012 14:18:35 +0000]
Undo part of
c2e8c8ac to fix issue#1148
Pieter Wuille [Thu, 26 Apr 2012 12:20:57 +0000]
Merge pull request #1119 from sipa/fastshutdown
Make lsn_reset ("detach databases") optional and off by default.
Gavin Andresen [Wed, 25 Apr 2012 23:40:44 +0000]
Remove unused -DNOPCH
Pieter Wuille [Tue, 17 Apr 2012 21:03:24 +0000]
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.
Timothy Redaelli [Wed, 25 Apr 2012 12:07:24 +0000]
We should include netinet/in.h to use sockaddr_in (POSIX.1-2001)
Jeff Garzik [Tue, 24 Apr 2012 04:33:29 +0000]
Merge pull request #1140 from jgarzik/sign-compare
Address many more sign comparison warnings
Jeff Garzik [Sun, 22 Apr 2012 18:01:25 +0000]
Change signed->unsigned at 3 code sites
This resolves signed/unsigned comparison warnings.
Jeff Garzik [Sun, 22 Apr 2012 17:59:24 +0000]
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.
Jeff Garzik [Sun, 22 Apr 2012 17:51:16 +0000]
Add casts for unavoidable signed/unsigned comparisons
At these code sites, it is preferable to cast rather than change
a variable's type.
Jeff Garzik [Sun, 22 Apr 2012 17:44:12 +0000]
Test ScriptSigArgsExpected() for error, before accumulating return value
Jeff Garzik [Mon, 23 Apr 2012 18:14:03 +0000]
SigOp and orphan-tx constants and counts are always unsigned.
Fixes several sign-comparison warnings.
Pieter Wuille [Sun, 22 Apr 2012 21:56:03 +0000]
Merge pull request #1133 from sipa/abspath
Make GetDataDir return absolute paths
Jeff Garzik [Sun, 22 Apr 2012 17:22:39 +0000]
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.
Philip Kaufmann [Sun, 22 Apr 2012 15:32:08 +0000]
change button tooltip on sign message page for copy to clipboard as it was missleading
Pieter Wuille [Sun, 22 Apr 2012 12:35:22 +0000]
Make GetDataDir return absolute paths
Pieter Wuille [Sat, 21 Apr 2012 23:49:32 +0000]
Merge pull request #1124 from sipa/rpcobj3
extension of #1103: encapsulate mapCommands in CRPCTable
Pieter Wuille [Sat, 21 Apr 2012 23:47:02 +0000]
Merge pull request #1131 from laanwj/2012_04_hexstr
Integrate @JoelKatz's optimized ToHex (#562) into current HexStr function
Pieter Wuille [Sat, 21 Apr 2012 23:43:31 +0000]
Merge pull request #1129 from laanwj/2012_04_opcodes
Add explicit numeric constant value for all opcodes
Gavin Andresen [Sat, 21 Apr 2012 23:36:41 +0000]
Merge pull request #1121 from gavinandresen/scripttest
Data-driven script evaluation unit tests (rebased to fix compiler warning).
Gavin Andresen [Tue, 17 Apr 2012 21:57:06 +0000]
Data-drive script evaluation unit tests.
Pieter Wuille [Sat, 21 Apr 2012 22:13:29 +0000]
Merge pull request #1126 from drizztbsd/master
Fix build with gcc 4.7
Wladimir J. van der Laan [Sat, 21 Apr 2012 18:15:25 +0000]
Integrate @JoelKatz's optimized ToHex (#562) into current HexStr function
Wladimir J. van der Laan [Sat, 21 Apr 2012 16:21:19 +0000]
Remove no-longer used UI hints in bitcoin core
The Qt UI has its own associated structures for temporary transaction state / cache.
Wladimir J. van der Laan [Sat, 21 Apr 2012 11:31:08 +0000]
change type of various bare chars to bool that are only used as bool (and never serialized)
Wladimir J. van der Laan [Sat, 21 Apr 2012 08:10:48 +0000]
Add explicit numeric constant value for all opcodes
- Easier for debugging (what opcode was 0x... again?)
- Clarifies that the opcodes are set in stone in the protocol, and signals that it is impossible to insert opcodes in between.
Pieter Wuille [Fri, 20 Apr 2012 23:37:34 +0000]
Expose CRPCTable via bitcoinrpc.h for testing
Pieter Wuille [Wed, 18 Apr 2012 20:42:17 +0000]
Encapsulate mapCommands in class CRPCTable
Jeff Garzik [Sun, 15 Apr 2012 03:55:05 +0000]
Encapsulate RPC command dispatch in an array of CRPCCommand's
Wladimir J. van der Laan [Fri, 20 Apr 2012 17:18:45 +0000]
Merge pull request #1122 from dlitz/unsigned-char-fix
Unsigned char fix & fix undefined phexdigits[255]
Timothy Redaelli [Fri, 20 Apr 2012 10:50:57 +0000]
Add missing includes. (Fix bulding under GCC 4.7)
Pieter Wuille [Thu, 19 Apr 2012 11:33:04 +0000]
Merge pull request #959 from rebroad/LoadBlockIndexKillable
Added ability to respond to signals during Block Loading stage.
R E Broadley [Wed, 18 Apr 2012 11:30:24 +0000]
Added ability to respond to signals during Block Loading stage.
Dwayne C. Litzenberger [Mon, 16 Apr 2012 05:32:55 +0000]
Fix bugs on 'unsigned char' platforms.
In ISO C++, the signedness of 'char' is undefined. On some platforms (e.g.
ARM), 'char' is an unsigned type, but some of the code relies on 'char' being
signed (as it is on x86). This is indicated by compiler warnings like this:
bignum.h: In constructor 'CBigNum::CBigNum(char)':
bignum.h:81:59: warning: comparison is always true due to limited range of data type [-Wtype-limits]
util.cpp: In function 'bool IsHex(const string&)':
util.cpp:427:28: warning: comparison is always false due to limited range of data type [-Wtype-limits]
In particular, IsHex erroneously returned true regardless of the input
characters, as long as the length of the string was a positive multiple of 2.
Note: For testing, it's possible using GCC to force char to be unsigned by
adding the -funsigned-char parameter to xCXXFLAGS.
Dwayne C. Litzenberger [Mon, 16 Apr 2012 05:31:38 +0000]
Fix phexdigits[255] is undefined.
Wladimir J. van der Laan [Tue, 17 Apr 2012 21:33:26 +0000]
Merge pull request #1118 from sipa/addbreaks
Add missing breaks in optionmodel's switch case
Pieter Wuille [Tue, 17 Apr 2012 21:27:59 +0000]
Add missing breaks in optionmodel's switch case
Pieter Wuille [Tue, 17 Apr 2012 21:23:31 +0000]
Merge pull request #1114 from sipa/lesssync
Reduce sync frequency for blkindex.dat
Pieter Wuille [Tue, 17 Apr 2012 18:37:47 +0000]
Fix tests after recent refactors
Pieter Wuille [Tue, 17 Apr 2012 18:12:48 +0000]
Merge remote-tracking branch 'jgarzik/mempool'
Pieter Wuille [Tue, 17 Apr 2012 18:05:02 +0000]
Merge pull request #1117 from sipa/deadlockfix
Fix potential deadlock
Pieter Wuille [Tue, 17 Apr 2012 18:04:29 +0000]
Merge pull request #1112 from sipa/saneserial
Further reduce header dependencies
Pieter Wuille [Mon, 16 Apr 2012 12:56:45 +0000]
Further reduce header dependencies
This commit removes the dependency of serialize.h on PROTOCOL_VERSION,
and makes this parameter required instead of implicit. This is much saner,
as it makes the places where changing a version number can have an
influence obvious.
Jeff Garzik [Sun, 15 Apr 2012 22:20:05 +0000]
Move proto version to version.h. Reduce header deps a bit more.