Update LevelDB tree to include #6917 (0.11) #6945

pull sipa wants to merge 8564 commits into bitcoin:0.11 from sipa:leveldbfix0.11 changing 1158 files +294842 −125
  1. sipa commented at 10:48 PM on November 4, 2015: member

    No description provided.

  2. Use accurate memory for flushing decisions fc684ad8af
  3. Cache tweak and logging improvements b3ed4236be
  4. Write block index more frequently than cache flushes 67708acff9
  5. 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.
    bba7c24929
  6. Merge pull request #5932
    107d35b [Qt] add defaultConfirmTarget constant to sendcoinsdialog (Philip Kaufmann)
    40de49c358
  7. Merge pull request #6123
    bba7c24 Avoid crash on start in TestBlockValidity with gen=1. (Gregory Maxwell)
    484821870b
  8. [QT] remove frame to avoid double-frame situation in sendcoinsentry.ui 51c7c7029e
  9. [QT] use alert icon with tooltip insted of "(out of sync)" text
    # Conflicts:
    #	src/qt/forms/overviewpage.ui
    #	src/qt/overviewpage.cpp
    7247d103ff
  10. Relocate calls to CheckDiskSpace
    Make sure we're checking disk space for block index writes and allow for pruning to happen before chainstate writes.
    86a5f4b54e
  11. Clean up parsing of bool command line args 472b4c5dda
  12. Create new BlockPolicyEstimator for fee estimates
    This class groups transactions that have been confirmed in blocks into buckets, based on either their fee or their priority.  Then for each bucket, the class calculates what percentage of the transactions were confirmed within various numbers of blocks.  It does this by keeping an exponentially decaying moving history for each bucket and confirm block count of the percentage of transactions in that bucket that were confirmed within that number of blocks.
    
    -Eliminate txs which didn't have all inputs available at entry from fee/pri calcs
    
    -Add dynamic breakpoints and tracking of confirmation delays in mempool transactions
    
    -Remove old CMinerPolicyEstimator and CBlockAverage code
    
    -New smartfees.py
    
    -Pass a flag to the estimation code, using IsInitialBlockDownload as a proxy for when we are still catching up and we shouldn't be counting how many blocks it takes for transactions to be included.
    
    -Add a policyestimator unit test
    b649e03954
  13. Merge pull request #5159
    b649e03 Create new BlockPolicyEstimator for fee estimates (Alex Morcos)
    2cc1372190
  14. [QT] don't colorize icons on win and mac ca5f688547
  15. Fix incorrect variable name in FindFilesToPrune b89f30775d
  16. Increase timeouts in pruning.py and modify warning language. 8f0947be34
  17. Merge pull request #6125
    472b4c5 Clean up parsing of bool command line args (Alex Morcos)
    351f73ecd5
  18. addrman: update comments
    nUnkBias was removed in https://github.com/bitcoin/bitcoin/pull/5941
    605a735425
  19. Typo in GetRawMemPool RPC method help: "]" --> "}" 803f51efe4
  20. [Trivial] Cryptocurrency is one word
    Cryptocurrency was added to Oxford Dictionaries Online in May 2014.
    8e9248d96b
  21. Capitalized P2P
    Capitalized P2P
    78f44b60d5
  22. [init] better message when no wallet support is compiled in a60bfd810f
  23. Trivial: Corrected owner of DNS seeder dd9e688b3b
  24. [Trivial] Update COPYING
    Corrected header
    3b00e7c231
  25. fix IDE/compiler warning "extra ';'" in validationinterface.h 0a7bcb7e55
  26. remove unused classes from db.h 3703385547
  27. remove unneeded incude of wallet/db.h from rpcmining.cpp 59b149ff82
  28. fix header include groups 5207f33f45
  29. Alphabetic order in makefile ff734e905f
  30. Comment edits and cleanup
    Original PR here: https://github.com/bitcoin/bitcoin/pull/6044
    f13dac972c
  31. depends: sanity-check sources and cached builds
    In some cases (Travis), sources and build caches may be moved around in-between
    builds, and we can't necessarily trust that everything is still intact.
    
    This introduces pre-build checks that verify against stashed checksums.
    
    Note that this will cause all sources to be re-downloaded, since cached sources
    weren't trustworthy before this.
    235b3a789d
  32. Merge pull request #6110
    ca5f688 [QT] don't colorize icons on win and mac (Jonas Schnelli)
    7247d10 [QT] use alert icon with tooltip insted of "(out of sync)" text (Jonas Schnelli)
    51c7c70 [QT] remove frame to avoid double-frame situation in sendcoinsentry.ui (Jonas Schnelli)
    2a6b844 [QT] change transaction amount and height in overview page (Jonas Schnelli)
    a538126a8c
  33. minor: remove unneeded bool in CWalletDB::Recover a5baba52c5
  34. [Qt] add defaultConfirmTarget constant to sendcoinsdialog
    - replaces some hard-coded values for the default confirmation target
    - also simplify code that is using the new constant
    e656560edb
  35. CScheduler class for lightweight task scheduling
    Simple class to manage a task queue that is serviced by one or
    more threads.
    928b950e3b
  36. build: make libboost_chrono mandatory
    previously it was only used with certain boost versions. Now all versions
    require it.
    ca66717d89
  37. scheduler: fix with boost <= 1.50 cfefe5b88c
  38. Merge pull request #6136
    235b3a7 depends: sanity-check sources and cached builds (Cory Fields)
    339321522c
  39. CScheduler unit test 68d370bec4
  40. Create a scheduler thread for lightweight tasks ddd0acd3db
  41. Use CScheduler for net's DumpAddresses
    Instead of starting Yet Another Thread to dump addresses,
    use CScheduler to do it.
    9a1dcea2df
  42. Merge pull request #5964
    9a1dcea Use CScheduler for net's DumpAddresses (Gavin Andresen)
    ddd0acd Create a scheduler thread for lightweight tasks (Gavin Andresen)
    68d370b CScheduler unit test (Gavin Andresen)
    cfefe5b scheduler: fix with boost <= 1.50 (Cory Fields)
    ca66717 build: make libboost_chrono mandatory (Cory Fields)
    928b950 CScheduler class for lightweight task scheduling (Gavin Andresen)
    e656560 [Qt] add defaultConfirmTarget constant to sendcoinsdialog (Philip Kaufmann)
    b4c219b622
  43. Alert if it is very likely we are getting a bad chain
    Create a monitoring task that counts how many blocks have been found in the last four hours.
    
    If very few or too many have been found, an alert is triggered.
    
    "Very few" and "too many" are set based on a false positive rate of once every fifty years of constant running with constant hashing power, which works out to getting 5 or fewer or 48 or more blocks in four hours (instead of the average of 24).
    
    Only one alert per day is triggered, so if you get disconnected from the network (or are being Sybil'ed) -alertnotify will be triggered after 3.5 hours but you won't get another -alertnotify for 24 hours.
    
    Tested with a new unit test and by running on the main network with -debug=partitioncheck
    
    Run test/test_bitcoin --log_level=message to see the alert messages:
        WARNING: check your network connection, 3 blocks received in the last 4 hours (24 expected)
        WARNING: abnormally high number of blocks generated, 60 blocks received in the last 4 hours (24 expected)
    
    The -debug=partitioncheck debug.log messages look like:
        ThreadPartitionCheck : Found 22 blocks in the last 4 hours
        ThreadPartitionCheck : likelihood: 0.0777702
    36cba8f118
  44. Remove assertion from ~LockedPageManager
    This assertion will occur any time that the client quits without
    shutting down properly due to an error condition. As the user will
    report this error instead of the error that was the root cause, it is
    better to remove it.
    881027a79d
  45. doc: Documentation in Markdown for Depends Dir
    Documentation more readable when viewed on Github.
    
    Some extra changes by @laanwj:
    
    - Make README.usage the default README. This is more convenient from a
      user perspective. Link to other documentation in this default README
    
    - Add list of popular targets for cross compilation, change default to
      Win64 instead of Win32
    cc3db874b5
  46. Merge pull request #6045
    cc3db87 doc: Documentation in Markdown for Depends Dir (Shawn Wilkinson)
    16e8ea3dde
  47. Merge pull request #6140
    8f0947b Increase timeouts in pruning.py and modify warning language. (Alex Morcos)
    b89f307 Fix incorrect variable name in FindFilesToPrune (Suhas Daftuar)
    63e7016566
  48. Merge pull request #6102
    86a5f4b Relocate calls to CheckDiskSpace (Alex Morcos)
    67708ac Write block index more frequently than cache flushes (Pieter Wuille)
    b3ed423 Cache tweak and logging improvements (Pieter Wuille)
    fc684ad Use accurate memory for flushing decisions (Pieter Wuille)
    046392d Keep track of memory usage in CCoinsViewCache (Pieter Wuille)
    540629c Add memusage.h (Pieter Wuille)
    6fb90d8983
  49. Merge pull request #5968
    51aa249 Chainparams: Refactor: Decouple IsSuperMajority from Params() (Jorge Timón)
    f0043c2d6d
  50. Fix for clearing fCheckForPruning
    Previously this was cleared only after UnlinkPrunedFiles, but it should really be cleared after FindFilesToPrune, regardless of whether there are any files to be pruned.
    c208040354
  51. Merge pull request #6135
    f13dac9 Comment edits and cleanup (BitcoinPRReadingGroup)
    ff734e9 Alphabetic order in makefile (Jorge Timón)
    5207f33 fix header include groups (Philip Kaufmann)
    59b149f remove unneeded incude of wallet/db.h from rpcmining.cpp (Philip Kaufmann)
    3703385 remove unused classes from db.h (Philip Kaufmann)
    0a7bcb7 fix IDE/compiler warning "extra ';'" in validationinterface.h (Philip Kaufmann)
    3b00e7c [Trivial] Update COPYING (sandakersmann)
    dd9e688 Trivial: Corrected owner of DNS seeder (ayeowch)
    a60bfd8 [init] better message when no wallet support is compiled in (Philip Kaufmann)
    78f44b6 Capitalized P2P (sandakersmann)
    8e9248d [Trivial] Cryptocurrency is one word (sandakersmann)
    803f51e Typo in GetRawMemPool RPC method help: "]" --> "}" (Chris Arnesen)
    605a735 addrman: update comments (Pavel Vasin)
    e47c94e64c
  52. qt: translations update ac75bafafd
  53. Consensus: Refactor: Decouple CValidationState from main::AbortNode() 27afcd89db
  54. Consensus: MOVEONLY: Move CValidationState from main consensus/validation da29ecbcc6
  55. Chainparams: Refactor: Decouple main::GetBlockValue() from Params() [renamed GetBlockSubsidy]
    Remove redundant getter CChainParams::SubsidyHalvingInterval()
    935bd0a447
  56. Merge pull request #6129
    c208040 Fix for clearing fCheckForPruning (Alex Morcos)
    2a822987dd
  57. Merge pull request #6137
    a5baba5 minor: remove unneeded bool in CWalletDB::Recover (Philip Kaufmann)
    97ccfdca8a
  58. Merge pull request #6062
    ff7fe8b Fix for correctly including climits on certain platforms {DragonFlyBSD}. (sinetek)
    ec82d8c99c
  59. Missing from Documentation Index 3a6cc3cbb6
  60. More robust CScheduler unit test
    On a busy or slow system, the CScheduler unit test could fail because it
    assumed all threads would be done after a couple of milliseconds.
    
    Replace the hard-coded sleep with CScheduler stop() method that
    will cleanly exit the servicing threads when all tasks are completely
    finished.
    f50105486f
  61. Merge pull request #6146
    f501054 More robust CScheduler unit test (Gavin Andresen)
    3c60937ce6
  62. Merge pull request #6150
    3a6cc3c Missing from Documentation Index (Shawn Wilkinson)
    ec81395a4c
  63. Merge pull request #6144
    881027a Remove assertion from ~LockedPageManager (Wladimir J. van der Laan)
    a6d2e31e8b
  64. wallet: Introduce constant for `-txconfirmtarget` default 77ed59df4d
  65. Change default nTxConfirmTarget to 2 2457dc43ac
  66. Merge pull request #6126
    2457dc4 Change default nTxConfirmTarget to 2 (Alex Morcos)
    77ed59d wallet: Introduce constant for `-txconfirmtarget` default (Wladimir J. van der Laan)
    26e08a16a6
  67. 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.
    8c35b6f3be
  68. [QA] restructure rpc tests directory
    * move non-test classes to subdir `test-framework`
    64937fe51a
  69. extend rpc-tests.sh control script with non-travis tests 344e08ed16
  70. update rpc-tests readme.md 00706a5436
  71. pull-tester/rpc-tests.sh: allow passing throug of arguments 3e875b1bef
  72. [Docs] fix and improve REST documentation
    - fix bad formatting of getutxos
    - added getztxos example
    - fix different command syntax
    b448002772
  73. Merge pull request #6154
    b448002 [Docs] fix and improve REST documentation (Jonas Schnelli)
    a5a521e842
  74. doc: Add historical release notes for 0.10.1 0.10.2 0.9.4 be31ff7d8d
  75. [Mac only] rename Bitcoin-Qt.app to "Bitcoin Core.app" 7cef321e65
  76. build: Cope with spaces in filenames when creating/applying OSX sigs d1a3866e0b
  77. qt: fix unused function warning in scicon.cpp
    Enclose MakeSingleColorImage in an anonymous namespace to avoid a
    unused function warning on Windows and MacOSX.
    
    Github-Pull: #6143
    e2e7f9513f
  78. Merge pull request #5996
    935bd0a Chainparams: Refactor: Decouple main::GetBlockValue() from Params() [renamed GetBlockSubsidy] (Jorge Timón)
    377711ff3f
  79. [QT] overviewpage: make sure warning icons gets colored 16d9cb7e29
  80. pull-tester/rpc-tests.sh: disable script_test.py test a85b2e221b
  81. [QT] mainwindow toolbar must not be movable fb21862b92
  82. Merge pull request #6116
    d1a3866 build: Cope with spaces in filenames when creating/applying OSX sigs (Cory Fields)
    7cef321 [Mac only] rename Bitcoin-Qt.app to "Bitcoin Core.app" (Jonas Schnelli)
    30dc3c1b38
  83. Merge pull request #6161
    fb21862 [QT] mainwindow toolbar must not be movable (Jonas Schnelli)
    180c164e4f
  84. Merge pull request #6160
    16d9cb7 [QT] overviewpage: make sure warning icons gets colored (Jonas Schnelli)
    0d862c2739
  85. contrib/linearize: Support linearization of testnet blocks 7f68c7dc05
  86. Fix intermittent hang issue in scheduler_tests
    Don't clear `stopRequested` and `stopWhenEmpty` at the top of
    `serviceQueue`, as this results in a race condition: on systems under
    heavy load, some of the threads only get scheduled on the CPU when the
    other threads have already finished their work. This causes the flags to
    be cleared post-hoc and thus those threads to wait forever.
    
    The potential drawback of this change is that the scheduler cannot be
    restarted after being stopped (an explicit reset would be needed), but
    we don't use this functionality anyway.
    bdcf5dea7c
  87. rpc-tests: remove python-bitcoinrpc directory
    place authproxy.py at same level as other utility classes
    7b7f258396
  88. Merge pull request #6171
    bdcf5de Fix intermittent hang issue in scheduler_tests (Wladimir J. van der Laan)
    4bf83b27b2
  89. Update Windows resource files (and add one for bitcoin-tx) cc24610fdb
  90. Merge pull request #6168
    7f68c7d contrib/linearize: Support linearization of testnet blocks (Jeff Garzik)
    b3024f077b
  91. Merge pull request #6098
    cc24610 Update Windows resource files (and add one for bitcoin-tx) (Luke Dashjr)
    7708fcde36
  92. Catch errors on datadir lock and pidfile delete
    Prevents bad permissions (or other fs related problems) from resulting
    in hard crashes with cryptic messages on startup and shutdown.
    ffdda4e8a7
  93. doc: add translation strings policy 213f257a03
  94. doc: Add historical release notes 0.9.5 2d84241d26
  95. Merge pull request #6159
    ffdda4e Catch errors on datadir lock and pidfile delete (Adam Weiss)
    e1412d3e96
  96. Simplify code for CSubnet
    Simplify the code by using CAddress.ip directly, instead of the reversed
    GetByte() semantics.
    19e8d7be42
  97. 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.
    b45c50ce51
  98. Merge pull request #5947
    36cba8f Alert if it is very likely we are getting a bad chain (Gavin Andresen)
    e9af4e65b5
  99. Remove duplicate chainparams.h include from alert_tests 8697ff33ed
  100. Merge pull request #6187
    8697ff3 Remove duplicate chainparams.h include from alert_tests (Michael Ford)
    847be04449
  101. Merge pull request #5976
    8ba7f84 Reduce download timeouts as blocks arrive (Suhas Daftuar)
    9f7809f6c3
  102. doc: Add preliminary changelog for 0.11 to release notes e3ed6a9785
  103. qt: Periodic translation update 165e323d85
  104. Autoprune release notes included 44e1aad500
  105. gitian-downloader: Update luke-jr's key 1fe4c4fcff
  106. Merge pull request #6186
    b45c50c Fix two problems in CSubNet parsing (Wladimir J. van der Laan)
    19e8d7b Simplify code for CSubnet (Wladimir J. van der Laan)
    182686cdbd
  107. Merge pull request #6174
    213f257 doc: add translation strings policy (Wladimir J. van der Laan)
    df992b9c18
  108. Merge pull request #6153
    8c35b6f Parameter interaction: disable upnp if -proxy set (Wladimir J. van der Laan)
    0bcf04f046
  109. rest.cpp: strip whitespace 64b8027c5c
  110. Merge pull request #6190
    1fe4c4f gitian-downloader: Update luke-jr's key (Luke Dashjr)
    68aff60e4a
  111. Merge pull request #6097
    7b7f258 rpc-tests: remove python-bitcoinrpc directory (Jonas Schnelli)
    a85b2e2 pull-tester/rpc-tests.sh: disable script_test.py test (Jonas Schnelli)
    3e875b1 pull-tester/rpc-tests.sh: allow passing throug of arguments (Jonas Schnelli)
    00706a5 update rpc-tests readme.md (Jonas Schnelli)
    344e08e extend rpc-tests.sh control script with non-travis tests (Jonas Schnelli)
    64937fe [QA] restructure rpc tests directory (Jonas Schnelli)
    c608b6daf9
  112. Merge pull request #6189
    44e1aad Autoprune release notes included (mrbandrews)
    2b2d5b92b9
  113. Merge pull request #5669
    da29ecb Consensus: MOVEONLY: Move CValidationState from main consensus/validation (jtimon)
    27afcd8 Consensus: Refactor: Decouple CValidationState from main::AbortNode() (Cory Fields)
    c7c9af381c
  114. Fix walletbackup.py after directory restructuring
    Also add walletbackup.py to rpc-tests.sh
    ee9a2e4271
  115. Chainparams: Explicit CMessageHeader::MessageStartChars to functions in main:
    -UndoWriteToDisk
    -WriteBlockToDisk
    e69734309c
  116. Merge pull request #6173
    e697343 Chainparams: Explicit CMessageHeader::MessageStartChars to functions in main: (Jorge Timón)
    ce56f5621a
  117. Eliminate compiler warning due to unused variable 8273793350
  118. [REST] remove json input for getutxos, limit to query max. 15 outpoints
    Remove possibility to send json encoded parameters to `/rest/getutxos/` to avoid possible DoS scenarios.
    
    The JSON output option is untouched.
    6e71efa9f0
  119. Merge pull request #6194
    ee9a2e4 Fix walletbackup.py after directory restructuring (Suhas Daftuar)
    fb061c3391
  120. doc: Add to 0.11 release notes
    Add information about further notable changes:
    
    - Big endian support
    - Memory usage optimization
    - Disable wallet transaction broadcast
    - Stream isolation for Tor
    b679a6b403
  121. [net, trivial] explicitly use std::string for FindNode
    - in OpenNetworkConnection we have a FindNode call, which gets a const
      char*, wheras we only have defined a FindNode for std::string
    49b22928ee
  122. [net, trivial] remove using namespace std pollution in netbase.cpp d6922aad2c
  123. Merge pull request #6195
    8273793 Eliminate compiler warning due to unused variable (Suhas Daftuar)
    921ea89bc3
  124. Merge pull request #6193
    6e71efa [REST] remove json input for getutxos, limit to query max. 15 outpoints (Jonas Schnelli)
    64b8027 rest.cpp: strip whitespace (Jonas Schnelli)
    42746b0476
  125. Merge pull request #6208
    d6922aa [net, trivial] remove using namespace std pollution in netbase.cpp (Philip Kaufmann)
    49b2292 [net, trivial] explicitly use std::string for FindNode (Philip Kaufmann)
    e9d0d252fc
  126. Bump version to 0.11 8e15efa76c
  127. qt: Periodic translation update 2be094eeba
  128. Fix off-by-one error w/ nLockTime in the wallet
    Previously due to an off-by-one error the wallet ignored
    nLockTime-by-height transactions that would be valid in the next block
    even though they are accepted into the mempool. The transactions
    wouldn't show up until confirmed, nor would they be included in the
    unconfirmed balance. Similar to the mempool behavior fix in 665bdd3b,
    the wallet code was calling IsFinalTx() directly without taking into
    account the fact that doing so tells you if the transaction could have
    been mined in the *current* block, rather than the next block.
    
    To fix this we strip IsFinalTx() of non-consensus-critical
    functionality, removing the default arguments, and add CheckFinalTx() to
    check if a transaction will be final in the next block.
    
    Github-Pull: #6183
    Rebased-From: 28bf06236d3b385e95fe26a7a742395b30efd6ee
    75a4d512cf
  129. Ignore getheaders requests when not synced.
    Rebased-From: a1ba0778dd3c784046dea334e5d39f37eca264f7
    Github-Pull: #6172
    b4bbad18ef
  130. build: disable optional use of gmp in internal secp256k1 build
    Until secp256k1 is used for verification there is no reason for Bitcoin
    Core's secp256k1 to link against gmp, even if available. Pass a flag to
    configure to override the bignum implementation.
    
    This fixes a crash at runtime on ppc64 reported by @gmaxwell.
    
    Github-Pull: #6210
    Rebased-From: 7fd5b801ff16d748b5ca13ded09ed5da8eacf7e7
    dfdb6dd052
  131. Remove P2SH coinbase flag, no longer interesting
    Github-Pull: #6203
    Rebased-From: d449772cf69c01932fc5d72c46054815d6300b3c
    c00ae64f77
  132. gitian: Bump cache dir for 0.11 7d4b5cbee3
  133. [OSX] revert renaming of Bitcoin-Qt.app
    Github-Pull: #6214
    Rebased-From: a2241eabfdbdadd2f96c0a538b9901257831b642
    4d435d1c9a
  134. OSX: use "Bitcoin Core" as Bundle Display Name
    Github-Pull: #6214
    Rebased-From: 0a32a9347e12a8d1d4a46bf9a1d5b3ae13bbe501
    6145fdf47e
  135. 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
    5901596548
  136. osx: set min version to 10.7 for 0.11+
    Github-Pull: #6218
    Rebased-From: c3cdd7b31201e1f3f78f816d8456d04c00e06418
    ecdcf13ede
  137. gitian: bump faketime to something more recent
    This helps in file views where binaries are sorted by time
    
    Github-Pull: #6218
    Rebased-From: be656283f98896df0bc8634d446b2873f9fed573
    7a4304ecc7
  138. Merge pull request #6219
    7d4b5cb gitian: Bump cache dir for 0.11 (Cory Fields)
    666e973b2f
  139. Be stricter in processing unrequested blocks
    AcceptBlock will no longer process an unrequested block, unless it has not
    been previously processed and has more work than chainActive.Tip()
    
    Github-Pull: #5875
    Rebased-From: 9be0e6837b878f72bd087ce32b7a2f2ffb2fd544
    304892fc03
  140. P2P regression test for new AcceptBlock behavior
    Github-Pull: #5875
    Rebased-From: aa8c827968a68a3adc4df5f126635e37a71a7fbb
    2edec4fe68
  141. doc: update release notes 32b011781d
  142. Bugfix: Correct links for Xcode download cfc600d833
  143. Merge pull request #6238
    cfc600d Bugfix: Correct links for Xcode download (Luke Dashjr)
    053110ddcb
  144. Disable partition check for now, it triggers too often (issue #6251) 3eada74d6f
  145. configure: Detect (and reject) LibreSSL
    Rebased-From: a5a81f7354b3aa3e797d973a7e6840f0e50e6533
    Github-Pull: #6244
    0401aa2e8f
  146. Fix removing of orphan transactions
    We don't want to erase orphans that still have missing inputs, they should still be tracked as orphans.  Also, the transaction thats being accepted can't be an orphan otherwise it would have previously been accepted, so doesn't need to be added to the erase queue.
    
    Github-Pull: #5985
    Rebased-From: 14d4eef79931318cb5968f9154cf458d9f8d27fa
    37b4e425af
  147. Prune: Support noncontiguous block files
    In some corner cases, it may be possible for recent blocks to end up in
    the same block file as much older blocks.  Previously, the pruning code
    would stop looking for files to remove upon first encountering a file
    containing a block that cannot be pruned, now it will keep looking for
    candidate files until the target is met and all other criteria are
    satisfied.
    
    This can result in a noncontiguous set of block files (by number) on
    disk, which is fine except for during some reindex corner cases, so
    make reindex preparation smarter such that we keep the data we can
    actually use and throw away the rest.  This allows pruning to work
    correctly while downloading any blocks needed during the reindex.
    
    Rebased-From: c257a8c9a6397eee40734b235a4fdcb8045aec91
    Github-Pull: #6221
    6cb70ca4ee
  148. Remove translation for -help-debug options
    Github-Pull: #6264
    Rebased-From: 9b5659d1c4c62bc6b80e35ff7573c781835e4187
    94cd7051a3
  149. 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
    c9fd9078ce
  150. gitian: Use the new bitcoin-detached-sigs git repo for OSX signatures
    Rather than fetching a signature.tar.gz from somewhere on the net, instruct
    Gitian to use a signature from a tag in the bitcoin-detached-sigs repository
    which corresponds to the tag of the release being built.
    
    This changes detached-sig-apply.sh to take a dirname rather than a tarball as
    an argument, though detached-sig-create.sh still outputs a tarball for
    convenience.
    
    Github-Pull: #6269
    Rebased-From: c110575a92ebe2e9a58b53d56aafa1f1ae37dbb2
    95aca44095
  151. 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.
    
    Github-Pull: #6274
    Rebased-From: 02a6702a82a5b00e0e0351041dd3267308b7f319
    4d9c7fe61d
  152. Use best header chain timestamps to detect partitioning
    The partition checking code was using chainActive timestamps
    to detect partitioning; with headers-first syncing, it should use
    (and with this pull request, does use) pIndexBestHeader timestamps.
    
    Fixes issue #6251
    
    Github-Pull: #6256
    Rebased-From: 65b94545036ae6e38e79e9c7166a3ba1ddb83f66
    fce474c9df
  153. translation update pre-rc2 2617b75e15
  154. Fix scheduler build with some boost versions.
    Some boost versions have a conflicting overload of wait_until that returns void.
    Explicitly use a template here to avoid hitting that overload.
    
    Github-Pull: #6285
    Rebased-From: 72bf90d770ce5b2653fd482928646cd6a9f5f6d7
    ef1d506054
  155. remove berkeley-db4 workaround
    "brew install berkeley-db4" appears to be working again.  simplified instructions by removing the berkeley-db4 workaround.
    
    Github-Pull: #6286
    Rebased-From: a3a80c253cdd0299f92b9e1ba9888f0f9421f245
    3902c15a03
  156. depends: fix Boost 1.55 build on GCC 5
    Boost assumes variadic templates are always available in GCC 4.4+, but
    they aren't since we don't build with -std=c++11.
    
    This applies the patch that fixed the issue in boost 1.57:
    https://github.com/boostorg/config/commit/eec808554936ae068b23df07ab54d4dc6302a695
    
    See also: https://svn.boost.org/trac/boost/ticket/10500
    
    Github-Pull: #6280
    Rebased-From: b19a88b2a0e7bd9ef603055bc8e1ef058673025d
    25c2216168
  157. doc: Update release notes for rc2 5f032c75ee
  158. Revert "Disable partition check for now, it triggers too often (issue #6251)"
    Re-enable partition check, it should be safe again after #6256.
    
    This reverts commit 3eada74d6f4720e650c67461c04c3aafdeaff21e.
    e6334f4aad
  159. 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
    3f8fcc92b7
  160. gitian: add a gitian-win-signer descriptor
    This is exactly like the current OSX signing process.
    
    osslsigncode has been patched to detach and re-attach Windows signatures.
    The changes can be seen here: https://github.com/theuni/osslsigncode/commits/attach-signature
    
    There's a pull-request open upstream for the changes:
    https://sourceforge.net/p/osslsigncode/osslsigncode/merge-requests/3/
    
    This work has been back-ported to the stable 1.7.1 release of osslsigncode, so
    that a smaller patch can be reviewed.
    
    Github-Pull: #6303
    Rebased-From: d08cfc2bd752fdb1e8547f957f1c38275540df7a
    b7115995d7
  161. Add an alternate location of endian.h header
    Github-Pull: #6246
    Rebased-From: 0640a5eb60b06de61f873fd88ae0252f5a11c339
    8ea6d37aee
  162. fix crash on shutdown when e.g. changing -txindex and abort action
    - fixes #3136
    - the problem is related to Boost path and a static initialized internal
      pointer
    - using a std::string in CDBEnv::EnvShutdown() prevents the problem
    - this removes the boost::filesystem::path path field from CDBEnv
    
    Github-Pull: #6282
    Rebased-From: 0ce30eaa36295447c6e7f8d16a05798c746fe28a
    daf956b7b1
  163. doc: mention bitcoin-submittx example in release notes 88accef336
  164. Advance pindexLastCommonBlock for blocks in chainActive
    This prevents an edge case where a block downloaded and pruned
    in-between successive calls to FindNextBlocksToDownload could
    cause the block to be unnecessarily re-requested.
    
    Github-Pull: #6233
    Rebased-From: 3e9143386a90e508c8d41719294db11264f5f0a0
    a587606525
  165. Hardcoded seeds update June 2015
    - Moved all seed related scripts to contrib/seeds for consistency
    - Updated `makeseeds.py` to handle IPv6 and onions, fix regular
      expression for recent Bitcoin Core versions
    - Fixed a bug in `generate-seeds.py` with regard to IPv6 parsing
    
    Allow for non-8333 nodes to appear in the internal seeds. This will
    allow bitcoind to bypas a filter on 8333. This also makes it possible to
    use the same tool for e.g. testnet.
    
    As hosts with multiple nodes per IP are likely abusive, add a filter to
    remove these (the ASN check will take care of them for IPv4, but not
    IPv6 or onion).
    
    Github-Pull: #6333
    Rebased-From: ccd4369a23ca78cc348bc66a7a8c69a971ffcbf7 884454aebe9e20964643b70ff8c41f47709380bc b9329536cd8a6c152b41c9276f1def14b4d2442d
    41bbc85ec9
  166. gitian: make the windows signing process match OSX
    Github-Pull: #6354
    Rebased-From: a3ba9a553acefd567ccb304b8600d2149ffab9aa
    bdf0d94d45
  167. Ideal release process for Windows detached signing
    This is an ideal version of what the release process should look like,
    making it more consistent with the OS X process. Some of the changes
    described here would need to be made in the descriptors, which is somewhat
    beyond what I would feel comfortable doing, not really understanding the signature process in depth.
    
    [skip ci]
    
    Github-Pull: #6354
    Rebased-From: 6e849b8309558ec83710d86c0f784566996da58b
    bad1e8b358
  168. update release notes for 0.11.0rc3 afc60de416
  169. assets-attribution: Update typicons to MIT license
    stephenhutchings commented 3 Jul 2015, 6:35 GMT:
    > Hi Luke, happy for these to be distributed under the terms of the MIT licence.
    > Let me know if you need anything further from me.
    dae0a89d4b
  170. Merge pull request #6369
    dae0a89 assets-attribution: Update typicons to MIT license (Luke Dashjr)
    7bf37e19d2
  171. release notes for fee estimation changes 9a2469e1ce
  172. Merge pull request #6383
    9a2469e release notes for fee estimation changes (Alex Morcos)
    ebad618919
  173. Fix typo in release notes. 5460b24fed
  174. Merge pull request #6397
    5460b24 Fix typo in release notes. (spin)
    757ceaab0a
  175. doc: add important information about tx flood to release notes d26f951802
  176. doc: Remove recommendation to add old repos for libd4.8*
    It is unreasonable to ask to change the global package configuration
    just to build a package. Not only that, this is potentially harmful to the system.
    
    Also do a few punctuation fixes in REST-interface.md.
    
    Github-Pull: #6413
    Rebased-From: 9fbca205d4eaaf82be718b69c6533078aeb3081c
    d7101a6d31
  177. qt: define QT_NO_KEYWORDS
    QT_NO_KEYWORDS prevents Qt from defining the `foreach`, `signals`,
    `slots` and `emit` macros.
    
    Avoid overlap between Qt macros and boost - for example #undef hackiness
    in #6421.
    
    Conflicts:
    	src/qt/addressbookpage.cpp
    	src/qt/peertablemodel.cpp
    	src/qt/receivecoinsdialog.cpp
    	src/qt/rpcconsole.cpp
    
    Rebased-From: d29ec6c2301e593d577126d1ca85b93307b32bf1
    Github-Pull: #6433
    e092f22951
  178. qt: update forgotten emit to Q_EMIT in macdockiconhandler.mm
    Leftover from #6433
    
    Rebased-From: ce183dce2e13c23ed279f4d9dae281e8e5977ebd
    164966705a
  179. openssl: avoid config file load/race
    Github-Pull: #6438
    Rebased-From: d4b1d5a8baf18e4c8d62846360c0c1c0c9331d70
    253143860d
  180. Updated URL location of netinstall for Debian
    Github-Pull: #6439
    Rebased-From: 09d4ddf1c5841b757c2676d508a68baa2dbdc4c7
    980f820a92
  181. qt: periodic translations update ea5b5ddd7c
  182. Test whether created sockets are select()able
    Conflicts:
    	src/net.cpp
    
    Rebased-From: d422f9b1fdb42a51aadaa1bbc157542dca2feb17
    0095b9a1ff
  183. Fix warning introduced by #6412
    SOCKET are defined as unsigned integers, thus always >=0.
    
    Rebased-From: 89289d875da108c42ca013f33597eda46cb6eb53
    e8b87c8f78
  184. qt: Force TLS1.0+ for SSL connections
    Github-Pull: #6384
    Rebased-From: 15e26a6a9afe299b9ca6fced73b876644365879b
    8e5a96908a
  185. Depends: bump to qt 5.5
    Github-Pull: #6471
    Rebased-From: fe997dfd121e3d82464908940753b77ebf61a10d 5189fe3d88b7d0154758379a877533fe364dec87 ab67dd7818ff2d0910f3fd9bfca9412d85de4424 ecd6a89381a34d4bcd07593a2e377656d070a7ed 060b3d377b0a0d318f630beb7fe4d8f41b99981c
    92401c2d90
  186. Cache transaction validation successes
    Conflicts:
    	src/main.cpp
    	src/test/test_bitcoin.cpp
    
    Github-Pull: #6077
    Rebased-From: 17b11428c135203342aff38cabc8047e673f38ac 517e6dd25618522c716e64859554b0f29c6e65d0
    bc484ef8db
  187. Revert "Cache transaction validation successes"
    This reverts commit bc484ef8db02715e283e4cddd2c972316c0688dd.
    5c27f1247a
  188. Be even stricter in processing unrequested blocks
    Github-Pull: #6224
    Rebased-From: bfc30b34374d71928acee5ff41282f09cedfd5e4 6b1066fab41523d25d75b45a10e4b0f61d7c61d0 04b5d235f1560b8285591b963d3636f7ddf74563 59b49cd07482494d9a99068af502be9ceda41ed2
    93b606aee4
  189. consensus: cache the openssl EC_GROUP to avoid a race condition for each CECKey instantiation
    Github-Pull: #6571
    Rebased-From: 1d1073c2d3231a9de4adbc2bc46846fc20b34f9e
    100ac4e185
  190. Do not store more than 200 timedata samples.
    Github-Pull: #6545
    Rebased-From: 8be371db340b03dc03142c1bb3390fdfc84f56b4
    649f5d9c11
  191. travis: for travis generating an extra build 1f4d7cf20b
  192. Add autogen.sh to source tarball. a37567dd44
  193. tests: Remove old sh-based test framework
    This removes the `conflictedbalance.sh` test as well, but that test has
    been broken for a long time and isn't part of any scripts.
    What it does is, IMO, sufficiently tested by other tests.
    49c6a64202
  194. Remove bash test note from rpc-tests readme a496e11d7c
  195. locking: fix a few small issues uncovered by -Wthread-safety
    - rpcwallet: No need to lock twice here
    - openssl: Clang doesn't understand selective lock/unlock here. Ignore it.
    - CNode: Fix a legitimate (though very unlikely) locking bug.
    60457d3c2f
  196. 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.
    f6355e6918
  197. 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.
    5a3913361d
  198. Make sure LogPrintf strings are line-terminated
    Fix the cases where LogPrint[f] was accidentally called without line
    terminator, which resulted in concatenated log lines.
    
    (see e.g. #6492)
    7ff9d122e4
  199. Make sure LogPrint strings are line-terminated e0020d4c44
  200. Delay initial pruning until after wallet init
    Don't prune until any wallet rescanning has taken place to avoid
    potentially pruning blocks that the wallet rescan may need.
    e6adac7b3f
  201. Use unique name for AlertNotify tempfile f6d29a6ca8
  202. Handle no chain tip available in InvalidChainFound()
    Handle the case where no chain tip is available, in InvalidChainFound(). This fixes a null pointer deference when running unit tests, if the genesis block or block validation code is broken.
    4a3741028e
  203. Fix race condition on test node shutdown c5b89fe44e
  204. 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.
    f171fee035
  205. Add missing files to files.md
    typo
    48770534a6
  206. Make sure we re-acquire lock if a task throws 626c5e6936
  207. Replace boost::reverse_lock with our own. 6b51b9b195
  208. Fix masking of irrelevant bits in address groups. 13642a50eb
  209. add unit test for CNetAddr::GetGroup. 1f6772e9f0
  210. 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.
    ccc4ad6c4d
  211. rpc-tests: re-enable rpc-tests for Windows 13bd5a75b5
  212. add support for miniupnpc api version 14
    The value of new arg ttl is set to 2 as it's recommended default.
    21c406eda0
  213. PARTIAL: typofixes (found by misspell_fixer)
    Upstream: 9f68ed6b6d1a9c6436ce37913666165f2b180ee3 (PR #6539)
    45bfa137ef
  214. [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
    834e299564
  215. Merge pull request #6703
    45bfa13 PARTIAL: typofixes (found by misspell_fixer) (Veres Lajos)
    21c406e add support for miniupnpc api version 14 (Pavel Vasin)
    13bd5a7 rpc-tests: re-enable rpc-tests for Windows (Cory Fields)
    ccc4ad6 net: Set SO_REUSEADDR for Windows too (Cory Fields)
    1f6772e add unit test for CNetAddr::GetGroup. (Alex Morcos)
    13642a5 Fix masking of irrelevant bits in address groups. (Alex Morcos)
    6b51b9b Replace boost::reverse_lock with our own. (Casey Rodarmor)
    626c5e6 Make sure we re-acquire lock if a task throws (Casey Rodarmor)
    4877053 Add missing files to files.md (fanquake)
    f171fee Handle leveldb::DestroyDB() errors on wipe failure (Adam Weiss)
    c5b89fe Fix race condition on test node shutdown (Casey Rodarmor)
    4a37410 Handle no chain tip available in InvalidChainFound() (Ross Nicoll)
    f6d29a6 Use unique name for AlertNotify tempfile (Casey Rodarmor)
    e6adac7 Delay initial pruning until after wallet init (Adam Weiss)
    e0020d4 Make sure LogPrint strings are line-terminated (J Ross Nicoll)
    7ff9d12 Make sure LogPrintf strings are line-terminated (Wladimir J. van der Laan)
    5a39133 build: fix libressl detection (Cory Fields)
    f6355e6 Avoid leaking file descriptors in RegisterLoad (Casey Rodarmor)
    60457d3 locking: fix a few small issues uncovered by -Wthread-safety (Cory Fields)
    a496e11 Remove bash test note from rpc-tests readme (fanquake)
    49c6a64 tests: Remove old sh-based test framework (Wladimir J. van der Laan)
    a37567d Add autogen.sh to source tarball. (randy-waterhouse)
    1f4d7cf travis: for travis generating an extra build (Cory Fields)
    1cd7952dde
  216. qt: periodic translation update 8a915e56f4
  217. Add uint256 support to CRollingBloomFilter
    (cherry picked from commit bbe41088c61f2ad328766e851ffe6169aa80935a)
    2983fe0484
  218. Reuse vector hashing code for uint256
    (cherry picked from commit a3d65fedaa18686f0cc007d0a13dba6545250300)
    25cf1220e6
  219. Make CRollingBloomFilter set nTweak for you
    While CBloomFilter is usually used with an explicitly set nTweak,
    CRollingBloomFilter is only used internally. Requiring every caller to
    set nTweak is error-prone and redundant; better to have the class handle
    that for you with a high-quality randomness source.
    
    Additionally when clearing the filter it makes sense to change nTweak as
    well to recover from a bad setting, e.g. due to insufficient randomness
    at initialization, so the clear() method is replaced by a reset() method
    that sets a new, random, nTweak value.
    
    (cherry picked from commit d2d7ee0e863b286e1c9f9c54659d494fb0a7712d)
    83671efe99
  220. Only use randomly created nonces in CRollingBloomFilter.
    (cherry picked from commit d741371d7d27e228aa64c618c50b23fb5449c3e1)
    6eed52e05b
  221. Keep track of recently rejected transactions
    Nodes can have divergent policies on which transactions they will accept
    and relay.  This can cause you to repeatedly request and reject the same
    tx after its inved to you from various peers which have accepted it.
    Here we add rolling bloom filter to keep track of such rejections,
    clearing the filter every time the chain tip changes.
    
    Credit goes to Alex Morcos, who created the patch that this code is
    based on.
    
    Original code by Peter Todd. Refactored to not construct the
    filter at startup time by Pieter Wuille.
    
    (cherry picked from commit 0847d9cb5fcd2fdd5a21bde699944d966cf5add9)
    ec9b6c33e8
  222. Move recentRejects initialization to top of InitBlockIndex
    This avoids that premature return in the condition that a new chain is initialized
    results in NULL pointer errors due to recentReject not being constructed.
    
    Also add assertions where it is used.
    
    (cherry picked from commit a8d0407c4fcf7c4e8ed0e8edabd204f7a4efa477)
    5094a81d3b
  223. Merge pull request #6750
    5094a81 Move recentRejects initialization to top of InitBlockIndex (Wladimir J. van der Laan)
    ec9b6c3 Keep track of recently rejected transactions (Peter Todd)
    6eed52e Only use randomly created nonces in CRollingBloomFilter. (Pieter Wuille)
    83671ef Make CRollingBloomFilter set nTweak for you (Peter Todd)
    25cf122 Reuse vector hashing code for uint256 (Pieter Wuille)
    2983fe0 Add uint256 support to CRollingBloomFilter (Peter Todd)
    5ed8d0b37e
  224. 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
    
    Rebased-From: b196b685c9089b74fd4ff3d9a28ea847ab36179b
    Github-Pull: #6769
    71cc9d9fe8
  225. 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
    684636ba67
  226. Move LOCKTIME_THRESHOLD to src/script/script.h
    Will now be needed by CHECKLOCKTIMEVERIFY code.
    
    Rebased-From: 48e9c57cf06352f890eac4285ae022d8746cf3fd
    6ec08db338
  227. 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
    4fa7a048d1
  228. 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
    6ea5ca4b4e
  229. Add CHECKLOCKTIMEVERIFY (BIP65) soft-fork logic
    Based on the earlier BIP66 soft-fork logic implemented by Pieter
    Wuille's 5a47811da5158df763aa2fca09ce646ee0c51e7b
    
    Rebased-From: 287f54fc90c29301faede8d4ac2ea24a91441917
    5e82e1c8f5
  230. 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
    c5a27f4fb3
  231. 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
    70a427b2b5
  232. Show softfork status in getblockchaininfo
    Rebased-From: 5ed10793c2df970d07cecd760c42205e68779e83
    ba1da90b33
  233. Add BIP65 to getblockchaininfo softforks list
    Rebased-From: 54a200ac9ad8909303ccf1ac49c291e0c2b5fb23
    6af25b0f64
  234. In (strCommand == "tx"), return if AlreadyHave()
    The main effect is to exit processing for recently-rejected hashes,
    in case they are pushed to us without prior advertisement.  This
    behavior was seen in the wild.
    
    An additional effect is to do early checks for mempool or mapOrphan
    existence.  No logging or nDoS tracking is needed for failures of
    these checks.
    36f14bf2e7
  235. 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
    b4ad73f706
  236. Merge pull request #6785
    36f14bf In (strCommand == "tx"), return if AlreadyHave() (Tom Harding)
    b4dc33e9fb
  237. doc: Update release notes for 0.11.1 04d0c27fb0
  238. qt: Update translations before 0.11.1 d7d87a1db1
  239. doc: #6077 was reverted, don't mention in release notes
    Reported by sipa
    17ea542aa6
  240. Bump version to 0.11.1 717152ccba
  241. 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.
    
    Github-Pull: #6795
    Rebased-From: 21d27ebad5721bc61c62bc72dc3ab3197f9da268
    4dbcec03ab
  242. 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
    e7bcc4aac3
  243. doc: update release notes for 0.11.1rc2 dad3e98e8f
  244. doc: Add Luke Dashjr to credits in release notes
    Somehow missed...
    cf33f196e7
  245. Add historical release notes for October 2015 bugfix releases
    [skip ci]
    
    Rebased-From: d57586f91c6cfe7480ae87b81a041009776a33af
    Github-Pull: #6832
    09a00a1f7f
  246. 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
    21e58b8e35
  247. Make fee aware of min relay in pruning.py RPC test
    Rebased-From: b6d5e32e0e5b038c6ff7e2ab5221b10727722341
    Github-Pull: #6841
    072032448b
  248. 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
    95a50390e1
  249. Merge pull request #6707
    6af25b0 Add BIP65 to getblockchaininfo softforks list (Peter Todd)
    ba1da90 Show softfork status in getblockchaininfo (Wladimir J. van der Laan)
    70a427b CLTV: Add more tests to improve coverage (Esteban Ordano)
    c5a27f4 Add RPC tests for the CHECKLOCKTIMEVERIFY (BIP65) soft-fork (Peter Todd)
    5e82e1c Add CHECKLOCKTIMEVERIFY (BIP65) soft-fork logic (Peter Todd)
    6ea5ca4 Enable CHECKLOCKTIMEVERIFY as a standard script verify flag (Peter Todd)
    4fa7a04 Replace NOP2 with CHECKLOCKTIMEVERIFY (BIP65) (Peter Todd)
    6ec08db Move LOCKTIME_THRESHOLD to src/script/script.h (Peter Todd)
    684636b Make CScriptNum() take nMaxNumSize as an argument (Peter Todd)
    fc7f0ee28c
  250. Do not allow blockfile pruning during reindex.
    Also clarify startup message.
    
    Github-Pull: #6856
    Rebased-From: d3b09f6bac738958b6bf5711bcb5291049b7466d
    dfe55bdc32
  251. Update LevelDB 70de437eb4
  252. laanwj commented at 9:51 AM on November 5, 2015: member

    ACK (is the same as #6917)

  253. laanwj merged this on Nov 5, 2015
  254. laanwj closed this on Nov 5, 2015

  255. laanwj referenced this in commit 2c82485524 on Nov 5, 2015
  256. 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 21:15 UTC

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