Commit graph

9909 commits

Author SHA1 Message Date
Pedro Pinheiro
4ad5ec501e Fix autoconf reference to github repo. 2016-02-15 11:28:55 +00:00
Tom Zander
d90292d877 Make travis happy 2016-02-15 11:28:55 +00:00
Hong Shuning
f348aac007 pass the travis-ci build
Use legacy group instead of default precise group.

The precise group does not support IPv6.
2016-02-15 11:28:55 +00:00
Barnabas Debreczeni
147f5e1691 Travis: fix MacOSX SDK error 2016-02-15 11:28:55 +00:00
Tom Zander
f593f99f8a Add public key 2016-02-15 11:28:55 +00:00
Pedro Pinheiro
04e4b7656a Fix translation path
Conflicts:
	.tx/config
2016-02-15 11:28:55 +00:00
Tom Zander
ec98d4a950 Update COPYING 2016-02-15 11:28:55 +00:00
Jeff Garzik
e7c96dd6df Update gitian descriptors for classic.
Credit: pdpi
Fixes #38
2016-02-15 11:28:54 +00:00
Tom Zander
e0c9121ab7 Report Classic in p2p version message 2016-02-15 11:28:54 +00:00
Gavin Andresen
70d2aad340 Do not relay or mine excessive sighash transactions
This is a belt-and-suspenders fix to make sure CreateNewBlock() or external mining software can never produce a block that violates the MAX_BLOCK_SIGHASH rule.

It does this by rejecting transactions that do too much signature hashing -- they are not added to the memory pool, and so will not be considered for inclusion in new blocks.

How the code works: every transaction uses up some fraction of the MAX_BLOCK_SIZE limit and the MAX_BLOCK_SIGHASH limit. If a transaction uses up a larger fraction of the SIGHASH limit than the SIZE limit, it is rejected. That ensures that no matter which transactions are selected for the block, the SIZE limit will be hit before the SIGHASH limit.

This is a much simpler solution than modifying CreateNewBlock or external transaction selection software to keep track of the SIZE limit, the SIGOPS limit, AND the new SIGHASH limit.

This is belt-and-suspenders because, in practice, the 100,000-byte IsStandard size limit prevents the block SIGHASH limit from being hit.

The IsStandard code related to the old SIGOPS limit is left unchanged.

Conflicts:
	src/main.cpp
2016-02-15 11:28:54 +00:00
Gavin Andresen
3aadc515e0 Accurate sigop/sighash accounting and limits
Adds a ValidationCostTracker class that is passed to
CheckInputs() / CScriptCheck() to keep track of the exact number
of signature operations required to validate a block, and the
exact number of bytes hashed to compute signature hashes.

Also extends CHashWriter to keep track of number of bytes hashed.

Signature operations per block are limited to MAX_BLOCK_SIGOPS
(unchanged at 20,000)

Bytes hashed to compute signatures is limited to MAX_BLOCK_SIGHASH
(1.3 GB in this commit).

Conflicts:
	src/main.cpp
	src/miner.cpp
	src/script/interpreter.h
2016-02-15 11:28:54 +00:00
Gavin Andresen
76e123a3b3 Two megabyte fork after miner vote and grace period
Activation code for a two megabyte block size increase.

Activation condition:

750 of 1000 blocks with version bit 0x10000000 set, then a four-week
(28-day) grace period, after which miners may create 2MB
blocks.

Conflicts:
	qa/pull-tester/rpc-tests.sh
	qa/rpc-tests/bipdersig-p2p.py
	src/chainparams.cpp
	src/main.cpp
	src/miner.cpp

Additionall; Fix unit test.
Instead of relying on default, specify block size.
2016-02-15 11:28:54 +00:00
Gavin Andresen
d443eabb44 Minimal consensus/miner changes for 2mb block size bump.
Conflicts:
	src/main.h
	src/miner.cpp
