Fix for locking issue and compile warning #7549

pull ptschip wants to merge 345 commits into bitcoin:master from ptschip:BUIP010_pt3 changing 481 files +16299 −3534
  1. ptschip commented at 11:32 AM on February 17, 2016: contributor
    1) Potential Deadlock using cs_filter:  (G.A. Stone)
    2) Compile warning - no return value :  (sickpig)
    
  2. 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
  3. 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
  4. 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
  5. Move LOCKTIME_THRESHOLD to src/script/script.h
    Will now be needed by CHECKLOCKTIMEVERIFY code.
    
    Rebased-From: 48e9c57cf06352f890eac4285ae022d8746cf3fd
    6ec08db338
  6. 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
  7. 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
  8. Add CHECKLOCKTIMEVERIFY (BIP65) soft-fork logic
    Based on the earlier BIP66 soft-fork logic implemented by Pieter
    Wuille's 5a47811da5158df763aa2fca09ce646ee0c51e7b
    
    Rebased-From: 287f54fc90c29301faede8d4ac2ea24a91441917
    5e82e1c8f5
  9. 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
  10. 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
  11. Show softfork status in getblockchaininfo
    Rebased-From: 5ed10793c2df970d07cecd760c42205e68779e83
    ba1da90b33
  12. Add BIP65 to getblockchaininfo softforks list
    Rebased-From: 54a200ac9ad8909303ccf1ac49c291e0c2b5fb23
    6af25b0f64
  13. 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
  14. 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
  15. Merge pull request #6785
    36f14bf In (strCommand == "tx"), return if AlreadyHave() (Tom Harding)
    b4dc33e9fb
  16. doc: Update release notes for 0.11.1 04d0c27fb0
  17. qt: Update translations before 0.11.1 d7d87a1db1
  18. doc: #6077 was reverted, don't mention in release notes
    Reported by sipa
    17ea542aa6
  19. Bump version to 0.11.1 717152ccba
  20. 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
  21. 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
  22. doc: update release notes for 0.11.1rc2 dad3e98e8f
  23. doc: Add Luke Dashjr to credits in release notes
    Somehow missed...
    cf33f196e7
  24. Fix spelling of Qt 9b9acc27d2
  25. 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.
    01878c9c3f
  26. [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
    b3eaa301ff
  27. Include bitcoin-tx binary on Debian/Ubuntu
    Currently left out of Matt's PPA.  Debian's package for unstable already has it.
    1e672ae343
  28. Split bitcoin-tx into its own package
    Reverts the change putting it in the bitcoind deb.
    2394f4d674
  29. Drop "with minimal dependencies" from description
    Five boost libs plus libcrypto are needed; I don't think that quite passes for minimal.
    6fd0019232
  30. [trivial] Fix rpc message "help generate" a33cd5ba86
  31. build: Remove dependency of bitcoin-cli on secp256k1
    bitcoin-cli (in contrast to bitcoin-tx, which does signing ops)
    shouldn't need secp256k1, and indeed it doesn't.
    87a797a016
  32. Bugfix: Allow mining on top of old tip blocks for testnet (fixes testnet-in-a-box use case) 33d6825c6f
  33. 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);
            ~~~ ^  ~~~
    9e45157815
  34. [Trivial] Fixed typo when referring to a previous section in
    depends/README.md [skip ci]
    bfc6154429
  35. Update bluematt-key, the old one is long-since revoked 54f9dee50c
  36. Clarification of unit test build instructions. e42bf16ae0
  37. Add historical release notes for October 2015 bugfix releases
    [skip ci]
    
    Rebased-From: d57586f91c6cfe7480ae87b81a041009776a33af
    Github-Pull: #6832
    09a00a1f7f
  38. 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
  39. Make fee aware of min relay in pruning.py RPC test
    Rebased-From: b6d5e32e0e5b038c6ff7e2ab5221b10727722341
    Github-Pull: #6841
    072032448b
  40. 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
    4fbfebea5b
  41. Update debian/changelog and slight tweak to debian/control 7ce2c91503
  42. Change URLs to https in debian/control 131d7f997c
  43. *: alias -h for --help af6edac0bd
  44. 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
  45. 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
  46. Do not allow blockfile pruning during reindex.
    Also clarify startup message.
    
    Github-Pull: #6856
    Rebased-From: d3b09f6bac738958b6bf5711bcb5291049b7466d
    dfe55bdc32
  47. Add rules--presently disabled--for using GetMedianTimePast as endpoint for lock-time calculations
    The lock-time code currently uses CBlock::nTime as the cutoff point for time based locked transactions. This has the unfortunate outcome of creating a perverse incentive for miners to lie about the time of a block in order to collect more fees by including transactions that by wall clock determination have not yet matured. By using CBlockIndex::GetMedianTimePast from the prior block instead, the self-interested miner no longer gains from generating blocks with fraudulent timestamps. Users can compensate for this change by simply adding an hour (3600 seconds) to their time-based lock times.
    
    If enforced, this would be a soft-fork change. This commit only adds the functionality on an unexecuted code path, without changing the behaviour of Bitcoin Core.
    a1d3c6fb9d
  48. Enable policy enforcing GetMedianTimePast as the end point of lock-time constraints
    Transactions are not allowed in the memory pool or selected for inclusion in a block until their lock times exceed chainActive.Tip()->GetMedianTimePast(). However blocks including transactions which are only mature under the old rules are still accepted; this is *not* the soft-fork required to actually rely on the new constraint in production.
    f720c5fc9f
  49. 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
    0af5b8ed38
  50. Update LevelDB 70de437eb4
  51. Merge pull request #6945
    0af5b8e Squashed 'src/leveldb/' changes from 7d41e6f..20ca81f (Pieter Wuille)
    2c82485524
  52. Merge pull request #6884
    f720c5f Enable policy enforcing GetMedianTimePast as the end point of lock-time constraints (Mark Friedenbach)
    a1d3c6f Add rules--presently disabled--for using GetMedianTimePast as endpoint for lock-time calculations (Mark Friedenbach)
    df616ae43e
  53. Merge pull request #6825
    af6edac *: alias -h for --help (Daniel Cousens)
    131d7f9 Change URLs to https in debian/control (Matt Corallo)
    7ce2c91 Update debian/changelog and slight tweak to debian/control (Matt Corallo)
    4fbfebe Correct spelling mistakes in doc folder (Mitchell Cash)
    e42bf16 Clarification of unit test build instructions. (Eric Lombrozo)
    54f9dee Update bluematt-key, the old one is long-since revoked (Matt Corallo)
    bfc6154 [Trivial] Fixed typo when referring to a previous section in depends/README.md [skip ci] (Chris Kleeschulte)
    9e45157 build: disable -Wself-assign (Wladimir J. van der Laan)
    33d6825 Bugfix: Allow mining on top of old tip blocks for testnet (fixes testnet-in-a-box use case) (Luke Dashjr)
    87a797a build: Remove dependency of bitcoin-cli on secp256k1 (Wladimir J. van der Laan)
    a33cd5b [trivial] Fix rpc message "help generate" (MarcoFalke)
    6fd0019 Drop "with minimal dependencies" from description (Zak Wilcox)
    2394f4d Split bitcoin-tx into its own package (Zak Wilcox)
    1e672ae Include bitcoin-tx binary on Debian/Ubuntu (Zak Wilcox)
    b3eaa30 [Qt] Raise debug window when requested (MarcoFalke)
    01878c9 Fix locking in GetTransaction. (Alex Morcos)
    9b9acc2 Fix spelling of Qt (Diego Viola)
    6c31ac019f
  54. Always flush block and undo when switching to new file
    Previously, the undo weren't being flushed during a reindex because
    fKnown was set to true in FindBlockPos. That is the correct behaviour
    for block files as they aren't being touched, but undo files are
    touched.
    
    This changes the behaviour to always flush when switching to a new file
    (even for block files, though that isn't really necessary).
    
    Rebased-From: 22e780737db57bcb18b3824eb8158e19a4775cb6
    Github-Pull: #6948
    4e895b08da
  55. bump version to 0.11.2 984587ac5d
  56. [Docs] First-draft release notes for 0.11.2RC1 40941d999d
  57. [docs] Minor revisions to 0.11.2RC1 release notes
    - Revisions to text as proposed by Greg Maxwell
    - Add Btcdrak to contributors for backporting #6884
    - Fix spelling mistake
    
    [ci skip]
    929b2c73df
  58. [docs] 0.11.2 release notes: add sipa graphs & leveldb note
    [ci skip]
    9149589632
  59. Merge pull request #6968
    9149589 [docs] 0.11.2 release notes: add sipa graphs & leveldb note (David A. Harding)
    929b2c7 [docs] Minor revisions to 0.11.2RC1 release notes (David A. Harding)
    40941d9 [Docs] First-draft release notes for 0.11.2RC1 (David A. Harding)
    3dcb390fe9
  60. [doc] 0.11.2 release notes: use original pull numbers
    [ci skip]
    ab6ff126e2
  61. Merge pull request #6975
    ab6ff12 [doc] 0.11.2 release notes: use original pull numbers (David A. Harding)
    7e278929df
  62. traffic shaping a934f57e80
  63. basic NOOP unlimited dialog 3192fefe24
  64. add data model for unlimited dialog a39307d495
  65. wip 9b05e2e9f7
  66. WIP: connect configuration of mined block size with a global that actually sets it 1424b63b91
  67. Add BU setup callout into the main of bitcoind and bitcoin-qt. Add handling of the blockmaxsize argument in this setup 4898afc5fd
  68. allow unlimited size blocks b126b10a16
  69. minimal rebranding c3eb35ecc2
  70. Explicit casting of maxGeneratedBlock to ulonglong to avoid compiler errors 2d717ce703
  71. Typo fix 5f13775c53
  72. Maximum blocksize variable should be uint64_t a16b8c002c
  73. minor miner fixes that increase bit-width of some sizes for the distant future :-) 56015b9232
  74. Work in progress: excessive blocks are being properly handled. Now need to get the GUI and cmd line params working beef4b8308
  75. remove unnecessary addition of chain to candidates list and connect GUI items 87e4a4a423
  76. gdb debugger extensions for satoshi clients fb293d0848
  77. WIP: rebase onto 0.11.2 10dbc8a177
  78. cleanup and mark BU changes. Also increase allowed packet size to be 10*excessive block size. Also, there is an issue switching from one chain to another when the chains are very deep (1000+ blocks). It takes forever to reverify all the transactions. Fix to skip txn validation when we are applying them from unwound blocks. 7e65d18b99
  79. pop out of runaway cpu-eating loop when connectivity is lost 5b6d3bfe3b
  80. add cli (rpc) options to control BU extensions 5a48b985ed
  81. add help for command line arguments 705cf29146
  82. run the new files through clang-format 029de56ec2
  83. Bump version to 0.12.0
    Bump version from 0.11.99 to 0.12.0 so that we don't forget to do this
    when rc1 is released.
    2985000808
  84. Add missing automake package to deb-based UNIX install instructions.
    Rebased-From: b4404090259be4e34ef5dba33e47a41e7d9acc03
    Github-Pull: #7152
    cfb44ce97a
  85. Disconnect on mempool requests from peers when over the upload limit.
    Mempool requests use a fair amount of bandwidth when the mempool is large,
     disconnecting peers using them follows the same logic as disconnecting
     peers fetching historical blocks.
    
    Rebased-From: 6aadc7557823b7673b8f661b3d41cf867e2936a3
    Github-Pull: #7166
    6ba25d2886
  86. Replace setInventoryKnown with a rolling bloom filter.
    Github-Pull: #7133
    Rebased-From: ec73ef37eccfeda76de55c4ff93ea54d4e69e1ec e20672479ef7f2048c2e27494397641d47a4d88d 6b849350ab074a7ccb80ecbef387f59e1271ded6 b6a0da45db8d534e7a77d1cebe382cd5d83ba9b8 d41e44c9accb3df84e0abbc602cc76b72754d382 aa4b0c26b0a94ca6164c441aae723e118554d214
    f31955d9da
  87. Don't do mempool lookups for "mempool" command without a filter
    Github-Pull: #7174
    Rebased-From: 96918a2f0990a8207d7631b8de73af8ae5d24aeb
    82aff880d3
  88. test: remove necessity to call create_callback_map
    Remove necessity to call create_callback_map (as well as the function
    itself) from the Python P2P test framework. Invoke the appropriate
    methods directly.
    
    - Easy to forget to call it and wonder why it doesn't work
    - Simplifies the code
    - This makes it easier to handle new messages in subclasses
    
    Github-Pull: #7171
    Rebased-From: 2f601d215da1683ae99ab9973219044c32fa2093
    b2d7ada372
  89. Coinselection prunes extraneous inputs from ApproximateBestSubset
    This is a combination of 3 commits.
    
    - Coinselection prunes extraneous inputs from ApproximateBestSubset
      A further pass over the available inputs has been added to ApproximateBestSubset after a candidate set has been found. It will prune any extraneous inputs in the selected subset, in order to decrease the number of input and the resulting change.
    - Moved set reduction to the end of ApproximateBestSubset to reduce performance impact
    - Added a test for the pruning of extraneous inputs after ApproximateBestSet
    
    Github-Pull: #4906
    Rebased-From: 5c03483e26ab414d22ef192691b2336c1bb3cb02 af9510e0374443b093d633a91c4f1f8bf5071292 fc0f52d78085b6ef97d6821fc7592326c2d9b495
    96e8d12033
  90. net: Fix sent reject messages for blocks and transactions
    Ever since we #5913 have been sending invalid reject messages
    for transactions and blocks.
    
    test: Add basic test for `reject` code
    
    Extend P2P test framework to make it possible to expect reject
    codes for transactions and blocks.
    
    Github-Pull: #7179
    Rebased-From: 9fc6ed6003da42f035309240c715ce0fd063ec03 20411903d7b356ebb174df2daad1dcd5d6117f79
    44fef99e66
  91. net: Add and document network messages in protocol.h
    - Avoids string typos (by making the compiler check)
    - Makes it easier to grep for handling/generation of a certain message type
    - Refer directly to documentation by following the symbol in IDE
    - Move list of valid message types to protocol.cpp:
        protocol.cpp is a more appropriate place for this, and having
        the array there makes it easier to keep things consistent.
    
    Github-Pull: #7181
    Rebased-From: 9bbe71b641e2fc985daf127988a14a67c99da50a
    8fc174aae6
  92. Add "NODE_BLOOM" to guiutil so that peers don't get UNKNOWN[4]
    Rebased-From: daf6466330d9d3e4d9034fd316cded192d2a7d67
    Github-Pull: #7206
    f43c2f9a8a
  93. Checks for null data transaction before issuing error to debug.log
    CWalletTx::GetAmounts could not find output address for null data transactions, thus issuing an error in debug.log. This change checks to see if the transaction is OP_RETURN before issuing error.
    
    resolves #6142
    
    Github-Pull: #7200
    Rebased-From: b6915b82398d2e1d1f888b3816adfaf06d9a450e c611acc38a95d336a824b632823aa1b652e570df d812daf967ba4173bfa1c37eeb4ab7a0ccc4df25
    06c6a58463
  94. Replace trickle nodes with per-node/message Poisson delays
    We used to have a trickle node, a node which was chosen in each iteration of
    the send loop that was privileged and allowed to send out queued up non-time
    critical messages. Since the removal of the fixed sleeps in the network code,
    this resulted in fast and attackable treatment of such broadcasts.
    
    This pull request changes the 3 remaining trickle use cases by random delays:
    * Local address broadcast (while also removing the the wiping of the seen filter)
    * Address relay
    * Inv relay (for transactions; blocks are always relayed immediately)
    
    The code is based on older commits by Patrick Strateman.
    
    Github-Pull: #7125
    Rebased-From: 5400ef6bcb9d243b2b21697775aa6491115420f3
    10b88be798
  95. clean up in prep for release 5af268ec19
  96. Removed offline testnet DNSSeed 'alexykot.me'.
    Github-Pull: #7216
    Rebased-From: e18378e53fb71c39236db35ab2d560b43602b1be
    9572e4944a
  97. test: don't override BITCOIND and BITCOINCLI if they're set
    In rpc-tests.py, don't override BITCOIND and BITCOINCLI if they're
    already set. Makes it possible to run the tests with either another tree
    or the GUI.
    
    Github-Pull: #7209
    Rebased-From: 83cdcbdca41583a5a754a89f45b04b56cd0df627
    f3ad812208
  98. [Depends] Bump Boost, miniupnpc, ccache & zeromq
    Bring dependencies up to date with master:
    [depends] Boost 1.59.0
    [depends] miniupnpc 1.9.20151026
    [depends] native ccache 3.2.4
    [depends] zeromq 4.0.7
    [depends] Latest config.guess & config.sub
    [depends] Fix miniupnpc compilation on osx
    
    Github-Pull: #6980
    Rebased-From: 9e940fa4c650dd31c39dbc8ed4038e131c19d59c 17ad964c2ff8f9be62a6826012b565843d3d72ba 26f8ea5342994bc3dcc22163b86f086328b50769 10d3c77644d894338a02b05f64ba822f3a516401 23a3c47f95c9c7c1778c488be6ea9ebbef2311ea e0769e1928f892fb16f851991d8e09a90587a1f4
    eccd67106d
  99. [Mempool] Fix mempool limiting and replace-by-fee for PrioritiseTransaction
    1) Fix mempool limiting for PrioritiseTransaction
    
    Redo the feerate index to be based on mining score, rather than fee.
    
    Update mempool_packages.py to test prioritisetransaction's effect on
    package scores.
    
    2) Update replace-by-fee logic to use fee deltas
    
    3) Use fee deltas for determining mempool acceptance
    
    4) Remove GetMinRelayFee
    
    One test in AcceptToMemoryPool was to compare a transaction's fee
    agains the value returned by GetMinRelayFee. This value was zero for
    all small transactions.  For larger transactions (between
    DEFAULT_BLOCK_PRIORITY_SIZE and MAX_STANDARD_TX_SIZE), this function
    was preventing low fee transactions from ever being accepted.
    
    With this function removed, we will now allow transactions in that range
    with fees (including modifications via PrioritiseTransaction) below
    the minRelayTxFee, provided that they have sufficient priority.
    
    Github-Pull: #7062
    Rebased-From: eb306664e786ae43d539fde66f0fbe2a3e89d910 9ef2a25603c9ec4e44c4f45c6a5d4e4386ec86d3 27fae3484cdb21b0d24face833b966fce5926be5 901b01d674031f9aca717deeb372bafa160a24af
    12c469b236
  100. add script to repack bitcoin into bitcoin unlimited. Change yml file to point to BU 1dfcf0b9e2
  101. Add more tests to p2p-fullblocktest
    Github-Pull: #7226
    Rebased-From: 9b41a5fba278e9ab56a9b86e7a5fe195dcad0b7a
    301f16ad1c
  102. [Tests] Add mempool_limit.py test
    - [Tests] Add mempool_limit.py test
    - [Tests] Refactor some shared functions
    
    Github-Pull: #7153
    Rebased-From: 110ff1142c5284edba8aab77fcac0bea0e551969 7632cf689a9b959dd7a059b8b4a04761a4bc6e6a
    9ef7c54ef0
  103. fix up gitian yml files for BU b440a4f6a0
  104. tests: Disable Tor interaction
    This is unnecessary during the current tests (any test for Tor
    interaction can explicitly enable it) and interferes with the proxy
    test.
    
    Github-Pull: #7170
    Rebased-From: 4c40ec0451a8f279f3e2e40af068c9451afd699e
    453c56701a
  105. branding bffc279d06
  106. Fixes #3: switch network shaping slider event from variableChanged to sliderMoved so that changing the shaping dialog box does not cause a slider variable changed event which then sets the value in the dialog box to an (approximate) value.
    Also change help messages for excessiveblocksize and excessiveacceptdepth to match the format used by other parameters.
    33342ccc25
  107. Report non-mandatory script failures correctly
    Github-Pull: #7276
    Rebased-From: 7ef8f3c072a8750c72a3a1cdc727b5c1d173bac8
    76de36fd2e
  108. Merge pull request #7245
    fa8c8d7 torcontrol debug: Change to a blanket message that covers both cases (MarcoFalke)
    2d6a493493
  109. qt: periodic translations pull from transifex 5ba42bad6d
  110. [debian] Bump manpages and only mention -?
    The manpages are outdated and are very rarely updated when changes
    to the code happen.
    
    Github-Pull: #7274
    Rebased-From: fae7a369cb137000897d32afab7eb13aa79ec34e fa6ce44bf98fe1dd5be779fd77b844e7016d209e
    e70fc6f842
  111. [gitian] Set reference date to something more recent
    Github-Pull: #7251
    Rebased-From: fa095622c25492ddc7096c5825f327e4427e7d75
    f6c8c1242b
  112. [qa] Move gen_return_txouts() to util.py
    Github-Pull: #7250
    Rebased-From: fa0a9749eb09f6b537b98075241a7fcb46f758e3
    bdd0f9e286
  113. Bugfix: update-translations: Allow numerus translations to omit %n specifier (usually when it only has one possible value)
    Github-Pull: #7253
    Rebased-From: 0d595894f028248a1a1b00491dad95320844c685
    a75a03a5f2
  114. Update translations after #7253
    Include translations that omit raw number from the singular case.
    3cb066c62b
  115. test CheckBlock and excessiveblocksize ae8491f481
  116. add testblock.dat cee644e451
  117. Merge branch 'YarkoL-testbranch' into 0.11cfg_stats 82fd77550a
  118. Mark blocks with too many sigops as failed
    Github-Pull: #7217
    Rebased-From: 5246180f168c9b761b6158b0725f5718239ba66c
    e08b7cb33c
  119. [wallet] Adjust pruning test
    Github-Pull: #7193
    Rebased-From: fafd09375eb5133abf921132643384a1ac6fa444
    bfdaa3c87f
  120. [Qt] fix coincontrol update issue when deleting a send coin entry
    Github-Pull: #7282
    Rebased-From: 621bd6919f47be4d23091d8ae7c980f9567d83a9
    5cadf3eb60
  121. Bump copyright headers to 2015
    - Bump copyright headers to 2015
    - [devtools] Rewrite fix-copyright-headers.py
    - [devtools] Use git pretty-format for year parsing
    
    Github-Pull: #7205
    Rebased-From: fa6ad855e9159b2247da4fa0054f32fa181499ab fa24439ff3d8ab5b9efaf66ef4dae6713b88cb35 fa71669452e57039e4270fd2b33a0e0e1635b813
    333e1eaeea
  122. [qa] wallet: Check if maintenance changes the balance
    - [qa] Cleanup wallet.py test
    - [qa] check if wallet or blochchain maintenance changes the balance
    - [walletdb] Add missing LOCK() in Recover() for dummyWallet
    
    Github-Pull: #7229
    Rebased-From: fa0765d433eb6d44a5cbec44f136b62814c663e5 fa14d994843fe2d700c977653cd3133d0a77cb67 fa33d9740c9b0d1071094ab6c1736f27a7090c95
    1ed938b5fe
  123. [wallet] Add regression test for vValue sort order
    - [wallet] Add regression test for vValue sort order
    - [trivial] Merge test cases and replace CENT with COIN
    
    Github-Pull: #7293
    Rebased-From: fa3c7e644f427329bcffa1a5600fdbd7e97c837f faf538bfdbb4ecebde73e95c80718c2d9ecee1f5
    ff9b610026
  124. Update release-notes.md
    Transaction memory pool limiting
    
    Priority transactions
    
    Wallet transaction fees
    fabba1c1a4
  125. Backport: quickfix for RPC timer interface problem daa8da281b
  126. [qt] Intro: Display required space
    Required space depends on the user's choice:
     -prune=0
     -prune=<n>
    b1a8374aaa
  127. Expand section "Wallet transaction fees" & fix format and typos fa4ba40d8c
  128. Merge pull request #7319
    b1a8374 [qt] Intro: Display required space (MarcoFalke)
    1320300ea1
  129. Merge pull request #7318
    daa8da2 Backport: quickfix for RPC timer interface problem (Jonas Schnelli)
    9265e89a77
  130. Make sure conflicted wallet tx's update balances
    Github-Pull: #7306
    Rebased-From: f61766b37beb2fecbe3915a72a814cbdb107be0a
    4707797df2
  131. [Tests] Eliminate intermittent failures in sendheaders.py
    - Add race-condition debugging tool to mininode
    - Eliminate race condition in sendheaders.py test
    
    Clear the last block announcement before mining new blocks.
    
    Github-Pull: #7308
    Rebased-From: 82a0ce09b45ab9c09ce4f516be5b9b413dcec470 168915e6dec88b31793d4ee4b60b94d4149de36c
    d513405cb7
  132. Merge branch bytespersigop 5b144b7113
  133. Merge pull request #7323
    45b8e27 -bytespersigop option to additionally limit sigops in transactions we relay and mine (Luke Dashjr)
    a344880e6a
  134. Add Replace-by-fee to release-notes fa0a391b35
  135. Merge pull request #7324 8f25d6eb0e
  136. Add sane fallback for fee estimation
    - Always respect GetRequiredFee for wallet txs
    - Add sane fallback for fee estimation
    - SQUASHME: Fix rpc tests that assumed fallback to minRelayTxFee
    
    Add new commandline option "-fallbackfee" to use when fee estimation does not have sufficient data.
    
    Github-Pull: #7296
    Rebased-From: 995b9f3 e420a1b bebe58b
    a36d79bfe2
  137. Add fallbackfee default value fab88af4d5
  138. Merge pull request #7309
    fab88af Add fallbackfee default value (MarcoFalke)
    fa0a391 Add Replace-by-fee to release-notes (MarcoFalke)
    fa4ba40 Expand section "Wallet transaction fees" & fix format and typos (MarcoFalke)
    fabba1c Update release-notes.md (MarcoFalke)
    2c5c2154c9
  139. Add RPC call abandontransaction
    - Make wallet descendant searching more efficient
    - Add new rpc call: abandontransaction
    
    Unconfirmed transactions that are not in your mempool either due to eviction or other means may be unlikely to be mined.  abandontransaction gives the wallet a way to no longer consider as spent the coins that are inputs to such a transaction.  All dependent transactions in the wallet will also be marked as abandoned.
    
    - Add RPC test for abandoned and conflicted transactions.
    - [Wallet] Call notification signal when a transaction is abandoned
    
    Github-Pull: #7312
    Rebased-From: 9e697172542e2b01517e4025df2c23d0ed5447f4 01e06d1fa365cedb7f5d5e17e6bdf0b526e700c5 df0e2226d998483d247c0245170f6b8ff6433b1d d11fc1695c0453ef22a633e516726f82717dd1d9
    fd4bd5009e
  140. Preliminary release notes 0.12.0 071f704a70
  141. Update translations pre-rc1 afe825f075
  142. Merge pull request #7332 2a3161bf8b
  143. add InMempool() function a06a8b4888
  144. Merge pull request #7333
    a06a8b4 add InMempool() function (Jonas Schnelli)
    3d5cf698d6
  145. doc: Remove BIP65 mention from release notes
    This is already done, not new in 0.12.
    5771b71ca5
  146. release note fixups 82667afd78
  147. Set link from http:// to https://
    For opensource.org/licenses/MIT!
    Github-Pull: #7197
    Rebased-From: 00423e1a71204696ec37e6d757f9afe091bc7ee1
    6092ff205b
  148. Note that reviewers should mention the commit hash of the commits they reviewed.
    Github-Pull: #7185
    Rebased-From: e1030dddab11553d2854c1f466e5757d9815bfb8
    6307beb09f
  149. [RPC-Tests] add option to run rpc test over QT clients
    Github-Pull: #7068
    Rebased-From: 979698c1715ce86a98934e48acadbc936c95c9a3
    6191a9b628
  150. Rename OP_NOP2 to OP_CHECKLOCKTIMEVERIFY.
    Github-Pull: #7213
    Rebased-From: 37d271d7cce44885f835292ffe99b54399b014d6
    605de4a88a
  151. qt5: Use the fixed font the system recommends
    Github-Pull: #7214
    Rebased-From: fa2f4bc4eb0f21f5be8c88954ae2d99c5b18b987
    6f8346db5f
  152. Replace some instances of formatWithUnit with formatHtmlWithUnit
    Strings in a HTML context should be using formatHtmlWithUnit.
    
    Github-Pull: #7255
    Rebased-From: 5fdf32de7ed85a1a0aec7cdedb83f750f4a0f7ff
    e20704ba71
  153. release-notes: Combine NOP2->CLTV asm change into "RPC: Low-level API changes" section f17b00b66f
  154. release: remove libc6 dependency from the osx signing descriptor
    It is unneeded after the last toolchain update, and missing from Trusty.
    
    Github-Pull: #7342
    Rebased-From: 3503a78670d0eacf39c618b45b08581dfb3ed68f
    fbea2f64e2
  155. Merge pull request #7336
    82667af release note fixups (Alex Morcos)
    d7c54c5a9d
  156. [doc] backwards-compatibility issues due to chainstate obfuscation fa8c497d84
  157. Add comment about mining changes and more about priority 5cacb8f319
  158. Mention mempool chain limits in release notes 2e552b04c2
  159. Eliminate race condition in mempool_packages test
    Github-Pull: #7368
    Rebased-From: 4d10d2e16fb837abe304e0a5d3bc0a41941d917a
    1488fc8eac
  160. Update license year range to 2016
    Conflicts:
    	configure.ac
    
    Github-Pull: #7363
    Rebased-From: bd34174ebca239e6796f0eb2015ddc2f218aac3c
    098fcb5694
  161. Merge pull request #7367
    2e552b0 Mention mempool chain limits in release notes (Suhas Daftuar)
    8b7a0f88cb
  162. Merge pull request #7347
    5cacb8f Add comment about mining changes and more about priority (Alex Morcos)
    b0cb055673
  163. Merge pull request #7338
    f17b00b release-notes: Combine NOP2->CLTV asm change into "RPC: Low-level API changes" section (Luke Dashjr)
    e20704b Replace some instances of formatWithUnit with formatHtmlWithUnit (fanquake)
    6f8346d qt5: Use the fixed font the system recommends (MarcoFalke)
    605de4a Rename OP_NOP2 to OP_CHECKLOCKTIMEVERIFY. (mb300sd)
    6191a9b [RPC-Tests] add option to run rpc test over QT clients (Jonas Schnelli)
    6307beb Note that reviewers should mention the commit hash of the commits they reviewed. (Patrick Strateman)
    6092ff2 Set link from http:// to https:// (Suriyaa Kudo)
    1709cc5cb0
  164. Merge pull request #7345
    fa8c497 [doc] backwards-compatibility issues due to chainstate obfuscation (MarcoFalke)
    d04525a065
  165. [qa] Fix pyton syntax in rpc tests
    Github-Pull: #7335
    Rebased-From: 7777994846cdb9b9cf69e391a33eeed30393bbcf
    d8b062d752
  166. Added help text for chainwork value
    Github-Pull: #7232
    Rebased-From: 94bdd71f9b4768c9803ffd133aa7781b19bfa6f9
    c0d2382170
  167. Fix help, add RPC tests for getblockheader
    - Add assert_is_hex_string and assert_is_hash_string to RPC test utils.
    - Add RPC documentation for getblockheader[chainwork].
    - Add RPC tests for getblockheader.
    
    Github-Pull: #7194
    Rebased-From: 16d4fce0b203bdaa679ad5b3f1e6b6f46880d5d2 4745636126d9a4f28f701f701be392779815a7bf 135d6ec8cedc83ad800da45080c16d49e9182e80
    351ffd8482
  168. [Wallet] Transaction View: LastMonth calculation fixed
    Github-Pull: #7327
    Rebased-From: 30cdacea3c356acda32ab77238f07c1c40b1f1b5
    a74fa1f06b
  169. [init] Fix error message of maxtxfee invalid amount
    Github-Pull: #7290
    Rebased-From: fac11ea3106ff29ec884dfe9d9b287fd1beda5fc
    44438a192a
  170. [init] Add missing help for args
    Github-Pull: #7290
    Rebased-From: fa6ab96799f9d7946200fb646fefe35c6daab9b2 faa572a3296c0955dcb2cc0bd9b925c2a31e7892 fa461df685063e6b12664fe6928362484f690f01
    236686b844
  171. Fix error in blockchain.py introduced in merge
    Github-Pull: #7373
    Rebased-From: 4a0487937877484f14476716c3643de7a31c32da
    51af87f078
  172. [Doc] Wallet & Pruning fa311338d2
  173. Merge pull request #7370
    fa31133 [Doc] Wallet & Pruning (MarcoFalke)
    cda064caa1
  174. release-notes: Cover priority changes correctly, removing mentions of possible futures 4b8d2bc625
  175. [walletdb] Fix syntax error in key parser
    Github-Pull: #7381
    Rebased-From: fa6d4cc09575de30386bfbc5c8c3858cd7a2f42a
    621bbd88ba
  176. build: Make networking work inside LXC builder in gitian-building.md
    These are changes I needed to get gitian building to work with Debian
    8.2, which is the version we tell to use.
    
    - Set up NAT, so that container can access network beyond host
    - Remove explicit cgroup setup - these are mounted automatically now
    - gitian: Need `ca-certificates` and `python` for LXC builds
    
    Github-Pull: #7060
    Rebased-From: 99fda26de0661afcbe43d5e862c382e3c2e3aa5e 3b468a0e609147c7d7afd8ed97bf271f2356daef
    5bb3e263e2
  177. Update project URL
    Github-Pull: #7328
    Rebased-From: b07b103e8af14cd3fca44dca7bc694d2c3bffcc1
    64612f1820
  178. RPC: indicate which transactions are replaceable
    Add "bip125-replaceable" output field to listtransactions and gettransaction
    which indicates if an unconfirmed transaction, or any unconfirmed parent, is
    signaling opt-in RBF according to BIP 125.
    
    Github-Pull: #7286
    Rebased-From: eaa8d2754b48b62cdd07255fc3028feecad0c095
    e25b158ab8
  179. Add option `-permitrbf` to set transaction replacement policy
    Add a configuration option `-permitrbf` to set transaction replacement policy
    for the mempool.
    
    Enabling it will enable (opt-in) RBF, disabling it will refuse all
    conflicting transactions.
    
    Conflicts:
    	src/init.cpp
    	src/main.cpp
    	src/main.h
    
    Github-Pull: #7386
    Rebased-From: b768108d9c0b83330572711aef1e569543130d5e
    da83ecd454
  180. Get rid of inaccurate ScriptSigArgsExpected 52b29dca76
  181. [qt] Windows: Make rpcconsole monospace font larger
    Github-Pull: #7364
    Rebased-From: fa6a59dd397e62e850fc57df05cd6d117fbdcd82
    7726c487f8
  182. Merge #7387: Get rid of inaccurate ScriptSigArgsExpected
    52b29dc Get rid of inaccurate ScriptSigArgsExpected (Pieter Wuille)
    f4b2ce8ee8
  183. Merge #7371: [0.12] backports
    236686b [init] Add missing help for args (MarcoFalke)
    44438a1 [init] Fix error message of maxtxfee invalid amount (MarcoFalke)
    a74fa1f [Wallet] Transaction View: LastMonth calculation fixed (crowning-)
    b16b5bc191
  184. qt: pre-rc2 translations update 5df314b927
  185. doc: Add commits since rc1 to release notes 1bc1d796be
  186. doc: forgot #7222 in release notes 7c5e90e8dd
  187. doc: Explain effects of -prune=<n> parameter in release notes
    As discussed in the mailing list thread:
        [bitcoin-dev] Bitcoin Core 0.12.0 release candidate 1 available
    in the replies to this message:
    http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2016-January/012276.html
    
    Please review thoroughly, I'm a newbie.
    fe074ccb37
  188. doc: Fix minimal disk usage with pruning enabled 46d7eb6137
  189. doc: In release notes, do not claim that pruning is leeching
    Peter Todd says it does not matter currently.
    be4b474287
  190. doc: In release notes, increase estimate of disk usage with pruning
    Jonas Schnelli recommended this to account for growth of utxo set, debug
    log, etc.
    58e3abfffc
  191. Update release-notes.md 42b521d8a0
  192. doc: Update release notes for 0.12
    Update and reword BIP 125 section
    
    Mention changes to banlist (clearbanned/setban)
    
    Pruning nodes can relay
    65d384fe82
  193. Merge #7421: [doc] Release notes update for 0.12
    65d384f doc: Update release notes for 0.12 (Suhas Daftuar)
    568c32411d
  194. release: Add security/export checks to gitian and fix current failures
    - fix parsing of BIND_NOW with older readelf
    - add _IO_stdin_used to ignored exports
    
    For details see: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=634261#109
    
    - add check-symbols and check-security make targets
    
    These are not added to the default checks because some of them depend on
    release-build configs.
    
    - always link librt for glibc back-compat builds
    
    glibc absorbed clock_gettime in 2.17. librt (its previous location) is safe to
    link in anyway for back-compat.
    
    Fixes #7420
    
    - add security/symbol checks to gitian
    
    Github-Pull: #7424
    Rebased-From: cd27bf51e06a8d79790a631696355bd05751b0aa 475813ba5b208eb9a5d027eb628a717cc123ef4f f3d3eaf78eb51238d799d8f20a585550d1567719 a8ce872118c4807465629aecb9e4f3d72d999ccb a81c87fafce43e49cc2307947e3951b84be7ca9a
    aa26ee0101
  195. Merge #7422: Improve section title in release-notes.md
    42b521d Update release-notes.md (฿tcDrak)
    38bf790d70
  196. doc: Minor sentence length / capitalization fixes a683d20d5f
  197. doc: Fix wrong claims about blockchain reorganization with pruning 54d390780f
  198. doc: Minor spelling fix 15c0263ff1
  199. doc: In release notes, reduce length of pruning section 8c5f90306c
  200. Merge #7416: doc: Explain effects of -prune=<n> parameter in release notes
    8c5f903 doc: In release notes, reduce length of pruning section (xor-freenet)
    15c0263 doc: Minor spelling fix (xor-freenet)
    54d3907 doc: Fix wrong claims about blockchain reorganization with pruning (xor-freenet)
    a683d20 doc: Minor sentence length / capitalization fixes (xor-freenet)
    58e3abf doc: In release notes, increase estimate of disk usage with pruning (xor-freenet)
    be4b474 doc: In release notes, do not claim that pruning is leeching (xor-freenet)
    46d7eb6 doc: Fix minimal disk usage with pruning enabled (xor-freenet)
    fe074cc doc: Explain effects of -prune=<n> parameter in release notes (xor-freenet)
    32e3538752
  201. net: Hardcoded seeds update January 2016
    Github-Pull: #7415
    Rebased-From: 4818dba90074f213efa0fa7faf577ce5fb02eaee
    cb83beb375
  202. Do not absolutely protect local peers from eviction.
    With automatic tor HS support in place we should probably not be providing
     absolute protection for local peers, since HS inbound could be used to
     attack pretty easily.  Instead, this counts on the latency metric inside
     AttemptToEvictConnection to privilege actually local peers.
    46dbcd4833
  203. Decide eviction group ties based on time.
    This corrects a bug the case of tying group size where the code may
     fail to select the group with the newest member. Since newest time
     is the final selection criteria, failing to break ties on it
     on the step before can undermine the final selection.
    
    Tied netgroups are very common.
    8e09f914f8
  204. Rename permitrbf to replacebyfee
    "permit" is currently used to configure transaction filtering, whereas replacement is more to do with the memory pool state than the transaction itself.
    1205f87d36
  205. Accept replacebyfee=opt-in for turning on opt-in RBF
    Basic forward-compatibility with more flexible parameters like fss
    e8d19ab79f
  206. Simplify check for replacebyfee=opt-in 5f456a6546
  207. release-notes: Update for permitrbf->replacebyfee rename b2287a7e01
  208. Merge #7438: Do not absolutely protect local peers; decide group ties based on time.
    8e09f91 Decide eviction group ties based on time. (Gregory Maxwell)
    46dbcd4 Do not absolutely protect local peers from eviction. (Gregory Maxwell)
    e2d9a58588
  209. Add whitelistforcerelay to control forced relaying. [#7099 redux]
    - Add whitelistforcerelay to control forced relaying.
    
    Also renames whitelistalwaysrelay.
    
    Nodes relay all transactions from whitelisted peers, this
     gets in the way of some useful reasons for whitelisting
     peers-- for example, bypassing bandwidth limitations.
    
    The purpose of this forced relaying is for specialized gateway
     applications where a node is being used as a P2P connection
     filter and multiplexer, but where you don't want it getting
     in the way of (re-)broadcast.
    
    This change makes it configurable with whitelistforcerelay.
    
    - Blacklist -whitelistalwaysrelay; replaced by -whitelistrelay.
    
    Github-Pull: #7439
    Rebased-From: 325c725fb6205e38142914acb9ed1733d8482d46 89d113e02a83617b4e971c160d47551476dacc71
    86755bc85a
  210. Rename replacebyfee=opt-in to mempoolreplacement=fee 4ad418bc9b
  211. release-notes: Update for replacebyfee->mempoolreplacement rename af9f564267
  212. Merge #7440: [0.12] Rename permitrbf to mempoolreplacement and provide minimal string-list forward compatibility
    af9f564 release-notes: Update for replacebyfee->mempoolreplacement rename (Luke Dashjr)
    4ad418b Rename replacebyfee=opt-in to mempoolreplacement=fee (Luke Dashjr)
    b2287a7 release-notes: Update for permitrbf->replacebyfee rename (Luke Dashjr)
    5f456a6 Simplify check for replacebyfee=opt-in (Luke Dashjr)
    e8d19ab Accept replacebyfee=opt-in for turning on opt-in RBF (Luke Dashjr)
    1205f87 Rename permitrbf to replacebyfee (Luke Dashjr)
    c76bfff11e
  213. [qt] Peertable: Increase SUBVERSION_COLUMN_WIDTH
    Github-Pull: #7384
    Rebased-From: faa9011d09d7429b97ec7595f9f77abf8ea770d3
    294f4320a2
  214. doc: update release notes for rc3 a7939f8695
  215. qt: translations update pre-rc3 b1f031d435
  216. initial rebase of unlimited onto 0.12 3363f303f4
  217. doc: add PR authors to release notes
    Take full names from github API if available, otherwise
    github username.
    996c27d1d9
  218. merge 5e5f7d4baa
  219. [doc] Update release-process.md
    Conflicts:
    	doc/release-process.md
    
    Github-Pull: #7465
    Rebased-From: fa616c2fedd19d8e88f042abd5e99ac9595923df
    b9ed8c9969
  220. rpc: Add WWW-Authenticate header to 401 response
    A WWW-Authenticate header must be present in the 401
    response to make clients know that they can authenticate,
    and how.
    
        WWW-Authenticate: Basic realm="jsonrpc"
    
    Fixes #7462.
    
    Github-Pull: #7472
    Rebased-From: 7c06fbd8f58058d77c3e9da841811201d2e45e92
    b2f2b85ad5
  221. Update nQueuedValidatedHeaders after peer disconnection
    Github-Pull: #7482
    Rebased-From: 301bc7bc7e83f4c268c1722558b07dbb5b55fa92
    e16f5b40c2
  222. release-notes: Mention possibility of priority removal in 0.13, uncertainty of priority calculation being changed back, and request community input 73a0375ebe
  223. doc: Update release notes for rc4 changes 43484d7c08
  224. qt: Translations update pre-rc4 827a2b6736
  225. release-notes: Remove suggestion to use 0.11 d0dbb6daee
  226. release-notes: Significantly rewrite priority transactions section 3450f4cc95
  227. release-notes: Minor corrections and clarifications re Priority b46000415c
  228. wallet: Ignore MarkConflict if block hash is not known
    If number of conflict confirms cannot be determined, this means
    that the block is still unknown or not yet part of the main chain,
    for example during a reindex. Do nothing in that case,
    instead of crash with an assertion.
    
    Fixes #7234.
    
    Github-Pull: #7491
    Rebased-From: 40e7b61835cbe5fd471d0b4b71972526bf0e523c
    00ec73e062
  229. Update the wallet best block marker when pruning
    Github-Pull: #7502
    Rebased-From: e4eebb604e19f67b0c7a483b1ded1229d75ecdd3
    1329963001
  230. Correctly report high-S violations
    Github-Pull: #7500
    Rebased-From: 9d95187d5ddee56b6dfb55985008bdf70aed31f2
    889e5b3050
  231. Fix spelling: misbeha{b,v}ing
    Github-Pull: #7469
    Rebased-From: 0830552673e37142599de897e87510f2f9866e1e
    9cb31e664a
  232. [rpc-tests] Change solve() to use rehash
    Github-Pull: #7468
    Rebased-From: 7689041c03278a09c88a2bb78cd00217f6d4b1de
    947c4ff724
  233. Changed getnetworkhps value to double to avoid overflow.
    Github-Pull; #7480
    Rebased-From: 993d089e82fc045d7b0f23e1a5dc934cba0e3306
    c3faf78c0e
  234. doc: Release notes update pre-rc5 10be44a0bb
  235. qt: Translation update pre-rc5 68134263e2
  236. doc: fix author list in release notes 772863583c
  237. Merge #7346: 0.12 release notes: Mining Policy Changes
    b460004 release-notes: Minor corrections and clarifications re Priority (Luke Dashjr)
    3450f4c release-notes: Significantly rewrite priority transactions section (Gregory Maxwell)
    d0dbb6d release-notes: Remove suggestion to use 0.11 (Luke Dashjr)
    73a0375 release-notes: Mention possibility of priority removal in 0.13, uncertainty of priority calculation being changed back, and request community input (Luke Dashjr)
    4b8d2bc release-notes: Cover priority changes correctly, removing mentions of possible futures (Luke Dashjr)
    04503f78c7
  238. Fix of semantic failure "meet pay"
    "do not meet pay the minimum relay fee" ? I can understand English language quite well, but that I do not understand. So, if it's not an semantic nonsense, I would suggest to write it in more simple English.
    e473c2dd02
  239. Merge #7523: Fix of semantic failure "meet pay"
    e473c2d Fix of semantic failure "meet pay" (wodry)
    02d707ff37
  240. Xtreme Thinblocks
    Sends a seeded bloom filter along with a getdata
    and receives an xthinblock transaction in return which
    includes all missing transactions and tx hashes.
    Once received the block is reconstructed.
    
    Additional bandwidth is saved by using a 64 bit
    Tx hash instead of all 256 bits.  Hash collisions
    in the memory pool will be extremely rare however
    if one should happen then a regular thinblock will
    be re-requested.
    
    Transactions still missing will be re-requested and
    retrieved from a block rather than the mempool. They
    will be sent back in one thinblocktx object.
    
    Originally Inspired by Mike Hearn
    xthinblock + coinbase  (dagurval)
    2c9e2c62f5
  241. merge 1a60d8a865
  242. Merge branch 'xthinblocks_12.0' of https://github.com/ptschip/bitcoin into BUIP010 (authored by Peter Tschipper) c193786d09
  243. Fix issue testing if thin blocks is enabled -- instead of calling the function IsThinBlocksEnabled(), the address of it is tested against 0.
    Fix locking order issue where cs_mapRelay is taken before cs_vSend, although most of the time the opposite is true.  This reverse order triggers the possible deadlock detector.
    
    Fix signed/unsigned comparison complaints in leveldb.
    f6af49c7b9
  244. small paren fix, BU mined blocks changed to indicate 2MB support 0662521899
  245. 1. add node's IP address to thin block logs that reference a node to make the logs more understandable
    2. Clear a CNode's thinblock CBlock structure via SetNull() rather than via copy constructor for clarity and efficiency.
    3. Also clear the CNode's thinblock right away to ensure that is is not used after it has been "released"
    4. In SendMessages, the deadlock detector is triggered, so reordered cs_main and cs_vSend locks to match other code's locking order (not a thin block issue)
    5. Prefer thin block communications by handling them first in ThreadMessageHandler.
    6. Add a member function ThinBlockCapable() that returns true if the node supports thin blocks
    f3816fcb8b
  246. Fix missing parenthesis in net.cpp for connect
    and connect-thinblock functionality
    972b351bbb
  247. Fixed improperly formated LogPrint statement d5b3b8f97a
  248. XThinblock preferential downloader
    Thinblocks will be preferentially downloaded from nodes
    that are connected and that support thinblocks.  If the
    timer is exceeded then a regular block is downloaded instead.
    6859cb49d3
  249. Fix Windows Compile Error for Boost Interruption point 6c668de5f9
  250. Merge pull request #12 from ptschip/BUIP010_pt2
    Thinblock preferential downloader
    0521802eda
  251. Fix for locking issue and compile warning
    1) Potential Deadlock using cs_filter:  (G.A. Stone)
    2) Compile warning - no return value :  (sickpig)
    b4e3191580
  252. ptschip commented at 11:35 AM on February 17, 2016: contributor

    sorry, wrong project...closing

  253. ptschip closed this on Feb 17, 2016

  254. MarcoFalke locked this on Sep 8, 2021
Contributors

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-24 18:16 UTC

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