Commit Graph
2370 Commits
Author SHA1 Message Date
Philip KaufmannandLuke Dashjr 222ac2b12a re-size addressbookpage.ui to fix #1062 2012-07-22 22:08:49 +00:00
fanquakeandLuke Dashjr 5dc6e7067c Update a link 2012-07-22 21:52:41 +00:00
Philip KaufmannandLuke Dashjr 7bf9a64538 fix typo in optionsmodel.cpp 2012-07-08 14:54:57 +00:00
Luke Dashjr 7083cc3083 Merge branch '0.5.x' into 0.6.0.x
Conflicts:
	contrib/debian/patches/1001_use_system_json-spirit.patch
	src/net.cpp
2012-07-06 00:42:53 +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 927c00255b 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:29:56 +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
fanquakeandLuke Dashjr fb7ca33178 Fix a couple more typos 2012-07-06 00:22:05 +00:00
fanquakeandLuke Dashjr cf6ab20d8b Fix a couple more typos 2012-07-06 00:21:18 +00:00
Philip KaufmannandLuke Dashjr a1816267e6 fix a typo in OptionsDialog 2012-07-06 00:17:23 +00:00
fanquakeandLuke Dashjr d477028247 Fix a few typos 2012-07-05 23:54:49 +00:00
fanquakeandLuke Dashjr 46761b339c Fix a few typos 2012-07-05 23:54:41 +00:00
fanquakeandLuke Dashjr 26199789ed Fix a few typos 2012-07-05 23:54:32 +00:00
xanatosandLuke Dashjr ee29ad27b3 Changed a comment about a QVariant type 2012-07-05 23:49:32 +00:00
xanatosandLuke Dashjr 19920202cc Small fix to rpc_tests 2012-07-05 23:48:49 +00:00
Philip KaufmannandLuke Dashjr 46dbdebb59 small updates to Bitcoin-Qt project file
- re-word a comment and remove a space
2012-07-05 23:20:36 +00:00
Luke Dashjr a0cbcfd6ed Update Debian "Use system json-spirit" patch to apply
("Fixed" upstream in 3563824c60)
2012-07-05 23:14:20 +00:00
Luke Dashjr ccf2e853a1 Update Debian "Use system json-spirit" patch to apply
("Fixed" upstream in 3563824c60)
2012-07-05 23:13:43 +00:00
Michael FordandLuke Dashjr 04ae8e1a1b Update master 2012-07-05 23:01:52 +00:00
Philip KaufmannandLuke Dashjr 971a6e53a1 fix a comment to correctly use -upgradewallet 2012-07-05 23:00:05 +00:00
Philip KaufmannandLuke Dashjr 04d4c0e444 fix a memory leak in key.cpp
- add EC_KEY_free() in CKey::Reset() when pkey != NULL
- init pkey with NULL in CKey constructor
2012-07-05 22:56:10 +00:00
Luke Dashjr 3edb53eeed gitian-downloader: Update luke-jr's key 2012-07-05 22:50:53 +00:00
xanatosandLuke Dashjr 90712378a7 = instead of == in multisig_tests.cpp 2012-07-05 22:50:39 +00:00
Pieter WuilleandLuke Dashjr 6d6995bc83 Update my GPG key 2012-07-05 22:50:06 +00:00
Philip KaufmannandLuke Dashjr d2ee96d88f GUI: ensure a changed bitcoin unit immediately updates the tx list amounts 2012-07-05 22:48:58 +00:00
fanquakeandLuke Dashjr 34709a786c build instructions: Qt is not uppercase
(Upstream: 8b7b3be765)
2012-07-05 22:39:31 +00:00
Luke Dashjr 13829c6c99 Merge branch '0.5.x' into 0.6.0.x
Conflicts:
	doc/unit-tests.txt
	src/serialize.h
2012-06-21 01:40:40 +00:00
Luke Dashjr fad2231f86 Merge branch '0.4.x' into 0.5.x
Conflicts:
	src/main.cpp
	src/serialize.h
