Commit graph

1664 commits

Author SHA1 Message Date
Gregory Maxwell
19521acfa4 Do not consider inbound peers for outbound network group exclusion.
Bitcoin will not make an outbound connection to a network group
(/16 for IPv4) that it is already connected to. This means that
if an attacker wants good odds of capturing all a nodes outbound
connections he must have hosts on a a large number of distinct
groups.

Previously both inbound and outbound connections were used to
feed this exclusion. The use of inbound connections, which can be
controlled by the attacker, actually has the potential of making
sibyl attacks _easier_: An attacker can start up hosts in groups
which house many honest nodes and make outbound connections to
the victim to exclude big swaths of honest nodes. Because the
attacker chooses to make the outbound connection he can always
beat out honest nodes for the consumption of inbound slots.

At _best_ the old behavior increases attacker costs by a single
group (e.g. one distinct group to use to fill up all your inbound
slots), but at worst it allows the attacker to select whole
networks you won't connect to.

This commit makes the nodes use only outbound links to exclude
network groups for outbound connections. Fancier things could
be done, like weaker exclusion for inbound groups... but
simplicity is good and I don't believe more complexity is
currently needed.
2012-07-01 20:42:47 -04:00
Jeff Garzik
18e8e43715 RPC getpeerinfo: s/height/startingheight/ for returned nStartingHeight value 2012-06-30 23:40:26 -04:00
Matt Corallo
6d6c2afb2b Change default send buffer to 1Mb. 2012-07-01 04:17:26 +02:00
Matt Corallo
3c3cb60a90 Remove useless high-volume printf (fixes #1544). 2012-07-01 04:13:00 +02:00
Jeff Garzik
eca96d7118 Merge pull request #1540 from fanquake/master
Fix a Couple Typos
2012-06-30 07:25:32 -07:00
fanquake
7790f391ab Fix a couple more typos 2012-06-30 17:05:28 +08:00
cardpuncher
eb9a21afed Fix a typo in TransactionDesc 2012-06-30 11:31:09 +03:00
Gavin Andresen
3a906d45dc Merge pull request #1531 from jgarzik/peerinfo
RPC: add 'getpeerinfo', returning easy-to-retrieve per-CNode data
2012-06-29 17:34:02 -07:00
Jeff Garzik
ac8d2b1df7 Merge pull request #1537 from Diapolo/fix_awesome_typo
fix an awesome typo in OptionsDialog ^^
2012-06-29 16:18:45 -07:00
Philip Kaufmann
0f5d4c6e88 fix a typo in OptionsDialog 2012-06-30 01:16:22 +02:00
Jeff Garzik
1006f0707e RPC: add 'getpeerinfo', returning easy-to-retrieve per-CNode data 2012-06-29 17:24:53 -04:00
fanquake
e749405297 Fix a few typos 2012-06-29 17:26:45 +08:00
Jeff Garzik
70ab73a008 Create new rpcnet module, and move 'getconnectioncount' RPC to it 2012-06-28 23:18:38 -04:00
Gavin Andresen
5fa83965f2 Merge branch 'patch-5' of https://github.com/xanatos/bitcoin 2012-06-28 15:25:48 -04:00
Gavin Andresen
1b71f82e38 Merge branch 'patch-3' of https://github.com/xanatos/bitcoin 2012-06-28 15:24:35 -04:00
Matt Corallo
460d878613 Fix build error. 2012-06-28 19:31:22 +02:00
Matt Corallo
4e97a9d9eb Lock vnThreadsRunning[THREAD_RPCHANDLER]. 2012-06-28 18:34:11 +02:00
Matt Corallo
7cf3d2ccb9 Use a rpc-specific queue to tell asio connections to shutdown. 2012-06-28 18:32:32 +02:00
Matt Corallo
18c4beb05b Revert "*Always* send a shutdown signal to enable custom shutdown actions"
This reverts commit 896899e0d6.
2012-06-28 15:52:45 +02:00
Jeff Garzik
e75acc006e Merge pull request #1511 from jgarzik/quieten2
Quieten 'getdata' P2P message output
2012-06-27 09:06:59 -07:00
Pieter Wuille
abbb9a829c Merge pull request #1347 from rebroad/FixAlreadyAskedFor
mapAlreadyAskedFor gets additions when AlreadyHave()
2012-06-27 08:06:57 -07:00
Pieter Wuille
6c88568fef Merge pull request #973 from TheBlueMatt/diffsendbuffer
Stop processing messages on full send buffer and dont disconnect.
2012-06-27 07:49:28 -07:00
Pieter Wuille
4a52c187d3 Merge pull request #457 from muggenhor/async-ipv6-rpc
IPv6 RPC using asynchronously accepted connections
2012-06-27 07:48:38 -07:00
Matt Corallo
9d6cd04b3b Stop processing messages on full send buffer and dont disconnect.
Also decrease default send/receive buffer sizes from 10 to 5 mb
as this patch makes it easy for a node to fill both instead of
only send.
2012-06-27 15:31:34 +02:00
Philip Kaufmann
2943f60811 GUI: change language selection format
- display as "language - country (locale name)", when locale name consists of 2 parts
- display as "language (locale name)", when locale name consists of 1 part
2012-06-26 16:14:25 +02:00
Wladimir J. van der Laan
2849d0661d Merge pull request #1501 from fanquake/master
QT to Qt
2012-06-25 06:49:59 -07:00
Gavin Andresen
1282c8653e Checkpoint at block 185333 (and remove a couple of intermediate checkpoints) 2012-06-25 09:26:14 -04:00
Michael Ford
160eb23b0e Add Bitcoin dev Copyright 2012-06-25 12:28:29 +08:00
Michael Ford
e4ebe82ee2 Update comments 2012-06-25 12:26:52 +08:00
Philip Kaufmann
a8c20ea946 fix a comment to correctly use -upgradewallet 2012-06-24 18:08:27 +02:00
Jeff Garzik
d887f54494 Document -debugnet option in command line help.
Fixes #1507
2012-06-24 10:38:02 -04:00
Giel van Schijndel
5b14622110 On Windows link with mswsock, it being required (indirectly) by RPC code
Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-06-24 15:12:26 +02:00
Giel van Schijndel
ad25804feb Cancel outstanding listen ops for RPC when shutting down
Use Boost's signal2 slot tracking mechanism to cancel any (still open)
listening sockets when receiving a shutdown signal.

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-06-24 15:12:15 +02:00
Giel van Schijndel
415a87ef36 Merge branch 'master' into async-ipv6-rpc 2012-06-24 12:34:15 +02:00
Gregory Maxwell
817ee0d826 Merge pull request #1174 from sipa/torhs
Tor hidden service support
2012-06-23 19:21:13 -07:00
Gregory Maxwell
0ae2ac5431 Merge pull request #1503 from gmaxwell/testnet_tweaks
Remove some rule differences which aren't needed with testnet3.
2012-06-23 19:02:55 -07:00
Jeff Garzik
983e4bdef0 Quieten 'getdata' P2P message output
Output one message per getdata, not one message per 'inv' entry.
2012-06-23 21:38:33 -04:00
xanatos
3948eb0c54 Changed a comment about a QVariant type 2012-06-23 17:29:34 +03:00
Pieter Wuille
863e995b79 Debug version messages 2012-06-23 01:11:38 +02:00
Pieter Wuille
54ce3bad64 Add -tor and related configuration 2012-06-23 01:11:38 +02:00
Pieter Wuille
d077dd2a6e Rewrite CNetAddr::GetReachabilityFrom()
Add support for Tor/I2P networks, and make code more readable.
2012-06-23 01:11:38 +02:00
Pieter Wuille
70f7f00385 Node support for Tor hidden services
This commit adds support for .onion addresses (mapped into the IPv6
by using OnionCat's range and encoding), and the ability to connect
to them via a SOCKS5 proxy.
2012-06-23 01:11:32 +02:00
Jeff Garzik
d62a1947be Merge pull request #1458 from jgarzik/tracenet
Introduce -tracenet option, thereby quieting some redundant debug messages
2012-06-22 10:13:31 -07:00
Jeff Garzik
d07eaba195 Introduce -debugnet option, thereby quieting some redundant debug messages
Prior to this change, each TX typically generated 3+ debug messages,

	askfor tx 8644cc97480ba1537214   0
	sending getdata: tx 8644cc97480ba1537214
	askfor tx 8644cc97480ba1537214   1339640761000000
	askfor tx 8644cc97480ba1537214   1339640881000000
	CTxMemPool::accept() : accepted 8644cc9748 (poolsz 6857)

After this change, there is only one message for each valid TX received

	CTxMemPool::accept() : accepted 22a73c5d8c (poolsz 42)

and two messages for each orphan tx received

	ERROR: FetchInputs() : 673dc195aa mempool Tx prev not found 1e439346fc
	stored orphan tx 673dc195aa (mapsz 19)

The -debugnet option, or its superset -debug, will restore the full debug
output.
2012-06-22 13:11:57 -04:00
Jeff Garzik
cb1fcde2f4 Merge pull request #1502 from jgarzik/getrawmempool
RPC: add 'getrawmempool', listing all transaction ids in memory pool
2012-06-22 09:59:19 -07:00
Gregory Maxwell
e6332751c6 Remove some rule differences which aren't needed with testnet3.
Bip16 and Bip30 had early activation dates for testnet, but
with the reset they might as well use the same dates as
the main network.
2012-06-22 11:50:52 -04:00
Jeff Garzik
25d5c19522 RPC: add 'getrawmempool', listing all transaction ids in memory pool 2012-06-22 11:43:34 -04:00
Gregory Maxwell
a3869547e5 Merge pull request #1495 from Diapolo/fix_CKey_mem_leak
fix a memory leak in key.cpp
2012-06-22 08:38:48 -07:00
Pieter Wuille
e0be8da392 Unit tests for base32 encode/decode 2012-06-22 17:19:28 +02:00
Pieter Wuille
c4c99ade65 Base32 encoding/decoding 2012-06-22 17:19:28 +02:00
xanatos
d89f06c1ae Small fix to rpc_tests 2012-06-22 10:02:43 +03:00
xanatos
fdfdb5cd7d = instead of == in multisig_tests.cpp 2012-06-21 21:37:49 +03:00
Philip Kaufmann
a3d12f445a fix a memory leak in key.cpp
- add EC_KEY_free() in CKey::Reset() when pkey != NULL
- init pkey with NULL in CKey constructor
2012-06-21 14:43:13 +02:00
Pieter Wuille
70f6049f71 Remove CTxDB::ReadOwnerTxes.
It seems it wasn't ever used since 0.1.5.
2012-06-20 15:07:48 +02:00
Philip Kaufmann
229c34f818 GUI: ensure a changed bitcoin unit immediately updates the tx list amounts 2012-06-20 06:51:38 +02:00
Gavin Andresen
c283b3c569 print large orphan warning BEFORE deleting pvMsg 2012-06-19 17:14:29 -04:00
xanatos
16d5671943 If (for example) the new max_size must be 5 then at the end the queue.size() must be <= 5, so the exit condition must be <=, so the continuing condition must be > (and not >= as it was). 2012-06-19 09:48:00 +03:00
Pieter Wuille
4c6b210af0 Fix netbase tests
* Do not rely on "a.b.c" being interpreted as "a.0.b.c"
* Parse numeric addresses for address families for which no device is configured
2012-06-19 02:22:09 +02:00
Luke Dashjr
0f5a2a82d9 CBigNum: Convert negative int64 values in a more well-defined way
Since the minimum signed integer cannot be represented as positive so long as its type is signed, and it's not well-defined what happens if you make it unsigned before negating it, we instead increment the negative integer by 1, convert it, then increment the (now positive) unsigned integer by 1 to compensate
2012-06-18 20:37:57 +00:00
Gavin Andresen
c5532e188e Merge pull request #1399 from sipa/ipparse
Improve parsing of IPv6 addresses
2012-06-18 11:39:16 -07:00
Gavin Andresen
550c73f4c8 Merge branch 'signbugs' of https://github.com/wizeman/bitcoin
Resolved minor conflict in main.cpp
2012-06-18 10:48:40 -04:00
Pieter Wuille
432d28d3bb Merge pull request #1477 from gmaxwell/master
Fix inverted logic for !Discover/!UPNP when !Listen.
2012-06-17 17:07:08 -07:00
Giel van Schijndel
896899e0d6 *Always* send a shutdown signal to enable custom shutdown actions
NOTE: This is required to be sure that we can properly shut down the RPC
      thread.

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-06-17 21:50:49 +02:00
Wladimir J. van der Laan
a54d2118be Merge pull request #1434 from Diapolo/GUI_fix_displayunit
GUI: init with correct display unit and update it, when user changes it via options dialog
2012-06-17 12:29:26 -07:00
Wladimir J. van der Laan
8ce04527f9 Merge pull request #1451 from Diapolo/sendcoins
GUI: set cursor for balance field to IBeamCursor (to show the user it IS selectable)
2012-06-17 12:26:20 -07:00
Wladimir J. van der Laan
6062de265a Merge pull request #1461 from laanwj/2012_06_helpmessage
Show command line options as dialog when opened from debug window
2012-06-17 12:24:35 -07:00
Gregory Maxwell
3bbb49de55 Fix inverted logic for !Discover/!UPNP when !Listen. 2012-06-17 12:13:34 -04:00
Philip Kaufmann
e0873dafc5 add the slot updateDisplayUnit() to overviewpage, sendcoinsdialog, sendcoinsentry and connect it to displayUnitChanged() - this ensures all fields in the GUI, who use a display unit are imediately updated, when the user changes this setting in the optionsdialog / ensure used fields init with the current set display unit 2012-06-17 15:20:42 +02:00
Giel van Schijndel
07368a9e3c Merge branch 'master' into async-ipv6-rpc
Conflicts:
	src/bitcoinrpc.cpp

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-06-17 14:30:37 +02:00
Matt Corallo
ad5f29b743 Revert "Disable bitcoin: URI handling on Windows for the 0.6 release"
This reverts commit 7b90edb5a6.
2012-06-15 17:19:13 +02:00
Matt Corallo
1d42878adb Fix #956 the Boost 1.49 way. 2012-06-15 17:19:09 +02:00
Matt Corallo
39471861d5 Upgrade to Boost 1.49 on Win32 2012-06-15 17:15:37 +02:00
Pieter Wuille
c971112dfa Use a 64-bit nonce in ping
Former code sent '0' as nonce, which was serialized as 32-bit.
2012-06-14 18:31:08 +02:00
Pieter Wuille
c4971e24f9 Add netbase tests 2012-06-14 17:43:10 +02:00
Pieter Wuille
1e8aeae15a Improve parsing of IPv6 addresses
Implement the following rules:
* Interpret [X]:Y as host=X port=Y, if Y is an integer
* Interpret X:Y as host=X port=Y, if Y is an integer and X contains no colon
* Interpret X:Y as host=X:Y port=default otherwise
2012-06-14 17:37:15 +02:00
Wladimir J. van der Laan
7d72a8c36a Show command line options as dialog when opened from debug window
On Linux/Mac the command-line options were printed to stderr when the button
was pressed in the debug window, resulting in confusion. This is fixed
in this commit by adding a separate method.
2012-06-14 15:14:01 +02:00
Wladimir J. van der Laan
d59bce21e5 Merge pull request #1459 from laanwj/2012_06_trayiconmenu
Reorganize tray icon menu into more logical order
2012-06-14 05:52:33 -07:00
Wladimir J. van der Laan
641cfb1456 Fix build of testcases after commit 0f10b21719 2012-06-14 09:41:11 +02:00
Wladimir J. van der Laan
64d46e7c6a Merge pull request #1002 from Diapolo/URL-handling_2
URI-handling code update: added safety checks and notifications
2012-06-13 23:17:06 -07:00
Wladimir J. van der Laan
0f10b21719 Merge pull request #1439 from Diapolo/ClientShutdown
re-work Shutdown() function
2012-06-13 23:12:22 -07:00
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