Commit Graph
98 Commits
Author SHA1 Message Date
Luke Dashjr 6321b515f2 Merge branch '0.4.x' into 0.5.x 2012-09-10 23:42:15 +00:00
Jeff GarzikandLuke Dashjr 4ad495c243 select(): Use precise fd presence check, rather than imprecise hSocketMax test 2012-09-10 23:42:06 +00:00
Luke Dashjr 1ce15535f0 Bugfix: Don't consider invalid listening socket in hSocketMax
Fixed upstream in 8f10a28890.
2012-09-10 23:40:27 +00:00
Luke Dashjr 797d0b231b Merge branch '0.4.x' into 0.5.x
Conflicts:
	src/net.cpp
2012-08-12 17:02:38 +00:00
Luke Dashjr 9e98fe6f58 Bugfix: Fix a variety of misspellings
(PARTIAL: Left out anything changing debug.log)
2012-08-12 17:00:02 +00:00
Luke Dashjr f1830a9a22 Merge branch '0.4.x' into 0.5.x 2012-07-06 00:41:57 +00:00
Gregory MaxwellandLuke Dashjr 580f7cd731 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-06 00:28:30 +00:00
Gavin AndresenandLuke Dashjr 0ce74bfaa5 Use std::numeric_limits<> for typesafe INT_MAX/etc
(this fixes a Mac OS X gitian build error for 0.5.x)
2012-06-14 20:38:25 +00:00
Gavin AndresenandLuke Dashjr 5cd2a640a5 Use std::numeric_limits<> for typesafe INT_MAX/etc
(this fixes a Mac OS X gitian build error for 0.5.x)
2012-06-14 19:52:31 +00:00
Luke Dashjr 3703150d56 Merge branch '0.4.x' into 0.5.x
Conflicts:
	doc/release-process.txt
	src/serialize.h
2012-06-14 18:07:11 +00:00
Philip KaufmannandLuke Dashjr 276cfd8530 Bugfix: Fix various places where Bitcoin-Qt was being shutdown improperly
(Partial/merge of upstream 9247134eab, 1a3f0da922, and 3e34352222)
2012-06-14 17:53:59 +00:00
Philip KaufmannandLuke Dashjr af413c0a0f fix an incorrect if-clause in net.cpp 2012-06-06 19:37:53 +00:00
FordyandLuke Dashjr 58ac600b2c Update License in File Headers
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-20 20:15:41 +00:00
FordyandLuke Dashjr b2de28c740 Update License in File Headers
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-20 20:10:24 +00:00
Timothy RedaelliandLuke Dashjr dfac636fd7 We should include netinet/in.h to use sockaddr_in (POSIX.1-2001) 2012-04-27 10:42:37 -04:00
Timothy RedaelliandLuke Dashjr 282e3ffe6e We should include netinet/in.h to use sockaddr_in (POSIX.1-2001) 2012-04-27 10:41:52 -04:00
Luke Dashjr a93ab87787 Merge branch '0.4.x' into 0.5.x
Conflicts:
	src/main.cpp
2012-04-22 10:05:43 -04:00
Jeff GarzikandLuke Dashjr 774e9b6dbb Fix loop index var types, fixing many minor sign comparison warnings
foo.size() typically returns an unsigned integral type; make loop variables
match those types' signedness.
2012-04-17 14:57:42 -04:00
Jeff GarzikandLuke Dashjr ef2f3ddaf7 The string class returns string::npos, when find() fails.
Noticed when sign-comparison warnings were enabled.
2012-04-17 14:50:26 -04:00
Luke Dashjr 6085033f31 Merge branch '0.4.x' into 0.5.0.x 2012-03-26 20:06:55 -04:00
Alistair BuxtonandLuke Dashjr 04dc79f1cc When disconnecting a node, clear the received buffer so that we do
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-22 16:19:26 -04:00
nomnombtcandLuke Dashjr b3b4b008e3 fix typo src/net.cpp 2012-03-06 10:28:49 -05:00
Luke Dashjr 0365f19dec Merge branch '0.4.x' into 0.5.0.x 2012-02-17 09:15:21 -05:00
Pieter WuilleandLuke Dashjr d52397b3c0 Several shutdown-related fixes
* do not let vnThreadsRunning[1] go negative
* do not perform locking operations while vnThreadsRunning[1] is decreased
* check vnThreadsRunning[1] at exit
2012-02-17 09:02:21 -05:00
Pieter WuilleandLuke Dashjr 622f1438de Bugfix: do not create CAddress for invalid accepts 2012-02-17 09:00:48 -05:00
Luke Dashjr 8ad6996cc3 Merge branch '0.4.x' into 0.5.0.x 2012-02-11 21:26:11 -05:00
Matt CoralloandLuke Dashjr 888ac4e7a3 Get ext. IP from UPnP, make sure addrMe IsRoutable() in version.
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-11 21:25:35 -05:00
Luke Dashjr 4bbd72cca1 Update copyrights to 2012 for files modified this year 2012-02-07 22:43:39 -05:00
Luke Dashjr 4664aae3fe Update copyrights to 2012 for files modified this year 2012-02-07 22:30:50 -05:00
Luke Dashjr 882e00e215 Merge branch '0.4.x' into 0.5.0.x
Conflicts:
	src/main.cpp
