Commit graph

3177 commits

Author SHA1 Message Date
Gavin Andresen de038acd96 Fix bad merge, pszDataDir duplication 2012-10-09 12:28:00 -04:00
Gavin Andresen 673021410f Merge branch 'wallet_exceptions' of github.com:gavinandresen/bitcoin-git 2012-10-09 12:14:26 -04:00
Gavin Andresen cf64347d70 Merge branch 'crash_at_exit' of github.com:gavinandresen/bitcoin-git 2012-10-09 12:10:18 -04:00
Wladimir J. van der Laan 0a5ce30bc1 Merge pull request #1915 from Diapolo/Qt5_compat_leftover
change Q_WS_MAC -> Q_OS_MAC (Qt5 compatibility)
2012-10-08 22:28:24 -07:00
Jeff Garzik de2b9459bd Merge pull request #1834 from jgarzik/kickblocks
P2P: Do not request blocks from peers with fewer blocks than us
2012-10-08 15:15:58 -07:00
Jeff Garzik b855abb8db Revert "Send 'mempool' P2P command at the start of each P2P session"
Fat-fingered on github, and merged this too early.

This reverts commit 22f9b06903.
2012-10-08 18:14:15 -04:00
Jeff Garzik 56caa38a67 Merge pull request #1833 from jgarzik/mempool-query
Send 'mempool' P2P command at the start of each P2P session
2012-10-08 15:12:25 -07:00
Gavin Andresen d0b3e77a08 Don't try to verify a non-existent wallet.dat 2012-10-08 17:46:46 -04:00
Gavin Andresen eed1785f70 Handle corrupt wallets gracefully.
Corrupt wallets used to cause a DB_RUNRECOVERY uncaught exception and a
crash. This commit does three things:

1) Runs a BDB verify early in the startup process, and if there is a
low-level problem with the database:
  + Moves the bad wallet.dat to wallet.timestamp.bak
  + Runs a 'salvage' operation to get key/value pairs, and
    writes them to a new wallet.dat
  + Continues with startup.

2) Much more tolerant of serialization errors. All errors in deserialization
are reported by tolerated EXCEPT for errors related to reading keypairs
or master key records-- those are reported and then shut down, so the user
can get help (or recover from a backup).

3) Adds a new -salvagewallet option, which:
 + Moves the wallet.dat to wallet.timestamp.bak
 + extracts ONLY keypairs and master keys into a new wallet.dat
 + soft-sets -rescan, to recreate transaction history

