Commit graph

1784 commits

Author SHA1 Message Date
Wladimir J. van der Laan
f5f2d7410d Reorganize tray icon menu into more logical order
The current order of menu options in the tray menu doesn't really match expected usage patterns, this commit changes it to more logical order.

- Toggle show/hide first (unchanged)
- Then, send/receive coins actions, which are the critical functionality of bitcoin
- Then, sign/verify message
- Then finally the options, and closing with the debug window
2012-06-14 08:01:41 +02:00
Philip Kaufmann
93b7af3099 URI-handling code update: added safety checks and tray-notifications 2012-06-14 07:59:27 +02:00
Wladimir J. van der Laan
7a98f19fb6 Merge pull request #1420 from Diapolo/extend_showNormalIfMinimized
GUI: merge toggleHidden() code into showNormalIfMinimized()
2012-06-13 22:49:38 -07:00
Gavin Andresen
d518e444f8 Merge branch 'refactor_coinselect' of https://github.com/luke-jr/bitcoin 2012-06-13 21:36:35 -04:00
Philip Kaufmann
b5782531ad set cursor for balance field to IBeamCursor (to show the user it IS selectable) and set autoDefault to false for the buttons that do not need this 2012-06-13 18:34:29 +02:00
Wladimir J. van der Laan
7d1490576d Merge pull request #1448 from Diapolo/2012-06-13_translation_updates
update translation files (fetched from Transifex - 2012-06-13)
2012-06-13 09:24:39 -07:00
Wladimir J. van der Laan
15094f7654 Update bitcoinstrings from core and English source translation file
This is necessary as any strings have changed since last time.

Also the python script used to extract bitcoinstrings.cpp, extract_strings_qt.py
now sorts the strings before generating the output file. This results in more
deterministic output and thus smaller diffs.
2012-06-13 18:19:16 +02:00
Philip Kaufmann
66654ab02e update translation files (fetched from Transifex) and remove translation for fr_FR, which was removed / renamed on TX 2012-06-13 18:04:27 +02:00
Philip Kaufmann
c4443c2be1 re-work optionsdialog to a tabbed UI based on an ui-file
- extend network options with a SOCKS version selection
- changing "Unit to show amounts in:" now also updates the unit used in the transaction fee box
- string updates
- link Apply button and OK button when enabling or disabling them
- use LookupNumeric() from netbase to verify proxy address (via an EventFilter)
- change proxy address field to QValidatedLineEdit and add visual feedback
- add a status label used for displaying a message for invalid proxy addresses
- allow usage of IPv6 address as proxy address
- added warning message when enabling / disabling SOCKS proxy
2012-06-13 16:24:25 +02:00
Wladimir J. van der Laan
c4879a0c2f Merge pull request #1444 from laanwj/2012_06_opendebuglog
Cross-platform “Open debug logfile”
2012-06-12 23:56:14 -07:00
Philip Kaufmann
d2e6dd6c99 merge toggleHidden() code into showNormalIfMinimized() to extend the functionality, but keep a simpler toggleHidden() for use in SLOT() macro 2012-06-12 22:15:35 +02:00
Philip Kaufmann
d4b2f3c45b make buttons in debug window non autoDefault 2012-06-12 17:17:51 +02:00
Wladimir J. van der Laan
9b1732baae Cross-platform "Open debug logfile"
The option to open the debug logfile from the debug window was implemented only for
windows. By using `QDesktopServices::openUrl` it now works on any platform.
2012-06-12 16:35:19 +02:00
Wladimir J. van der Laan
12718ce767 Merge pull request #1440 from Diapolo/overviewpage_InitialBalance
change initial Balance on overviewpage from "123.456 BTC" to "0 BTC" to ...
2012-06-12 04:19:49 -07:00
Wladimir J. van der Laan
2842fe4aa3 Do not select first address automatically in the address book
This contributed to an accidental send (#1384), and has no clear advantage, better to disable it.
2012-06-12 10:48:42 +02:00
Wladimir J. van der Laan
b6ef8d5a40 Merge pull request #1412 from Diapolo/string_wait_mature
GUI: update info strings for generated blocks
2012-06-11 22:30:21 -07:00
Philip Kaufmann
9247134eab introduce a new StartShutdown() function, which starts a thread with Shutdown() if no GUI is used and calls uiInterface.QueueShutdown() if a GUI is used / all direct uiInterface.QueueShutdown() calls are replaced with Shutdown() - this ensures a clean GUI shutdown, even when catching a SIGTERM and allows the BitcoinGUI destructor to get called (which fixes a tray-icon issue and keeps the tray-icon until Bitcoin-Qt exits) 2012-06-12 07:21:03 +02:00
Philip Kaufmann
59e0f445ce change initial Balance on overviewpage from "123.456 BTC" to "0 BTC" to not confuse users, which could see it before we init with the real wallet balance 2012-06-11 22:40:06 +02:00
Jeff Garzik
883a310904 Merge pull request #1435 from TheBlueMatt/mingwbuild
Fix Mingw64 build (missing headers according to M$ documentation)
2012-06-09 12:40:15 -07:00
Matt Corallo
b065976007 Fix Mingw64 build (missing headers according to M$ documentation) 2012-06-09 17:14:41 +02:00
Philip Kaufmann
40d23dafb7 update info string in GUI for generated blocks and change "must wait" into "must mature" to take the new immature label into consideration 2012-06-09 00:34:10 +02:00
Pieter Wuille
11f73c728a Merge pull request #1421 from Diapolo/netbase_fix_sign_warnings
fix two signed/unsigned comparison warnings in netbase.cpp
2012-06-08 07:29:34 -07:00
Pieter Wuille
0ed0806bb4 Update comment about secure_allocator<> 2012-06-08 16:27:05 +02:00
Pieter Wuille
1b7cd74a49 Merge pull request #1424 from TheBlueMatt/lockcontention
Fix DEBUG_LOCKCONTENTION
2012-06-08 07:22:19 -07:00
Ricardo M. Correia
31ac53fbdc Move NOINLINE definition to test where it's used. 2012-06-07 20:22:18 +02:00
Ricardo M. Correia
43346904e1 Don't overflow integer on 32-bit machines.
This was causing test_bitcoin to abort on a 32-bit system likely due to -ftrapv.
2012-06-07 20:22:10 +02:00
Pieter Wuille
afdd59416e Merge pull request #1418 from Diapolo/GUI_fix_default_proxy_addr
fix default Proxy address in Qt options (no hostname allowed currently)
2012-06-05 11:13:25 -07:00
Matt Corallo
4d009243cb Fix DEBUG_LOCKCONTENTION 2012-06-05 16:13:16 +02:00
Philip Kaufmann
618b250e34 add used datadir to debug.log 2012-06-05 07:37:07 +02:00
Philip Kaufmann
b69dd08ae7 fix two signed/unsigned comparison warnings in netbase.cpp 2012-06-05 07:32:27 +02:00
Philip Kaufmann
4e16306ae3 fix default Proxy address in Qt options (no hostname allowed currently) 2012-06-04 23:13:01 +02:00
Gavin Andresen
46e06b875d Merge branch 'netopt' of https://github.com/sipa/bitcoin 2012-06-04 14:15:19 -04:00
Chris Moore
831f59ce8b Fix coin selection to only include change when it's necessary. 2012-06-04 16:49:10 +00:00
Chris Moore
d650f96d5f Preserve the shuffled order of coins with equal value to give more randomized coin selection. 2012-06-04 16:36:46 +00:00
Chris Moore
4ce190a015 Test that the coin selection code is suitably random, and add tests re. sub-cent change. 2012-06-04 16:36:43 +00:00
Chris Moore
e333ab56d5 Move the random_shuffle call back into SelectCoinsMinConf() so we can unit test it. 2012-06-04 16:36:39 +00:00
Chris Moore
9b0369c773 Refactor SelectCoinsMinConf() and add unit tests.
AvailableCoins() makes a vector of available outputs which is then passed to SelectCoinsMinConf().  This allows unit tests to test the coin selection algorithm without having the whole blockchain available.
2012-06-04 16:36:34 +00:00
Wladimir J. van der Laan
882ba0e752 Merge pull request #837 from sje397/ShowImmatureBalance
Added 'immature balance' for miners. Only displayed if the balance is > 0
2012-06-02 02:35:48 -07:00
Wladimir J. van der Laan
88d7bc930a Merge pull request #1368 from Diapolo/verifymessagepage
GUI: change verifymessagepage behaviour to match RPC-call "verifymessage"
2012-06-02 02:33:41 -07:00
Philip Kaufmann
5d6b30271f move class HelpMessageBox to guiutil.cpp/.h / add button to show Bitcoin command-line options (in RPC Console -> Information) / resize Debug window a little to allow for a non-breaking display of the welcome message with non-english translation 2012-06-01 16:29:54 +02:00
Philip Kaufmann
8103b0bb62 change verifymessagepage behaviour to match RPC-call "verifymessage" (input address, signature and message) / display messages in status label (remove message boxes) / resize window to make signature fully readable / change signature font to BC-address font (like in messagepage) / remove checkAddress() and place code directly in on_verifyMessage_clicked() / add visual feedback to LineEdits / remove AddressTableModel references, as they are now unused / add addr.GetKeyID(keyID) check 2012-06-01 11:13:44 +02:00
Gavin Andresen
98474d3d6f Use ConvertTo to simplify sendmany/addmultisigaddress argument handling 2012-05-31 16:09:31 -04:00
Gavin Andresen
ea7582bb41 Make sendrawtx return txid to be consistent with other send methods. 2012-05-31 16:05:07 -04:00
Ricardo M. Correia
10b45b4c2e Use C++-style numeric limits instead of C-style. 2012-05-31 20:33:22 +02:00
Ricardo M. Correia
78e851f94f Fix noinline definition so that it works for more compilers. 2012-05-31 20:33:14 +02:00
Pieter Wuille
587f929c64 Rework network config settings 2012-05-31 18:12:35 +02:00
Philip Kaufmann
407e20c11a sync english translation master file with current master branch 2012-05-31 11:11:04 +02:00
Pieter Wuille
10ed8178fc Update bitcoinstrings.cpp 2012-05-30 23:00:21 +02:00
R E Broadley
e69a797990 Show the timestamp for the block.
wrap lines
2012-05-29 20:11:37 +01:00
Gregory Maxwell
20cb17e1f9 Merge pull request #1392 from gavinandresen/testnet_reset
Testnet reset
2012-05-27 19:26:47 -07:00
Luke Dashjr
3cd01fdf0e CreateNewBlock: Check that the produced CBlock is acceptable (except for proof-of-work and merkletree, since those need to be provided later)
This throws an exception from CreateNewBlock otherwise, which is not safe without #1245!
2012-05-27 12:27:33 +00:00
Pieter Wuille
a52c7a1b65 Merge pull request #1357 from sipa/keyid
Refactor: split CKeyID/CScriptID/CTxDestination from CBitcoinAddress
2012-05-26 10:17:27 -07:00
Pieter Wuille
1e07068adf Merge pull request #1370 from Diapolo/add_startuptime_to_log
add client startup time as an entry to debug.log
2012-05-26 01:55:17 -07:00
Gavin Andresen
c87c8cd163 Add a testnet checkpoint at block 546 2012-05-25 14:36:40 -04:00
Gavin Andresen
248bceb30c Fix issue#1082, testnet difficulty unsigned integer underflow 2012-05-25 14:36:40 -04:00
Gavin Andresen
feeb761ba0 Testnet, Mark III 2012-05-25 14:36:40 -04:00
Gavin Andresen
4e6e3293ff Remove newlines from JSON strings
Newlines in JSON strings are against the JSON spec,
so remove them from the script*.json unit tests to
make python's jsonrpc happy (json::spirit didn't care).
2012-05-25 13:58:44 -04:00
Gavin Andresen
787f5e9949 Unit tests for transaction size limits 2012-05-25 11:37:34 -04:00
sje397
8fdb7e108f Added 'immature balance' for miners. Only displayed if the balance is greater than zero.
This adds a field labelled 'Immature' in the overview section under the 'unconfirmed' field, which shows mined
income that has not yet matured (which is currently not displayed anywhere, even though the transactions
exist in the transaction list). To do that I added a 'GetImmatureBalance' method to the wallet, and connected
that through to the GUI as per the 'GetBalance' and 'GetUnconfirmedBalance' methods. I did a small 'no-op'
change to make the code in adjacent functions a little more readable (imo); it was a change I had made in my
repo earlier...but I thought it wouldn't hurt so left it in. Immature balance comes from mined income that is
at least two blocks deep in the chain (same logic as displayed transactions).