2012-02-02 20:17:41 -05:00
Matt CoralloandLuke Dashjr e5b031f5d2 Fix UPnP by reannouncing every 20 minutes. 2012-02-02 17:44:42 -05:00
Luke Dashjr 8f378e98c5 Merge branch '0.4.x' into 0.5.0.x
Conflicts:
	doc/release-process.txt
2012-01-23 22:45:36 -05:00
Daniel FolkinshteynandLuke Dashjr 54ed0a0432 Update seednodes, pick long-uptime nodes with version >= 0.4.0 2012-01-23 22:39:21 -05:00
Lars RasmussonandLuke Dashjr b0870346f2 Replace tabs with four spaces to comply with coding standard in doc/coding.txt 2012-01-23 22:38:30 -05:00
Lars RasmussonandLuke Dashjr 1181bf86d1 Replace tabs with four spaces to comply with coding standard in doc/coding.txt 2012-01-23 22:37:48 -05:00
Luke Dashjr 70550ed81b Merge branch '0.4.x' into 0.5.0.x 2012-01-16 22:27:59 -05:00
Luke Dashjr 948072c39f Code tidyups, fixing various warnings.
Partial cherry pick of:

Compile with extra warnings turned on. And more makefile/code tidying up.

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).

Conflicts:

	src/makefile.osx
	src/makefile.unix
	src/netbase.cpp
	src/rpc.cpp
2012-01-16 22:18:51 -05:00
Luke Dashjr eb2a10afd6 Merge branch '0.4.x' into 0.5.0.x
Conflicts:
	src/util.cpp
2012-01-03 12:19:48 -05:00
Gavin AndresenandLuke Dashjr 84393f15b6 Fix issue #659, and cleanup wallet/command-line argument handling a bit
Conflicts:
	src/init.cpp
	src/util.cpp
2012-01-03 11:48:44 -05:00
Pieter WuilleandLuke Dashjr b52b6f2e38 Fix some address-handling deadlocks
Made three critical blocks for cs_mapAddresses smaller, and moved
writing to the database out of them. This should also improve the
concurrency of the code.
2012-01-02 20:05:58 -05:00
Luke Dashjr f503a1486a Merge branch '0.4.x' into 0.5.0.x 2011-12-19 16:05:15 -05:00
Luke Dashjr 987f26aa1a Add my DNS seed domain 2011-12-19 14:38:26 -05:00
Matt CoralloandLuke Dashjr 6be2c9b5b4 Add sipa's new dnsseed. 2011-12-19 14:38:22 -05:00
Luke Dashjr 12c69167e3 Merge branch '0.4.x' into 0.5.x 2011-12-12 14:34:47 -05:00
Luke Dashjr b379bc5eef Merge branch 'restore_old_miniupnp_compat' into 0.4.x 2011-12-12 14:33:47 -05:00
Luke Dashjr 94b97046fd Restore compatibility with miniupnpc 1.5 (without breaking miniupnp 1.6) 2011-12-10 11:52:50 -05:00
Matt CoralloandLuke Dashjr 4c519a47a9 Move DNS Seed lookup to a new thread. 2011-12-02 12:56:26 -05:00
Matt CoralloandLuke Dashjr ba56a88ca5 Move DNS Seed lookup to a new thread. 2011-12-02 12:55:14 -05:00
Jeff GarzikandLuke Dashjr 2bf36b4e7d Remove vladimir's DNS seed, at his request. 2011-11-15 17:39:38 -05:00
Jeff GarzikandJeff Garzik 02d630c37f Remove vladimir's DNS seed, at his request. 2011-10-31 12:42:01 -04:00