This was tested by randomly corrupting testnet wallets using a little
python script I wrote (https://gist.github.com/3812689)
2012-10-08 17:46:45 -04:00
Gavin Andresen 8d5f461cb6 Handle incompatible BDB environments
Before, opening a -datadir that was created with a new
version of Berkeley DB would result in an un-caught DB_RUNRECOVERY
exception.

After these changes, the error is caught and the user is told
that there is a problem and is told how to try to recover from
it.
2012-10-08 17:25:17 -04:00
Gavin Andresen c2bb42168b Merge branch 'BDB_DOWNGRADE' 2012-10-08 17:18:17 -04:00
Gavin Andresen e4954b1297 Handle incompatible BDB environments
Before, opening a -datadir that was created with a new
version of Berkeley DB would result in an un-caught DB_RUNRECOVERY
exception.

After these changes, the error is caught and the user is told
that there is a problem and is told how to try to recover from
it.
2012-10-08 15:51:59 -04:00
Philip Kaufmann ada2a39691 change Q_WS_MAC -> Q_OS_MAC (Qt5 compatibility)
- I missed that one in my former pull
2012-10-07 18:50:03 +02:00
Pieter Wuille 43de64949c Merge pull request #1859 from Diapolo/proxy_locks
add LOCK() for proxy related data-structures
2012-10-07 07:03:06 -07:00
Wladimir J. van der Laan ee0b648536 Merge pull request #1906 from laanwj/2012_10_help_stdout
Send --help message to stdout i.s.o stderr
2012-10-05 11:24:09 -07:00
Wladimir J. van der Laan a6be58d536 Merge pull request #1905 from laanwj/2012_10_startup_gui_error
When datadir missing, show messagebox instead of printing error to stderr
2012-10-04 22:28:44 -07:00
Pieter Wuille 39930ca6ae Merge pull request #1908 from laanwj/2012_10_rpcerrors
Document RPC error codes
2012-10-04 17:17:53 -07:00
Gavin Andresen cac6b389d1 Avoid crashes at shutdown due to printf() in global destructors. 2012-10-04 16:35:08 -04:00
Wladimir J. van der Laan 285746d3db Add constants for HTTP status codes 2012-10-04 15:49:15 +02:00
Wladimir J. van der Laan 738835d7b8 Document RPC error codes
Replace all "magic values" in RPCError(...) by constants.
2012-10-04 15:49:15 +02:00
Wladimir J. van der Laan 61fd72695f When datadir missing, show messagebox instead of printing error to stderr 2012-10-04 12:04:12 +02:00
Wladimir J. van der Laan c0b130b79b Merge pull request #1907 from laanwj/2012_10_translations
Translation update for 0.7.1
2012-10-04 01:49:25 -07:00
Philip Kaufmann 81bbef2609 add LOCK() for proxy related data-structures
- fix #1560 by properly locking proxy related data-structures
- update GetProxy() and introduce GetNameProxy() to be able to use a
  thread-safe local copy from proxyInfo and nameproxyInfo
- update usage of GetProxy() all over the source to match the new
  behaviour, as it now fills a full proxyType object
- rename GetNameProxy() into HaveNameProxy() to be more clear
2012-10-04 09:35:24 +02:00
Wladimir J. van der Laan 366944431b Pull changed translations from transifex
There was also a new translation available, "ja" (Japanese), however
almost nothing was filled in yet, so I'm not including it for this release.
2012-10-04 08:18:12 +02:00
Wladimir J. van der Laan f1e262c8e1 Translation update for 0.7.1
Also clarify translation process that the package `gettext` is needed to run string extractor.
2012-10-04 08:13:37 +02:00
Wladimir J. van der Laan bb353618f1 Send --help message to stdout i.s.o stderr
This allows fun stuff such as `bitcoin --help | less`, and more
easy piping to files.

Looking at other tools such as bash, gcc, they all send their help
text to stdout.
2012-10-04 07:56:57 +02:00
Gavin Andresen 0547b02af7 Merge branch '2012_09_fixwformat' of github.com:laanwj/bitcoin 2012-10-01 16:52:42 -04:00
Gavin Andresen d2cc6f489c Merge branch 'master' of github.com:runeksvendsen/bitcoin 2012-10-01 16:51:24 -04:00
Gavin Andresen da6e9fe634 Merge pull request #1893 from kjj2/issue1884
Issue 1884: Add a backup warning to the encryptwallet RPC command
2012-10-01 13:40:48 -07:00
Wladimir J. van der Laan 827d8c2e0c Revert "Remove -Wformat* warnings from makefiles"
This reverts commit 14ac0adcc7.
2012-10-01 19:45:42 +02:00
Philip Kaufmann d210f4f5b8 fix -Wformat warnings all over the source 2012-10-01 19:45:42 +02:00
Wladimir J. van der Laan bcc292b22d Extend printf warnings to error() 2012-10-01 19:45:41 +02:00
Gavin Andresen 00a757375c Merge branch '2012_09_base58tests' of github.com:laanwj/bitcoin 2012-10-01 11:22:38 -04:00
Wladimir J. van der Laan 02247490f6 Merge pull request #1886 from Diapolo/fix_Win_URI_assoc
Windows: fix URI association setting in registry
2012-09-30 22:07:16 -07:00
Wladimir J. van der Laan d6b13283d1 data-driven base58 CBitcoinAddress/CBitcoinSecret tests
Arbitrary numbers of test vectors can be generated using the script
`gen_base58_test_vectors.py`.
2012-10-01 04:57:26 +02:00
Rune K. Svendsen 1bf66fcc0a When encrypting the wallet, warn user that old backups will become useless.
Don't include HTML in translation strings. Do split the huge message over several lines.

Prettier lines
2012-09-30 15:57:53 +02:00
kjj2 31a8b70ee3 Add a backup warning to the encryptwallet RPC command 2012-09-30 08:50:59 -05:00
Wladimir J. van der Laan 2a739598b1 Merge pull request #1891 from Diapolo/printf_format_defs
harmonize printf format characters
2012-09-30 03:43:45 -07:00
Philip Kaufmann 9c8dc7caf1 harmonize printf format characters
- remove the "%" character from format characters for (s)size_t and
  ptrdiff_t and harmonize them with the ones for int64 and uint64
2012-09-30 11:57:25 +02:00
Philip Kaufmann c8bf315188 Windows: fix URI association setting in registry
- fix for #1877
- fix was reported to work via
  https://bitcointalk.org/index.php?topic=110243.msg1230418#msg1230418
2012-09-29 12:25:22 +02:00
Wladimir J. van der Laan 018ec85ff7 Merge pull request #1875 from hsoft/master
Fix compilation with clang under OS X
2012-09-29 02:23:46 -07:00
Wladimir J. van der Laan f72fd0e792 Merge pull request #1881 from xanatos/Tests
Removed a duplicated identical if
2012-09-29 01:00:55 -07:00
Wladimir J. van der Laan a5ba586669 Merge pull request #1864 from Diapolo/Qt_4.8.2
switch to Qt 4.8.2 for Windows builds
2012-09-29 00:58:29 -07:00
Wladimir J. van der Laan 552af52b45 Merge pull request #1851 from fanquake/OpenSSL-1.0.1c
Update to use OpenSSL 1.0.1c
2012-09-29 00:58:15 -07:00
Wladimir J. van der Laan 3b2eb49db9 Merge pull request #1883 from sipa/norandstack
Remove stack randomization
2012-09-29 00:56:25 -07:00
Jeff Garzik 3e37e7eca4 Merge pull request #1871 from jgarzik/wallet-deadcode
walletdb.h: remove dead code
2012-09-28 17:05:16 -07:00
Pieter Wuille 2e3ffb2d82 Remove stack randomization 2012-09-28 21:53:28 +02:00
Pieter Wuille 842a31ad1b Merge pull request #1862 from kjj2/testports
Fix: when testnet=1 specified, change default RPC port to 18332
2012-09-28 08:03:45 -07:00
xanatos 50e01ee620 toHTML won't add empty wtx.mapValue elements
As the code was before, toHTML added empty elements to mapValue to check for their existance. Now first it check for their existance and then for their non-emptiness.

Removed a duplicated identical if

There are two equal ifs, one inside another. If the first one is true, then the second one is true.
2012-09-28 15:50:48 +02:00
Wladimir J. van der Laan 035cb4781d Merge pull request #1868 from maaku/and_or_xor_sign_extension
Documented bug in sign-extension behavior of opcodes OP_AND, OP_OR, and OP_XOR
2012-09-27 22:48:27 -07:00