My reasoning is:
- as a miner, it's a critical stat I want to see
- as a miner, and taking into account the label 'immature', the uncertainty is pretty clearly implied
- those numbers are already displayed in the transaction list
- this makes the overview numbers add up to what's in the transaction list
- it's not displayed if the immature balance is 0, so won't bother non-miners

I also 'cleaned' the overview UI a little, moving code to the XML and removing HTML.
2012-05-25 23:15:27 +10:00
Giel van Schijndel
fbf9df2ea3 Use the QueueShutdown signal to stop accepting new RPC connections
Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-05-25 07:27:25 +02:00
Giel van Schijndel
7cc2ceae09 Allow all addresses on the loopback subnet (127.0.0.0/8) not just 127.0.0.1
Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-05-25 07:27:24 +02:00
Giel van Schijndel
a0780ba08a Generalise RPC connection handling code to allow more listening sockets
Using this modification it should be relatively easy to, at a later
time, listen on multiple addresses (even Unix domain sockets should be
possible).

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-05-25 07:27:24 +02:00
Giel van Schijndel
43b6dafa6e Allow clients on the IPv6 loopback as well
Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-05-25 07:27:24 +02:00
Giel van Schijndel
c1ecab818c Add dual IPv4/IPv6 stack support to the RPC server
The RPC server now listens for, and handles, incoming connections on
both IPv4 as well as IPv6.

If available (and usable) it uses a dual IPv4/IPv6 socket on systems
that support it (e.g. Linux and BSDs) and falls back to separate
IPv4/IPv6 sockets on systems that don't (e.g. Windows).

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-05-25 07:27:24 +02:00
Giel van Schijndel
914dc01222 Use asynchronous I/O to handle RPC requests
This allows more flexibility in the RPC code, e.g. making it easier to
handle multiple simultaneous connections later on.

Currently asynchronous I/O is only used to listen for and accept
incoming connections.  Asynchronous reading/writing is more involved.

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-05-25 07:27:24 +02:00
Gavin Andresen
6b8a17119e Lots more Script unit test cases. 2012-05-24 17:32:09 -04:00
Pieter Wuille
1025440184 Refactor: split CKeyID/CScriptID/CTxDestination from CBitcoinAddress
This introduces internal types:
* CKeyID: reference (hash160) of a key
* CScriptID: reference (hash160) of a script
* CTxDestination: a boost::variant of the former two

CBitcoinAddress is retrofitted to be a Base58 encoding of a
CTxDestination. This allows all internal code to only use the
internal types, and only have RPC and GUI depend on the base58 code.

