Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also .

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also .
Choose a Base Repository
bitcoin/bitcoin
8706774431/litecoin
9cat/templecoin
Anoncoin/anoncoin
BSafe-network/bitcoin
BitAltcoin/bitaltcoin
BitcoinHardfork/bitcoin
BitcoinPRReadingGroup/bitcoin
BitcoinUnlimited/BitcoinUnlimited
ClaireDuSoleil/bitcoin
CoinBlack/blackcoin
Crowndev/crowncoin
DarrellDuane/bitcoin
Diapolo/bitcoin
EvgenijM86/emercoin
Fermat-ORG/iop-token-server
Flowdalic/bitcoin
Gamerbit/omnicore
GeorgeKimionis/bitcoin
HOdlcoin/HOdlcoin
HongPong/bitcoin
KnCMiner/bitcoin
ManAgainstCode/bitcoin
MazaCoin/maza
OmniLayer/omnicore
Orbitcoin/Orbitcoin
PIVX-Project/PIVX
Peershare/Peershare
Peershares/Peershares
Peerunity/Peerunity
SandyCohen/mincoin
ShadowOfHarbringer/bitcoin-nftf
SproutsCommunityRep/sprouts
T-X/bitcoin-git
TheBlueMatt/bitcoin
TheSeven/ppcoin
TommyWorldPower/Energi
TorinKwok/bitcoin
TripleSpeeder/bitcoin
UASF/bitcoin
Unseen/Goldbits
VirtualDestructor/bitcoin-qt-i2p
VsyncCrypto/Vsync
ZoomT/bitcoin
aLQ/bitbar
aaronschmitz/chronocrypt
ahmedbodi/bytecoin
atmshop/litecoin
aurarad/auroracoin-old
bankledger/bitcoin
bfroemel/smallchange
bitcoin-hivemind/hivemind
bitcoinclassic/bitcoinclassic
bitcoinec/bitcoinec
bitcoinfibre/bitcoinfibre
bitcoinknots/bitcoin
bitgem/bitgem
bitpay/bitcoin
bitshares/bitshares-pts
bitundo/bitcoin
bitzeny/bitzeny
bloq/bitcoin
bobsomers/ANDREWCHANcoin
bryan-mills/bytecoin
btc1/bitcoin
btcdrak/bitcoin
bytemaster/bitshare_bitcoin_branch
cdecker/bitcoin
chaincoin/chaincoin
cloudcoin/cloudcoin
codebounty/bitcoin
creativechain/creativechain-core
credits-currency/credits
darkhosis/Gangnam-Style-v4-tandified
dashpay/dash
dexX7/bitcoin
dgarage/bc2
donSchoe/xolominer
dooglus/bitcoin
drivechain-implementation-2/bitcoin
drivechain-project/bitcoin
earthcoinproject/earthcoin
eduffield222/dash
elacoin/elacoin
emercoin/emercoin
energicryptocurrency/energi
ezcoin/ezcoin
faircoin/faircoin
fhcteam/FengHuangCoin
florincoin/florincoin
foo1inge/datacoin
foocoin/freicoin
franko-org/franko
freewil/bitcoin
freicoin/freicoin-old
fusebox/i0coin
gandrewstone/BitcoinUnlimited
gasteve/bitcoin
gavinandresen/bitcoin-git
genjix/bitcoin
glv2/peerunity
gmaxwell/bitcoin
goku1997/bitcoin
groffer/bitcoin
halfinney/bitcoin
harry-1989/bitcoin
hrobeers/peercoin
ixcoin/ixcoin
jakeva/bitcoin-pwcheck
janko33bd/bitcoin
jaromil/bitcoin
javgh/bitcoin
jgarzik/bitcoin
jl2012/bitcoin
jlcurby/NobleCoin
jlopp/statoshi
jmezinskis/calcoin
jonasschnelli/bitcoin
jonls/bitcoin
jordanlewis/bitcoin
joulecoin/joulecoin
kaiquewdev/bitcoin
keesdewit82/LasVegasCoin
keninishna/ass-pennies
knotwork/Mergecoin
laanwj/bitcoin
litecoin-project/litecoin
llluiop/bitcoin
luke-jr/bitcoin
lzsaver/bitcoin-translation
m0mchil/bitcoin
m21/mastercore
maaku/bitcoin
mad/bitcoin
makomk/bitcoin
marscoin/marscoin
mastercoin-MSC/mastercore
mathwizard1232/nyancoins
megacoin/megacoin
memorycoin/memorycoin
mhanne/bitcoin
mikaelh2/primecoin
mikehearn/bitcoin
mincoin/mincoin
morcos/bitcoin
mrmayfield/bitcoin
mrtexaznl/mediterraneancoin
myriadcoin/myriadcoin
myriadteam/myriadcoin
namuyan/kumacoin-v2
nsacoin/nsacoin
onecoin/onecoin
particl/particl-core
peercoin/peercoin
petertodd/bitcoin
phelixbtc/bitcoin
pocopoco/yacoin
primecoin/primecoin
primedigger/primecoin
raghuariga/bitcoin
rakyll/bitcoin
reddcoin-project/reddcoin
reddink/reddcoin
reinier19/bitcoin
riecoin/riecoin
ronpaulcoin/ronpaulcoin
runn1ng/bitcoin
ryanxcharles/bitcoin
satoshisbitcoin/satoshisbitcoin
sdhjob/bitcoin
segsignal/bitcoin
sifcoin/sifcoin
sipa/bitcoin
skeincoin/skeincoin
sppl/mavro
stcupp/bitcoin
stuycoin/stuycoin
sunnyking/ppcoin
syscoin/syscoin2
tcatm/bitcoin
thbaumbach/primecoin
theuni/bitcoin
timohanke/bitcoin
timothyej/bitcoin
truthcoin/truthcoin-cpp
tumf/litecoin
tzuryby/bitcoin
udibr/bitcoin
umaar/bitcoin
umiyuki/sayacoin
vertcoin/vertcoin-old
vinced/namecoin
vtcex/bitcoin
whitslack/bitcoin-infinity
worldcoinproject/worldcoin-v0.8
yacoin/yacoin
zachlatta/marscoin
zathras-crypto/omnicore
zeta-dev/zetacoin
zetacoin/zetacoin
Nothing to show
...
Choose a Head Repository
bitcoin/bitcoin
8706774431/litecoin
9cat/templecoin
Anoncoin/anoncoin
BSafe-network/bitcoin
BitAltcoin/bitaltcoin
BitcoinHardfork/bitcoin
BitcoinPRReadingGroup/bitcoin
BitcoinUnlimited/BitcoinUnlimited
ClaireDuSoleil/bitcoin
CoinBlack/blackcoin
Crowndev/crowncoin
DarrellDuane/bitcoin
Diapolo/bitcoin
EvgenijM86/emercoin
Fermat-ORG/iop-token-server
Flowdalic/bitcoin
Gamerbit/omnicore
GeorgeKimionis/bitcoin
HOdlcoin/HOdlcoin
HongPong/bitcoin
KnCMiner/bitcoin
ManAgainstCode/bitcoin
MazaCoin/maza
OmniLayer/omnicore
Orbitcoin/Orbitcoin
PIVX-Project/PIVX
Peershare/Peershare
Peershares/Peershares
Peerunity/Peerunity
SandyCohen/mincoin
ShadowOfHarbringer/bitcoin-nftf
SproutsCommunityRep/sprouts
T-X/bitcoin-git
TheBlueMatt/bitcoin
TheSeven/ppcoin
TommyWorldPower/Energi
TorinKwok/bitcoin
TripleSpeeder/bitcoin
UASF/bitcoin
Unseen/Goldbits
VirtualDestructor/bitcoin-qt-i2p
VsyncCrypto/Vsync
ZoomT/bitcoin
aLQ/bitbar
aaronschmitz/chronocrypt
ahmedbodi/bytecoin
atmshop/litecoin
aurarad/auroracoin-old
bankledger/bitcoin
bfroemel/smallchange
bitcoin-hivemind/hivemind
bitcoinclassic/bitcoinclassic
bitcoinec/bitcoinec
bitcoinfibre/bitcoinfibre
bitcoinknots/bitcoin
bitgem/bitgem
bitpay/bitcoin
bitshares/bitshares-pts
bitundo/bitcoin
bitzeny/bitzeny
bloq/bitcoin
bobsomers/ANDREWCHANcoin
bryan-mills/bytecoin
btc1/bitcoin
btcdrak/bitcoin
bytemaster/bitshare_bitcoin_branch
cdecker/bitcoin
chaincoin/chaincoin
cloudcoin/cloudcoin
codebounty/bitcoin
creativechain/creativechain-core
credits-currency/credits
darkhosis/Gangnam-Style-v4-tandified
dashpay/dash
dexX7/bitcoin
dgarage/bc2
donSchoe/xolominer
dooglus/bitcoin
drivechain-implementation-2/bitcoin
drivechain-project/bitcoin
earthcoinproject/earthcoin
eduffield222/dash
elacoin/elacoin
emercoin/emercoin
energicryptocurrency/energi
ezcoin/ezcoin
faircoin/faircoin
fhcteam/FengHuangCoin
florincoin/florincoin
foo1inge/datacoin
foocoin/freicoin
franko-org/franko
freewil/bitcoin
freicoin/freicoin-old
fusebox/i0coin
gandrewstone/BitcoinUnlimited
gasteve/bitcoin
gavinandresen/bitcoin-git
genjix/bitcoin
glv2/peerunity
gmaxwell/bitcoin
goku1997/bitcoin
groffer/bitcoin
halfinney/bitcoin
harry-1989/bitcoin
hrobeers/peercoin
ixcoin/ixcoin
jakeva/bitcoin-pwcheck
janko33bd/bitcoin
jaromil/bitcoin
javgh/bitcoin
jgarzik/bitcoin
jl2012/bitcoin
jlcurby/NobleCoin
jlopp/statoshi
jmezinskis/calcoin
jonasschnelli/bitcoin
jonls/bitcoin
jordanlewis/bitcoin
joulecoin/joulecoin
kaiquewdev/bitcoin
keesdewit82/LasVegasCoin
keninishna/ass-pennies
knotwork/Mergecoin
laanwj/bitcoin
litecoin-project/litecoin
llluiop/bitcoin
luke-jr/bitcoin
lzsaver/bitcoin-translation
m0mchil/bitcoin
m21/mastercore
maaku/bitcoin
mad/bitcoin
makomk/bitcoin
marscoin/marscoin
mastercoin-MSC/mastercore
mathwizard1232/nyancoins
megacoin/megacoin
memorycoin/memorycoin
mhanne/bitcoin
mikaelh2/primecoin
mikehearn/bitcoin
mincoin/mincoin
morcos/bitcoin
mrmayfield/bitcoin
mrtexaznl/mediterraneancoin
myriadcoin/myriadcoin
myriadteam/myriadcoin
namuyan/kumacoin-v2
nsacoin/nsacoin
onecoin/onecoin
particl/particl-core
peercoin/peercoin
petertodd/bitcoin
phelixbtc/bitcoin
pocopoco/yacoin
primecoin/primecoin
primedigger/primecoin
raghuariga/bitcoin
rakyll/bitcoin
reddcoin-project/reddcoin
reddink/reddcoin
reinier19/bitcoin
riecoin/riecoin
ronpaulcoin/ronpaulcoin
runn1ng/bitcoin
ryanxcharles/bitcoin
satoshisbitcoin/satoshisbitcoin
sdhjob/bitcoin
segsignal/bitcoin
sifcoin/sifcoin
sipa/bitcoin
skeincoin/skeincoin
sppl/mavro
stcupp/bitcoin
stuycoin/stuycoin
sunnyking/ppcoin
syscoin/syscoin2
tcatm/bitcoin
thbaumbach/primecoin
theuni/bitcoin
timohanke/bitcoin
timothyej/bitcoin
truthcoin/truthcoin-cpp
tumf/litecoin
tzuryby/bitcoin
udibr/bitcoin
umaar/bitcoin
umiyuki/sayacoin
vertcoin/vertcoin-old
vinced/namecoin
vtcex/bitcoin
whitslack/bitcoin-infinity
worldcoinproject/worldcoin-v0.8
yacoin/yacoin
zachlatta/marscoin
zathras-crypto/omnicore
zeta-dev/zetacoin
zetacoin/zetacoin
Nothing to show
Checking mergeability… Don’t worry, you can still create the pull request.
Commits on Dec 12, 2014
@theuni @laanwj theuni + laanwj depends: Gitian 0.10 fixes
Github-Pull: #5465
Rebased-From: 422f873 d546191 d7db4b6 e27d7cb
0133e4f
@paveljanik @laanwj paveljanik + laanwj signrawtransaction: validate private key.
Github-Pull: #5461
Rebased-From: aa768f1
44b4c0d
Commits on Dec 15, 2014
@btcdrak @laanwj btcdrak + laanwj Fix download link for gitian builds
Rebased-From: 164a45f
Github-Pull: #5471
a572ff7
Commits on Dec 16, 2014
@laanwj laanwj version 0.9.99 -> 0.10.0
Bump version but keep CLIENT_VERSION_IS_RELEASE at false as this is not
a release yet.
c3c635b
Commits on Dec 19, 2014
@laanwj Philip Kaufmann + laanwj add missing CAutoFile::IsNull() check in main
Rebased-From: 84857e8
Github-Pull: #5437
b03632a
Commits on Dec 22, 2014
@petertodd @laanwj petertodd + laanwj Check against MANDATORY flags prior to accepting to mempool
Previously transactions were only tested again the
STANDARD_SCRIPT_VERIFY_FLAGS prior to mempool acceptance, so any bugs in
those flags that allowed actually-invalid transactions to pass would
result in allowing invalid transactions into the mempool. Fortunately
there is a second check in CreateNewBlock() that would prevent those
transactions from being mined, resulting in an invalid block, however
this could still be exploited as a DoS attack.