2012-06-20 19:02:33 +00:00
Gavin AndresenandLuke Dashjr 3023e782bd print large orphan warning BEFORE deleting pvMsg 2012-06-20 18:55:24 +00:00
Luke Dashjr b199f7547f Bump VERSION so we can differentiate between 0.4.7rc2 and 0.4.7rc3 2012-06-20 17:59:36 +00:00
Gavin AndresenandLuke Dashjr 01473c3f40 Remove invalid dependent orphans from memory
Remove orphan transactions from memory once
all of their parent transactions are received
and they're still not valid.
Thanks to Sergio Demian Lerner for suggesting this fix.
2012-06-20 17:53:18 +00:00
Gavin AndresenandLuke Dashjr ce1a071f6d Further DoS prevention: Verify signatures last
Loop over all inputs doing inexpensive validity checks first,
and then loop over them a second time doing expensive signature
checks. This helps prevent possible CPU exhaustion attacks
where an attacker tries to make a victim waste time checking
signatures for invalid transactions.
2012-06-20 17:39:24 +00:00
Gavin AndresenandLuke Dashjr c3def40293 Optimize orphan transaction handling
Changes suggested by Sergio Demian Lerner to
help prevent potential DoS attacks.
2012-06-20 17:16:19 +00:00
Ricardo M. CorreiaandLuke Dashjr b0d9f41cd2 Don't overflow integer on 32-bit machines.
This was causing test_bitcoin to abort on a 32-bit system likely due to -ftrapv.
2012-06-18 19:39:10 +00:00
Ricardo M. CorreiaandLuke Dashjr 7ff54e08aa Don't overflow signed ints in CBigNum::setint64().
CBigNum::setint64() does 'n <<= 8', where n is of type "long long".

This leads to shifting onto and past the sign bit, which is undefined
behavior in C++11 and can cause problems in the future.
2012-06-18 19:01:46 +00:00
Philip KaufmannandLuke Dashjr 506bf85de5 add the slot updateDisplayUnit() to overviewpage, sendcoinsdialog, sendcoinsentry and connect it to displayUnitChanged() - this ensures all fields in the GUI, who use a display unit are imediately updated, when the user changes this setting in the optionsdialog / ensure used fields init with the current set display unit 2012-06-18 16:26:09 +00:00
Gavin AndresenandLuke Dashjr 0969343320 Document how to build/run unit tests 2012-06-18 16:07:53 +00:00
Gavin AndresenandLuke Dashjr fa57170187 Document how to build/run unit tests 2012-06-18 16:07:05 +00:00
Luke Dashjr d354f94241 Merge branch '0.5.x' into 0.6.0.x
Conflicts:
	src/net.cpp
	src/protocol.cpp
2012-06-15 01:37:00 +00:00
Luke Dashjr 133bc2e5f0 Merge branch '0.4.x' into 0.5.x 2012-06-14 20:38:32 +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 b0e508a0c0 Include limits, not climints (using std::numeric_limits now) 2012-06-14 20:12:53 +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 6ec9d30905 Merge branch '0.5.x' into 0.6.0.x
Conflicts:
	src/main.h
	src/net.cpp
	src/serialize.h
2012-06-14 18:13:46 +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
Wladimir J. van der LaanandLuke Dashjr 1bc2f0a37b Fix build of testcases after commit 0f10b21719 2012-06-14 17:59:31 +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 0b1fda6f65 Don't call exit() in Shutdown() for Bitcoin-Qt (fixes a tray-icon issue)
(partial of 9247134eab)
2012-06-14 17:32:45 +00:00
Matt CoralloandLuke Dashjr ca39829ecb Update wiki changelog at doc/release-process.txt 2012-06-14 17:21:05 +00:00
Philip KaufmannandLuke Dashjr a973e225e7 change initial Balance on overviewpage from "123.456 BTC" to "0 BTC" to not confuse users, which could see it before we init with the real wallet balance 2012-06-14 17:19:48 +00:00