aboutsummaryrefslogtreecommitdiff
path: root/src/net.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* | do not use external IPv4 discovery, when -onlynet="IPv6"Philip Kaufmann2012-07-201-1/+3
| |
* | fix a comment in net.cppPhilip Kaufmann2012-07-171-1/+1
| |
* | Fix thread names after reviewGiel van Schijndel2012-07-171-3/+3
| | | | | | | | | | | | | | | | * Fix wrong thread name for wallet *relocking* thread - Was named the unlocking thread * Use consistent naming Signed-off-by: Giel van Schijndel <[email protected]>
* | Give threads a recognisable name to aid in debuggingGiel van Schijndel2012-07-171-0/+34
| | | | | | | | | | | | | | | | 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 <[email protected]>
* | Reorder dnsseed list, Jeff's seed list is static so put it last.Gregory Maxwell2012-07-111-2/+2
| | | | | | | | | | | | | | 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.
* | Merge pull request #1546 from gmaxwell/allowsamenetinboundJeff Garzik2012-07-031-3/+4
|\ \ | | | | | | Do not consider inbound peers for outbound network group exclusion.
| * | Do not consider inbound peers for outbound network group exclusion.Gregory Maxwell2012-07-011-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Remove useless high-volume printf (fixes #1544).Matt Corallo2012-07-011-2/+0
|/ /
* / RPC: add 'getpeerinfo', returning easy-to-retrieve per-CNode dataJeff Garzik2012-06-291-1/+17
|/
* Stop processing messages on full send buffer and dont disconnect.Matt Corallo2012-06-271-5/+2
| | | | | | 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.
* Debug version messagesPieter Wuille2012-06-231-0/+1
|
* Add -tor and related configurationPieter Wuille2012-06-231-3/+9
|
* introduce a new StartShutdown() function, which starts a thread with ↵Philip Kaufmann2012-06-121-1/+1
| | | | 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)
* Rework network config settingsPieter Wuille2012-05-311-35/+19
|
* Merge pull request #1342 from rebroad/LastSeenMinusMinusGregory Maxwell2012-05-221-1/+1
|\ | | | | Should not be T minus, as this indicate duration to future event.
| * Was showing a negative number. Changes to positive, since negative (T minus) ↵R E Broadley2012-05-171-1/+1
| | | | | | | | usually indicates a future event.
* | Merge pull request #1354 from fanquake/masterPieter Wuille2012-05-201-1/+1
|\ \ | | | | | | Update Header Licenses
| * | Update License in File HeadersFordy2012-05-181-1/+1
| |/ | | | | | | | | | | 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.
* | Convert UI interface to boost::signals2.Wladimir J. van der Laan2012-05-201-1/+1
| | | | | | | | | | | | | | | | - 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.
* | Fine-grained UI updatesWladimir J. van der Laan2012-05-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge pull request #1323 from Diapolo/string_fixesWladimir J. van der Laan2012-05-201-1/+1
|\ \ | |/ |/| translation updates / string updates
| * allow translation of "options" used in the --help message / split ↵Philip Kaufmann2012-05-171-1/+1
| | | | | | | | 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
* | Merge pull request #1334 from rebroad/Exiting2ExitedJeff Garzik2012-05-171-7/+7
|\ \ | | | | | | Corrected grammar. As per Principle Of Least Surprise.
| * | Corrected grammar. As per Principle Of Least Surprise.R E Broadley2012-05-171-7/+7
| |/
* / CAddrDB: Replace BDB-managed addr.dat with internally managed peers.datJeff Garzik2012-05-161-1/+6
|/
* Merge pull request #1262 from Diapolo/no_double_timestampsGregory Maxwell2012-05-141-2/+0
|\ | | | | no more double timestamps in debug.log
| * ensure that no double timestamps show up in the debug.log, by removing ↵Philip Kaufmann2012-05-131-2/+0
| | | | | | | | manual timestamps from the source (now only -logtimestamps parameter adds timestamps to debug.log)
* | -onlynet instead of -blocknetPieter Wuille2012-05-141-2/+9
| |
* | Really do not consider blocked networks localPieter Wuille2012-05-131-1/+1
| |
* | Do not consider blocked networks localPieter Wuille2012-05-131-0/+3
|/
* Enforce -nodiscover betterPieter Wuille2012-05-131-0/+3
|
* Merge pull request #1277 from Diapolo/IPv6_IPv4_stringsJeff Garzik2012-05-121-2/+2
|\ | | | | use "IPv6" and "IPv4" in strings as these are the official spellings
| * use "IPv6" and "IPv4" in strings as these are the official spellings and ↵Philip Kaufmann2012-05-131-2/+2
| | | | | | | | make ParseNetwork() in netbase.cpp case-insensitive
* | Take -port into account when resolving -bind'sPieter Wuille2012-05-131-4/+2
| |
* | Keep local service information per addressPieter Wuille2012-05-131-10/+19
| | | | | | | | | | Keep local service information per CNetAddr instead of per CService, but move the port into the information kept on it.
* | Do not signal outbound semaphore if uninitializedPieter Wuille2012-05-131-2/+3
|/
* Merge pull request #1021 from sipa/ipv6Pieter Wuille2012-05-111-47/+111
|\ | | | | IPv6 node support
| * Separate listening sockets, -bind=<addr>Pieter Wuille2012-05-111-37/+49
| |
| * Keep port information for local addressesPieter Wuille2012-05-111-10/+16
| |
| * Add -blocknet to prevent connections to a given networkPieter Wuille2012-05-111-4/+22
| |
| * Limited relaying/storing of foreign addressesPieter Wuille2012-05-111-2/+12
| | | | | | | | | | | | | | 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.
| * IPv6 node supportPieter Wuille2012-05-111-19/+37
| | | | | | | | | | | | 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.
* | Merge pull request #1260 from sipa/splitsyncGregory Maxwell2012-05-111-32/+34
|\ \ | | | | | | Split synchronization mechanisms from util.{h,cpp}
| * | Use semaphores instead of condition variablesPieter Wuille2012-05-111-32/+34
| |/
* | Merge pull request #1101 from jgarzik/http11Jeff Garzik2012-05-111-2/+3
|\ \ | |/ |/| Multithreaded JSON-RPC with HTTP 1.1 Keep-Alive support
| * Support multi-threaded JSON-RPCDavid Joel Schwartz2012-05-081-2/+3
| | | | | | | | | | | | | | | | | | | | | | 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]
* | fix an incorrect if-clause in net.cppPhilip Kaufmann2012-05-091-1/+1
|/
* Merge branch 'tmp-ipv6' into merge-ipv6Jeff Garzik2012-05-081-108/+238
|\
| * Added -externalip and -discoverPieter Wuille2012-05-041-22/+32
| | | | | | | | | | | | -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.
| * Support for multiple local addressesPieter Wuille2012-05-041-65/+124
| |