Rebased-From: 7c041b3
0cb8763
@jlopp @laanwj jlopp + laanwj remove max orphan blocks config parameter since it is no longer funct…
…ional

Rebased-From: 4bc95c4
ad3d208
Commits on Dec 23, 2014
@sipa @laanwj sipa + laanwj Reject headers that build on an invalid parent
Rebased-From: 3497022
Github-Pull: #5459
8446262
@gmaxwell @laanwj gmaxwell + laanwj Enforce minRelayTxFee on wallet created tx and add a maxtxfee option.
Previously the minRelayTxFee was only enforced on user specified values.

It was possible for smartfee to produce a fee below minRelayTxFee which
 would just result in the transaction getting stuck because it can't be
 relayed.

This also introduces a maxtxfee option which sets an absolute maximum
 for any fee created by the wallet, with an intention of increasing
 user confidence that the automatic fees won't burn them. This was
 frequently a concern even before smartfees.

If the configured fee policy won't even allow the wallet to meet the relay
 fee the transaction creation may be aborted.

Rebased-From: aa279d6
Github-Pull: #5485
11855c1
@gmaxwell @laanwj gmaxwell + laanwj Apply AreSane() checks to the fees from the network.
'Sane' was already defined by this code as:
 fee.GetFeePerK() > minRelayFee.GetFeePerK() * 10000
 But sanity was only enforced for data loaded from disk.

Note that this is a pretty expansive definition of 'sane': A 10 BTC
 fee is still passes the test if its on a 100kb transaction.

This prevents a single insane fee on the network from making us reject
 our stored fee data at start.  We still may reject valid saved fee
 state if minRelayFee is changed between executions.

This also reduces the risk and limits the damage from a cascading
 failure where one party pays a bunch of insane fees which cases
 others to pay insane fees.

Rebased-From: 6484930
Github-Pull: #5481
15ad0b5
@ajweiss @laanwj ajweiss + laanwj DOS: Respect max per-peer blocks in flight limit
Don't allow immediate inv driven block downloads if
a peer already has MAX_BLOCKS_IN_TRANSIT_PER_PEER
active downloads.  Prevents bogus inv spam from
blowing up block transfer tracking data structures.

Rebased-From: c907704
Github-Pull: #5507
d10a901
@laanwj laanwj qt: periodic language update 3a88ba0
@theuni @laanwj theuni + laanwj docs: update gitian building docs
Github-Pull: #5512
Rebased-From: dd14a0e
c888111
@sipa sipa Do not use libgmp automatically in libsecp256k1 63b5a1d
@laanwj laanwj Merge pull request #5531 f4dcc1e
@laanwj laanwj Preliminary release notes for 0.10 3aa3c71
@laanwj laanwj CLIENT_VERSION_IS_RELEASE → true 13e129e
@sipa @laanwj sipa + laanwj doc: add section about watch-only addresses to release notes 3434927
@laanwj laanwj doc: mention consensus library in release notes a230049
@petertodd @laanwj petertodd + laanwj doc: mention P2SH IsStandard relaxation in release notes 2bb0ca9
@laanwj Jeff Garzik + laanwj doc: add bitcoin-tx section to release notes 4e0bfa5
Commits on Dec 27, 2014
@petertodd @laanwj petertodd + laanwj Fix CScriptID(const CScript& in) in empty script case
Previously an empty script wouldn't be hashed, and CScriptID would be
assigned the incorrect value of 0 instead. This bug can be seen in the
RPC decodescript command:

    $ btc decodescript ""
    {
        "asm" : "",
        "type" : "nonstandard",
        "p2sh" : "31h1vYVSYuKP6AhS86fbRdMw9XHieotbST"
    }

