Gavin Andresen
13d3b1c144
Merge pull request #2829 from sipa/bip32
...
BIP 32 derivation + test vectors
2013-08-15 16:40:03 -07:00
Pieter Wuille
a81cd96805
Only create signatures with even S, and verification mode to check.
...
To fix a minor malleability found by Sergio Lerner (reported here:
https://bitcointalk.org/index.php?topic=8392.msg1245898#msg1245898 )
The problem is that if (R,S) is a valid ECDSA signature for a given
message and public key, (R,-S) is also valid. Modulo N (the order
of the secp256k1 curve), this means that both (R,S) and (R,N-S) are
valid. Given that N is odd, S and N-S have a different lowest bit.
We solve the problem by forcing signatures to have an even S value,
excluding one of the alternatives.
This commit just changes the signing code to always produce even S
values, and adds a verification mode to check it. This code is not
enabled anywhere yet. Existing tests in key_tests.cpp verify that
the produced signatures are still valid.
2013-08-16 00:17:50 +02:00
Pieter Wuille
2461aba1ac
Mempool consistency check
2013-08-15 23:55:35 +02:00
Pieter Wuille
f0784ac470
Fix non-standard disconnected transactions causing mempool orphans
2013-08-15 23:53:55 +02:00
Micha
9afe5a2c32
Clarified the listsinceblock help test
...
Specifically, the fact that the command
relates to wallet transactions.
2013-08-16 00:15:39 +03:00
Gavin Andresen
4323bfeafd
Merge pull request #2776 from jgarzik/keypoolsize
...
RPC: keypoolrefill now permits optional size parameter, to bump keypool
2013-08-14 22:01:22 -07:00
Gavin Andresen
8fa9b5cc45
Merge pull request #2658 from TheBlueMatt/forkalert
...
Detect any sufficiently long fork and alert the user just like any other alert
2013-08-12 23:33:40 -07:00
Roman Mindalev
2b6a8993fb
Add missing 0x prefix in chainparams.cpp
2013-08-12 18:28:23 +04:00
Gavin Andresen
b35e993200
Use HandleError() consistently to handle leveldb errors
2013-08-12 18:06:17 +10:00
Cozz Lovan
c7fa1a3586
do not call BuildMerkleTree() unnecessarily twice
2013-08-10 15:27:25 +02:00
Gavin Andresen
42656ea2e5
Make RPC password resistant to timing attacks
...
Fixes issue#2838; this is a tweaked version of pull#2845 that
should not leak the length of the password and is more generic,
in case we run into other situations where we need
timing-attack-resistant comparisons.
2013-08-08 19:58:57 +10:00
Gavin Andresen
6cc766fa55
Merge pull request #2856 from Diapolo/crypter_headers
...
remove windows.h from crypter.cpp includes
2013-08-08 02:16:56 -07:00
Gavin Andresen
9d23db58c1
Merge pull request #2883 from codler/patch-5
...
Replace with existing constants
2013-08-07 04:44:57 -07:00
Han Lin Yap
1511769239
Use existing RPC_INVALID_PARAMETER constant
2013-08-07 10:14:33 +02:00
Gavin Andresen
ddd0e2f616
Merge pull request #2871 from gavinandresen/simplify_maporphan
...
Simplify storage of orphan transactions, fix CVE-2013-4627
2013-08-06 17:11:48 -07:00
Philip Kaufmann
265e2657b4
remove a newline from a string in init.cpp
...
- to match all other translatable strings in init.cpp and to simplify
translations via Transifex
2013-08-06 10:28:52 +02:00
Gavin Andresen
bdd34642dc
More unit tests for NUMEQUAL
2013-08-06 16:06:07 +10:00
Wladimir J. van der Laan
e07d9f77e9
Merge pull request #2879 from Diapolo/translations
...
translations update for Transifex 2013-08-05
2013-08-05 03:34:55 -07:00
Philip Kaufmann
0f1c8f23eb
translations update for Transifex 2013-08-05
2013-08-05 11:06:45 +02:00
Gavin Andresen
ae759b3788
Merge pull request #2849 from petertodd/if-else-else
...
Add unittests for multiple ELSEs in a row
2013-08-05 01:53:57 -07:00
Gavin Andresen
15047f5af0
Merge pull request #2851 from TheBlueMatt/master
...
Prepare for mempool testing in pull-tester and fix multi-block transaction resurrection
2013-08-05 01:53:17 -07:00
Gavin Andresen
2af267c150
Merge pull request #2857 from Diapolo/compat_cleanup
...
cleanup compat.h Windows stuff
2013-08-05 01:48:35 -07:00
Gavin Andresen
e622f3f195
Merge pull request #2855 from Diapolo/guard_CreatePidFile
...
exclude CreatePidFile() function on WIN32 as it is unused
2013-08-05 01:05:59 -07:00
Gavin Andresen
a4ae02969e
Merge pull request #2827 from Diapolo/rpccon_winpos
...
Bitcoin-Qt: save and restore position of debug window
2013-08-05 00:58:05 -07:00
Gavin Andresen
d687aaa311
Merge pull request #2865 from Diapolo/fix_intro_translation
...
fix string in intro.cpp, which is untranslatable on Transifex
2013-08-05 00:24:49 -07:00
Gavin Andresen
159bc48193
Simplify storage of orphan transactions
...
Orphan transactions were stored as a CDataStream pointer;
this changes the mapOrphanTransactions data structures to
store orphans as a CTransaction.
This also fixes CVE-2013-4627 by always re-serializing
transactions before relaying them.
2013-08-02 16:10:25 +10:00
Gavin Andresen
8f6f92c72b
Revert "Truncate oversize 'tx' messages before relaying/storing."
...
This reverts commit c40a5aaaf4
.
2013-08-02 15:50:04 +10:00
Wladimir J. van der Laan
6d89611c3a
Merge pull request #2850 from Diapolo/fix_intro
...
fix possible infinite loop in intro.cpp thread
2013-07-31 22:15:05 -07:00
Jeff Garzik
d247a5d130
Move internal miner/block creation to separate miner.cpp module.
...
Public functions referenced elsewhere are added to miner.h.
2013-07-31 09:43:35 -04:00
Jeff Garzik
18946846d5
Minor miner fixes (hey hey it's fun to say)
...
* Fix UpdateCoins() definition in main.h
* Remove pwalletMain reference from BitcoinMiner(), as it is passed
a wallet argument.
2013-07-31 08:45:49 -04:00
Gavin Andresen
050d2e953f
Remove #define loop from util.h
...
Replace the loop macro with while (true). The #define caused
problems for Qt.
2013-07-31 14:06:44 +10:00
Philip Kaufmann
bef9f573b5
fix string in intro.cpp, which is untranslatable on Transifex
...
- seems the code tags in the original string cause errors, when using the
Transifex site for translation
2013-07-29 16:56:03 +02:00
Philip Kaufmann
c431e9f1f0
Bitcoin-Qt: save and restore position of debug window
...
- move the code for saving and restoring window positions from BitcoinGUI
to GUIUtil, make it more generic and also use it for saving/restoring
debug window positions
2013-07-29 16:22:46 +02:00
Pieter Wuille
c4316fefa5
Make sure new wallet variables are initialized
2013-07-29 02:34:01 +02:00
Pieter Wuille
4bb77b4963
Merge pull request #2541 from luke-jr/bugfix_wallet_resend
...
Bugfix: Store last/next wallet resend times unique per CWallet object
2013-07-28 17:21:21 -07:00
Pieter Wuille
83a3597071
Merge pull request #2702 from vinniefalco/leveldb-subtree-at-1-10-0
...
Leveldb subtree at 1 12 0
2013-07-28 03:57:17 -07:00
Philip Kaufmann
5bc6d8e580
fix possible infinite loop in intro.cpp thread
...
- it was possible to trigger an infinite loop in FreespaceChecker::check() by
simply removing the drive letter on Windows (which leads to an infinite
loop in the FreespaceChecker thread)
- this was caused by not checking if we make progress with
parentDir.parent_path()
2013-07-26 09:17:24 +02:00
Wladimir J. van der Laan
2b894bceac
Merge pull request #2847 from Diapolo/fix_QApplication_include
...
Bitcoin-Qt: fix QApplication includes to match our include defaults
2013-07-25 22:42:16 -07:00
Wladimir J. van der Laan
7d3a50ddbe
Merge pull request #2848 from Diapolo/translations
...
update bitcoin_en.ts to current master (2013-07-23)
2013-07-25 22:41:51 -07:00
Gavin Andresen
5e67e124cf
Merge pull request #1889 from tcatm/multi-wallet
...
let user select wallet file with -wallet=foo.dat
2013-07-24 22:52:21 -07:00
Philip Kaufmann
852605d8d1
remove windows.h from crypter.cpp includes
...
- remove an unneeded windows.h include (comes from allocators.h, which is
included in crypter.h)
2013-07-24 22:35:44 +02:00
Philip Kaufmann
dd833a4cd8
cleanup compat.h Windows stuff
...
- remove an unneded include for mswsock.h as we use winsock2.h anyway
- move typedef u_int SOCKET; into the #ifndef WIN32 part
- remove typedef int socklen_t; as this is defined in ws2tcpip.h
2013-07-24 16:24:38 +02:00
Philip Kaufmann
a034c7ebb6
exclude CreatePidFile() function on WIN32 as it is unused
2013-07-24 09:30:09 +02:00
Peter Todd
1b3656d50b
Add 'chainwork' to getblock
...
Returns nChainWork from the block index, the total work done by all
blocks since the genesis block.
2013-07-24 01:58:23 -04:00
Matt Corallo
9bf2a4aba2
Fix multi-block reorg transaction resurrection
2013-07-23 18:02:27 +02:00
Matt Corallo
d9ace8abe8
Don't use checkpoints and accept nonstd txn on -regtest
2013-07-23 18:02:26 +02:00
Peter Todd
aff83e9c02
Add unittests for multiple ELSEs in a row
...
IF ELSE ELSE ENDIF is a valid construct; execution or non-execution
inverts on each ELSE encountered.
2013-07-23 05:12:38 -04:00
Philip Kaufmann
3960d2e4ab
update bitcoin_en.ts to current master (2013-07-23)
2013-07-23 09:10:57 +02:00
Philip Kaufmann
84ef729aa1
Bitcoin-Qt: fix QApplication includes to match our include defaults
...
- move all QApplication includes to top of included Qt headers
- undef our loop macro where it would cause compilation errors otherwise
2013-07-23 08:52:24 +02:00
Jeff Garzik
0a740650a5
Merge pull request #2795 from fanquake/log_aborted_rebuilds
...
Log aborted block database rebuilds
2013-07-22 08:32:59 -07:00
Jeff Garzik
0cb6d67e46
Merge pull request #2832 from luke-jr/bugfix_wdb_boostver
...
Bugfix: Move boost/version include from db.cpp to walletdb.cpp where BOOST_VERSION is used
2013-07-22 08:08:27 -07:00
Jeff Garzik
6c6255edb5
Merge pull request #2826 from Diapolo/fix_mingw481
...
fix invalid conversion error with MinGW 4.8.1 in net.cpp
2013-07-22 08:05:05 -07:00
Jeff Garzik
ac6561322f
Merge pull request #2836 from phelixbtc/patch-3
...
makefile.mingw: Use normal boost libraries instead of debug for Windows
2013-07-22 08:02:53 -07:00
Matt Corallo
f65e7092a2
Better warning/"alert" messages for large-work forks.
2013-07-22 12:12:45 +02:00
Matt Corallo
f89faa2584
Call the -alertnotify script when we see a long or invalid fork.
2013-07-22 12:11:46 +02:00
Matt Corallo
b8585384da
Detect any sufficiently long fork and add a warning.
...
Such a fork is defined as being at least 7 blocks long and
having a tip which is within 72 blocks of our best block.
2013-07-22 12:10:57 +02:00
Luke Dashjr
dabd4bd48e
Bugfix: Include block creation and SSL options headings in usage
2013-07-21 16:13:00 +00:00
phelixbtc
eda7605dfe
makefile.mingw: Use normal boost libraries instead of debug for Windows
...
https://github.com/bitcoin/bitcoin/pull/2835#issuecomment-21231694
2013-07-19 10:20:13 +02:00
Wladimir J. van der Laan
4eab2dcc81
Merge pull request #2670 from laanwj/2013_05_datadir
...
qt: allow user to choose data directory
2013-07-18 22:42:50 -07:00
fcicq
98148a713e
Fix fcntl include in net.cpp & netbase.cpp
2013-07-17 16:51:40 +08:00
fcicq
b34255b758
Ignore SIGPIPE signal on Solaris
2013-07-17 16:50:51 +08:00
fcicq
9371403993
Add missing constant for solaris
2013-07-17 16:50:51 +08:00
fcicq
c391f9a47b
Fix boost uint type bug by reordering the includes
2013-07-17 16:50:51 +08:00
fcicq
eb8397a03e
Disable variadic template support in C++11
2013-07-17 16:50:44 +08:00
Luke Dashjr
203d1ae69b
Bugfix: Store last/next wallet resend times unique per CWallet object
2013-07-17 03:00:59 +00:00
Luke Dashjr
d4e2b040ed
Bugfix: Move boost/version include from db.cpp to walletdb.cpp where BOOST_VERSION is used
2013-07-15 22:16:42 +00:00
Pieter Wuille
a59db19ee3
BIP32 test vectors
2013-07-15 01:07:19 +02:00
Pieter Wuille
eb2c999050
BIP32 derivation implementation
2013-07-15 01:05:25 +02:00
Philip Kaufmann
b3e0aaf36e
fix invalid conversion error with MinGW 4.8.1 in net.cpp
...
- fixes src\net.cpp:1601: Error:invalid conversion from 'void*' to
'const char*' [-fpermissive] in a setsockopt() call on Win32 that was
found by using MinGW 4.8.1 compiler suite
2013-07-13 13:05:04 +02:00
Pieter Wuille
fb83a79b21
Fix minor backward incompatibility
...
The key refactor changed the way unencrypted private keys with compressed
public key are stored in the wallet. Apparently older versions relied on
this to verify the correctness of stored keys.
Note that earlier pre-release versions do risk creating wallets that can
not be opened by 0.8.3 and earlier.
2013-07-13 12:57:19 +02:00
Jeff Garzik
d598872726
Merge pull request #2743 from jgarzik/reject-reason
...
Log reason for non-standard transaction rejection
2013-07-10 08:50:49 -07:00
Jeff Garzik
3b837d5679
Merge pull request #2812 from jgarzik/rpcbestblock
...
RPC: add getbestblockhash, to return tip of best chain
2013-07-10 08:49:50 -07:00
Gregory Maxwell
204b8af6dc
Merge pull request #2796 from gmaxwell/remove_overactive_rand_tests
...
Make the rand tests determinstic.
2013-07-07 10:09:03 -07:00
Gregory Maxwell
e5c4dfdfc0
Make the rand tests determinstic. ( fixes #2714 )
...
This avoids spurious errors with the old tests but still tests
enough that if the rng is replaced with a totally broken one
it should still fail.
2013-07-07 09:54:47 -07:00
Nils Schneider
674cb304b3
let user select wallet file with -wallet=foo.dat
...
use std::string instead of psz for WalletFile
only allow wallets within $DATADIR
Use strWalletFile in salvage/recover
fix: remove unused variable pszWalletFile
move strWalletFile to init.h/init.cpp
avoid conversion of strWalletfile to c-string
2013-07-04 17:19:36 +02:00
Jeff Garzik
091aa8dae9
RPC: add getbestblockhash, to return tip of best chain
2013-07-03 11:02:29 -04:00
Vinnie Falco
fb1da62318
Merge commit 'adae78ea9940f4d44382967d1296e7db0b54a4de' into leveldb-squashed
2013-07-01 08:36:32 -07:00
Pieter Wuille
21cc8bdcbe
Fix build date for from-tarball builds
2013-06-29 14:16:50 +02:00
Pieter Wuille
a4f43075d6
Merge pull request #2793 from Diapolo/translations
...
translation update 2013-06-25
2013-06-26 15:02:28 -07:00
Pieter Wuille
1f2d739ac1
Merge pull request #2174 from CodeShark/sync_macro_clarification
...
Added comments to sync.h to make it easier to understand the macros
2013-06-26 10:51:33 -07:00
Eric Lombrozo
042da8bc0d
Added comments to sync.h to make it easier to understand the macros
2013-06-25 16:54:58 -07:00
Pieter Wuille
4ad73c6b08
Merge pull request #2209 from CodeShark/WalletRegistrationLocks
...
Wallet registration locks in main.cpp + UnregisterAllWallet() function
2013-06-25 16:33:16 -07:00
Jeff Garzik
36bd46f1c4
RPC: keypoolrefill gains optional size parameter
2013-06-25 16:21:42 -04:00
Jeff Garzik
13dd2d090e
CWallet::TopUpKeyPool() takes optional pool size argument
...
Also, GetKeyPoolSize() now returns an accurate type, unsigned int.
2013-06-25 16:07:29 -04:00
Jeff Garzik
481d899794
Merge pull request #2792 from sipa/coreimpl
...
Move core implementations to core.cpp
2013-06-25 11:52:18 -07:00
Michael Ford
664aeb2871
Log aborted block database rebuilds
2013-06-25 23:54:17 +08:00
Peter Todd
c40a5aaaf4
Truncate oversize 'tx' messages before relaying/storing.
...
Fixes a memory exhaustion attack on low-memory peers.
2013-06-25 10:37:50 -04:00
Gavin Andresen
2e01ec3207
Merge pull request #2679 from vhf/patch-1
...
Too many bitcoins allowed as amount. (Issue #2401 )
2013-06-25 06:47:53 -07:00
Philip Kaufmann
dae158132d
translation update 2013-06-25
...
- updates bitcoinstrings.cpp and bitcoin_en.ts so new translations can be
made on Transifex
2013-06-25 11:31:29 +02:00
Pieter Wuille
f121db58e4
Move core implementations to core.cpp
2013-06-25 10:33:29 +02:00
Eric Lombrozo
e6fe8e77fb
Calling UnregisterAllWallets() instead of UnregisterWallet(pwalletMain) in init.cpp
2013-06-24 09:33:15 -07:00
Eric Lombrozo
e5cefb9be1
Added locks on the setpwalletRegistered functions in main.cpp and added an UnregisterAllWallets function.
2013-06-24 09:25:23 -07:00
Jeff Garzik
79f6925fac
main.h->core.h include dependency improvements.
2013-06-24 10:41:16 -04:00
Jeff Garzik
396485b14d
Merge pull request #2789 from sipa/overdump
...
Dump addresses every 15 minutes instead of 10 seconds
2013-06-24 07:32:20 -07:00
Pieter Wuille
c43da3f183
Dump addresses every 15 minutes instead of 10 seconds
2013-06-24 11:48:14 +02:00
Eric Lombrozo
33944573ca
Moved CBlock from main.h to core.h
2013-06-23 19:59:35 -07:00
Eric Lombrozo
2a4d3464fd
Pulled AcceptBlock out of CBlock.
2013-06-23 19:59:35 -07:00
Eric Lombrozo
38991ffa8a
Pulled CheckBlock out of CBlock.
2013-06-23 19:59:35 -07:00
Eric Lombrozo
1959997afb
Pulled AddToBlockIndex out of CBlock.
2013-06-23 19:59:35 -07:00
Eric Lombrozo
f3ae51dcce
Pulled ConnectBlock out of CBlock.
2013-06-23 19:59:35 -07:00