Furthermore, the header dependencies are a lot saner now. base58.h is
at the top (right below rpc and gui) instead of at the bottom. For the
rest: wallet -> script -> keystore -> key. Only keystore still requires
a forward declaration of CScript. Solving that would require splitting
script into two layers.
2012-05-24 20:26:19 +02:00
Pieter Wuille
fd61d6f506 Encapsulate public keys in CPubKey 2012-05-24 19:58:12 +02:00
Gavin Andresen
f04017f702 More CScript unit tests. 2012-05-24 13:29:08 -04:00
Jeff Garzik
b92095f18c DoS_tests: fix signed/unsigned comparison warnings
test/DoS_tests.cpp: In member function ‘void DoS_tests::DoS_mapOrphans::test_method()’:
test/DoS_tests.cpp:200:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
test/DoS_tests.cpp:208:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
test/DoS_tests.cpp: In member function ‘void DoS_tests::DoS_checkSig::test_method()’:
test/DoS_tests.cpp:260:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
test/DoS_tests.cpp:267:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
test/DoS_tests.cpp:280:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
test/DoS_tests.cpp:307:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
2012-05-24 12:18:50 -04:00
Jeff Garzik
2ae4ad004a Merge pull request #1387 from Diapolo/rem_unused_rpcdump
remove dead "using namespace boost::asio;" from rpcdump.cpp
2012-05-24 09:14:59 -07:00
Jeff Garzik
ec9c902133 Merge pull request #1383 from jgarzik/rawtx
JSON-RPC: Add 'sendrawtx' op, for sending pre-built TX's to network
2012-05-24 09:14:04 -07:00
Philip Kaufmann
bd09334d1a remove dead "using namespace boost::asio;" from rpcdump.cpp 2012-05-24 18:13:03 +02:00
Jeff Garzik
8e154e4d74 Merge branch 'merge2' into merge 2012-05-24 11:57:51 -04:00
Jeff Garzik
480d44bd0b rpcdump: include cleanup. move JSONRPCError def to bitcoinrpc.h. 2012-05-23 23:20:07 -04:00
Jeff Garzik
429039d45d Refactor: move runCommand() to util.cpp 2012-05-23 23:10:59 -04:00
Jeff Garzik
976c08b68a JSON-RPC: Add 'sendrawtx' op, for sending pre-built TX's to network 2012-05-23 16:21:25 -04:00
Philip Kaufmann
41c6b8abc6 add client startup time as an entry to debug.log (note: logged time in debug.log differs by a few seconds from the one displayed in the Debug window) / make ClientModel::formatClientStartupTime() return a QString 2012-05-23 18:44:28 +02:00
Jeff Garzik
9ac282ca0c Refactor: add IsChainFile helper. LoadBlockIndex() code movement. 2012-05-23 00:17:07 -04:00
Gregory Maxwell
7a99821377 Merge pull request #1342 from rebroad/LastSeenMinusMinus
Should not be T minus, as this indicate duration to future event.
2012-05-22 20:33:35 -07:00
Luke Dashjr
f9189543bf CDBEnv: fix qt build 2012-05-22 20:47:42 -04:00
Pieter Wuille
f29f242758 Merge pull request #1380 from gavinandresen/optimize2
Move signature cache from CKey::Verify to CheckSig in script.cpp
2012-05-22 15:13:36 -07:00
Jeff Garzik
0134a1c08c Merge branch 'dbenv' into tmp
Conflicts:
	src/db.cpp
2012-05-22 17:45:00 -04:00
Jeff Garzik
5d0f7c4f47 Merge pull request #1381 from jgarzik/check-deser
Prevent crashes due to missing or corrupted database records
2012-05-22 14:39:49 -07:00
Pieter Wuille
fa638ec8af Merge pull request #1369 from sipa/bootorder
Reorder AppInit2
2012-05-22 13:54:46 -07:00
Jeff Garzik
78eb2789b2 ProcessMessage(): remove duplicate orphan tx debug message 2012-05-22 15:33:04 -04:00
Jeff Garzik
8fe791e4e2 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.
2012-05-22 15:23:17 -04:00
Jeff Garzik
f94b64c2f3 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.
2012-05-22 15:12:52 -04:00
Gavin Andresen
acf513cfe7 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.
2012-05-22 14:15:11 -04:00
Wladimir J. van der Laan
d1edab602a Merge pull request #1379 from laanwj/2012_05_macoshide
Remove duplicate behavior on MacOSX
2012-05-22 10:33:03 -07:00
Wladimir J. van der Laan
b06f9c1364 Remove duplicate behavior on MacOSX
Dock icon on macosx already has show/hide functionality. This results in erratic behavior.
2012-05-22 18:28:10 +02:00
Gavin Andresen
43d16f0361 Merge branch 'master' of github.com:bitcoin/bitcoin 2012-05-22 11:14:30 -04:00
Gavin Andresen
d0e4051cd8 Merge branch 'optimize' 2012-05-22 11:13:00 -04:00
Gregory Maxwell
09cec19e2f Merge pull request #1378 from rebroad/ProcessMessagesDebugCorrect
Correct debug.log output to show correct function the debug is coming from.
2012-05-22 08:06:05 -07:00
R E Broadley
ea591ead85 Correct debug.log output to show correct function the debug is coming from. 2012-05-22 12:06:08 +01:00
Jeff Garzik
7b671f52e0 Define BOOST_SPIRIT_THREADSAFE in all makefiles
rather than at each include site.

Fixes #1371
2012-05-21 22:25:54 -04:00
Pieter Wuille
63407fd6e2 Merge pull request #917 from mndrix/reopen-log-file
Reopen log file on SIGHUP
2012-05-21 10:04:26 -07:00
Wladimir J. van der Laan
bc5053d93e Merge pull request #1329 from laanwj/2012_05_addrremovewhitespace
Filter out whitespace and zero-width non-breaking spaces in address field validator
2012-05-21 09:54:24 -07:00
Wladimir J. van der Laan
ce7896070c Remove autocorrection of 0/i in addresses in UI 2012-05-21 18:52:56 +02:00
Wladimir J. van der Laan
25047eb3e9 Filter out whitespace and zero-width non-breaking spaces in validator
- Fixes issues with copy/pasting from web or html emails (#1325)
2012-05-21 18:52:15 +02:00
Pieter Wuille
7d80d2e3d7 Reorder AppInit2
This reorders AppInit2 into 10 sections:
1)  basic setup (OS stuff, signal handlers)
2)  parameter interactions (softset)
3)  interpreting options without side effects (just setting internal variables)
4)  application initialization (datadir lock, daemonize, pidfile, log file)
5)  network initialization (network params, proxy, binding)
6)  load blockchain
7)  load wallet
8)  import blocks (-loadblock=)
9)  load peers
10) start node/rpc threads
11) finished

This means invalid configurations will be detected as soon as possible
(in particular, before loading the block chain).
2012-05-21 18:43:22 +02:00
Wladimir J. van der Laan
3b9473afa2 Merge pull request #1365 from Diapolo/askpassphrasedialog
GUI: start rows in askpassphrasedialog.ui at 0 (not 1)
2012-05-21 09:41:51 -07:00
Jeff Garzik
9c137aaccf BDB: restore DB_PRIVATE flag to environment
Satoshi's commits fdbf76d and c8ad9b8 (SVN import) removed the
DB_PRIVATE flag from the environment.  In part, this enables processes
other than bitcoind to examine the active database environment.

However, this incurs a slight performance penalty versus working
entirely within application memory (DB_PRIVATE).  Because bitcointools
and other direct-BDB-accessing tools are not used by the vast
majority of users, prefer to default with DB_PRIVATE with the option
of disabling it if needed via -privdb=0.
2012-05-21 12:38:45 -04:00
Pieter Wuille
46784d0826 Merge pull request #1354 from fanquake/master
Update Header Licenses
2012-05-20 12:27:50 -07:00
Pieter Wuille
6e86c4700b Merge pull request #1363 from Diapolo/remove_strncasecmp
remove strncasecmp() + strnicmp() calls use boost::algorithm::istarts_with()
2012-05-20 12:26:43 -07:00
Philip Kaufmann
4dfbc78a88 start rows in askpassphrasedialog.ui at 0 (not 1) 2012-05-20 15:55:39 +02:00
Wladimir J. van der Laan
239c11d0dd Make testcases build, prevent windows symbol collision 2012-05-20 10:44:50 +02:00
Wladimir J. van der Laan
0832c0d166 Process address book updates incrementally
- No longer invalidates selection model, thus retains selection on address book changes
- Fixes selection of new address when added
2012-05-20 10:44:50 +02:00
Wladimir J. van der Laan
ab1b288fa7 Convert UI interface to boost::signals2.
- Signals now go directly from the core to WalletModel/ClientModel.
  - WalletModel subscribes to signals on CWallet: Prepares for multi-wallet support, by no longer assuming an implicit global wallet.
