Backport bugfixes to 0.10 (2015-10-22 / f2c869a) #6952

pull luke-jr wants to merge 212 commits into bitcoin:master from luke-jr:backport-bugfixes-to-0.10-20151014 changing 220 files +20880 −9070
  1. luke-jr commented at 8:10 PM on November 5, 2015: member

    Companion to #6825

  2. depends: Gitian 0.10 fixes
    Github-Pull: #5465
    Rebased-From: 422f873ef3d62f7dff9c00dc0f221912ce28f130 d546191dc28fac0e365c8f2aba47ac69a8920d6c d7db4b6317fd9c79bd6fd7c7455d7186b306411f e27d7cb24835c6ce16c12eb758c2d75806103c4a
    0133e4fb48
  3. signrawtransaction: validate private key.
    Github-Pull: #5461
    Rebased-From: aa768f1848b00e0fd615016598d3fb1f1da240ed
    44b4c0d8a9
  4. Fix download link for gitian builds
    Rebased-From: 164a45f57a8a7367e67a5e65b9e938844730cd87
    Github-Pull: #5471
    a572ff7139
  5. version 0.9.99 -> 0.10.0
    Bump version but keep CLIENT_VERSION_IS_RELEASE at false as this is not
    a release yet.
    c3c635b316
  6. add missing CAutoFile::IsNull() check in main
    Rebased-From: 84857e87e42e412336ea60d0f8544c1679bab827
    Github-Pull: #5437
    b03632a671
  7. 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: 7c041b3b91aa08a8f5863382b865a5174281ad03
    0cb8763cbb
  8. remove max orphan blocks config parameter since it is no longer functional
    Rebased-From: 4bc95c43871645c1d69a0d719c13b38151a3a13f
    ad3d208fb9
  9. Reject headers that build on an invalid parent
    Rebased-From: 34970223472c9e83689a1c710eebc7c16f152b02
    Github-Pull: #5459
    8446262597
  10. 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: aa279d613152e87ea25edfdf76c86779c0632f18
    Github-Pull: #5485
    11855c1f99
  11. 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: 64849306905e625fd44d297e8d58c3e1dd98cb90
    Github-Pull: #5481
    15ad0b54fa
  12. 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: c90770430d7c1eb7ece2d4ddb987b0f2210fd86f
    Github-Pull: #5507
    d10a9015ad
  13. qt: periodic language update 3a88ba0794
  14. docs: update gitian building docs
    Github-Pull: #5512
    Rebased-From: dd14a0e799b6552ae85aaab2b0b48f788c578aea
    c888111a3f
  15. Do not use libgmp automatically in libsecp256k1 63b5a1dc80
  16. Merge pull request #5531 f4dcc1e009
  17. Preliminary release notes for 0.10 3aa3c710ac
  18. CLIENT_VERSION_IS_RELEASE → true 13e129ed9a
  19. doc: add section about watch-only addresses to release notes 343492795a
  20. doc: mention consensus library in release notes a2300499b7
  21. doc: mention P2SH IsStandard relaxation in release notes 2bb0ca9b55
  22. doc: add bitcoin-tx section to release notes 4e0bfa5814
  23. 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: d78f0dafd520f481f909cca7e361a4e482cbea72
    Github-Pull: #5541
    06ca0651b6
  24. gitian: attempt to fix tarball determinisim
    Rebased-From: 566c6cb8a2a277d9c5e4897ad02c5bb15786523c
    Github-Pull: #5536
    b3d67e1c34
  25. en: Avoid ambiguous language regarding when transactions confirm
    Rebased-From: a15dba5dff1229b67ff44bf16ff14063e885f376
    Github-Pull: #5533
    52e57055cc
  26. Release notes: formatting, headers-first, rest 591c5692f8
  27. pull new translations from transifex ed934bdb4d
  28. rpcserver: attempt to fix uncaught exception.
    Rebased-From: f9c571aad8261eb9a5cab9dce5b490bd253c5fe1
    Github-Pull: #5565
    87d43a3c8e
  29. mention leveldb 1.18 ARM/x86 db interop 968f13cae3
  30. Correct tooltip on address book page
    Rebased-From: 06206bb3b78067f1f433dde8062c8ab01aaf43eb
    Github-Pull: 5571
    8543b0dfd9
  31. English translation update b790d139c9
  32. Remove bitnodes.io from dnsseeds.
    I'm not comfortable with retaining this entry.
    
    Rebased-From: a094b3d9732aaca362e883655319852e4ce9a174
    Github-Pull: #5545
    18021d08f7
  33. 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: 7f718139191d67da29c5d856d29e035bbc51e659
    Github-Pull: #5499
    1eadfd9753
  34. 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
    d1bcef4391
  35. 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: e6df2bb48f4bff7a2dec4aa226102b0cf2cd828b
    8061d67aeb
  36. Bump project-wide COPYRIGHT_YEAR to 2015
    There is still a redundancy here between configure.ac and
    clientversion.h.
    
    Rebased-From: edbc9045cb21020d0cc19d226f55ee169e2ffb92
    4f57a3b20c
  37. depends: fix major regression after d546191dc.
    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: d57b303e1e5b3fc31da0769b14b01fdcc19b1f7a
    Github-Pull: #5586
    9241f7a7c1
  38. [Qt] update a translation string and argument counts
    Rebased-From: 643415aade0dae528098df2d822288ba0c5f6ce2
    Github-Pull: #5583
    50891ad080
  39. Release notes: fix REST URIs and wrap line
    Rebased-From: e64e084e95ca85b038c7f65ad0824d14d03bc044
    Github-Pull: #5581
    c2029018cc
  40. dmg: fix deterministic dmg creation and docs
    Rebased-From: 0d50c2fd81ee7239570954e6eacb3dbbfe3bb5fe
    Github-Pull: #5569
    221a38024a
  41. 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: 70477a0bdf6eb6d123ce256f064bbd3bc356c82a
    94b362dbd6
  42. Fix typo in release notes 4a3d3e20c0
  43. Merge pull request #5600
    4a3d3e2 Fix typo in release notes (Peter Todd)
    68c0580dfb
  44. Update seed IPs, based on bitcoin.sipa.be crawler data
    Rebased-From: be22b3da1df15757ef15e4c4963507bcdff6a872
    Github-Pull: #5532
    58fda4d689
  45. bitcoin-tx: Fix JSON validation of prevtxs
    Github-Pull: #5528
    Rebased-From: 2a3d988b802dcea4453241e37168d8511078940a a089c50981e822014ffc18e8a37b3518feb52206 2c14d1532fe66a243cdbfb7de48b298213305765
    06fdf326d3
  46. Require sufficent priority for relay of free transactions
    Rebased-From: 1c52aad540ec1370db60fd68fc3485413e3cb8e1
    Github-Pull: #5535
    3022e7df2a
  47. 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: 1c52aad540ec1370db60fd68fc3485413e3cb8e1
    Github-Pull: #5597
    008138c04a
  48. Catch LevelDB errors during flush
    Rebased-From: e41345790f1041f5c5e5605d73a0af174769aa55
    Github-Pull: #5597
    867c600c29
  49. 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)
    7fdbedcaf8
  50. Fix smartfees test for change to relay policy
    Github-Pull: #5575
    Rebased-From: 1eb1e65f092dc2b6e1067d2018440fbbd997fa5c
    e2677d7ae8
  51. 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: d58c5d6f21fd2421bc8cbb224849e8c38b617775
    263b65ebf0
  52. 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: 488ed32f2ada1d1dd108fc245d025c4d5f252783
    ace39db764
  53. depends: bump openssl to 1.0.1k
    Github-Pull: #5634
    Rebased-From: dad7764a9dedb1143b6ea8bfd37f71f7ff72f518
    2d375fe97b
  54. fail immediately on an empty signature
    Github-Pull: #5634
    Rebased-From: 8dccba6a45db0466370726ed462b9da2eae43bce
    76ce5c8de3
  55. 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: c6b7b29f232c651f898eeffb93f36c8f537c56d2
    12b7c444f0
  56. 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: 916130348ca803d762db912307b247f60f9aacd6
    a3a73170a9
  57. Catch UTXO set read errors and shutdown
    Github-Pull: #5619
    Rebased-From: 13cdce4336818d0f6cefe6b3e61c45762d97d7c6
    4e7c219122
  58. 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]
    af35bdc6b0
  59. depends: remove embedded OpenSSL timestamp for determinism c3200bcd1e
  60. Merge pull request #5644
    af35bdc Update 0.10 release notes as of 0.10.0rc2 (Micha)
    249bf0e049
  61. 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: 16a5c18cea7330bd68dc9d2f768eb518af88795b 56c1093dae0c523f9f643f00c67414691272a983 1dd8ee72afc26191da51d8d3a5590eab7c9368f6
    aaf55d25c6
  62. 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: 1a25a7edf82706c3152e2d978d320ec465a34de1 7d2cb485116636595250fce4ea4eab16a877479b
    Github-Pull: #5674
    186a517692
  63. 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: 73cd4edb4f1ff98c20549a609e96fa40834f5e73 52954e6efd373c14736237c4c79769bf00f5dfb8 f5ad78b34af8f50e12fab63b331768b96ec2c779
    58259ad1ed
  64. fix crash: CoinControl "space" bug
    Just like https://github.com/novacoin-project/novacoin/commit/baf80c26a2e7f1ba6061d63d174eff0a09111e6f
    
    Github-Pull: #5700
    Rebased-From: 944c256741b260bd8b758be4a0543af1cb080943
    ed4206acb1
  65. 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: 2fa9a8ec86033b809a1c48f0396c3482c0d5d33c
    Github-Pull: #5627
    b24ff47c64
  66. sleep-wait on genesis block during init with -reindex
    Rebased-From: ff09e31a51dcee404c9c037c7c5f50c522e67ea8
    Github-Pull: #5243
    c5044bc169
  67. Change Coin Control first column label
    Github-Pull: #5720
    Rebased-From: 55eade9d46ebfa4b32b79893595d91d529fa30bb
    b61940b3a1
  68. [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: 0fd9e2bf43d217d9a76003476661c8ab53606548
    6a02ef8bdb
  69. Change IsDERSignature to BIP66 implementation abfbeafe84
  70. Example unit tests from BIP66 18695f08ef
  71. BIP66 changeover logic 773c30d756
  72. Add RPC test for DERSIG BIP switchover logic 6da2028b55
  73. Increase coverage of DERSIG edge cases 3916a81a27
  74. doc/release-notes.md: Add summary of mining enhancements fd7350d22e
  75. Merge pull request #5740
    fd7350d doc/release-notes.md: Add summary of mining enhancements (Luke Dashjr)
    b788c5561a
  76. Use separate SignatureChecker for CMutableTransaction
    Conflicts:
    	src/main.cpp
    	src/script/bitcoinconsensus.cpp
    
    Rebased-From: 858809a33e4f690c4ad213f44a6c4465fc2ef025
    Github-Pull: #5719
    1bbad80bf4
  77. Avoid storing a reference passed to SignatureChecker constructors
    Rebased-From: 9fddceda44fb5592be179d783f0e5ac616c51c0d
    Github-Pull: #5719
    2448d34298
  78. Fix priority calculation in CreateTransaction
    Make this projection of priority in 1 block match the calculation in the low priority reject code.
    
    Rebased-From: 2d9b0b7f03a268e557c6dce1dfa29401b5c9178b
    Github-Pull: #5675
    b6347bf813
  79. 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)
    336f9fbd30
  80. 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: 3ff735c99ae75c21397079f49859b81e89a2f5f8
    1eb14af28f
  81. 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
    63efb36672
  82. Merge pull request #5755
    63efb36 Modify release-notes for changes related to free tranactions (Alex Morcos)
    275400bfcc
  83. Add BIP 66 notice to the 0.10 release notes.
    Conflicts:
    	doc/release-notes.md
    
    Rebased-From: 04ca082dd9c1d4221af65d945a66b87e66058f92
    Github-Pull: #5757
    e43f25c5b1
  84. doc/release-notes.md: Explain affect of BIP66 on miners 7b6c847f67
  85. Merge pull request #5771
    7b6c847 doc/release-notes.md: Explain affect of BIP66 on miners (Luke Dashjr)
    327d3e8824
  86. 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: 0c6ab676ee7d2071d48775d81116c86dacc6abf6
    Github-Pull: #5790
    047a898317
  87. fix crash: createmultisig and addmultisigaddress
    Rebased-From: e5d9d77df2de715d24638e3bab78750b7ad3e1fd
    Github-Pull: #5706
    7f502be259
  88. 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: cf008ac8c3c5d582562d88ad89020daef3e64dcb
    Github-Pull: #5721
    d148f62e00
  89. 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
    23126a0a09
  90. 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: 85da07a5a001a563488382435202b74a3e3e964a
    Github-Pull: #5820
    aeb9279228
  91. [Qt] fix a issue where "command line options"-action overwrite "Preference"-action (on OSX)
    - fixes #5800
    
    Conflicts:
    	src/qt/bitcoingui.cpp
    
    Rebased-From: 9bbb880be44dbc378bdd3210eed42eaa77efb774
    Github-Pull: #5858
    786cf72c7f
  92. Limit message sizes before transfer
    This introduces a fixed limit for the size of p2p messages, and enforces it
    before download.
    
    Rebased-From: ba04c4a7801e7d68a5e84035b919e5c3626eb7a7
    Github-Pull: #5843
    d5d8998028
  93. 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: dca799e1db6e319fdd47e0bfdb038eab0efabb85
    Github-Pull: #5442
    200f29363b
  94. 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: bb6acff07982dda68b5c2ac81c99dbd7255bb9cc
    Github-Pull: #5864
    002c8a2411
  95. fix InvalidateBlock to repopulate setBlockIndexCandidates
    Rebased-From: a9af415887f03cb2565895bc55be72748549e527
    Github-Pull: #5879
    c91c660e49
  96. add RPC test for InvalidateBlock
    Rebased-From: 88f6c8c3657cba81c65da34a7161c860c8a23c5f
    Github-Pull: #5879
    11173786ce
  97. [QT] fix OSX dock icon window reopening
    fixes #5878
    
    Rebased-From: 89e70e931d3d320d2dae4c296601aab113b2e508
    Github-Pull: #5880
    81145a6ccd
  98. [QT] some mac specifiy cleanup (memory handling, unnecessary code)
    Rebased-From: 8b60808c1eaddb402a699ba53d865932e08109ec
    Github-Pull: #5880
    2c0840631d
  99. Reduce fingerprinting through timestamps in 'addr' messages.
    Suggested by Jonas Nick.
    
    Rebased-From: 9c2737901b5203f267d21d728019d64b46f1d9f3
    Github-Pull: #5860
    ca301bf98c
  100. bump version to 0.10.1 in preparation of RC1 601327be8c
  101. 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.
    8752b5c882
  102. Merge pull request #5926
    8752b5c 0.10 fix for crashes on OSX 10.6 (Cory Fields)
    10c09f98b2
  103. 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: 317e66c741aef0fd272e50aa2e82ff192ca5f7e5
    Github-Pull: #5877
    c9e022b7ee
  104. Fix InvalidateBlock to add chainActive.Tip to setBlockIndexCandidates
    Rebased-From: cd3d67cf3b0d573d2c387c2ec35e8b52129863d9
    Github-Pull: #5890
    1d2cdd2ef9
  105. Clean out release notes for 0.10.1 a316622fd0
  106. don't trickle for whitelisted nodes
    Rebased-From: fc720207e0e513e531b1f266b966a2ffa57b936a
    Github-Pull: #5942
    78f64ef0b2
  107. Add commits (up to now) to release notes 0eccf0ae30
  108. Translations update from transifex 4635a4c4e7
  109. 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.
    a1f425b48b
  110. No notable changes for minor release 90bef6638f
  111. Switch addrman key from vector to uint256
    Conflicts:
    	src/addrman.cpp
    
    Rebased-From: b23add5521e4207085d41a0266617e94435fc22e
    Github-Pull: #5941
    b788994256
  112. 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: e6b343d880f50d52390c5af8623afa15fcbc65a2
    Github-Pull: #5941
    cf0218f8b2
  113. Simplify hashing code
    Conflicts:
    	src/addrman.cpp
    
    Rebased-From: a8ff7c62edc63c7c94bc91c30b80995539ed7477
    Github-Pull: #5941
    2218d4bbe0
  114. 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
    214154e6fc
  115. 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: c6a63ceeb4956933588995bcf01dc3095aaeb1fc
    Github-Pull: #5941
    0c6f334c32
  116. 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: 1d21ba2f5ecbf03086d0b65c4c4c80a39a94c2ee
    Github-Pull: #5941
    aa587d4cae
  117. update release notes after #5941 ae1479a114
  118. 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
    2b7636c3d6
  119. update release notes for #5953/#5900 fe3122580e
  120. doc: add historical release notes for 0.10.0
    Rebased-From: 15facb4aca75122b6ae0dcc6f6e112127e6a0e59
    9e1cc16296
  121. 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]
    bf1cc80372
  122. Merge pull request #5961
    bf1cc80 Docs: Use new Bitcoin.org download URLs (David A. Harding)
    24e48991d3
  123. doc: Credit Jonas Nick in release notes
    For discovering the vulnerability and discussing the fix that led to PR #5860.
    149c1d890d
  124. 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: ad9e86dca11dce023d827d342e966f3806c39d27
    Github-Pull: #5945
    1c62e84099
  125. doc: update release notes pre rc2 34127c77cb
  126. Fix missing lock in submitblock
    Rebased-From: eb63bf86cf6dc99f150574463df6ffb013a34493
    Github-Pull: #6007
    eae305f4c4
  127. 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: 0421c18f3a261f04e83a03f59884e5798af74fd9
    Github-Pull: #6012
    57d1f46952
  128. 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.
    df45564cf0
  129. 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.
    7494e0915b
  130. Initialization: setup environment before starting QT tests
    The environment is prepared by the main thread to guard against invalid locale settings.
    323de27f4b
  131. 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)
    3a70613398
  132. Set nSequenceId when a block is fully linked
    Also adds a test to CheckBlockIndex
    
    Conflicts:
    	src/main.cpp
    
    Rebased-From: c1ecee8f723c2635fbd51100fa09acdb0cbec8a0
    Github-Pull: #6010
    bac6fca3c9
  133. 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: a784f90c9892f06b9fea4e7579f5eca3585482c3
    Github-Pull: #6029
    139cd8177b
  134. update release notes for 0.10.1rc3 bf8ad0dc6b
  135. doc: improve credits in release notes d8ac901842
  136. qt: translation update for next 0.10 point release ebc0e41ede
  137. wallet: fix boost::get usage with boost 1.58
    Backport from master
    824c011d16
  138. Merge pull request #6114
    824c011 wallet: fix boost::get usage with boost 1.58 (Cory Fields)
    9a5b88cc0c
  139. don't imbue boost::filesystem::path with locale "C" on windows
    fixes https://github.com/bitcoin/bitcoin/issues/6078
    
    Github-Pull: #6093
    Rebased-From: b3ffcdf91608d4435acfb9b0a6266a4073ffaf7f 3da78490073b04f52f0136e17b07246cc37bedf1
    424ae6629b
  140. Preparations for 0.10.2 release d7e7727658
  141. Translations update 49e4d14f75
  142. 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: bba7c249296a9a2f444e1035fef8f8b593ba2aaf
    da656068ec
  143. Release notes 0.10.2 ff32503267
  144. doc: small amandment to release notes 16f45600c8
  145. Simplify code for CSubnet
    Simplify the code by using CAddress.ip directly, instead of the reversed
    GetByte() semantics.
    
    Rebased-From: 19e8d7be42039724b4893515ec6457d0187024a9
    Github-Pull: #6186
    e4a7d51537
  146. 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: b45c50ce511dbf541ea086ae40a3ad16ff06de0c
    Github-Pull: #6186
    ae3d8f371a
  147. 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: 8c35b6f3be218101630101806300cfd75be23f58
    Github-Pull: #6153
    ebd7d8d78c
  148. Remove P2SH coinbase flag, no longer interesting
    Github-Pull: #6203
    Rebased-From: d449772cf69c01932fc5d72c46054815d6300b3c
    ecc96f5ba9
  149. 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: 4e157fc60dae5ca69933ea4c1585a2a078b4d957
    181771b712
  150. configure: Detect (and reject) LibreSSL
    Rebased-From: a5a81f7354b3aa3e797d973a7e6840f0e50e6533
    Github-Pull: #6244
    09334e04a9
  151. 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: 7d6a85ab5b1dc96e0f3f6f835f27bb81ba2af919
    Rebased-By: @trasher-
    0fd8464458
  152. 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: 02a6702a82a5b00e0e0351041dd3267308b7f319
    be6420407b
  153. 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: 88d8525ca2ff2afc171cd0f625a098371f3a6af5
    3f5563877a
  154. openssl: avoid config file load/race
    Rebased-From: d4b1d5a8baf18e4c8d62846360c0c1c0c9331d70
    Github-Pull: #6438
    7e66e9c97b
  155. Updated URL location of netinstall for Debian
    Conflicts:
    	doc/gitian-building.md
    
    Github-Pull: #6439
    Rebased-From: 09d4ddf1c5841b757c2676d508a68baa2dbdc4c7
    255eced936
  156. Test whether created sockets are select()able
    Conflicts:
    	src/net.cpp
    
    Github-Pull: #6412
    Rebased-From: d422f9b1fdb42a51aadaa1bbc157542dca2feb17
    0739e6e57a
  157. Fix warning introduced by #6412
    SOCKET are defined as unsigned integers, thus always >=0.
    
    Rebased-From: 89289d875da108c42ca013f33597eda46cb6eb53
    ae52a7ffd1
  158. Add autogen.sh to source tarball. 8b59079b8d
  159. 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.
    04507de3b7
  160. 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.
    3861f0fa21
  161. Make sure LogPrint strings are line-terminated 4e5ea71bd5
  162. Use unique name for AlertNotify tempfile 843469ee15
  163. 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.
    28d76d2aea
  164. Add missing files to files.md
    typo
    65426acb4d
  165. Fix masking of irrelevant bits in address groups. bdf2542787
  166. add unit test for CNetAddr::GetGroup. 0194bddde4
  167. 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.
    c9ad65e5fa
  168. rpc-tests: re-enable rpc-tests for Windows 0dfcdd41eb
  169. add support for miniupnpc api version 14
    The value of new arg ttl is set to 2 as it's recommended default.
    2ede6b7142
  170. PARTIAL: typofixes (found by misspell_fixer)
    Upstream: 9f68ed6b6d1a9c6436ce37913666165f2b180ee3 (PR #6539)
    ceba0f8c7e
  171. travis: for travis generating an extra build 5e6d893650
  172. [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: 24cb7c7bbba224dcb73fcf69296f5ef4734f745f
    Github-Pull: #6694
    f696ea12e1
  173. 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)
    743cc9e08b
  174. qt: periodic translations update 9bd0b4a633
  175. 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 a81cd96805ce6b65cca3a40ebbd3b2eb428abb7b:
     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 a28fb70e 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: b196b685c9089b74fd4ff3d9a28ea847ab36179b
    Github-Pull: #6769
    1cea6b0dee
  176. 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: 99088d60d8a7747c6d1a7fd5d8cd388be1b3e138
    689746841a
  177. Move LOCKTIME_THRESHOLD to src/script/script.h
    Will now be needed by CHECKLOCKTIMEVERIFY code.
    
    Rebased-From: 48e9c57cf06352f890eac4285ae022d8746cf3fd
    750d54f951
  178. 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: bc60b2b4b401f0adff5b8b9678903ff8feb5867b
    6d0132520c
  179. 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: ffd75adce01a78b3461b3ff05bcc2b530a9ce994
    0e01d0f89d
  180. Add CHECKLOCKTIMEVERIFY (BIP65) soft-fork logic
    Based on the earlier BIP66 soft-fork logic implemented by Pieter
    Wuille's 5a47811da5158df763aa2fca09ce646ee0c51e7b
    
    Rebased-From: 287f54fc90c29301faede8d4ac2ea24a91441917
    41372485ce
  181. 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 819bcf9b9902319176cdb1d476cacfee9b3727ec
    
    bip65-cltv-p2p.py is based on the earlier BIP66 P2P test by Suhas
    Daftuar's d76412b068d95454732aa3def95decf35251759a
    
    Rebased-From: 308257856099e82e91881ba97f741d840184727c
    6a1343b470
  182. 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: cb54d17355864fa08826d6511a0d7692b21ef2c9
    5dc72f8bb0
  183. 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:
    https://github.com/miniupnp/miniupnp/commit/79cca974a4c2ab1199786732a67ff6d898051b78
    
    Reported by timothy on IRC.
    
    Github-Pull: #6789
    Rebased-From: 0cca0248f030ea32bd8de778b5a2782e0d191978
    093d7b5895
  184. doc: Update release notes for 0.10.3 1bf6ac62ab
  185. qt: Translations update before 0.10.3 44d6bc8528
  186. Bump version to 0.10.3 cf5bf5542a
  187. 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: 21d27ebad5721bc61c62bc72dc3ab3197f9da268
    Github-Pull: #6795
    f2778e0ce6
  188. Do not store more than 200 timedata samples.
    Github-Pull: #6797
    Rebased-From: 8be371db340b03dc03142c1bb3390fdfc84f56b4
    91ef4d93d4
  189. 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: 28e3249e53b8ef7516636df0f1406466a513095d 4e2efb3c5fde4b1e332cc032e3dc4082ec4e3cac
    842c48dba3
  190. doc: Update release notes for 0.10.3rc2 8d598c26e3
  191. Bring historical release notes up to date
    [skip ci]
    fb818b6be4
  192. 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: bfcdc21a5da25ec1aa4aecc4cd8960dfa1c11781
    Github-Pull: #6852
    0b3fd07fd2
  193. Merge pull request #6836
    fb818b6 Bring historical release notes up to date (Micha)
    7e9a9874f3
  194. 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: a4e28b3d1e5c95eb0c87f144851cd65048c3e0bc
    Github-Pull: #6867
    5297194bbd
  195. 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)
    4b80b09f73
  196. qt: Final translations update on 0.10 branch
    Translations for 0.12 have been opened, translations for 0.10 have been
    closed.
    72a0adfb3c
  197. 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: 20ca81f08fb7fa108923a091668e447dcf5c6b9d
    5216f3c5d4
  198. Update LevelDB 94b67e58d1
  199. Merge pull request #6946
    5216f3c Squashed 'src/leveldb/' changes from 7d41e6f..20ca81f (Pieter Wuille)
    cbc4e3bd37
  200. Fix spelling of Qt 9c810058d8
  201. 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.
    3ad96bdf73
  202. [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
    612efe89e3
  203. Include bitcoin-tx binary on Debian/Ubuntu
    Currently left out of Matt's PPA.  Debian's package for unstable already has it.
    dfe0d4da7e
  204. Split bitcoin-tx into its own package
    Reverts the change putting it in the bitcoind deb.
    43c2789fe3
  205. Drop "with minimal dependencies" from description
    Five boost libs plus libcrypto are needed; I don't think that quite passes for minimal.
    b3964e3b7a
  206. Bugfix: Allow mining on top of old tip blocks for testnet (fixes testnet-in-a-box use case) 0a5fcce6f9
  207. 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);
            ~~~ ^  ~~~
    d4c222ccf4
  208. Update bluematt-key, the old one is long-since revoked 274d032a68
  209. Clarification of unit test build instructions. e0db778ef8
  210. 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
    2636ff4a7d
  211. Update debian/changelog and slight tweak to debian/control db0e16d533
  212. Change URLs to https in debian/control 4b5349dd01
  213. *: alias -h for --help cd840f89e3
  214. luke-jr commented at 8:10 PM on November 5, 2015: member

    Crap, wrong branch, closing.

  215. luke-jr closed this on Nov 5, 2015

  216. MarcoFalke locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-14 15:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me