aboutsummaryrefslogtreecommitdiff
path: root/src/net.h
AgeCommit message (Collapse)Author
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-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-13Take -port into account when resolving -bind'sPieter 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-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-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-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-04-17Further reduce header dependenciesPieter Wuille
This commit removes the dependency of serialize.h on PROTOCOL_VERSION, and makes this parameter required instead of implicit. This is much saner, as it makes the places where changing a version number can have an influence obvious.
2012-04-17Merge pull request #1106 from jgarzik/sign-compareGavin Andresen
Fix many sign-comparison warnings found in bitcoin codebase
2012-04-15CNode's nHeaderStart may be negative, so change its typeJeff Garzik
2012-04-12Replace several network protocol version numbers with named constantsJeff Garzik
stored in version.h. Also, a minor CAddress code reformat while we're in there, fixing some incorrect indentation.
2012-04-09Use scoped locks instead of CRITICAL_BLOCKPieter Wuille
2012-04-04Remove half-implemented publish/subscribe systemGavin Andresen
2012-03-26Begin doxygen-compatible commentsPieter Wuille
2012-03-22Merge branch 'addrman' of https://github.com/sipa/bitcoinGavin Andresen
2012-02-27Add mruset and use it for setInventoryKnownPieter Wuille
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-22Merge branch 'postfeb20' of https://github.com/sipa/bitcoinGavin Andresen
2012-02-21Post-feb20 simplificationsPieter Wuille
Now the entire network upgraded to (initial) protocol version 209, crtainl simplifications in the source code are possible.
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-11Macros for manual critical sectionsPieter Wuille
2012-02-07Update all copyrights to 2012Gavin Andresen
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).
2012-01-06Network stack refactorPieter Wuille
This introduces CNetAddr and CService, respectively wrapping an (IPv6) IP address and an IP+port combination. This functionality used to be part of CAddress, which also contains network flags and connection attempt information. These extra fields are however not always necessary. These classes, along with logic for creating connections and doing name lookups, are moved to netbase.{h,cpp}, which does not depend on headers.h. Furthermore, CNetAddr is mostly IPv6-ready, though IPv6 functionality is not yet enabled for the application itself.
2011-12-21Revert "Use standard C99 (and Qt) types for 64-bit integers"Wladimir J. van der Laan
This reverts commit 21d9f36781604e4ca9fc35dc65265593423b73e9.
2011-12-20Use standard C99 (and Qt) types for 64-bit integersLuke Dashjr
2011-12-19Implement BIP 14 : separate protocol version from client versionGavin Andresen
2011-11-26Move DNS Seed lookup to a new thread.Matt Corallo
2011-10-07Fix build on windows and macGavin Andresen
Replaced all occurrences of #if* __WXMSW__ with WIN32, and all occurrences of __WXMAC_OSX__ with MAC_OSX, and made sure those are defined appropriately in the makefile and bitcoin-qt.pro.
2011-09-21Framework for banning mis-behaving peersGavin Andresen
2011-09-17missed printf in AbortMessage(); merged printfs in EndMessageNils Schneider
2011-09-17log low-level network messages only when fDebug is setNils Schneider
2011-08-19Move CInv to protocol.[ch]ppGiel van Schijndel
This commit does *not* and should not modify *any* code, it only moves it from net.h and splits it across protocol.cpp and protocol.hpp. Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-08-19Move CAddress to protocol.[ch]ppGiel van Schijndel
This commit does *not* and should not modify *any* code, it only moves it from net.h and splits it across protocol.cpp and protocol.hpp. Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-08-19Start moving protocol-specific code to protocol.[ch]ppGiel van Schijndel
Move CMessageHeader from net.h to protocol.[ch]pp, with the implementation in the .cpp compilation unit (compiling once is enough). This commit does *not* and should not modify *any* code, it only moves it from net.h and splits it across protocol.cpp and protocol.hpp. Indentation changes aside the closest thing to a modification of code is the addition of the 'TODO' comment (the execution of which requires code modifications and thus doesn't belong in this commit). Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-08-19Make some global variables less-global (static)Giel van Schijndel
Explicitly make these global variables less-global to reduce the maximum scope of this global state. In my experience global variables tend to be a major source of bugs. As such the less accessible they are the less likely they are to be the source of a bug. Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-08-17Compile with DEBUG_LOCKORDER to detect inconsistent lock orderings that can ↵Gavin Andresen
cause deadlocks
2011-08-11Merge pull request #458 from TheBlueMatt/copyrightGavin Andresen
Unify copyright notices.
2011-08-10Merge pull request #459 from jgarzik/char-msgstartGavin Andresen
Use 'unsigned char' rather than 'char' for pchMessageStart.