- Gets rid of noui.cpp, the few lines that were left are merged into init.cpp
- Rename wxXXX message flags to MF_XXX, to make them UI indifferent.
- ThreadSafeMessageBox no longer returns the value `4` which was never used, converted to void.
2012-05-20 10:44:50 +02:00
Wladimir J. van der Laan
fe4a655042 Fine-grained UI updates
Gets rid of `MainFrameRepaint` in favor of specific update functions that tell the UI exactly what changed.

This improves the efficiency of various handlers. Also fixes problems with mined transactions not showing up until restart.

The following notifications were added:

- `NotifyBlocksChanged`: Block chain changed
- `NotifyKeyStoreStatusChanged`: Wallet status (encrypted, locked) changed.
- `NotifyAddressBookChanged`: Address book entry changed.
- `NotifyTransactionChanged`: Wallet transaction added, removed or updated.
- `NotifyNumConnectionsChanged`: Number of connections changed.
- `NotifyAlertChanged`: New, updated or cancelled alert. As this finally makes it possible for the UI to know when a new alert arrived, it can be shown as OS notification.

These notifications could also be useful for RPC clients. However, currently, they are ignored in bitcoind (in noui.cpp).

Also brings back polling with timer for numBlocks in ClientModel. This value updates so frequently during initial download that the number of signals clogs the UI thread and causes heavy CPU usage. And after initial block download, the value changes so rarely that a delay of half a second until the UI updates is unnoticable.
2012-05-20 10:41:54 +02:00
Wladimir J. van der Laan
563f3efda3 Merge pull request #1323 from Diapolo/string_fixes
translation updates / string updates
2012-05-20 01:34:06 -07:00
Wladimir J. van der Laan
6f3b919ae1 Merge pull request #1353 from Diapolo/RPC_OpenDebugLog_Icon
GUI: add an icon for Debug logfile -> Open in the RPC console
2012-05-20 01:32:18 -07:00
Wladimir J. van der Laan
01ecb074a7 Merge pull request #1302 from laanwj/2012_05_utilstrings
Get rid of snprintf (except one) with fixed buffers, shorten code
2012-05-20 01:30:18 -07:00
Jeff Garzik
ffe8b77a61 Further CDBEnv encapsulation work. 2012-05-19 20:46:52 -04:00
Jeff Garzik
94e34fa0ad CDB::CDB: properly initialize activeTxn to NULL 2012-05-19 20:45:39 -04:00
Jeff Garzik
8b1202c52c Remove unused nested BDB transaction support 2012-05-19 20:45:39 -04:00
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
7563424f32 Merge pull request #1334 from rebroad/Exiting2Exited
Corrected grammar. As per Principle Of Least Surprise.
2012-05-17 11:29:09 -07: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
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
Jeff Garzik
d17ac27a72 Merge pull request #1316 from jgarzik/dead-code
Remove dead code: CTxDB::EraseBlockIndex(), CBlockIndex::EraseBlockFromDisk()
2012-05-17 08:47:54 -07:00
Philip Kaufmann
8b4d653663 allow translation of "options" used in the --help message / split translation of RPC console welcome message and remove the need to take care of "<br>" / remove some spaces in strings and misc other stuff related to translations 2012-05-17 15:49:00 +02:00
Jeff Garzik
928d3a011c CAddrDB: Replace BDB-managed addr.dat with internally managed peers.dat 2012-05-16 22:11:19 -04:00
Jeff Garzik
768e5d52fb Add new utility functions FileCommit(), RenameOver() 2012-05-16 19:25:25 -04:00
Wladimir J. van der Laan
49232d1abf Merge pull request #1319 from Diapolo/add_new_languages
add 4 new translations bg, el_GR, fr and pt_PT (based on transifex fetch from today)
2012-05-16 15:48:48 -07:00
Wladimir J. van der Laan
adc704563c Add missing Q_OBJECT in bitcoin.cpp
Fixes translating HelpMessageBox strings.
2012-05-16 18:52:14 +02:00
Wladimir J. van der Laan
d44ac73925 Merge pull request #1321 from laanwj/2012_05_updatemaintrans
Update bitcoinstrings.cpp and bitcoin_en.ts
2012-05-15 22:27:33 -07:00
Wladimir J. van der Laan
746ea6bd86 Update bitcoinstrings.cpp and bitcoin_en.ts 2012-05-16 07:24:56 +02:00
Philip Kaufmann
cd8c905dfe add 4 new translations bg, el_GR, fr and pt_PT (based on transifex fetch from today) 2012-05-15 23:44:49 +02:00
Jeff Garzik
a7d45c5a7a Remove dead code: CTxDB::EraseBlockIndex(), CBlockIndex::EraseBlockFromDisk() 2012-05-15 13:36:25 -04:00
Pieter Wuille
385f730f31 Hopefully final fix for the stuck blockchain issue
Immediately issue a "getblocks", instead of a "getdata" (which will
trigger the relevant "inv" to be sent anyway), and only do so when
the previous set of invs led us into a known and attached part of
the block tree.
2012-05-15 17:53:46 +02:00
Philip Kaufmann
34aa3112c8 adapt user-experience from messagepage / move placeholderTexts from XML to source to avoid a problem with Qt < 4.7 / add eventFilter for address field to select text when clicking in / add Clear All button / rework strings 2012-05-15 08:04:51 +02:00
Wladimir J. van der Laan
2643ce97ae Merge pull request #1307 from Diapolo/fix_OpenLogFile
GUI fix: DebugLog file opens twice after clicking "Open" in RPC Console Information tab
2012-05-14 22:18:20 -07:00
Gregory Maxwell
20f19893cb Merge pull request #1262 from Diapolo/no_double_timestamps
no more double timestamps in debug.log
2012-05-14 18:59:28 -07:00
Philip Kaufmann
8892579f8b fix DebugLog file opens twice after clicking "Open" in RPC Console Information tab 2012-05-14 22:26:15 +02:00
Ricardo M. Correia
5849bd472a Fix signed subtraction overflow in CBigNum::setint64().
As noticed by sipa (Pieter Wuille), this can happen when CBigNum::setint64() is
called with an integer value of INT64_MIN (-2^63).

When compiled with -ftrapv, the program would crash. Otherwise, it would
execute an undefined operation (although in practice, usually the correct one).
2012-05-14 21:26:02 +02:00
Ricardo M. Correia
62e0453ce0 Add test case for CBigNum::setint64().
One of the test cases currently aborts when using gcc's flag -ftrapv, due to
negating an INT64_MIN int64 variable, which is an undefined operation.

This will be fixed in a subsequent commit.
2012-05-14 21:26:01 +02:00
Wladimir J. van der Laan
bb361cc644 Merge pull request #906 from sje397/ValidateMessage
Add a menu option and dialog to verify a signed message
2012-05-14 11:11:16 -07:00
Wladimir J. van der Laan
7dc04f4091 Merge pull request #1301 from laanwj/2012_05_rpcscrolltoend
RPC console: scroll to the end when user enters a command
2012-05-14 11:05:04 -07:00
Wladimir J. van der Laan
29b79e4c0e Get rid of snprintf (except one) with fixed buffers, shorten code
- Use strprintf or vstrprintf instead of snprintf
2012-05-14 20:01:26 +02:00
Wladimir J. van der Laan
5a060b8dc8 RPC console: scroll to the end when user enters a command
- Ensures that the command and reply is visible
2012-05-14 18:17:12 +02:00
Pieter Wuille
91dace35a1 Do not listen on blocked networks 2012-05-14 17:52:51 +02:00
Pieter Wuille
55bb0cfbb6 Allow binding to the any address, and report failure 2012-05-14 17:52:50 +02:00
Pieter Wuille
0f1707de67 -onlynet instead of -blocknet 2012-05-14 17:52:45 +02:00
Philip Kaufmann
966ae00fe4 make CheckDiskSpace() use a global static const uint64 for checking required disk space and remove 2 ugly spaces from a message string 2012-05-14 14:02:36 +02:00
Jeff Garzik
0fb78eae34 Always check return values of TxnBegin() and TxnCommit() 2012-05-14 01:11:11 -04:00
Ricardo M. Correia
fe78c9ae8b Don't overflow signed ints in CBigNum::setint64().
CBigNum::setint64() does 'n <<= 8', where n is of type "long long".

