aboutsummaryrefslogtreecommitdiff
path: root/src/net.cpp
AgeCommit message (Collapse)Author
2012-08-01Bugfix: Fix a variety of misspellingsLuke Dashjr
2012-08-01Merge pull request #1343 from rebroad/MisbehavingDeltaJeff Garzik
Show when node is misbehaving, not just at the point that it gets banned...
2012-07-20do not use external IPv4 discovery, when -onlynet="IPv6"Philip Kaufmann
2012-07-17fix a comment in net.cppPhilip Kaufmann
2012-07-17Fix thread names after reviewGiel van Schijndel
* Fix wrong thread name for wallet *relocking* thread - Was named the unlocking thread * Use consistent naming Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-07-17Give threads a recognisable name to aid in debuggingGiel van Schijndel
NOTE: These thread names are visible in gdb when using 'info threads'. Additionally both 'top' and 'ps' show these names *unless* told to display the command-line instead of task name. Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-07-11Reorder dnsseed list, Jeff's seed list is static so put it last.Gregory Maxwell
Because new nodes pull from the first connected node the load balancing of the first connection is more important than it should be. This change puts Pieter's seed first, because its probably the best maintained right now.
2012-07-03Merge pull request #1546 from gmaxwell/allowsamenetinboundJeff Garzik
Do not consider inbound peers for outbound network group exclusion.
2012-07-02Show when node is misbehaving, not just at the point that it gets banned.R E Broadley
2012-07-01Do not consider inbound peers for outbound network group exclusion.Gregory Maxwell
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-01Remove useless high-volume printf (fixes #1544).Matt Corallo
2012-06-29RPC: add 'getpeerinfo', returning easy-to-retrieve per-CNode dataJeff Garzik
2012-06-27Stop processing messages on full send buffer and dont disconnect.Matt Corallo
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-23Debug version messagesPieter Wuille
2012-06-23Add -tor and related configurationPieter Wuille
2012-06-12introduce a new StartShutdown() function, which starts a thread with ↵Philip Kaufmann
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-05-31Rework network config settingsPieter Wuille
2012-05-22Merge pull request #1342 from rebroad/LastSeenMinusMinusGregory Maxwell
Should not be T minus, as this indicate duration to future event.
2012-05-20Merge pull request #1354 from fanquake/masterPieter Wuille
Update Header Licenses
2012-05-20Convert UI interface to boost::signals2.Wladimir J. van der Laan
- 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-20Fine-grained UI updatesWladimir J. van der Laan
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-20Merge pull request #1323 from Diapolo/string_fixesWladimir J. van der Laan
translation updates / string updates
2012-05-18Update License in File HeadersFordy
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-17Was showing a negative number. Changes to positive, since negative (T minus) ↵R E Broadley
usually indicates a future event.
2012-05-17Merge pull request #1334 from rebroad/Exiting2ExitedJeff Garzik
Corrected grammar. As per Principle Of Least Surprise.
2012-05-17Corrected grammar. As per Principle Of Least Surprise.R E Broadley
2012-05-17allow translation of "options" used in the --help message / split ↵Philip Kaufmann
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-16CAddrDB: Replace BDB-managed addr.dat with internally managed peers.datJeff Garzik
2012-05-14Merge pull request #1262 from Diapolo/no_double_timestampsGregory Maxwell
no more double timestamps in debug.log
2012-05-14-onlynet instead of -blocknetPieter Wuille
2012-05-13Really do not consider blocked networks localPieter Wuille
2012-05-13Do not consider blocked networks localPieter Wuille
2012-05-13ensure that no double timestamps show up in the debug.log, by removing ↵Philip Kaufmann
manual timestamps from the source (now only -logtimestamps parameter adds timestamps to debug.log)
2012-05-13Enforce -nodiscover betterPieter Wuille
2012-05-12Merge pull request #1277 from Diapolo/IPv6_IPv4_stringsJeff Garzik
use "IPv6" and "IPv4" in strings as these are the official spellings
2012-05-13Take -port into account when resolving -bind'sPieter Wuille
2012-05-13use "IPv6" and "IPv4" in strings as these are the official spellings and ↵Philip Kaufmann
make ParseNetwork() in netbase.cpp case-insensitive
2012-05-13Keep local service information per addressPieter Wuille
Keep local service information per CNetAddr instead of per CService, but move the port into the information kept on it.
2012-05-13Do not signal outbound semaphore if uninitializedPieter Wuille
2012-05-11Merge pull request #1021 from sipa/ipv6Pieter Wuille
IPv6 node support
2012-05-11Merge pull request #1260 from sipa/splitsyncGregory Maxwell
Split synchronization mechanisms from util.{h,cpp}
2012-05-11Merge pull request #1101 from jgarzik/http11Jeff Garzik
Multithreaded JSON-RPC with HTTP 1.1 Keep-Alive support
2012-05-11Use semaphores instead of condition variablesPieter Wuille
2012-05-11Separate listening sockets, -bind=<addr>Pieter Wuille
2012-05-11Keep port information for local addressesPieter Wuille
2012-05-11Add -blocknet to prevent connections to a given networkPieter Wuille
2012-05-11Limited relaying/storing of foreign addressesPieter Wuille
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-11IPv6 node supportPieter Wuille
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-09fix an incorrect if-clause in net.cppPhilip Kaufmann
2012-05-08Support multi-threaded JSON-RPCDavid Joel Schwartz
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]