2016-02-11 15:46:00 +00:00
Wladimir J. van der Laan
04503f78c7
Merge #7346: 0.12 release notes: Mining Policy Changes
b460004 release-notes: Minor corrections and clarifications re Priority (Luke Dashjr)
3450f4c release-notes: Significantly rewrite priority transactions section (Gregory Maxwell)
d0dbb6d release-notes: Remove suggestion to use 0.11 (Luke Dashjr)
73a0375 release-notes: Mention possibility of priority removal in 0.13, uncertainty of priority calculation being changed back, and request community input (Luke Dashjr)
4b8d2bc release-notes: Cover priority changes correctly, removing mentions of possible futures (Luke Dashjr)
2016-02-11 15:30:20 +01:00
Wladimir J. van der Laan
772863583c
doc: fix author list in release notes 2016-02-10 21:37:49 +01:00
Wladimir J. van der Laan
68134263e2
qt: Translation update pre-rc5 2016-02-10 21:18:33 +01:00
Wladimir J. van der Laan
10be44a0bb
doc: Release notes update pre-rc5 2016-02-10 21:03:40 +01:00
instagibbs
c3faf78c0e
Changed getnetworkhps value to double to avoid overflow.
Github-Pull; #7480
Rebased-From: 993d089e82
2016-02-10 20:45:42 +01:00
mrbandrews
947c4ff724
[rpc-tests] Change solve() to use rehash
Github-Pull: #7468
Rebased-From: 7689041c03
2016-02-10 20:39:52 +01:00
Matt
9cb31e664a
Fix spelling: misbeha{b,v}ing
Github-Pull: #7469
Rebased-From: 0830552673
2016-02-10 20:38:10 +01:00
Pieter Wuille
889e5b3050
Correctly report high-S violations
Github-Pull: #7500
Rebased-From: 9d95187d5d
2016-02-10 20:32:42 +01:00
Pieter Wuille
1329963001
Update the wallet best block marker when pruning
Github-Pull: #7502
Rebased-From: e4eebb604e
2016-02-10 19:59:01 +01:00
Wladimir J. van der Laan
00ec73e062
wallet: Ignore MarkConflict if block hash is not known
If number of conflict confirms cannot be determined, this means
that the block is still unknown or not yet part of the main chain,
for example during a reindex. Do nothing in that case,
instead of crash with an assertion.

Fixes #7234.

Github-Pull: #7491
Rebased-From: 40e7b61835
2016-02-10 19:58:19 +01:00
Luke Dashjr
b46000415c release-notes: Minor corrections and clarifications re Priority 2016-02-09 23:31:30 +00:00
Gregory Maxwell
3450f4cc95 release-notes: Significantly rewrite priority transactions section 2016-02-09 23:21:36 +00:00
Luke Dashjr
d0dbb6daee release-notes: Remove suggestion to use 0.11 2016-02-09 21:28:57 +00:00
Wladimir J. van der Laan
827a2b6736
qt: Translations update pre-rc4 2016-02-09 10:53:13 +01:00
Wladimir J. van der Laan
43484d7c08
doc: Update release notes for rc4 changes 2016-02-09 10:50:05 +01:00
Luke Dashjr
73a0375ebe release-notes: Mention possibility of priority removal in 0.13, uncertainty of priority calculation being changed back, and request community input 2016-02-09 08:13:38 +00:00
Suhas Daftuar
e16f5b40c2
Update nQueuedValidatedHeaders after peer disconnection
Github-Pull: #7482
Rebased-From: 301bc7bc7e
2016-02-09 08:55:03 +01:00
Wladimir J. van der Laan
b2f2b85ad5
rpc: Add WWW-Authenticate header to 401 response
A WWW-Authenticate header must be present in the 401
response to make clients know that they can authenticate,
and how.

    WWW-Authenticate: Basic realm="jsonrpc"

Fixes #7462.

Github-Pull: #7472
Rebased-From: 7c06fbd8f5
2016-02-09 08:52:33 +01:00
MarcoFalke
b9ed8c9969
[doc] Update release-process.md
Conflicts:
	doc/release-process.md