This leads to shifting onto and past the sign bit, which is undefined
behavior in C++11 and can cause problems in the future.
2012-05-14 02:53:27 +02:00
Pieter Wuille
ca81464697 Use getnameinfo() to get canonical IPv6 addresses 2012-05-14 01:41:15 +02:00
Pieter Wuille
09b4e26a44 Really do not consider blocked networks local 2012-05-13 23:50:55 +02:00
Wladimir J. van der Laan
524843af01 Merge pull request #1283 from laanwj/2012_05_prevent_tooltip_infiniteloop
Prevent tooltip filter from ever causing infinite loops
2012-05-13 13:04:20 -07:00
Ricardo M. Correia
4843b55fd1 Make CNetAddr::GetHash() return an unsigned val.
This prevents an undefined operation in main.cpp, when shifting the hash value
left by 32 bits.
Shifting a signed int left into the sign bit is undefined in C++11.
2012-05-13 21:42:54 +02:00
Wladimir J. van der Laan
a3957d089a Merge pull request #1288 from Diapolo/sendcoinsdialog_strings
update some strings used as warning messages in sendcoinsdialog.cpp
2012-05-13 12:42:32 -07:00
Wladimir J. van der Laan
5b36c0336f Merge pull request #1284 from laanwj/2012_05_helpmessage
Move help message out of AppInit2
2012-05-13 12:39:35 -07:00
Jeff Garzik
28d257da11 Merge pull request #1287 from sipa/noirc6
Only encode IPv4 addresses in IRC nicks
2012-05-13 11:48:27 -07:00
Philip Kaufmann
51ce20d5da update some strings used as warning messages in sendcoinsdialog.cpp 2012-05-13 20:20:38 +02:00
Wladimir J. van der Laan
9f5b11e6fd Move help message out of AppInit2
- Solves #1278, attempts to address #1049
- Removes \t's from help message that are removed afterwards anyway
- Moves UI-specific command-line options help to UI code
- Moves "-detachdb" out of #ifdef USE_UPNP
2012-05-13 18:41:19 +02:00
Pieter Wuille
1653f97c8f Do not consider blocked networks local 2012-05-13 15:11:51 +02:00
Pieter Wuille
8f737d28a6 Only encode IPv4 addresses in IRC nicks 2012-05-13 15:07:31 +02:00
Pieter Wuille
9fc0a15cd4 Merge pull request #1285 from sipa/initerror
Improve error reporting at startup
2012-05-13 06:01:21 -07:00
Philip Kaufmann
0985816bf6 ensure that no double timestamps show up in the debug.log, by removing manual timestamps from the source (now only -logtimestamps parameter adds timestamps to debug.log) 2012-05-13 14:36:35 +02:00
Pieter Wuille
af4006b3f5 Enforce -nodiscover better 2012-05-13 14:22:15 +02:00
Pieter Wuille
ac7c7ab99a Improve error reporting at startup 2012-05-13 12:35:39 +02:00
Wladimir J. van der Laan
67d4cbab46 Move GetStartOnSystemStartup and SetStartOnSystemStartup to GUI code 2012-05-13 12:31:28 +02:00
Wladimir J. van der Laan
82f66082b9 Merge pull request #1270 from laanwj/2012_05_overviewpage2
When a transaction is clicked on overview page, focus it on history page
2012-05-13 02:53:25 -07:00
Wladimir J. van der Laan
3986a05c62 Merge pull request #1274 from Diapolo/QR_Code
rename "QR-Code Dialog" to "QR Code Dialog" in qrcodedialog.ui as this spelling is used all over the code
2012-05-13 00:45:20 -07:00
Wladimir J. van der Laan
6da3b29e37 Merge pull request #1275 from Diapolo/askpassphrasedialog
remove string "TextLabel" from warningLabel, as this is unneeded and as ...
2012-05-13 00:40:26 -07:00
Wladimir J. van der Laan
99fdc1d829 Prevent tooltip filter from ever causing infinite loops 2012-05-13 09:27:45 +02:00
Wladimir J. van der Laan
df1a110d2e Merge pull request #1268 from Diapolo/transactiondialog
change size of transactiondialog, to allow display of transaction-id wit...
2012-05-13 00:16:54 -07:00
Jeff Garzik
80af836ce0 Merge pull request #1277 from Diapolo/IPv6_IPv4_strings
use "IPv6" and "IPv4" in strings as these are the official spellings
2012-05-12 18:59:31 -07:00
Gregory Maxwell
6f7d45a323 Merge pull request #1272 from sipa/ipv6fixes
A few IPv6 fixes
2012-05-12 18:55:36 -07:00
Pieter Wuille
22db3f2c77 Fix warning about uninitialized value
Only reported when using -flto.
2012-05-13 01:36:46 +02:00
Pieter Wuille
5a3cb32e59 Take -port into account when resolving -bind's 2012-05-13 01:26:14 +02:00
Philip Kaufmann
ea933b03b4 use "IPv6" and "IPv4" in strings as these are the official spellings and make ParseNetwork() in netbase.cpp case-insensitive 2012-05-13 01:12:24 +02:00
Pieter Wuille
139d2f7c29 Keep local service information per address
Keep local service information per CNetAddr instead of per CService,
but move the port into the information kept on it.
2012-05-13 01:03:05 +02:00
Pieter Wuille
89b5616d10 Do not signal outbound semaphore if uninitialized 2012-05-13 00:49:12 +02:00
Pieter Wuille
45dcf63a62 Only check for port# after : in ConnectSocketByName 2012-05-13 00:49:12 +02:00
Pieter Wuille
a6cd0b08f6 Partially revert f621326: xCXXFLAGS 2012-05-13 00:41:46 +02:00
Gregory Maxwell
85a2229264 Merge pull request #1269 from laanwj/2012_05_consoleimprovements
UI console improvements
2012-05-12 15:33:57 -07:00
Philip Kaufmann
5e19030aa1 remove string "TextLabel" from warningLabel, as this is unneeded and as such is a silly translation less to do :) 2012-05-13 00:16:50 +02:00
Philip Kaufmann
4dca553e66 set minimum size allowed by Qt Creator and rename "QR-Code Dialog" to "QR Code Dialog" as this spelling is used all over the code 2012-05-13 00:03:58 +02:00
Wladimir J. van der Laan
ae744c8b78 RPC console: don't crash on invalid input exception 2012-05-12 18:39:26 +02:00
Wladimir J. van der Laan
c6aa86afc2 Convert RPC console to QTextEdit instead of QTableView
* This allows copy/pasting whole or partial messages
* Handle output more consistently in console
    * No more scrollbars-in-scrollbars: by setting per-pixel scrolling on the table, cells can have any height
