aboutsummaryrefslogtreecommitdiff
path: root/src/net.cpp
AgeCommit message (Collapse)Author
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]
2012-05-08Merge branch 'tmp-ipv6' into merge-ipv6Jeff Garzik
2012-05-08Merge pull request #1180 from jgarzik/sign-compareJeff Garzik
Fix final sign comparison warnings
2012-05-04Added -externalip and -discoverPieter Wuille
-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-04Support for multiple local addressesPieter Wuille
2012-05-04Add -seednode connections, and use this for -dnsseed + -proxydnsPieter Wuille
2012-05-04Support connecting by hostnames passed to proxy (-proxydns)Pieter Wuille
2012-05-01ThreadSocketHandler2(): cast to avoid signed/unsigned warningJeff Garzik
2012-05-01fix compiler warning "suggest explicit braces to avoid ambiguous "else"Philip Kaufmann
[-Wparentheses]" in net.cpp
2012-04-23Change signed->unsigned at 3 code sitesJeff Garzik
This resolves signed/unsigned comparison warnings.
2012-04-17Remove headers.hPieter Wuille
2012-04-15Fix loop index var types, fixing many minor sign comparison warningsJeff Garzik
foo.size() typically returns an unsigned integral type; make loop variables match those types' signedness.
2012-04-15The string class returns string::npos, when find() fails.Jeff Garzik
Noticed when sign-comparison warnings were enabled.
2012-04-15fix warnings: unused variable 'XX' [-Wunused-variable]Wladimir J. van der Laan
2012-04-09Use scoped locks instead of CRITICAL_BLOCKPieter Wuille
2012-04-06Merge pull request #1033 from sipa/waitPieter Wuille
Condition variables instead of polling
2012-04-04Remove half-implemented publish/subscribe systemGavin Andresen
2012-04-04Condition variable for outbound connection slotsPieter Wuille
Keep a global counter for nOutbound, protected with its own waitable critical section, and wait when all outbound slots are filled, rather than polling. This removes the (on average) 1 second delay between a lost connection and a new connection attempt, and may speed up shutdowns.
2012-03-25Give DNS seeds a random age between 3 and 7 days oldPieter Wuille
This speeds up initial connections with an old/large addr.dat a lot.
2012-03-22Merge branch 'addrman' of https://github.com/sipa/bitcoinGavin Andresen
2012-03-18When disconnecting a node, clear the received buffer so that we doAlistair Buxton
not process any already received messages. The primary reason to do this is if a node spams hundreds of messages and we ban them, we don't want to continue processing the rest of it.
2012-03-05fix typo src/net.cppnomnombtc
2012-02-26bitcoind changes to stop storing settings in wallet.dat.Gavin Andresen
2012-02-24CAddrMan: stochastic address managerPieter Wuille
Design goals: * Only keep a limited number of addresses around, so that addr.dat does not grow without bound. * Keep the address tables in-memory, and occasionally write the table to addr.dat. * Make sure no (localized) attacker can fill the entire table with his nodes/addresses. See comments in addrman.h for more detailed information.
2012-02-19Fix #626: RecvLine wrong error messagePieter Wuille
Also moved RecvLine to net.cpp.
2012-02-16Symbolic names for threadsPieter Wuille
Introduce an enum threadId, and use symbolic indices when accessing vnThreadsRunning.
2012-02-16Merge pull request #844 from sipa/shutdownfixPieter Wuille
Several shutdown-related fixes
2012-02-15Several shutdown-related fixesPieter Wuille
* do not let vnThreadsRunning[1] go negative * do not perform locking operations while vnThreadsRunning[1] is decreased * check vnThreadsRunning[1] at exit
2012-02-15Bugfix: do not create CAddress for invalid acceptsPieter Wuille
2012-02-10Get ext. IP from UPnP, make sure addrMe IsRoutable() in version.Matt Corallo
This fixes a potential bug where some NATs may replace the node's interal IP with its external IP in version messages, causing incorrect checksums when version messages begin being checksummed on February 14, 2012.
2012-02-07Update all copyrights to 2012Gavin Andresen
2012-02-07Look for flushwallet/listen/irc/dnsseed/upnp instead of noflushwallet/etc. ↵Gavin Andresen
And switch default for irc to 0.
2012-02-01Avoid advertising the node's address when it is not listening or ↵Gregory Maxwell
IsInitialBlockDownload(). This also avoids flushing setAddrKnown until 24 hours has passed, and avoids contacting the external IP services when not listening. Advertising non-listening nodes is just addr message spam. It doesn't help the network, in fact it hurts the network, and it also hurts user's privacy. Advertising far out of sync nodes doesn't help the network— they can't even forward (most) transactions and wastes nodes outbound slots.
2012-01-31Fix UPnP by reannouncing every 20 minutes.Matt Corallo
2012-01-19Merge branch 'updateseednodes' of https://github.com/nanotube/bitcoinGavin Andresen
2012-01-19Merge branch 'tabs-to-space' of https://github.com/larsr/bitcoinGavin Andresen
2012-01-19Update seednodes, pick long-uptime nodes with version >= 0.4.0Daniel Folkinshteyn
2012-01-17Fix handling of default portsPieter Wuille
2012-01-16Merge branch 'keepnode' of https://github.com/TheBlueMatt/bitcoinGavin Andresen
2012-01-14Replace tabs with four spaces to comply with coding standard in doc/coding.txtLars Rasmusson
2012-01-12Minor code cleanup to use fHaveUPnP instead of #ifdefMatt Corallo
2012-01-12Add -keepnode which attempts to -addnode and keep a connection openMatt Corallo
2012-01-12Compile with extra warnings turned on. And more makefile/code tidying up.Gavin Andresen
This turns on most gcc warnings, and removes some unused variables and other code that triggers warnings. Exceptions are: -Wno-sign-compare : triggered by lots of comparisons of signed integer to foo.size(), which is unsigned. -Wno-char-subscripts : triggered by the convert-to-hex functions (I may fix this in a future commit).