Correct output:

    $ btc decodescript ""
    {
        "asm" : "",
        "type" : "nonstandard",
        "p2sh" : "3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy"
    }

Rebased-From: d78f0da
Github-Pull: #5541
06ca065
@theuni @laanwj theuni + laanwj gitian: attempt to fix tarball determinisim
Rebased-From: 566c6cb
Github-Pull: #5536
b3d67e1
@luke-jr @laanwj luke-jr + laanwj en: Avoid ambiguous language regarding when transactions confirm
Rebased-From: a15dba5
Github-Pull: #5533
52e5705
@sipa @laanwj sipa + laanwj Release notes: formatting, headers-first, rest 591c569
Commits on Dec 28, 2014
@laanwj laanwj pull new translations from transifex ed934bd
Commits on Dec 30, 2014
@theuni @laanwj theuni + laanwj rpcserver: attempt to fix uncaught exception.
Rebased-From: f9c571a
Github-Pull: #5565
87d43a3
Commits on Dec 31, 2014
@laanwj laanwj mention leveldb 1.18 ARM/x86 db interop 968f13c
@fanquake @laanwj fanquake + laanwj Correct tooltip on address book page
Rebased-From: 06206bb
Github-Pull: 5571
8543b0d
@laanwj laanwj English translation update b790d13
@gmaxwell @laanwj gmaxwell + laanwj Remove bitnodes.io from dnsseeds.
I'm not comfortable with retaining this entry.

Rebased-From: a094b3d
Github-Pull: #5545
18021d0
@luke-jr @laanwj luke-jr + laanwj Bugfix: prioritisetransaction: Do some basic sanity checking on txid
Besides giving a nicer error, this also prevents logging arbitrary data (which could have been used to exploit log readers) into debug.log

Rebased-From: 7f71813
Github-Pull: #5499
1eadfd9
@luke-jr @laanwj luke-jr + laanwj release-notes: updates
- Avoid ambiguous language regarding when transactions confirm
- Elaborate on downgrading warning
- Other minor language improvements
- Clarify watch-only behaviour

Github-Pull: #5534
d1bcef4
Commits on Jan 02, 2015
@laanwj laanwj Remove redundant copyright notices from README files
The normative place for these for the entire project is COPYING,
and the main README already has a MIT license section.

Rebased-From: e6df2bb
8061d67
@laanwj laanwj Bump project-wide COPYRIGHT_YEAR to 2015
There is still a redundancy here between configure.ac and
clientversion.h.

Rebased-From: edbc904
4f57a3b
@theuni @laanwj theuni + laanwj depends: fix major regression after d546191.
Broken hash logic caused all depends on some platforms (osx at least) to end up
with the same build-id. Without this fix, nothing will be rebuilt when recipes
or dependencies change.

Rebased-From: d57b303
Github-Pull: #5586
9241f7a
@laanwj Philip Kaufmann + laanwj [Qt] update a translation string and argument counts
Rebased-From: 643415a
Github-Pull: #5583
50891ad
@welshjf @laanwj welshjf + laanwj Release notes: fix REST URIs and wrap line
Rebased-From: e64e084
Github-Pull: #5581
c202901
@theuni @laanwj theuni + laanwj dmg: fix deterministic dmg creation and docs
Rebased-From: 0d50c2f
Github-Pull: #5569
221a380
Commits on Jan 03, 2015
@laanwj Thomas Zander + laanwj On close of splashscreen interrupt verifyDB
With the splashscreen being able to be closed it is possible to
shutdown during the lengthy verifyDB method. (Takes about a minute
on my machine). This change allows us to shutdown much sooner.

Github-Pull: #5557
Rebased-From: 70477a0
94b362d
Commits on Jan 05, 2015
@petertodd petertodd Fix typo in release notes 4a3d3e2
@laanwj laanwj Merge pull request #5600
4a3d3e2 Fix typo in release notes (Peter Todd)
68c0580
Commits on Jan 06, 2015
@sipa @laanwj sipa + laanwj Update seed IPs, based on bitcoin.sipa.be crawler data
Rebased-From: be22b3d
Github-Pull: #5532
58fda4d
@ers35 @laanwj ers35 + laanwj bitcoin-tx: Fix JSON validation of prevtxs
Github-Pull: #5528
Rebased-From: 2a3d988 a089c50 2c14d15
06fdf32
Commits on Jan 07, 2015
@sipa @laanwj sipa + laanwj Require sufficent priority for relay of free transactions
Rebased-From: 1c52aad
Github-Pull: #5535
3022e7d
@sipa @laanwj sipa + laanwj Bugfix: only track UTXO modification after lookup
Otherwise, if CCoinsViewCache::ModifyCoins throws an exception in between
setting hasModifier and constructing the CCoinsModifier, the cache ends up
in an inconsistent state, resulting in an assert failure in the next
modification.

Bug discovered by Wladimir J. van der Laan.

Rebased-From: 1c52aad
Github-Pull: #5597
008138c
@sipa @laanwj sipa + laanwj Catch LevelDB errors during flush
Rebased-From: e413457
Github-Pull: #5597
867c600
Commits on Jan 08, 2015
@laanwj laanwj Merge pull request #5542
2ecd294 Bugfix: configure: Correctly detect "nothing to build" condition (Luke Dashjr)
b7a4ecc Bugfix: Only check for boost when building code that requires it (Luke Dashjr)
a19eeac Bugfix: configure: Check for openssl/ec.h (Luke Dashjr)
fe925e2 Use EXTRA_LIBRARIES instead of noinst_LIBRARIES so we can avoid building unused code (Cory Fields)
7fdbedc
@sdaftuar @laanwj sdaftuar + laanwj Fix smartfees test for change to relay policy
Github-Pull: #5575
Rebased-From: 1eb1e65
e2677d7
@theuni @laanwj theuni + laanwj tests: run sanity checks in tests too
If these are going to fail in bitcoind, they should fail in the tests as well.

Github-Pull: #5604
Rebased-From: d58c5d6
263b65e
Commits on Jan 10, 2015
@theuni @laanwj theuni + laanwj consensus: guard against openssl's new strict DER checks
New versions of OpenSSL will reject non-canonical DER signatures. However,
it'll happily decode them. Decode then re-encode before verification in order
to ensure that it is properly consumed.

Github-Pull: #5634
Rebased-From: 488ed32
ace39db
@theuni @laanwj theuni + laanwj depends: bump openssl to 1.0.1k
Github-Pull: #5634
Rebased-From: dad7764
2d375fe
@theuni @laanwj theuni + laanwj fail immediately on an empty signature
Github-Pull: #5634
Rebased-From: 8dccba6
76ce5c8
Commits on Jan 12, 2015
@laanwj laanwj Improve robustness of DER recoding code
Add some defensive programming on top of #5634.