* Decorations for "request" and "reply" are changed to the txin and txout icons instead of colored squares
2012-05-12 18:39:26 +02:00
Pieter Wuille
839c4e7966 Fix initialization of inaddr_any 2012-05-12 17:20:43 +02:00
Jeff Garzik
d960a335f8 Merge pull request #1266 from Diapolo/tab_to_space
convert 4 tabs into 4 x 4 spaces in bitcoinrpc.cpp
2012-05-12 08:02:57 -07:00
Wladimir J. van der Laan
3ef1f41550 When a transaction is clicked on overview page, focus it on history page 2012-05-12 15:32:22 +02:00
Wladimir J. van der Laan
97ec4e50b1 Merge pull request #1263 from Diapolo/RPCCon_ClientStartupTime
GUI: add the client startup time to the debug window...
2012-05-12 03:44:22 -07:00
Philip Kaufmann
55f19cb809 change size of transactiondialog, to allow display of transaction-id without an ugly line-break 2012-05-12 11:12:37 +02:00
Philip Kaufmann
a24ea3dab7 add Alt-Shortcut for "Clear All" in sendcoinsdialog.ui 2012-05-12 11:11:00 +02:00
Philip Kaufmann
bc05562730 convert 4 tabs into 4 x 4 spaces in bitcoinrpc.cpp 2012-05-12 11:06:30 +02:00
Wladimir J. van der Laan
661834d02b Merge pull request #1261 from laanwj/2012_05_escapecsv
Properly escape strings when exporting CSV
2012-05-11 23:30:04 -07:00
Gregory Maxwell
9dfa3c3e04 Merge pull request #1264 from fanquake/master
Correct Date
2012-05-11 20:40:57 -07:00
Fordy
46667ba3e4 Correct Date 2012-05-12 11:36:37 +08:00
Fordy
8bb9660baa Correct Date 2012-05-12 11:32:03 +08:00
Pieter Wuille
a3878873f3 Merge pull request #1021 from sipa/ipv6
IPv6 node support
2012-05-11 18:23:56 -07:00
Gregory Maxwell
c05271901a Merge pull request #1260 from sipa/splitsync
Split synchronization mechanisms from util.{h,cpp}
2012-05-11 18:05:49 -07:00
Philip Kaufmann
d2f7778cc7 add the client startup time to the debug window / rename Version label to Client, which is better suiting now / add IBeamCursor for selectable text on the information page / make ">" sign on RPC page untranslatable / re-order XML-file tags to match real GUI element order 2012-05-12 00:28:58 +02:00
Wladimir J. van der Laan
875f71d4ef Properly escape " in strings when exporting CSV 2012-05-11 20:17:09 +02:00
Jeff Garzik
b34c5f3c0f Merge pull request #1101 from jgarzik/http11
Multithreaded JSON-RPC with HTTP 1.1 Keep-Alive support
2012-05-11 09:57:08 -07:00
Pieter Wuille
7f3ccb59da Split synchronization mechanisms from util.{h,cpp} 2012-05-11 18:13:51 +02:00
Gregory Maxwell
eb793429f1 Merge pull request #1255 from sipa/fixversion
Fix version numbers of archive builds
2012-05-11 08:29:47 -07:00
Pieter Wuille
5456ef3092 Use polling instead of boost's broken semaphore on OSX 2012-05-11 17:02:11 +02:00
Pieter Wuille
c59abe2589 Use semaphores instead of condition variables 2012-05-11 17:02:11 +02:00
Jeff Garzik
271f9faf9e Merge pull request #1254 from jgarzik/mempool-logging
CTxMemPool: consolidate two frequently-printed debug.log lines into one
2012-05-11 07:53:08 -07:00
sje397
0c587936c7 Add a menu option to verify a signed message
(Also move 'setAttribute(Qt::WA_DeleteOnClose)' out of QRCodeDialog)
2012-05-12 00:13:13 +10:00
Wladimir J. van der Laan
2692ed3f01 Merge pull request #1258 from Diapolo/RPCCon_never_0_Blocks
GUI RPC Console: if there is no current block number available display N/A on totalBlocks label,...
2012-05-11 06:40:04 -07:00
Wladimir J. van der Laan
23f59e7023 Merge pull request #1259 from Diapolo/GUI_testnet_UX
GUI: allow easier use of the testnet icon
2012-05-11 06:35:50 -07:00
Philip Kaufmann
37244c2f7f add calls to qApp->setWindowIcon(), to remove the need to set window icons for testnet with additional calls 2012-05-11 15:31:44 +02:00
Pieter Wuille
8f10a28890 Separate listening sockets, -bind=<addr> 2012-05-11 15:29:20 +02:00
Pieter Wuille
7fa4443f77 Keep port information for local addresses 2012-05-11 15:29:19 +02:00
Pieter Wuille
457754d2c2 Add -blocknet to prevent connections to a given network 2012-05-11 15:29:19 +02:00
Pieter Wuille
c5b3ffd8d5 Use NET_ identifiers in CNetAddr::GetGroup() 2012-05-11 15:29:19 +02:00
Pieter Wuille
623b987813 Add -noproxy to circumvent proxy for some network 2012-05-11 15:29:19 +02:00
Pieter Wuille
090e5b40f1 Limited relaying/storing of foreign addresses
Introduce a boolean variable for each "network" (ipv4, ipv6, tor, i2p),
and track whether we are likely to able to connect to it. Addresses in
"addr" messages outside of our network get limited relaying and are not
stored in addrman.
2012-05-11 15:29:19 +02:00
Pieter Wuille
d32148567f Preliminary support for Tor/I2P hidden services
There are plans to let Bitcoin function as Tor/I2P hidden service.
To do so, we could use the established encoding provided by OnionCat
and GarliCat (without actually using those tools) to embed Tor/I2P
addresses in IPv6.