Github-Pull: #7465
Rebased-From: fa616c2fed
2016-02-08 10:47:12 +01:00
Wladimir J. van der Laan
996c27d1d9
doc: add PR authors to release notes
Take full names from github API if available, otherwise
github username.
2016-02-05 15:06:53 +01:00
Wladimir J. van der Laan
b1f031d435
qt: translations update pre-rc3 2016-02-03 10:59:04 +01:00
Wladimir J. van der Laan
a7939f8695
doc: update release notes for rc3 2016-02-03 10:56:18 +01:00
MarcoFalke
294f4320a2
[qt] Peertable: Increase SUBVERSION_COLUMN_WIDTH
Github-Pull: #7384
Rebased-From: faa9011d09
2016-02-03 10:31:34 +01:00
Wladimir J. van der Laan
c76bfff11e
Merge #7440: [0.12] Rename permitrbf to mempoolreplacement and provide minimal string-list forward compatibility
af9f564 release-notes: Update for replacebyfee->mempoolreplacement rename (Luke Dashjr)
4ad418b Rename replacebyfee=opt-in to mempoolreplacement=fee (Luke Dashjr)
b2287a7 release-notes: Update for permitrbf->replacebyfee rename (Luke Dashjr)
5f456a6 Simplify check for replacebyfee=opt-in (Luke Dashjr)
e8d19ab Accept replacebyfee=opt-in for turning on opt-in RBF (Luke Dashjr)
1205f87 Rename permitrbf to replacebyfee (Luke Dashjr)
2016-02-03 10:30:10 +01:00
Luke Dashjr
af9f564267 release-notes: Update for replacebyfee->mempoolreplacement rename 2016-02-01 19:32:54 +00:00
Luke Dashjr
4ad418bc9b Rename replacebyfee=opt-in to mempoolreplacement=fee 2016-02-01 19:31:36 +00:00
Gregory Maxwell
86755bc85a
Add whitelistforcerelay to control forced relaying. [#7099 redux]
- Add whitelistforcerelay to control forced relaying.

Also renames whitelistalwaysrelay.

Nodes relay all transactions from whitelisted peers, this
 gets in the way of some useful reasons for whitelisting
 peers-- for example, bypassing bandwidth limitations.

The purpose of this forced relaying is for specialized gateway
 applications where a node is being used as a P2P connection
 filter and multiplexer, but where you don't want it getting
 in the way of (re-)broadcast.

This change makes it configurable with whitelistforcerelay.

- Blacklist -whitelistalwaysrelay; replaced by -whitelistrelay.

Github-Pull: #7439
Rebased-From: 325c725fb6 89d113e02a
2016-02-01 14:15:40 +01:00
Wladimir J. van der Laan
e2d9a58588
Merge #7438: Do not absolutely protect local peers; decide group ties based on time.
8e09f91 Decide eviction group ties based on time. (Gregory Maxwell)
46dbcd4 Do not absolutely protect local peers from eviction. (Gregory Maxwell)
2016-02-01 10:46:44 +01:00
Luke Dashjr
b2287a7e01 release-notes: Update for permitrbf->replacebyfee rename 2016-01-29 01:33:50 +00:00
Luke Dashjr
5f456a6546 Simplify check for replacebyfee=opt-in 2016-01-29 01:31:55 +00:00
Luke Dashjr
e8d19ab79f Accept replacebyfee=opt-in for turning on opt-in RBF
Basic forward-compatibility with more flexible parameters like fss
2016-01-29 01:31:52 +00:00
Luke Dashjr
1205f87d36 Rename permitrbf to replacebyfee
"permit" is currently used to configure transaction filtering, whereas replacement is more to do with the memory pool state than the transaction itself.
2016-01-29 01:31:33 +00:00
Gregory Maxwell
8e09f914f8 Decide eviction group ties based on time.
This corrects a bug the case of tying group size where the code may
 fail to select the group with the newest member. Since newest time
 is the final selection criteria, failing to break ties on it
 on the step before can undermine the final selection.

Tied netgroups are very common.
2016-01-28 22:46:06 +00:00
Gregory Maxwell
46dbcd4833 Do not absolutely protect local peers from eviction.
With automatic tor HS support in place we should probably not be providing
 absolute protection for local peers, since HS inbound could be used to
 attack pretty easily.  Instead, this counts on the latency metric inside
 AttemptToEvictConnection to privilege actually local peers.
2016-01-28 22:45:22 +00:00
Wladimir J. van der Laan
cb83beb375
net: Hardcoded seeds update January 2016
Github-Pull: #7415
Rebased-From: 4818dba900
2016-01-28 10:55:11 +01:00
Wladimir J. van der Laan
32e3538752
Merge #7416: doc: Explain effects of -prune=<n> parameter in release notes
8c5f903 doc: In release notes, reduce length of pruning section (xor-freenet)
15c0263 doc: Minor spelling fix (xor-freenet)
54d3907 doc: Fix wrong claims about blockchain reorganization with pruning (xor-freenet)
a683d20 doc: Minor sentence length / capitalization fixes (xor-freenet)
58e3abf doc: In release notes, increase estimate of disk usage with pruning (xor-freenet)
be4b474 doc: In release notes, do not claim that pruning is leeching (xor-freenet)
46d7eb6 doc: Fix minimal disk usage with pruning enabled (xor-freenet)
fe074cc doc: Explain effects of -prune=<n> parameter in release notes (xor-freenet)
2016-01-27 17:09:41 +01:00
xor-freenet
8c5f90306c
doc: In release notes, reduce length of pruning section 2016-01-27 16:29:39 +01:00