Commit Graph

2662 Commits

Author SHA1 Message Date
Luke Dashjr
23cdae18f0 Merge branch '0.6.0.x' into 0.6.x
Conflicts:
	src/init.cpp
	src/util.cpp
2012-07-22 23:18:27 +00:00
Luke Dashjr
ff4be740b5 Merge branch '0.5.x' into 0.6.0.x 2012-07-22 23:15:38 +00:00
Luke Dashjr
4f620dd0f0 Merge branch '0.4.x' into 0.5.x 2012-07-22 23:15:22 +00:00
Philip Kaufmann
ec9a3c04ed fix OpenSSL not written as proper noun in some comments 2012-07-22 22:09:49 +00:00
Philip Kaufmann
222ac2b12a re-size addressbookpage.ui to fix #1062 2012-07-22 22:08:49 +00:00
fanquake
5dc6e7067c Update a link 2012-07-22 21:52:41 +00:00
Rune K. Svendsen
63f319353c Let the comment in GetBlockValue() reflect the uncertainty about the time interval between subsidy reductions 2012-07-22 21:45:32 +00:00
Wladimir J. van der Laan
b2848bf08a Make sort and filters for transactions and labels case-insensitive 2012-07-22 21:45:04 +00:00
Philip Kaufmann
bb583e3c11 when on testnet, set testnet icon for about dialog
- add a comment
2012-07-22 21:18:48 +00:00
Luke Dashjr
7a161e4847 CBigNum: Convert negative int64 values in a more well-defined way
Since the minimum signed integer cannot be represented as positive so long as its type is signed, and it's not well-defined what happens if you make it unsigned before negating it, we instead increment the negative integer by 1, convert it, then increment the (now positive) unsigned integer by 1 to compensate
2012-07-22 21:10:19 +00:00
Ricardo M. Correia
3bd1d6645e Fix signed subtraction overflow in CBigNum::setint64().
As noticed by sipa (Pieter Wuille), this can happen when CBigNum::setint64() is
called with an integer value of INT64_MIN (-2^63).

When compiled with -ftrapv, the program would crash. Otherwise, it would
execute an undefined operation (although in practice, usually the correct one).
2012-07-22 21:10:15 +00:00
Philip Kaufmann
339eb29a87 fix for build.h regeneration failure when compiling on Windows
- as the "||" operator is not known to qmake use "|" instead,
  which ensures the code in brackets does never get executed on Windows
2012-07-22 21:08:00 +00:00
Philip Kaufmann
7bf9a64538 fix typo in optionsmodel.cpp 2012-07-08 14:54:57 +00:00
Luke Dashjr
e65f25d54e Merge branch '0.6.0.x' into 0.6.x
Conflicts:
	contrib/debian/patches/1001_use_system_json-spirit.patch
	src/key.h
	src/main.cpp
	src/main.h
	src/net.cpp
2012-07-06 00:54:24 +00:00
Philip Kaufmann
33a656c4ae 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-06 00:46:07 +00:00
Gregory Maxwell
e3a9bc79a0 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:43:55 +00:00
Luke Dashjr
59d0486f2f Update Debian "Use system json-spirit" patch to apply
("Fixed" upstream in 3563824c60)
2012-07-06 00:43:51 +00:00
Michael Ford
000f217369 Add Bitcoin dev Copyright 2012-07-06 00:43:47 +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 Maxwell
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 Maxwell
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
fanquake
fb7ca33178 Fix a couple more typos 2012-07-06 00:22:05 +00:00
fanquake
cf6ab20d8b Fix a couple more typos 2012-07-06 00:21:18 +00:00
Philip Kaufmann
a1816267e6 fix a typo in OptionsDialog 2012-07-06 00:17:23 +00:00
fanquake
d477028247 Fix a few typos 2012-07-05 23:54:49 +00:00
fanquake
46761b339c Fix a few typos 2012-07-05 23:54:41 +00:00
fanquake
26199789ed Fix a few typos 2012-07-05 23:54:32 +00:00
xanatos
ee29ad27b3 Changed a comment about a QVariant type 2012-07-05 23:49:32 +00:00
xanatos
19920202cc Small fix to rpc_tests 2012-07-05 23:48:49 +00:00
Philip Kaufmann
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 Ford
04ae8e1a1b Update master 2012-07-05 23:01:52 +00:00
Philip Kaufmann
971a6e53a1 fix a comment to correctly use -upgradewallet 2012-07-05 23:00:05 +00:00
Philip Kaufmann
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
xanatos
90712378a7 = instead of == in multisig_tests.cpp 2012-07-05 22:50:39 +00:00
Pieter Wuille
6d6995bc83 Update my GPG key 2012-07-05 22:50:06 +00:00
Philip Kaufmann
d2ee96d88f GUI: ensure a changed bitcoin unit immediately updates the tx list amounts 2012-07-05 22:48:58 +00:00
fanquake
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 Andresen
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 Andresen
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 Andresen
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 Andresen
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
Gavin Andresen
6e0c5e3778 Revert "Update gitian descriptors to point at stable git repo"
This reverts commit 1179f6373d.
v0.6.3 v0.6.3rc1
2012-06-19 16:44:55 -04:00
Gavin Andresen
23e7583a8c Merge branch '0.6.x' of git://gitorious.org/+bitcoin-stable-developers/bitcoin/bitcoind-stable into 0.6.3 2012-06-19 16:34:10 -04:00