This patch makes these addresses considered routable, so they can
travel over the Bitcoin network in 'addr' messages. This will hopefully
make it easier to deploy real hidden service support later.
2012-05-11 15:29:19 +02:00
Pieter Wuille
23aa78c405 IPv6 node support
This will make bitcoin relay valid routable IPv6 addresses, and when
USE_IPV6 is enabled, listen on IPv6 interfaces and attempt connections
to IPv6 addresses.
2012-05-11 15:29:19 +02:00
Wladimir J. van der Laan
97521b5257 Add missing #include for GetDataDir 2012-05-11 13:18:25 +02:00
Philip Kaufmann
66331f2b51 if there is no current block number available display N/A on totalBlocks label, instead of 0, which can not ever be true 2012-05-11 12:29:31 +02:00
Pieter Wuille
1f5a7cef6f Fix version numbers of archive builds 2012-05-11 11:44:53 +02:00
Wladimir J. van der Laan
a8fef7f569 Merge pull request #1251 from Diapolo/transactionview_comments
add 2 comments to transactionview.cpp to ensure no one moves setPlacehol...
2012-05-11 02:43:42 -07:00
Philip Kaufmann
58b01afc50 guiutil.cpp/.h: fix a -Wreorder compiler warning and make constructor for ToolTipToRichTextFilter explicit 2012-05-11 11:32:04 +02:00
Philip Kaufmann
4d3dda5d9f add code to open (display) debug.log on Windows with the associated application and add a button to the Information page in the Debug console 2012-05-11 11:10:34 +02:00
Wladimir J. van der Laan
b66737e6df Merge pull request #1204 from Diapolo/messagepage_focus_placeholder
GUI messagepage: add placeholder text to address field (like in sendcoins dialog)...
2012-05-10 23:55:34 -07:00
Wladimir J. van der Laan
b8a5e30d91 Merge pull request #1090 from laanwj/2012_04_wraptooltips
Allow Qt to wrap long tooltips (fixes #1063)
2012-05-10 23:54:53 -07:00
Wladimir J. van der Laan
f93727aa56 Merge pull request #1206 from Diapolo/passphrasedialog
small passphrasedialog update
2012-05-10 23:53:24 -07:00
Wladimir J. van der Laan
c485a0636e Merge pull request #1238 from Diapolo/tray
tray-icon - extend available options with Debug window
2012-05-10 23:52:21 -07:00
Jeff Garzik
33a53bc13b CTxMemPool::accept(): do not log FetchInputs failure redundantly
FetchInputs already logs failures internally.  This commit makes the logging
more consistent with other FetchInputs callsites also.

Prior to this commit, two log lines were logged for one condition:

     ERROR: FetchInputs() : de15fde415 mempool Tx prev not found a2c75da227
     ERROR: CTxMemPool::accept() : FetchInputs failed de15fde415

After this commit, only one line is logged:

     ERROR: FetchInputs() : e0507ab2c7 mempool Tx prev not found 9a620262cd
2012-05-10 20:31:46 -04:00
Jeff Garzik
133dce6a37 CTxMemPool: consolidate two frequently-printed debug.log lines into one
Previously, a single TX would trigger two log lines in quick succession,

        addUnchecked(): size 152
        CTxMemPool::accept() : accepted c4cfdd48b7

After this change, only one log line is used:

        CTxMemPool::accept() : accepted 98885e65db (poolsz 26)
2012-05-10 20:20:31 -04:00
Philip Kaufmann
81c45c0a94 optionsdialog.cpp: rename "Start Bitcoin on window system startup" to "Start Bitcoin on system login" and move it to Main / hide "Window" Options on Mac as there are currently none available / remove an unused variable / add Alt-Shortcuts where they were missing / allow translation of "default" 2012-05-10 18:00:00 +02:00
Philip Kaufmann
840470ec79 add placeholder text to address field (like in sendcoins) and set focus to address field on opening messagepage or "Clear All" / consolidate gotoMessagePage() to 1 function / rename windowTitle to "Sign Message Dialog" 2012-05-10 15:50:24 +02:00
Philip Kaufmann
5d21ffe16b add 2 comments to transactionview.cpp to ensure no one moves setPlaceholderText to the XML file (after this all parts in the code that use setPlaceholderText have this comment 2012-05-10 15:42:26 +02:00
Wladimir J. van der Laan
037a8daee6 Merge pull request #1239 from Diapolo/testnet_GUI
GUI changes while on testnet
2012-05-09 22:42:58 -07:00
Wladimir J. van der Laan
a2de039ec4 Merge pull request #1199 from laanwj/2012_05_signmessage_autoselect
signmessage: auto-select signature when field is focused/clicked
2012-05-09 22:41:53 -07:00
Luke Dashjr
5d53f48acb Bugfix: getmemorypool: NULL pindexPrev across CreateNewBlock, in case it fails 2012-05-09 18:12:01 +00:00
Gavin Andresen
e6fd96f054 Fix osx build 2012-05-09 13:56:53 -04:00
Luke Dashjr
5146599b01 Merge branch 'bugfix_CNBerr_daggy' into bugfix_CNBerr
Conflicts:
	rpc.cpp
2012-05-09 17:14:08 +00:00
Wladimir J. van der Laan
9245ff5705 Merge pull request #1212 from Diapolo/overviewpage
move many overviewpage settings from code to ui XML-file...
2012-05-09 09:38:32 -07:00
Gregory Maxwell
1eb2d8e0bf Merge pull request #1243 from laanwj/2012_05_uiconsole_focus
Automatically focus entry widget when console tab comes into focus
2012-05-09 08:34:00 -07:00
Wladimir J. van der Laan
0981b80c29 Merge pull request #1220 from laanwj/2012_05_organize_optionsdialog
Organize optionsdialog (split off Window and Network page) and add option to change language
2012-05-09 08:33:44 -07:00
Wladimir J. van der Laan
bfbfb53ed4 Add key shortcuts for RPC console tabs
- Alt-I for Information, Alt-C for Console
2012-05-09 17:32:17 +02:00
Wladimir J. van der Laan
b84172434d Automatically focus entry widget when console tab comes into focus
Fixes #1241
2012-05-09 17:15:09 +02:00
Jeff Garzik
9d9aae0396 Merge pull request #1237 from gmaxwell/master
Kill warning from unavoidable signed/unsigned comparison in bitcoinrpc.cpp.
2012-05-09 07:59:13 -07:00
Jeff Garzik
11b729d8a2 Merge pull request #1134 from Diapolo/util-updates
small util.cpp/h changes
2012-05-09 07:54:25 -07:00
Jeff Garzik
d54e6e8359 Merge pull request #1225 from Diapolo/net_cpp_if_clause
fix an incorrect if-clause in net.cpp
2012-05-09 07:50:27 -07:00
Philip Kaufmann
2abbe5fc88 Show testnet icon for tray-menu option Show/Hide / set tooltip for tray icon to match non-testnet text (just [testnet] added) / remove obsolete title_testnet variable' 2012-05-09 15:12:31 +02:00
Philip Kaufmann
1ad3b7d5c0 add Debug window to tray-menu / switch sendCoinsAction and receiveCoinsAction in tray to match button ordering in the client window 2012-05-09 14:38:06 +02:00
Gregory Maxwell
d285c7bf2c Kill warning from unavoidable signed/unsigned comparison in bitcoinrpc.cpp. 2012-05-09 07:17:30 -04:00
Gregory Maxwell
2e767410b8 Merge pull request #1230 from sipa/warnings
Clean up warnings
2012-05-09 04:07:24 -07:00
Wladimir J. van der Laan
c164396ddc Merge pull request #1235 from Diapolo/translation_en
update bitcoin_en.ts (translation master file) to match current master branch as of 2012-05-09
2012-05-09 04:06:47 -07:00
Gregory Maxwell
92dca80975 Merge pull request #1232 from TheBlueMatt/lockcontention
Fix DEBUG_LOCKCONTENTION
2012-05-09 03:55:02 -07:00
Philip Kaufmann
11353b0c57 update bitcoin_en.ts (translation master file) to match current master branch as of 2012-05-09 2012-05-09 12:38:51 +02:00
Philip Kaufmann
3e468840bd util.h/.ccp: modifiy some comments / rename MyGetSpecialFolderPath() -> GetSpecialFolderPath(), set fCreate default to true and remove the fallback (not Win >= Vista compatible anyway) / remove namespace fs stuff where only used once / misc small changes' 2012-05-09 12:22:58 +02:00
Philip Kaufmann
3b6ed2294b fix an incorrect if-clause in net.cpp 2012-05-09 09:11:13 +02:00
Philip Kaufmann
50a3855082 harmonize the use of ellipsis ("...") to be used in menus, but not on buttons / update some strings to be more informative 2012-05-09 09:06:51 +02:00
Wladimir J. van der Laan
9e11cb53dd Merge pull request #1215 from laanwj/2012_05_nogridtables
Make user actions more straightforward in address book
2012-05-08 23:34:10 -07:00
Wladimir J. van der Laan
5ac114c756 Make it possible to set user interface language from options dialog 2012-05-09 07:45:47 +02:00
Wladimir J. van der Laan
6ddf861078 Organize optionsdialog (split off Window and Network page) 2012-05-09 07:45:47 +02:00
Matt Corallo
2ea78ec7fd Fix DEBUG_LOCKCONTENTION 2012-05-09 01:41:07 -04:00
Philip Kaufmann
09570add5f remove 2 ugly spaces from a string used in translations 2012-05-09 06:51:25 +02:00
Pieter Wuille
f621326c24 Clean up warnings
* Use -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameters
* Remove xCXXFLAGS usage in makefile.unix
* Fix several recent and older sign-compare warnings
2012-05-09 03:48:30 +02:00
Jeff Garzik
781fc2c8c0 Revert part of 1302257e: don't update CXXFLAGS, only xCXXFLAGS 2012-05-08 21:18:35 -04:00
Jeff Garzik
1302257e5d makefile.unix: add -Wall to default CXXFLAGS
Additionally, remove -Wno-sign-compare from alt CXXFLAGS, as
that is no longer a problem.
2012-05-08 21:02:28 -04:00
David Joel Schwartz
96c5269511 RPC: Support HTTP/1.0 and HTTP/1.1, including the proper use of keep-alives 2012-05-08 20:25:39 -04:00
David Joel Schwartz
e9205293bd Support multi-threaded JSON-RPC
Change internal HTTP JSON-RPC server from single-threaded to
thread-per-connection model.  The IP filter list is applied prior to starting
the thread, which then processes the RPC.

A mutex covers the entire RPC operation, because not all RPC operations are
thread-safe.

[minor modifications by jgarzik, to make change upstream-ready]
2012-05-08 20:11:17 -04:00
Jeff Garzik
203f9e6c00 Merge branch 'tmp-ipv6' into merge-ipv6 2012-05-08 19:43:17 -04:00
Gregory Maxwell
82ab06b849 Merge pull request #886 from luke-jr/getblock_full
More details for getblock and gettransaction
2012-05-08 15:31:52 -07:00
Philip Kaufmann
2387a7a969 remove 2 obsolete functions from init.h that moved to util.h 2012-05-08 23:22:36 +02:00
Luke Dashjr
7e63dc3615 Support for decomposing scripts as "obj" 2012-05-08 21:04:57 +00:00
Luke Dashjr
74335bd32a Second parameter to JSON-RPC getblock/gettransaction: decompositions
This is an Object specifying how to decompose specific elements.
Currently supported:
- "tx": "no", "hash", "hex", "obj"
- "script": "no", "hex", "asm"
2012-05-08 21:04:52 +00:00
Luke Dashjr
d4e09300f3 Add block "confirmations" to getblock, mainly for identifying orphans 2012-05-08 21:04:47 +00:00
Jeff Garzik
a2ea797593 Merge pull request #1180 from jgarzik/sign-compare
Fix final sign comparison warnings
2012-05-08 13:50:27 -07:00
Gregory Maxwell
2f1dca645b Merge pull request #841 from sipa/getalltransactions
gettransaction RPC for non-wallet transactions
2012-05-08 13:19:11 -07:00
Gregory Maxwell
f1ae31d8af Merge pull request #883 from sipa/loadblock
Add -loadblock to load from an external blk000?.dat file
2012-05-08 12:37:27 -07:00
Gregory Maxwell
fa8cc47c4f Merge pull request #1075 from laanwj/2012_04_consoleui
Add UI RPC console / debug window
2012-05-08 12:26:49 -07:00
Gregory Maxwell
a5f95d75a1 Increase client version to 0.6.99 2012-05-08 15:22:02 -04:00
Wladimir J. van der Laan
1f7e0e51aa Merge pull request #1219 from luke-jr/rm_fee_tip
Bitcoin-Qt: Remove redundant tooltip on optional transaction fee. Fixes #1218
2012-05-07 12:36:26 -07:00
Luke Dashjr
1ef3a48c03 Bitcoin-Qt: Remove redundant tooltip on optional transaction fee. Fixes #1218 2012-05-07 19:22:09 +00:00
Wladimir J. van der Laan
356c3cad1a Make user action more straightforward in address book
- Add all actions that can be triggered with buttons to the context menu
- Hide delete action from context menu for receiving tab
2012-05-07 11:30:23 +02:00
Gregory Maxwell
f49d4f0e93 Merge pull request #1196 from sipa/fix_948
Prevent stuck download: correct solution
2012-05-06 16:58:31 -07:00
Wladimir J. van der Laan
7d5bb42946 Move back setPlaceholderText to code, from xml, as this broke building with Qt 4.6 2012-05-07 00:19:22 +02:00
Wladimir J. van der Laan
46692fc929 Merge pull request #1189 from Diapolo/fix#952
fix for #952 (send coins tab glitch)
2012-05-06 14:49:08 -07:00
Pieter Wuille
6860133373 Prevent stuck download: correct solution
Pull request #948 introduced a fix for nodes stuck on a long side branch
of the main chain. The fix was non-functional however, as the additional
getdata request was created in a first step of processing, but dropped
in a second step as it was considered redundant. This commits fixes it
by sending the request directly.
2012-05-06 23:37:45 +02:00
Philip Kaufmann
52d4975825 passphrasedialog: change dialog title to "Passphrase Dialog" / remove style-sheet for bold font and use Qt Designer option / remove an unused label default-text and remove an obsolete clear()' 2012-05-06 22:11:26 +02:00
Philip Kaufmann
4295311da3 move many overviewpage settings from code to ui XML-file / removed ability to translate "0 BTC" and "123.456 BTC" as this is only used as preview in the Qt Designer anyway / set mouse cursor to IBeam for selectable labels 2012-05-06 16:57:12 +02:00
Wladimir J. van der Laan
0e69fc6e84 Merge pull request #1209 from laanwj/2012_05_hideonshutdown
Hide UI immediately after leaving the main loop
2012-05-05 23:30:55 -07:00
Wladimir J. van der Laan
46f552a9fe Hide UI immediately after leaving the main loop.
Prevents it from seeming to hang during shutdown if shutdown is triggered while the window is open.
2012-05-06 08:28:20 +02:00
Gregory Maxwell
4fdc8a62d0 Merge pull request #1207 from sipa/fix_addrman
Fix addrman crashes
2012-05-05 22:23:57 -07:00
Gregory Maxwell
5b8def797c Merge pull request #1160 from retep/master
Minor error message fix
2012-05-05 12:34:46 -07:00
Pieter Wuille
bd1aabe941 Bugfix: store source address in addrman 2012-05-05 21:33:29 +02:00
Pieter Wuille
56f1e91239 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
2012-05-05 21:33:26 +02:00
Pieter Wuille
29a86a1735 Add extra asserts to addrman 2012-05-05 21:32:41 +02:00
Luke Dashjr
82e6b92b0a Bugfix: %-12I64d is not valid and causes the parameter to be skipped, use %12"PRI64d" instead 2012-05-05 14:24:55 -04:00
Wladimir J. van der Laan
46c08874aa Merge pull request #1201 from Diapolo/about-dialog
changed cursor for selectable text on the about dialog to IBeamCursor...
2012-05-05 04:22:04 -07:00
Philip Kaufmann
7b74bd4928 changed cursor for selectable text on the about dialog to IBeamCursor and removed an unused tag 2012-05-05 12:55:51 +02:00
Wladimir J. van der Laan
dd62ca1b29 Merge pull request #1202 from Diapolo/messagepage
change text on message.ui from "Copy to Clipboard" to "Copy Signature"...
2012-05-05 03:31:11 -07:00
Philip Kaufmann
d7d7d81a6a change text on message.ui from "Copy to Clipboard" to "Copy Signature" and
add an Alt-Shortcut to "Clear &All"
2012-05-05 12:03:02 +02:00
Wladimir J. van der Laan
6ad47ddf40 Merge pull request #1203 from Diapolo/qrcodedialog
renamed qrcodedialog.ui window title to "QR-Code Dialog"...
2012-05-05 02:59:44 -07:00
Philip Kaufmann
092522af6c renamed qrcodedialog.ui window title to "QR-Code Dialog" and changed window size to the minimum values Qt Creator allows me to set 2012-05-05 11:43:54 +02:00
Wladimir J. van der Laan
e400258bf0 simplified qrcode icon that scales gracefully to 16x16 2012-05-05 11:27:38 +02:00
Wladimir J. van der Laan
460c51fdad Add UI RPC console / debug window 2012-05-05 10:37:06 +02:00
Wladimir J. van der Laan
3793fa09ff Allow Qt to wrap long tooltips (fixes #1063)
Implemented without having to touch any translation: by listening for QEvent::ToolTipChange events, then rewriting the tooltips to prefix `<qt/>` if it is not yet rich text.
2012-05-05 10:20:52 +02:00
Wladimir J. van der Laan
c8a3917089 signmessage: auto-select signature when field is focused/clicked 2012-05-05 09:56:55 +02:00
Wladimir J. van der Laan
4c9183e8bb Merge pull request #1166 from Diapolo/signmessage_clear
add a clear all button to the sign message page (addresses #943)
2012-05-05 00:43:27 -07:00
Wladimir J. van der Laan
6672400206 Merge pull request #1175 from Diapolo/translators
small translation-file handling / loading changes and re-work comments to be clearer
2012-05-05 00:11:37 -07:00
Wladimir J. van der Laan
1f6f261ace Merge pull request #1187 from TheBlueMatt/win32_ie
Update to require IE 5.1 as it is required to build on mingw64.
2012-05-05 00:02:10 -07:00
Wladimir J. van der Laan
393a0edc51 Merge pull request #1194 from Diapolo/sendcoins_placeholdertext
move label placeholdertext from sendcoinsentry.cpp to ui-file
2012-05-05 00:01:35 -07:00
Wladimir J. van der Laan
3118d11d88 Merge pull request #1032 from Diapolo/fix#945
Remove HTML font crap from "Wallet" message (fix for #945)
2012-05-04 23:58:46 -07:00
Philip Kaufmann
d0ccf0c755 move label placeholdertext from sendcoinsentry.cpp to ui-file 2012-05-04 18:19:06 +02:00
Gavin Andresen
397737b913 Bump version numbers for 0.6.1rc2 2012-05-04 10:22:26 -04:00
Pieter Wuille
19b6958cfd Added -externalip and -discover
-externalip=<ip> can be used to explicitly set the public IP address
of your node. -discover=0 can be used to disable the automatic public
IP discovery system.
2012-05-04 16:12:23 +02:00