This copies the respective OpenSSL code in ECDSA_verify in
OpenSSL pre-1.0.1k (e.g. https://github.com/openssl/openssl/blob/OpenSSL_1_0_1j/crypto/ecdsa/ecs_vrf.c#L89)
more closely.

As reported by @sergiodemianlerner.

Github-Pull: #5640
Rebased-From: c6b7b29
12b7c44
@sipa @laanwj sipa + laanwj Introduce 10 minute block download timeout
This will disconnect peers that do not transfer a block in 10 minutes, plus
5 minutes for every previously queued block with validated headers
(accomodating downstream bandwidth down to a few kilobytes per second - below
that the node would have trouble staying synchronized anyway).

Github-Pull: #5608
Rebased-From: 9161303
a3a7317
@sipa @laanwj sipa + laanwj Catch UTXO set read errors and shutdown
Github-Pull: #5619
Rebased-From: 13cdce4
4e7c219
Micha Update 0.10 release notes as of 0.10.0rc2
Also add 0.9.4's release notes to the archive.
Added commits based on
http://sourceforge.net/p/bitcoin/mailman/message/33225960/
[skip ci]
af35bdc
@laanwj laanwj depends: remove embedded OpenSSL timestamp for determinism c3200bc
@laanwj laanwj Merge pull request #5644
af35bdc Update 0.10 release notes as of 0.10.0rc2 (Micha)
249bf0e
Commits on Jan 15, 2015
@gmaxwell @laanwj gmaxwell + laanwj Add a -rpckeepalive and disable RPC use of HTTP persistent connections.
It turns out that some miners have been staying with old versions of
 Bitcoin Core because their software  behaves poorly with persistent
 connections and the Bitcoin Core thread and connection limits.

What happens is that underlying  HTTP libraries leave connections open
 invisibly to their users and then the user runs into the default four
 thread limit.  This looks like Bitcoin Core is unresponsive to RPC.

There are many things that should be improved in Bitcoin Core's behavior
 here, e.g. supporting more concurrent connections, not tying up threads
 for idle connections, disconnecting kept-alive  connections when limits
 are reached, etc. All are fairly big, risky changes.

Disabling keep-alive is a simple workaround. It's often not easy to turn
 off the keep-alive support in the client where it may be buried in some
 platform library.

If you are one of the few who really needs persistent connections you
 probably know that you want them and can find a switch; while if you
 don't and the misbehavior is hitting you it is hard to discover the
 source of your problems is keepalive related.  Given that it is best
 to default to off until they're handled better.

Github-Merge: #5655
Rebased-From: 16a5c18 56c1093 1dd8ee7
aaf55d2
Commits on Jan 19, 2015
@gmaxwell @laanwj gmaxwell + laanwj Restore RPC HTTP keepalives to default.
This avoids a regression for issues like #334 where high speed
 repeated connections eventually run the HTTP client out of
 sockets because all of theirs end up in time_wait.

Maybe the trade-off here is suboptimal, but if both choices will
 fail then we prefer fewer changes until the root cause is solved.

Rebased-From: 1a25a7e 7d2cb48
Github-Pull: #5674
186a517
@theuni @laanwj theuni + laanwj qt: fix broken unicode chars on osx 10.10
- qt: avoid hard-coding font names

They may not contain all necessary characters for a language

- qt: fix broken unicode chars on osx 10.10

The default font changed again.

The real fix is to compile qt against a >= 10.8 sdk, but this is simple enough
to backport to 0.10 to avoid having to do that there.

Note: NSAppKitVersionNumber is a double and there's no official value for
NSAppKitVersionNumber10_10. Since == isn't reliable for doubles, use Apple's
guidelines for testing versions here:
https://developer.apple.com/library/mac/releasenotes/AppKit/RN-AppKit/

Chinese and Japanese fonts have been hard-coded as well, otherwise they fail to
show up at all.

- qt: fonts: allow SubstituteFonts to filter based on user's language

SubstituteFonts() has been moved to after app identification so that QSettings
are accessible.

Github-Pull: #5671
Rebased-From: 73cd4ed 52954e6 f5ad78b
58259ad
Commits on Jan 23, 2015
@fsb4000 @laanwj fsb4000 + laanwj fix crash: CoinControl "space" bug
Just like novacoin-project/novacoin@baf80c2

Github-Pull: #5700
Rebased-From: 944c256
ed4206a
Commits on Jan 26, 2015
@petertodd @laanwj petertodd + laanwj Make empty byte arrays pass CheckSignatureEncoding()
Makes it possible to compactly provide a delibrately invalid signature
for use with CHECK(MULTI)SIG. For instance with BIP19 if m != n invalid
signatures need to be provided in the scriptSig; prior to this change
those invalid signatures would need to be large DER-encoded signatures.

Note that we may want to further expand on this change in the future by
saying that only OP_0 is a "valid" invalid signature; BIP19 even with
this change is inherently malleable as the invalid signatures can be any
validly encoded DER signature.

Rebased-From: 2fa9a8e
Github-Pull: #5627
b24ff47
@TheBlueMatt @laanwj TheBlueMatt + laanwj sleep-wait on genesis block during init with -reindex
Rebased-From: ff09e31
Github-Pull: #5243
c5044bc
Commits on Jan 29, 2015
@fsb4000 @laanwj fsb4000 + laanwj Change Coin Control first column label
Github-Pull: #5720
Rebased-From: 55eade9
b61940b
Commits on Jan 30, 2015
@laanwj Philip Kaufmann + laanwj [Qt] don't allow amount changes when AmountSpinBox is read-only
- before it was possible to use the steps to change e.g. amouns of
  authenticated or unauthenticated payment requests (AmountSpinBox is
  already set to read-only here) - this is now fixed
- also move the reimplemented stepEnabled() function to the
  protected section of our class, where it belongs (see Qt doc)

Github-Pull: #5637
Rebased-From: 0fd9e2b
6a02ef8
Commits on Feb 01, 2015
@sipa sipa Change IsDERSignature to BIP66 implementation abfbeaf
@sipa sipa Example unit tests from BIP66 18695f0
@sipa sipa BIP66 changeover logic 773c30d
@sipa sipa Add RPC test for DERSIG BIP switchover logic 6da2028
@sipa sipa Increase coverage of DERSIG edge cases 3916a81
Commits on Feb 02, 2015
@luke-jr luke-jr doc/release-notes.md: Add summary of mining enhancements fd7350d
Commits on Feb 03, 2015
@laanwj laanwj Merge pull request #5740
fd7350d doc/release-notes.md: Add summary of mining enhancements (Luke Dashjr)
b788c55
@sipa @laanwj sipa + laanwj Use separate SignatureChecker for CMutableTransaction
Conflicts:
	src/main.cpp
	src/script/bitcoinconsensus.cpp

Rebased-From: 858809a
Github-Pull: #5719
1bbad80
@sipa @laanwj sipa + laanwj Avoid storing a reference passed to SignatureChecker constructors
Rebased-From: 9fddced
Github-Pull: #5719
2448d34
@morcos @laanwj morcos + laanwj Fix priority calculation in CreateTransaction
Make this projection of priority in 1 block match the calculation in the low priority reject code.

Rebased-From: 2d9b0b7
Github-Pull: #5675
b6347bf
@laanwj laanwj Merge pull request #5714
3916a81 Increase coverage of DERSIG edge cases (Pieter Wuille)
6da2028 Add RPC test for DERSIG BIP switchover logic (Pieter Wuille)
773c30d BIP66 changeover logic (Pieter Wuille)
18695f0 Example unit tests from BIP66 (Pieter Wuille)
abfbeaf Change IsDERSignature to BIP66 implementation (Pieter Wuille)
336f9fb
@gmaxwell @laanwj gmaxwell + laanwj Increase block download timeout base from 10 to 20 minutes.
This harmonizes the block fetch timeout with the existing ping timeout
 and eliminates a guaranteed eventual failure from congestion collapse
 for a network operating right at its limit.

It's unlikely that we wouldn't suffer other failures if we were really
 anywhere near the network's limit, and a complete avoidance of congestion
 collapse risk requires (I think) an exponential back-off. So this isn't
 a major concern, but I think it's also useful for reducing the complexity
 of understanding out timeouts.

Github-Pull: #5647
Rebased-From: 3ff735c
1eb14af
Commits on Feb 05, 2015
@morcos morcos Modify release-notes for changes related to free tranactions
Add comment about free transactions no longer being the default
Inform about the relay policy change
63efb36
@laanwj laanwj Merge pull request #5755
63efb36 Modify release-notes for changes related to free tranactions (Alex Morcos)
275400b
@sipa @laanwj sipa + laanwj Add BIP 66 notice to the 0.10 release notes.
Conflicts:
	doc/release-notes.md

Rebased-From: 04ca082
Github-Pull: #5757
e43f25c
Commits on Feb 08, 2015
@luke-jr luke-jr doc/release-notes.md: Explain affect of BIP66 on miners 7b6c847
Commits on Feb 09, 2015
@laanwj laanwj Merge pull request #5771
7b6c847 doc/release-notes.md: Explain affect of BIP66 on miners (Luke Dashjr)
327d3e8
Commits on Feb 13, 2015
@theuni @laanwj theuni + laanwj gitian: don't add . to tar list
Since permissions and timestamps are changed for the sake of determinism,
. must not be added to the archive. Otherwise, tar may try to modify pwd when
extracting.

Rebased-From: 0c6ab67
Github-Pull: #5790
047a898
Commits on Feb 20, 2015
@fsb4000 @laanwj fsb4000 + laanwj fix crash: createmultisig and addmultisigaddress
Rebased-From: e5d9d77
Github-Pull: #5706
7f502be
Commits on Feb 23, 2015
@sdaftuar @laanwj sdaftuar + laanwj Acquire CCheckQueue's lock to avoid race condition
This fixes a potential race condition in the CCheckQueueControl constructor,
which was looking directly at data in CCheckQueue without acquiring its lock.

Remove the now-unnecessary friendship for CCheckQueueControl

Rebased-From: cf008ac
Github-Pull: #5721
d148f62
Commits on Feb 24, 2015
@gmaxwell @laanwj gmaxwell + laanwj Sanitize command strings before logging them.
Normally bitcoin core does not display any network originated strings without
 sanitizing or hex encoding.  This wasn't done for strcommand in many places.

This could be used to play havoc with a terminal displaying the logs,
 especially with printtoconsole in use.

Thanks to Evil-Knievel for reporting this issue.

Conflicts:
	src/main.cpp
23126a0
Commits on Feb 26, 2015
@sipa @laanwj sipa + laanwj Better fingerprinting protection for non-main-chain getdatas.
With headers-first we can compare against the best header timestamp, rather
than using checkpoints which require code updates to maintain.

Rebased-From: 85da07a
Github-Pull: #5820
aeb9279
Commits on Mar 09, 2015
@jonasschnelli @laanwj jonasschnelli + laanwj [Qt] fix a issue where "command line options"-action overwrite "Prefe…
…rence"-action (on OSX)

- fixes #5800

Conflicts:
	src/qt/bitcoingui.cpp

Rebased-From: 9bbb880
Github-Pull: #5858
786cf72
@sipa @laanwj sipa + laanwj Limit message sizes before transfer
This introduces a fixed limit for the size of p2p messages, and enforces it
before download.

Rebased-From: ba04c4a
Github-Pull: #5843
d5d8998
@ivanpustogarov @laanwj ivanpustogarov + laanwj Ignore getaddr messages on Outbound connections.
The only time when a client sends a "getaddr" message is when he
esatblishes an Outbound connection (see ProcessMessage() in
src/main.cpp).  Another bitcoin client is expected to receive a
"getaddr" message only on Inbound connection. Ignoring "gettaddr"
requests on Outbound connections can resolve potential privacy issues
(and as was said such request normally do not happen anyway).

Rebased-From: dca799e
Github-Pull: #5442
200f293
Commits on Mar 11, 2015
@theuni @laanwj theuni + laanwj fix possible block db breakage during re-index
When re-indexing, there are a few cases where garbage data may be skipped in
the block files. In these cases, the indices are correctly written to the index
db, however the pointer to the next position for writing in the current block
file is calculated by adding the sizes of the valid blocks found.

As a result, when the re-index is finished, the index db is correct for all
existing blocks, but the next block will be written to an incorrect offset,
likely overwriting existing blocks.

Rather than using the sum of all valid blocks to determine the next write
position, use the end of the last block written to the file. Don't assume that
the current block is the last one in the file, since they may be read
out-of-order.

Rebased-From: bb6acff
Github-Pull: #5864
002c8a2
Commits on Mar 12, 2015
@morcos @laanwj morcos + laanwj fix InvalidateBlock to repopulate setBlockIndexCandidates
Rebased-From: a9af415
Github-Pull: #5879
c91c660
@morcos @laanwj morcos + laanwj add RPC test for InvalidateBlock
Rebased-From: 88f6c8c
Github-Pull: #5879
1117378
Commits on Mar 16, 2015
@jonasschnelli @laanwj jonasschnelli + laanwj [QT] fix OSX dock icon window reopening
fixes #5878

Rebased-From: 89e70e9
Github-Pull: #5880
81145a6
@jonasschnelli @laanwj jonasschnelli + laanwj [QT] some mac specifiy cleanup (memory handling, unnecessary code)
Rebased-From: 8b60808
Github-Pull: #5880
2c08406
Commits on Mar 17, 2015
@sipa @laanwj sipa + laanwj Reduce fingerprinting through timestamps in 'addr' messages.
Suggested by Jonas Nick.

Rebased-From: 9c27379
Github-Pull: #5860
ca301bf
Commits on Mar 18, 2015
@laanwj laanwj bump version to 0.10.1 in preparation of RC1 601327b
Commits on Mar 19, 2015
@theuni theuni 0.10 fix for crashes on OSX 10.6
strnlen is available at build-time but not at runtime, causing a crash.

0.11 drops support for 10.6, so this is not needed in master.
8752b5c
@laanwj laanwj Merge pull request #5926
8752b5c 0.10 fix for crashes on OSX 10.6 (Cory Fields)
10c09f9
Commits on Mar 24, 2015
@dexX7 @laanwj dexX7 + laanwj Initialization: set Boost path locale in main thread
The path locale is lazy initialized and to avoid deinitialization errors
in multithreading environments, it is set explicitly by the main thread.

Conflicts:
	src/util.cpp
Rebased-From: 317e66c
Github-Pull: #5877
c9e022b
@morcos @laanwj morcos + laanwj Fix InvalidateBlock to add chainActive.Tip to setBlockIndexCandidates
Rebased-From: cd3d67c
Github-Pull: #5890
1d2cdd2
Commits on Mar 25, 2015
@laanwj laanwj Clean out release notes for 0.10.1 a316622
Commits on Mar 26, 2015
@rubensayshi @laanwj rubensayshi + laanwj don't trickle for whitelisted nodes
Rebased-From: fc72020
Github-Pull: #5942
78f64ef
@laanwj laanwj Add commits (up to now) to release notes 0eccf0a
@laanwj laanwj Translations update from transifex 4635a4c
Commits on Mar 28, 2015
@sipa sipa Add a consistency check for the block chain data structures
This adds a -checkblockindex (defaulting to true for regtest), which occasionally
does a full consistency check for mapBlockIndex, setBlockIndexCandidates, chainActive, and
mapBlocksUnlinked.
a1f425b
Commits on Mar 30, 2015
@laanwj laanwj No notable changes for minor release 90bef66
Commits on Apr 01, 2015
@sipa @laanwj sipa + laanwj Switch addrman key from vector to uint256
Conflicts:
	src/addrman.cpp

Rebased-From: b23add5
Github-Pull: #5941
b788994
@sipa @laanwj sipa + laanwj Make addrman's bucket placement deterministic.
Give each address a single fixed location in the new and tried tables,
which become simple fixed-size arrays instead of sets and vectors.

This prevents attackers from having an advantages by inserting an
address multiple times.

This change was suggested as Countermeasure 1 in
Eclipse Attacks on Bitcoin’s Peer-to-Peer Network, Ethan Heilman,
Alison Kendler, Aviv Zohar, Sharon Goldberg. ePrint Archive Report
2015/263. March 2015.

It is also more efficient.

Conflicts:
	src/addrman.cpp
	src/addrman.h

Rebased-From: e6b343d
Github-Pull: #5941
cf0218f
@sipa @laanwj sipa + laanwj Simplify hashing code
Conflicts:
	src/addrman.cpp

Rebased-From: a8ff7c6
Github-Pull: #5941
2218d4b
@sipa @laanwj sipa + laanwj Do not bias outgoing connections towards fresh addresses
This change was suggested as Countermeasure 2 in
Eclipse Attacks on Bitcoin’s Peer-to-Peer Network, Ethan Heilman,
Alison Kendler, Aviv Zohar, Sharon Goldberg. ePrint Archive Report
2015/263. March 2015.

Rebased-From: 68ba3f67bd500a64fb8932c6b41924ddc31d76f
Github-Pull: #5941
214154e
@sipa @laanwj sipa + laanwj Always use a 50% chance to choose between tried and new entries
This change was suggested as Countermeasure 2 in
Eclipse Attacks on Bitcoin’s Peer-to-Peer Network, Ethan Heilman,
Alison Kendler, Aviv Zohar, Sharon Goldberg. ePrint Archive Report
2015/263. March 2015.

Rebased-From: c6a63ce
Github-Pull: #5941
0c6f334
@sipa @laanwj sipa + laanwj Scale up addrman
This change was suggested as Countermeasure 6 in
Eclipse Attacks on Bitcoin’s Peer-to-Peer Network, Ethan Heilman,
Alison Kendler, Aviv Zohar, Sharon Goldberg. ePrint Archive Report
2015/263. March 2015.

Rebased-From: 1d21ba2
Github-Pull: #5941
aa587d4
@laanwj laanwj update release notes after #5941 ae1479a
@laanwj laanwj Merge pull request #5953
a1f425b Add a consistency check for the block chain data structures (Pieter Wuille)

This is a port of #5900 to 0.10.

Github-Pull: #5900
2b7636c
@laanwj laanwj update release notes for #5953/#5900 fe31225
@laanwj laanwj doc: add historical release notes for 0.10.0
Rebased-From: 15facb4
9e1cc16
Commits on Apr 02, 2015
@harding harding Docs: Use new Bitcoin.org download URLs
To give the torrents (which use web seeds) better names, we updated the
URL scheme on bitcoin.org/bin. This updates the release notes and
release doc accordingly, plus updates some other details based on recent
changes to the site.

[skip ci]
bf1cc80
Commits on Apr 03, 2015
@laanwj laanwj Merge pull request #5961
bf1cc80 Docs: Use new Bitcoin.org download URLs (David A. Harding)
24e4899
Commits on Apr 06, 2015
@laanwj laanwj doc: Credit Jonas Nick in release notes
For discovering the vulnerability and discussing the fix that led to PR #5860.
149c1d8
@gavinandresen @laanwj gavinandresen + laanwj Keep mempool consistent during block-reorgs
This fixes a subtle bug involving block re-orgs and non-standard transactions.

Start with a block containing a non-standard transaction, and
one or more transactions spending it in the memory pool.

Then re-org away from that block to another chain that does
not contain the non-standard transaction.

Result before this fix: the dependent transactions get stuck
in the mempool without their parent, putting the mempool
in an inconsistent state.

Tested with a new unit test (adapted for 0.10).

Rebased-From: ad9e86d
Github-Pull: #5945
1c62e84
Commits on Apr 09, 2015
@laanwj laanwj doc: update release notes pre rc2 34127c7
Commits on Apr 14, 2015
@TheBlueMatt @laanwj TheBlueMatt + laanwj Fix missing lock in submitblock
Rebased-From: eb63bf8
Github-Pull: #6007
eae305f
Commits on Apr 16, 2015
@mrbandrews @laanwj mrbandrews + laanwj Fix CheckBlockIndex for reindex.
Some tests in CheckBlockIndex require chainActive.Tip(), but when reindexing, chainActive has not been set on the first call to CheckBlockIndex.

reindex.py starts a node, mines 3 blocks, stops, and reindexes with CheckBlockIndex enabled.

Rebased-From: 0421c18
Github-Pull: #6012
57d1f46
Commits on Apr 18, 2015
@dexX7 dexX7 Initialization: set fallback locale as environment variable
The scope of `std::locale::global` appears to be smaller than `setenv("LC_ALL", ...)` and insufficient to fix messed up locale settings for the whole application.
df45564
@dexX7 dexX7 Initialization: setup environment before starting tests
The environment is prepared by the main thread to guard against invalid locale settings and to prevent deinitialization issues of Boost path, which can result in app crashes.
7494e09
@dexX7 dexX7 Initialization: setup environment before starting QT tests
The environment is prepared by the main thread to guard against invalid locale settings.
323de27
Commits on Apr 20, 2015
@laanwj laanwj Merge pull request #6025
323de27 Initialization: setup environment before starting QT tests (dexX7)
7494e09 Initialization: setup environment before starting tests (dexX7)
df45564 Initialization: set fallback locale as environment variable (dexX7)
3a70613
@sdaftuar @laanwj sdaftuar + laanwj Set nSequenceId when a block is fully linked
Also adds a test to CheckBlockIndex

Conflicts:
	src/main.cpp

Rebased-From: c1ecee8
Github-Pull: #6010
bac6fca
@gmaxwell @laanwj gmaxwell + laanwj Cap nAttempts penalty at 8 and switch to pow instead of a division loop.
On hosts that had spent some time with a failed internet connection their
 nAttempts penalty was going through the roof (e.g. thousands for all peers)
 and as a result the connect search was pegging the CPU and failing to get
 more than a 4 connections after days of running (because it was taking so
 long per try).

Rebased-From: a784f90
Github-Pull: #6029
139cd81
@laanwj laanwj update release notes for 0.10.1rc3 bf8ad0d
Commits on Apr 25, 2015
@gmaxwell @laanwj gmaxwell + laanwj doc: improve credits in release notes d8ac901
Commits on May 04, 2015
@laanwj laanwj qt: translation update for next 0.10 point release ebc0e41
Commits on May 06, 2015
@theuni theuni wallet: fix boost::get usage with boost 1.58
Backport from master
824c011
Commits on May 07, 2015
@laanwj laanwj Merge pull request #6114
824c011 wallet: fix boost::get usage with boost 1.58 (Cory Fields)
9a5b88c
Commits on May 10, 2015
@jonasschnelli @laanwj jonasschnelli + laanwj don't imbue boost::filesystem::path with locale "C" on windows
fixes #6078

Github-Pull: #6093
Rebased-From: b3ffcdf 3da7849
424ae66
Commits on May 12, 2015
@laanwj laanwj Preparations for 0.10.2 release d7e7727
@laanwj laanwj Translations update 49e4d14
@gmaxwell @laanwj gmaxwell + laanwj Avoid crash on start in TestBlockValidity with gen=1.
When the internal miner is enabled at the start of a new node, there
 is an near instant assert in TestBlockValidity because its attempting
 to mine a block before the top checkpoint.

Also avoids a data race around vNodes.

Github-Pull: #6123
Rebased-From: bba7c24
da65606
@laanwj laanwj Release notes 0.10.2 ff32503
Commits on May 16, 2015
@laanwj laanwj doc: small amandment to release notes 16f4560
Commits on May 27, 2015
@laanwj laanwj Simplify code for CSubnet
Simplify the code by using CAddress.ip directly, instead of the reversed
GetByte() semantics.

Rebased-From: 19e8d7b
Github-Pull: #6186
e4a7d51
@laanwj laanwj Fix two problems in CSubNet parsing
Fix two CSubNet constructor problems:

- The use of `/x` where 8 does not divide x was broken, due to a
  bit-order issue

- The use of e.g. `1.2.3.4/24` where the netmasked bits in the network
  are not 0 was broken. Fix this by explicitly normalizing the netwok
  according to the bitmask.

Also add tests for these cases.

Fixes #6179. Thanks to @jonasschnelli for reporting and initial fix.

Rebased-From: b45c50c
Github-Pull: #6186
ae3d8f3
@laanwj laanwj Parameter interaction: disable upnp if -proxy set
To protect privacy, do not use UPNP when a proxy is set. The user may
still specify -listen=1 to listen locally (for a hidden service), so
don't rely on this happening through -listen.

Fixes #2927.

Conflicts:
	src/init.cpp

Rebased-From: 8c35b6f
Github-Pull: #6153
ebd7d8d
Commits on Jun 02, 2015
@luke-jr @laanwj luke-jr + laanwj Remove P2SH coinbase flag, no longer interesting
Github-Pull: #6203
Rebased-From: d449772
ecc96f5
Commits on Jun 03, 2015
@laanwj laanwj json: fail read_string if string contains trailing garbage
Change `read_string` to fail when not the entire input has been
consumed. This avoids unexpected, even dangerous behavior (fixes #6223).

The new JSON parser adapted in #6121 also solves this problem so in
master this is a temporary fix, but should be backported to older releases.

Also adds tests for the new behavior.

Github-Pull: #6226
Rebased-From: 4e157fc
181771b
Commits on Jun 10, 2015
@luke-jr @laanwj luke-jr + laanwj configure: Detect (and reject) LibreSSL
Rebased-From: a5a81f7
Github-Pull: #6244
09334e0
Commits on Jun 15, 2015
@dgenr8 @laanwj dgenr8 + laanwj Fix getbalance *
Chance "getbalance *" not to use IsTrusted.  The method and result
now match the "getbalance <specific-account>" behavior. In
particular, "getbalance * 0" now works.

Also fixed a comment -- GetGalance has required 1 confirmation
for many years, and the default "getbalance *" behavior matches
that.

Github-Pull: #6276
Rebased-From: 7d6a85a
Rebased-By: @trasher-
0fd8464
@laanwj laanwj Add option `-alerts` to opt out of alert system
Make it possible to opt-out of the centralized alert system by providing
an option `-noalerts` or `-alerts=0`. The default remains unchanged.

This is a gentler form of #6260, in which I went a bit overboard by
removing the alert system completely.

I intend to add this to the GUI options in another pull after this.

Conflicts:
	src/init.cpp
	src/main.cpp

Github-Pull: #6274
Rebased-From: 02a6702
be64204
Commits on Jun 22, 2015
@laanwj laanwj doc: update mailing list address
Move from sourceforge to linux foundation.

Also get rid of some other stale mentions of sourceforge.

Github-Pull: #6319
Rebased-From: 88d8525
3f55638
Commits on Jul 17, 2015
@theuni @laanwj theuni + laanwj openssl: avoid config file load/race
Rebased-From: d4b1d5a
Github-Pull: #6438
7e66e9c
@btcdrak @laanwj btcdrak + laanwj Updated URL location of netinstall for Debian
Conflicts:
	doc/gitian-building.md

Github-Pull: #6439
Rebased-From: 09d4ddf
255eced
Commits on Jul 20, 2015
@sipa @laanwj sipa + laanwj Test whether created sockets are select()able
Conflicts:
	src/net.cpp

Github-Pull: #6412
Rebased-From: d422f9b
0739e6e
@laanwj laanwj Fix warning introduced by #6412
SOCKET are defined as unsigned integers, thus always >=0.

Rebased-From: 89289d8
ae52a7f
Commits on Sep 21, 2015
@randy-waterhouse @luke-jr randy-waterhouse + luke-jr Add autogen.sh to source tarball. 8b59079
@casey @luke-jr casey + luke-jr Avoid leaking file descriptors in RegisterLoad
This is pretty trivial, but if there's an error here we'll leak a file
descriptor. Changed it to always close the file.
04507de
@theuni @luke-jr theuni + luke-jr build: fix libressl detection
Checking libcrypto for a function after we've already found a (possibly
different) libcrypto is not what we want to do here.

pkg-config might've found a cross lib while AC_CHECK_LIB may find a different
or native one.

Run a link-test against the lib that's already been found instead.
3861f0f
@rnicoll @luke-jr rnicoll + luke-jr Make sure LogPrint strings are line-terminated 4e5ea71
@casey @luke-jr casey + luke-jr Use unique name for AlertNotify tempfile 843469e
@ajweiss @luke-jr ajweiss + luke-jr Handle leveldb::DestroyDB() errors on wipe failure
Add error checking to CLevelDBWrapper for errors from
leveldb::DestroyDB().  Without it, if unlink() or DeleteFileW() fail to
delete files, they will fail silent.  If they fail to delete any files,
CLevelDBWrapper will silently open and read the existing database.

Typically any permissions issues would be caught by leveldb as it churns
through many files as part of its compaction process, but it is
conceivable that this could cause problems on Windows with anti-virus
and indexing software.
28d76d2
@fanquake @luke-jr fanquake + luke-jr Add missing files to files.md
typo
65426ac
@morcos @luke-jr morcos + luke-jr Fix masking of irrelevant bits in address groups. bdf2542
@morcos @luke-jr morcos + luke-jr add unit test for CNetAddr::GetGroup. 0194bdd
@theuni @luke-jr theuni + luke-jr net: Set SO_REUSEADDR for Windows too
When running the rpc tests in Wine, nodes often fail to listen on localhost
due to a stale socket from a previous run. This aligns the behavior with other
platforms.
c9ad65e
@theuni @luke-jr theuni + luke-jr rpc-tests: re-enable rpc-tests for Windows 0dfcdd4
@JohnDolittle @luke-jr JohnDolittle + luke-jr add support for miniupnpc api version 14
The value of new arg ttl is set to 2 as it's recommended default.
2ede6b7
@vlajos @luke-jr vlajos + luke-jr PARTIAL: typofixes (found by misspell_fixer)
Upstream: 9f68ed6 (PR #6539)
ceba0f8
@theuni @luke-jr theuni + luke-jr travis: for travis generating an extra build 5e6d893
Commits on Sep 22, 2015
@jonasschnelli @laanwj jonasschnelli + laanwj [QT] fix thin space word wrap line brake issue
The thin space QT html hack results in cut-off chars/nums after a line break.

Avoid word wrap line breaks by using a smaller font and a line break before each alternative value)

Rebased-From: 24cb7c7
Github-Pull: #6694
f696ea1
@laanwj laanwj Merge pull request #6704
5e6d893 travis: for travis generating an extra build (Cory Fields)
ceba0f8 PARTIAL: typofixes (found by misspell_fixer) (Veres Lajos)
2ede6b7 add support for miniupnpc api version 14 (Pavel Vasin)
0dfcdd4 rpc-tests: re-enable rpc-tests for Windows (Cory Fields)
c9ad65e net: Set SO_REUSEADDR for Windows too (Cory Fields)
0194bdd add unit test for CNetAddr::GetGroup. (Alex Morcos)
bdf2542 Fix masking of irrelevant bits in address groups. (Alex Morcos)
65426ac Add missing files to files.md (fanquake)
28d76d2 Handle leveldb::DestroyDB() errors on wipe failure (Adam Weiss)
843469e Use unique name for AlertNotify tempfile (Casey Rodarmor)
4e5ea71 Make sure LogPrint strings are line-terminated (J Ross Nicoll)
3861f0f build: fix libressl detection (Cory Fields)
04507de Avoid leaking file descriptors in RegisterLoad (Casey Rodarmor)
8b59079 Add autogen.sh to source tarball. (randy-waterhouse)
743cc9e
Commits on Sep 29, 2015
@laanwj laanwj qt: periodic translations update 9bd0b4a
Commits on Oct 07, 2015
@gmaxwell @laanwj gmaxwell + laanwj Test LowS in standardness, removes nuisance malleability vector.
This adds SCRIPT_VERIFY_LOW_S to STANDARD_SCRIPT_VERIFY_FLAGS which
 will make the node require the canonical 'low-s' encoding for
 ECDSA signatures when relaying or mining.

Consensus behavior is unchanged.

The rational is explained in a81cd96:
 Absent this kind of test ECDSA is not a strong signature as given
 a valid signature {r, s} both that value and {r, -s mod n} are valid.
 These two encodings have different hashes allowing third parties a
 vector to change users txids.  These attacks are avoided by picking
 a particular form as canonical and rejecting the other form(s); in
 the of the LOW_S rule, the smaller of the two possible S values is
 used.

If widely deployed this change would eliminate the last remaining
 known vector for nuisance malleability on boring SIGHASH_ALL
 p2pkh transactions.  On the down-side it will block most
 transactions made by sufficiently out of date software.

Unlike the other avenues to change txids on boring transactions this
 one was randomly violated by all deployed bitcoin software prior to
 its discovery.  So, while other malleability vectors where made
 non-standard as soon as they were discovered, this one has remained
 permitted.  Even BIP62 did not propose applying this rule to
 old version transactions, but conforming implementations have become
 much more common since BIP62 was initially written.

Bitcoin Core has produced compatible signatures since a28fb70 in
 September 2013, but this didn't make it into a release until 0.9
 in March 2014; Bitcoinj has done so for a similar span of time.
 Bitcoinjs and electrum have been more recently updated.

This does not replace the need for BIP62 or similar, as miners can
 still cooperate to break transactions.  Nor does it replace the
 need for wallet software to handle malleability sanely[1]. This
 only eliminates the cheap and irritating DOS attack.

[1] On the Malleability of Bitcoin Transactions
Marcin Andrychowicz, Stefan Dziembowski, Daniel Malinowski, Łukasz Mazurek
http://fc15.ifca.ai/preproceedings/bitcoin/paper_9.pdf

Conflicts:
	src/policy/policy.h

Rebased-From: b196b68
Github-Pull: #6769
1cea6b0
Commits on Oct 08, 2015
@petertodd petertodd Make CScriptNum() take nMaxNumSize as an argument
While the existing numeric opcodes are all limited to 4-byte bignum
arguments, new opcodes will need different limits.

Rebased-From: 99088d6
6897468
@petertodd petertodd Move LOCKTIME_THRESHOLD to src/script/script.h
Will now be needed by CHECKLOCKTIMEVERIFY code.

Rebased-From: 48e9c57
750d54f
@petertodd petertodd Replace NOP2 with CHECKLOCKTIMEVERIFY (BIP65)
<nLockTime> CHECKLOCKTIMEVERIFY -> <nLockTime>

Fails if tx.nLockTime < nLockTime, allowing the funds in a txout to be
locked until some block height or block time in the future is reached.

Only the logic and unittests are implemented; this commit does not have
any actual soft-fork logic in it.

Thanks to Pieter Wuille for rebase.

Credit goes to Gregory Maxwell for the suggestion of comparing the
argument against the transaction nLockTime rather than the current
time/blockheight directly.

Rebased-From: bc60b2b
6d01325
@petertodd petertodd Enable CHECKLOCKTIMEVERIFY as a standard script verify flag
Transactions that fail CLTV verification will be rejected from the
mempool, making it easy to test the feature. However blocks containing
"invalid" CLTV-using transactions will still be accepted; this is *not*
the soft-fork required to actually enable CLTV for production use.

Rebased-From: ffd75ad
0e01d0f
@petertodd petertodd Add CHECKLOCKTIMEVERIFY (BIP65) soft-fork logic
Based on the earlier BIP66 soft-fork logic implemented by Pieter
Wuille's 5a47811

Rebased-From: 287f54f
4137248
@petertodd petertodd Add RPC tests for the CHECKLOCKTIMEVERIFY (BIP65) soft-fork
bip65-cltv.py is based on the earlier BIP66 soft-fork RPC test
implemented by Pieter Wuille's 819bcf9

bip65-cltv-p2p.py is based on the earlier BIP66 P2P test by Suhas
Daftuar's d76412b

Rebased-From: 3082578
6a1343b
@eordano @petertodd eordano + petertodd CLTV: Add more tests to improve coverage
Four cases included:

* The CLTV operand type mismatches the tx locktime. In the script it is
  1 (interpreted as block height), but in the tx is 500000000
  (interpreted as date)
* The stack is empty when executing OP_CLTV
* The tx is final by having only one input with MAX_INT sequence number
* The operand for CLTV is negative (after OP_0 OP_1 OP_SUB)

Rebased-From: cb54d17
5dc72f8
Commits on Oct 09, 2015
@laanwj laanwj Update miniupnpc to 1.9.20151008
This version of miniupnpc fixes a buffer overflow in the XML (ugh)
parser during initial network discovery.

http://talosintel.com/reports/TALOS-2015-0035/

The commit fixing the vulnerability is:
miniupnp/miniupnp@79cca97

Reported by timothy on IRC.

Github-Pull: #6789
Rebased-From: 0cca024
093d7b5
@laanwj laanwj doc: Update release notes for 0.10.3 1bf6ac6
@laanwj laanwj qt: Translations update before 0.10.3 44d6bc8
@laanwj laanwj Bump version to 0.10.3 cf5bf55
Commits on Oct 10, 2015
@laanwj laanwj net: Disable upnp by default
Common sentiment is that the miniupnpc codebase likely contains further
vulnerabilities.

I'd prefer to get rid of the dependency completely, but a compromise for
now is to at least disable it by default.

Rebased-From: 21d27eb
Github-Pull: #6795
f2778e0
@paveljanik @laanwj paveljanik + laanwj Do not store more than 200 timedata samples.
Github-Pull: #6797
Rebased-From: 8be371d
91ef4d9
Commits on Oct 11, 2015
@laanwj laanwj Bump minrelaytxfee default
To bridge the time until a dynamic method for determining this fee is
merged.

This is especially aimed at the stable releases (0.10, 0.11) because
full mempool limiting, as will be in 0.12, is too invasive and risky to
backport.

Github-Pull: #6793
Rebased-From: 28e3249 4e2efb3
842c48d
@laanwj laanwj doc: Update release notes for 0.10.3rc2 8d598c2
Commits on Oct 15, 2015
Micha Bring historical release notes up to date
[skip ci]
fb818b6
Commits on Oct 19, 2015
@laanwj laanwj build: make sure OpenSSL heeds noexecstack
This passes `-Wa,--noexecstack` to the assembler when building
platform-specific assembly files, to signal that a non-executable stack
can be used. This is the same approach as used by Debian
(see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=430583)

Rebased-From: bfcdc21
Github-Pull: #6852
0b3fd07
@laanwj laanwj Merge pull request #6836
fb818b6 Bring historical release notes up to date (Micha)
7e9a987
Commits on Oct 23, 2015
@gmaxwell @laanwj gmaxwell + laanwj Set TCP_NODELAY on P2P sockets.
Nagle appears to be a significant contributor to latency now that the static
 sleeps are gone.  Most of our messages are relatively large compared to
 IP + TCP so I do not expect this to create enormous overhead.

This may also reduce traffic burstyness somewhat.

Conflicts:
	src/net.cpp

Rebased-From: a4e28b3
Github-Pull: #6867
5297194
@laanwj laanwj Merge pull request #6706
5dc72f8 CLTV: Add more tests to improve coverage (Esteban Ordano)
6a1343b Add RPC tests for the CHECKLOCKTIMEVERIFY (BIP65) soft-fork (Peter Todd)
4137248 Add CHECKLOCKTIMEVERIFY (BIP65) soft-fork logic (Peter Todd)
0e01d0f Enable CHECKLOCKTIMEVERIFY as a standard script verify flag (Peter Todd)
6d01325 Replace NOP2 with CHECKLOCKTIMEVERIFY (BIP65) (Peter Todd)
750d54f Move LOCKTIME_THRESHOLD to src/script/script.h (Peter Todd)
6897468 Make CScriptNum() take nMaxNumSize as an argument (Peter Todd)
4b80b09
Commits on Nov 01, 2015
@laanwj laanwj qt: Final translations update on 0.10 branch
Translations for 0.12 have been opened, translations for 0.10 have been
closed.
72a0adf
Commits on Nov 04, 2015
@sipa sipa Squashed 'src/leveldb/' changes from 7d41e6f..20ca81f
20ca81f Merge pull request #9
7aa105e leveldb: Win32WritableFile without memory mapping

git-subtree-dir: src/leveldb
git-subtree-split: 20ca81f
5216f3c
@sipa sipa Update LevelDB 94b67e5
Commits on Nov 05, 2015
@laanwj laanwj Merge pull request #6946
5216f3c Squashed 'src/leveldb/' changes from 7d41e6f..20ca81f (Pieter Wuille)
cbc4e3b
@diegoviola @luke-jr diegoviola + luke-jr Fix spelling of Qt 9c81005
@morcos @luke-jr morcos + luke-jr Fix locking in GetTransaction.
GetTransaction needs to lock cs_main until ReadBlockFromDisk completes, the data inside CBlockIndex's can change since pruning.  This lock was held by all calls to GetTransaction except rest_tx.
3ad96bd
@MarcoFalke @luke-jr MarcoFalke + luke-jr [Qt] Raise debug window when requested
* Raise the debug window when hidden behind other windows
* Switch to the debug window when on another virtual desktop
* Show the debug window when minimized

This change is a conceptual copy of 5ffaaba and 382e9e2
612efe8
@zw @luke-jr zw + luke-jr Include bitcoin-tx binary on Debian/Ubuntu
Currently left out of Matt's PPA.  Debian's package for unstable already has it.
dfe0d4d
@zw @luke-jr zw + luke-jr Split bitcoin-tx into its own package
Reverts the change putting it in the bitcoind deb.
43c2789
@zw @luke-jr zw + luke-jr Drop "with minimal dependencies" from description
Five boost libs plus libcrypto are needed; I don't think that quite passes for minimal.
b3964e3
Commits on Nov 06, 2015
@luke-jr luke-jr Bugfix: Allow mining on top of old tip blocks for testnet (fixes test…
…net-in-a-box use case)
cf67d8b
@laanwj @luke-jr laanwj + luke-jr build: disable -Wself-assign
Prevent these warnings in clang 3.6:

    ./serialize.h:96:9: warning: explicitly assigning value of variable of type 'uint64_t' (aka 'unsigned long') to itself [-Wself-assign]
        obj = (obj);
        ~~~ ^  ~~~
a2f2fb6
@TheBlueMatt @luke-jr TheBlueMatt + luke-jr Update bluematt-key, the old one is long-since revoked 90897ab
@CodeShark @luke-jr CodeShark + luke-jr Clarification of unit test build instructions. eae0350
@mitchellcash @luke-jr mitchellcash + luke-jr Correct spelling mistakes in doc folder
- OSX —> OS X
- XCode —> Xcode
- github —> GitHub
- homebrew —> Homebrew
- gitian —> Gitian
- Other miscellaneous obvious spelling fixes and whitespace removal
256321e
@TheBlueMatt @luke-jr TheBlueMatt + luke-jr Update debian/changelog and slight tweak to debian/control 38671bf
@TheBlueMatt @luke-jr TheBlueMatt + luke-jr Change URLs to https in debian/control 97546fc
@dcousens @luke-jr dcousens + luke-jr *: alias -h for --help 8b3311f
Commits on Nov 09, 2015
@laanwj laanwj Merge pull request #6953
8b3311f *: alias -h for --help (Daniel Cousens)
97546fc Change URLs to https in debian/control (Matt Corallo)
38671bf Update debian/changelog and slight tweak to debian/control (Matt Corallo)
256321e Correct spelling mistakes in doc folder (Mitchell Cash)
eae0350 Clarification of unit test build instructions. (Eric Lombrozo)
90897ab Update bluematt-key, the old one is long-since revoked (Matt Corallo)
a2f2fb6 build: disable -Wself-assign (Wladimir J. van der Laan)
cf67d8b Bugfix: Allow mining on top of old tip blocks for testnet (fixes testnet-in-a-box use case) (Luke Dashjr)
b3964e3 Drop "with minimal dependencies" from description (Zak Wilcox)
43c2789 Split bitcoin-tx into its own package (Zak Wilcox)
dfe0d4d Include bitcoin-tx binary on Debian/Ubuntu (Zak Wilcox)
612efe8 [Qt] Raise debug window when requested (MarcoFalke)
3ad96bd Fix locking in GetTransaction. (Alex Morcos)
9c81005 Fix spelling of Qt (Diego Viola)
3b89bf6
@laanwj laanwj Bump version to 0.10.4, add release notes c2e7baf
Commits on Jan 20, 2016
@MarcoFalke @laanwj MarcoFalke + laanwj [walletdb] Fix syntax error in key parser
Github-Pull: #7381
Rebased-From: fa6d4cc
b0c97ce
Commits on Feb 26, 2016
@MarcoFalke MarcoFalke Fix url in .travis.yml
Github-Pull: #7136
Rebased-From: 9999cb0
dc9ae4c
@luke-jr @MarcoFalke luke-jr + MarcoFalke Workaround Travis-side CI issues
Github-Pull: #7487
Rebased-From: 149641e c01f08d 5d1148c 1ecbb3b
6bf4884
@MarcoFalke MarcoFalke [depends] builders: No need to set -L and --location for curl
Github-Pull: #7606
Rebased-From: fa7a5c5
6164639
Commits on Feb 29, 2016
@laanwj laanwj Merge #7607: [0.10] Fix .travis.yml
6164639 [depends] builders: No need to set -L and --location for curl (MarcoFalke)
6bf4884 Workaround Travis-side CI issues (Luke Dashjr)
dc9ae4c Fix url in .travis.yml (MarcoFalke)
12a0c0b
Commits on Mar 01, 2016
@luke-jr @laanwj luke-jr + laanwj Bugfix: gitian: Add curl to packages (now needed for depends)
Conflicts:
	contrib/gitian-descriptors/gitian-osx.yml
Github-Pull: #7614
Rebased-From: 5c70a6d
4e1134b
Commits on Mar 09, 2017
@laanwj laanwj net: Disable P2P alert system 9cea169