[trivial] pull secp256k1 subtree #7088

pull MarcoFalke wants to merge 9538 commits into bitcoin:master from MarcoFalke:MarcoFalke-2015-syncSecp256k1 changing 1264 files +325071 −662
  1. MarcoFalke commented at 8:24 AM on November 24, 2015: member

    This fixes #7018.

    Reviewers may call $ contrib/devtools/git-subtree-check.sh src/secp256k1 fa63e49

  2. Whitelist commits signed with Pieter's now-revoked key 1d94b72019
  3. Merge pull request #6818
    b48da5c script:  Remove magic numbers (David Hill)
    923c5e93a9
  4. Merge pull request #5936
    212bcca Add optional locktime to createrawtransaction (Tom Harding)
    bf7c1958d1
  5. Merge pull request #6351
    65ef372 Add BIP65 to getblockchaininfo softforks list (Peter Todd)
    cde7ab2 Add RPC tests for the CHECKLOCKTIMEVERIFY (BIP65) soft-fork (Peter Todd)
    287f54f Add CHECKLOCKTIMEVERIFY (BIP65) soft-fork logic (Peter Todd)
    2a1090d4f5
  6. doc: Add developer notes about gitignore
    - Add developer notes about `.gitignore.`
    - Remove qt creator specific files from gitignore, to be consistent.
    dca7bd3152
  7. Merge pull request #6856
    d3b09f6 Do not allow blockfile pruning during reindex. (Alex Morcos)
    c719cefc41
  8. Merge pull request #6873 46f74379b8
  9. 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.
    9d55050773
  10. 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.
    dea8d21fc6
  11. Ignore coverage data related and temporary test files 4d2a926cb4
  12. Remove coverage and test related files, when cleaning up
    Until now there were quite a few leftovers, and only the coverage
    related files in `src/` were cleaned, while the ones in the other dirs
    remained. `qa/tmp/` is related to the BitcoinJ tests, and `cache/` is
    related to RPC tests.
    d425877557
  13. Require Python for RPC tests, when using lcov
    Because Python is (going to be) used to run the RPC tests, when
    gathering coverage data with lcov, it is explicitly checked, whether
    Python is really available.
    8e3a27bbbf
  14. Add config option to enable extended RPC tests for code coverage
    When using lcov to gather code coverage data, the configuration option
    `--enable-extended-rpc-tests` may be used to enable extended RPC tests.
    45d4ff0c20
  15. Run extended BitcoinJ tests for coverage based on config
    The configuration option `--enable-comparison-tool-reorg-tests` may be
    used to enable extended tests via BitcoinJ also for coverage testing.
    e3b5e6c39c
  16. Support gathering of code coverage data for RPC tests
    The RPC tests (via `qa/pull-tester/rpc-tests.py`) are now executed,
    when gathering code coverage data, for example with `make cov`.
    
    Generating coverage data requires `lcov`, which can installed with:
    
        sudo apt-get install lcov
    
    To also use the BitcoinJ tests, get the test tool:
    
        TOOL_URL=https://github.com/theuni/bitcoind-comparisontool/raw/master/pull-tests-8c6666f.jar
        TOOL_HASH=a865332b3827abcde684ab79f5f43c083b0b6a4c97ff5508c79f29fee24f11cd
        wget $TOOL_URL -O ./share/BitcoindComparisonTool.jar
        echo "$TOOL_HASH  ./share/BitcoindComparisonTool.jar" | shasum --algorithm 256 --check
    
    The coverage data can be generated with:
    
        ./autogen.sh
        ./configure --enable-lcov --with-comparison-tool=./share/BitcoindComparisonTool.jar
        make
        make cov
    
    Optionally the options `--enable-extended-rpc-tests` and
    `--enable-comparison-tool-reorg-tests` may be used to enable more time
    consuming tests.
    
    It then runs the tests and generates two HTML reports:
    
     - test_bitcoin.coverage/index.html
     - total.coverage/index.html
    d80e3cbece
  17. Add BIP65 CHECKLOCKTIMEVERIFY to release notes c939792baa
  18. added OS X documentation to doc/init.md e04b0b6b83
  19. Use BOOST_CHECK_MESSAGE() rather than BOOST_CHECK() in alerts_tests.cpp and initialize strMiscWarning before calling PartitionCheck()." 143d173969
  20. doc: mention BIP65 softfork in bips.md ceb2a9c3e1
  21. Merge pull request #6879
    ceb2a9c doc: mention BIP65 softfork in bips.md (Wladimir J. van der Laan)
    450893769f
  22. Merge pull request #6878
    dca7bd3 doc: Add developer notes about gitignore (Wladimir J. van der Laan)
    867d6c90b8
  23. Merge pull request #6813
    d80e3cb Support gathering of code coverage data for RPC tests (dexX7)
    e3b5e6c Run extended BitcoinJ tests for coverage based on config (dexX7)
    45d4ff0 Add config option to enable extended RPC tests for code coverage (dexX7)
    8e3a27b Require Python for RPC tests, when using lcov (dexX7)
    d425877 Remove coverage and test related files, when cleaning up (dexX7)
    4d2a926 Ignore coverage data related and temporary test files (dexX7)
    5242bb32c7
  24. rpc: Add maxmempool and effective min fee to getmempoolinfo 10e2eae35c
  25. Merge pull request #6877
    10e2eae rpc: Add maxmempool and effective min fee to getmempoolinfo (Wladimir J. van der Laan)
    26f5b34e88
  26. Merge pull request #6566
    dea8d21 Enable policy enforcing GetMedianTimePast as the end point of lock-time constraints (Mark Friedenbach)
    9d55050 Add rules--presently disabled--for using GetMedianTimePast as endpoint for lock-time calculations (Mark Friedenbach)
    ff057f41aa
  27. fix locking issue with new mempool limiting
    Current master crashes on OSX with an exception: "boost: mutex lock failed in pthread_mutex_lock: Invalid argument"
    0d699fc821
  28. Introduce -maxuploadtarget
    * -maxuploadtarget can be set in MiB
    * if <limit> - ( time-left-in-24h-cycle / 600 * MAX_BLOCK_SIZE ) has reach, stop serve blocks older than one week and filtered blocks
    * no action if limit has reached, no guarantee that the target will not be  surpassed
    * add outbound limit informations to rpc getnettotals
    872fee3fcc
  29. Add RPC test for -maxuploadtarget 17a073ae06
  30. Merge pull request #6888
    143d173 Use BOOST_CHECK_MESSAGE() rather than BOOST_CHECK() in alerts_tests.cpp and initialize strMiscWarning before calling PartitionCheck()." (Eric Lombrozo)
    c8322ff7f7
  31. Merge pull request #6621
    e04b0b6 added OS X documentation to doc/init.md (Kevin Cooper)
    d4aa54c added org.bitcoin.bitcoind.plist for launchd (OS X) (Kevin Cooper)
    dbc5ee821e
  32. Merge pull request #6622
    17a073a Add RPC test for -maxuploadtarget (Suhas Daftuar)
    872fee3 Introduce -maxuploadtarget (Jonas Schnelli)
    7939164d89
  33. Add option for microsecond precision in debug.log 7bbc7c314f
  34. Merge pull request #6881
    7bbc7c3 Add option for microsecond precision in debug.log (Suhas Daftuar)
    2b625510d3
  35. Merge pull request #6889
    0d699fc fix locking issue with new mempool limiting (Jonas Schnelli)
    38369dda32
  36. Merge pull request #6464
    2d8c49d Clean up tx prioritization when conflict mined (Casey Rodarmor)
    8f3b3cdee4
  37. constify missing catch cases
    - ensure all missing catch cases are constant where possible
    ad5aae15b4
  38. [Trivial] ensure minimal header conventions
    - ensure header namespaces and end comments are correct
    - add missing header end comments
    - ensure minimal formatting (add newlines etc.)
    214de7e54c
  39. unittest: fix test for null tx input
    Update the unittest that is meant to catch a transaction that is invalid
    because it has a null input.  The old test failed not because of that
    but because it was considered a coinbase with too large script.  This is
    already checked with a different test, though.
    
    The new test is *not* a coinbase since it has two inputs, but one of
    them is null.  This really checks the corresponding code path in
    CheckTransaction.
    0be387a536
  40. Fix BIP65 p2p test
    create_coinbase() was being called with the wrong arguments
    3e187f2acd
  41. Fix chainstate serialized_size computation 298e040bca
  42. Add Pieter's new PGP key to verify-commits/trusted-keys 6e800c2b41
  43. Update to my new key 4252cd09fd
  44. Merge pull request #6865
    298e040 Fix chainstate serialized_size computation (Pieter Wuille)
    d0badb916e
  45. Merge pull request #6875
    6e800c2 Add Pieter's new PGP key to verify-commits/trusted-keys (Matt Corallo)
    1d94b72 Whitelist commits signed with Pieter's now-revoked key (Matt Corallo)
    27252b7 Fix pre-push-hook regexes (Matt Corallo)
    93521a4f56
  46. Merge pull request #6895
    4252cd0 Update to my new key (Pieter Wuille)
    8756c98642
  47. Merge pull request #6776
    ab1f560 Support -checkmempool=N, which runs checks on average once every N transactions (Pieter Wuille)
    e06c14fb59
  48. Merge pull request #6892
    214de7e [Trivial] ensure minimal header conventions (Philip Kaufmann)
    4764f5db9d
  49. Merge pull request #6891
    ad5aae1 constify missing catch cases (Philip Kaufmann)
    8daffe227b
  50. Make -checkmempool=1 not fail through int32 overflow e9e616323b
  51. Lower default policy limits
    Reduce the default limits on maximum number of transactions and the cumulative size of those transactions in both ancestor and descendant packages to 25 txs and 101kb total size.
    971a4e6b86
  52. [wallet] Refactor to use new MIN_CHANGE
    * Introduce new constant MIN_CHANGE and use it instead of the
    hardcoded "CENT"
    * Add test case for MIN_CHANGE
    * Introduce new constant for -mintxfee default:
      DEFAULT_TRANSACTION_MINFEE = 1000
    6b0e622c25
  53. [wallet] Add comments for doxygen a9c73a130e
  54. Init: Cleanup error and warning strings
    Also update doc/translation_strings_policy.md
    040c0ea093
  55. Add explicit shared_ptr constructor due to C++11 error a83f3c2426
  56. Merge pull request #6894
    3e187f2 Fix BIP65 p2p test (Suhas Daftuar)
    26752767df
  57. Merge pull request #6870
    040c0ea Init: Cleanup error and warning strings (MarcoFalke)
    6782f58 [trivial] Latest config.guess (MarcoFalke)
    bf68191 [trivial] rpcnet: fix typo (MarcoFalke)
    95f4291 [trivial] Rewrite help text for feature enabled by default (MarcoFalke)
    b2ce2c1f0f
  58. Merge pull request #6899
    a83f3c2 Add explicit shared_ptr constructor due to C++11 error (Bob McElrath)
    b28c229324
  59. Merge pull request #6863
    0be387a unittest: fix test for null tx input (Daniel Kraft)
    725539ea03
  60. Init: Use DEFAULT_TRANSACTION_MINFEE in help message 6342a4889b
  61. [qt] Use fixed pitch font for the rpc console
    Also:
    * Preserve white space
    * Make fixed font as large as default font
    28313b83fc
  62. Reject invalid pubkeys when reading ckey items from the wallet.
    This makes the behavior more consistent with key objects and will
     reject some corrupted pubkeys (e.g. zero length).
    30d9662bd7
  63. Bugfix: Omit wallet-related options from -help when wallet is disabled a6efc01908
  64. Globals: Explicit Consensus::Params arg for main:
    -CheckBlockIndex
    -DisconnectTip
    -GetTransaction
    -InvalidateBlock
    -ProcessGetData
    -ReadBlockFromDisk
    87cbdb8b41
  65. Merge pull request #6896
    e9e6163 Make -checkmempool=1 not fail through int32 overflow (Pieter Wuille)
    d482c0a7b2
  66. Merge pull request #6906
    30d9662 Reject invalid pubkeys when reading ckey items from the wallet. (Gregory Maxwell)
    48b5b84ee5
  67. Make sigcache faster and more efficient 830e3f3d02
  68. Evict sigcache entries that are seen in a block 0b9e9dca4e
  69. Merge pull request #6883
    c939792 Add BIP65 CHECKLOCKTIMEVERIFY to release notes (Peter Todd)
    a6e80e4017
  70. tests: Initialize networking on windows 7497e805bd
  71. qt: translation update prior to opening 0.12 translations
    Also update transifex slug for new version.
    02a95be977
  72. Revert "Enable policy enforcing GetMedianTimePast as the end point of lock-time constraints"
    This reverts commit dea8d21fc63e9f442299c97010e4740558f4f037.
    8537ecdfc4
  73. Revert "Add rules--presently disabled--for using GetMedianTimePast as endpoint for lock-time calculations"
    This reverts commit 9d55050773d57c0e12005e524f2e54d9e622c6e2.
    
    As noted by Luke-Jr, under some conditions this will accept transactions which are invalid by the network
     rules.  This happens when the current block time is head of the median time past and a transaction's
     locktime is in the middle.
    
    This could be addressed by changing the rule to MAX(this_block_time, MTP+offset) but this solution and
     the particular offset used deserve some consideration.
    40cd32e835
  74. Don't wipe the sigcache in TestBlockValidity 69d373ff66
  75. build: don't distribute tests_config.py
    This file is dynamically generated by configure based on the platform,
    it doesn't belong in the distribution archive.
    
    Fixes #6929.
    ff2a2af64c
  76. Merge pull request #6926
    7497e80 tests: Initialize networking on windows (Wladimir J. van der Laan)
    a6d0d623fc
  77. Merge pull request #6928
    40cd32e Revert "Add rules--presently disabled--for using GetMedianTimePast as endpoint for lock-time calculations" (Gregory Maxwell)
    8537ecd Revert "Enable policy enforcing GetMedianTimePast as the end point of lock-time constraints" (Gregory Maxwell)
    8fe30fb4d1
  78. Skip BIP30 check after BIP34 activation 06d81ad516
  79. Make skipping BIP30 check chain agnostic 33c90cf197
  80. ModifyNewCoins saves database lookups
    When processing a new transaction, in addition to spending the Coins of its txin's it creates a new Coins for its outputs.  The existing ModifyCoins function will first make sure this Coins does not already exist.  It can not exist due to BIP 30, but because of that the lookup can't be cached and always has to go to the database.  Since we are creating the coins to match the new tx anyway, there is no point in checking if they exist first anyway.  However this should not be used for coinbase tx's in order to preserve the historical behavior of overwriting the two existing duplicate tx pairs.
    14470f9aa6
  81. [qt] Properly display required fee instead of minTxFee abd8b768ee
  82. Clarify what minrelaytxfee does 53238ff0b1
  83. Merge pull request #6930
    ff2a2af build: don't distribute tests_config.py (Wladimir J. van der Laan)
    42f339ef78
  84. [qt] rpcconsole: Scale monospace font to 95% 268b79ef0c
  85. Restore MedianTimePast for locktime.
    Revert "Revert "Add rules--presently disabled--for using GetMedianTimePast as endpoint for lock-time calculations""
    This reverts commit 40cd32e835092c3158175511da5193193ec54939.
    
    After careful analysis it was determined that the change was, in fact, safe and several people were suffering
    momentary confusion about locktime semantics.
    e4e5334ef8
  86. Revert "Revert "Enable policy enforcing GetMedianTimePast as the end point of lock-time constraints""
    This reverts commit 8537ecdfc40181249ec37556015a99cfae4b21fd.
    d1c3762ae8
  87. Fix ZMQ Notification initialization and shutdown
    Moves the call Initialize() from init.cpp to CreateWithArguments() and handles the
    return value. Moves the call Shutdown() from init.cpp to destructor.
    Changes Initialize() and Shutdown() to protected members.
    de0499d3b8
  88. Merge pull request #6905
    a6efc01 Bugfix: Omit wallet-related options from -help when wallet is disabled (Luke Dashjr)
    5f9260f Bugfix: If genproclimit is omitted to RPC setgenerate, don't change it; also show correct default in getmininginfo (Luke Dashjr)
    420a82f Bugfix: Describe dblogsize option correctly (it refers to the wallet database, not memory pool) (Luke Dashjr)
    caa3d42 Bugfix: RPC: blockchain: Display correct defaults in help for verifychain method (Luke Dashjr)
    aca0c00ae1
  89. build: Improve build instructions
    - Add package instructions for Ubuntu 15.10
    - Clarify BerkeleyDB/wallet situation for unix
    - Add basic build instructions for Windows (closes #1401)
    35bb381435
  90. Merge pull request #6933
    35bb381 build: Improve build instructions (Wladimir J. van der Laan)
    29c3c43e19
  91. Merge pull request #6927
    de0499d Fix ZMQ Notification initialization and shutdown (João Barbosa)
    aa03fb35c4
  92. Merge pull request #6669
    6342a48 Init: Use DEFAULT_TRANSACTION_MINFEE in help message (MarcoFalke)
    a9c73a1 [wallet] Add comments for doxygen (MarcoFalke)
    6b0e622 [wallet] Refactor to use new MIN_CHANGE (MarcoFalke)
    8a95a18562
  93. devtools: Update README.md 0af8fe45ae
  94. Merge pull request #6864
    268b79e [qt] rpcconsole: Scale monospace font to 95% (MarcoFalke)
    28313b8 [qt] Use fixed pitch font for the rpc console (MarcoFalke)
    c702521a85
  95. BIP70: Chainparams: DRY: Make qt/guiutil.cpp fit BIP70 chain name strings
    As a side effect, the qt user will see "test" instead of "testnet"
    c53d48a6b3
  96. build: If both Qt4 and Qt5 are installed, use Qt5
    If both Qt4 and Qt5 development headers are installed, use Qt5. Building
    against Qt5 should be encouraged as that is where active development
    happens.
    dbacc69b4f
  97. Merge pull request #6938
    dbacc69 build: If both Qt4 and Qt5 are installed, use Qt5 (Wladimir J. van der Laan)
    193f7b553e
  98. Improving labels for Sent / Received "Bytes"
    The labels for Sent & Received data in the "Peers" debug panel should not be defined as "Bytes" because the units (B, KB, MB) appear after the number.  I decided to simply use "Sent" and "Received" (rather than "Data Sent" and "Data Received") because we already have translations for the former:
    https://www.transifex.com/bitcoin/bitcoin/viewstrings/#ja/qt-translation-011x/47533089?q=sent
    https://www.transifex.com/bitcoin/bitcoin/viewstrings/#ja/qt-translation-011x/47533089?q=received
    
    Demo of changes:
    
    Current UI:
        Bytes Sent      12 KB
        Bytes Received  26 MB
    
    With this pull request:
        Sent       12 KB
        Received   26 MB
    7ca73dcf6b
  99. 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
    fb9857bfd6
  100. Update LevelDB f0343e9370
  101. 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).
    22e780737d
  102. Merge pull request #6944
    fb9857b Squashed 'src/leveldb/' changes from 7d41e6f..20ca81f (Pieter Wuille)
    79456524f8
  103. Merge pull request #6887
    53238ff Clarify what minrelaytxfee does (MarcoFalke)
    abd8b76 [qt] Properly display required fee instead of minTxFee (MarcoFalke)
    3694b74fa9
  104. Merge pull request #6934
    d1c3762 Revert "Revert "Enable policy enforcing GetMedianTimePast as the end point of lock-time constraints"" (Gregory Maxwell)
    e4e5334 Restore MedianTimePast for locktime. (Gregory Maxwell)
    3038eb63e8
  105. [qt] Use maxTxFee instead of 10000000 513686dd43
  106. Merge pull request #6948
    22e7807 Always flush block and undo when switching to new file (Pieter Wuille)
    849a7e6453
  107. [trivial] clang-format: Set AlignAfterOpenBracket: false e0eeb672f2
  108. [doc] Remove excessive white space e167af2acd
  109. Merge pull request #6955
    e167af2 [doc] Remove excessive white space (MarcoFalke)
    e0eeb67 [trivial] clang-format: Set AlignAfterOpenBracket: false (MarcoFalke)
    0af8fe4 devtools: Update README.md (MarcoFalke)
    4ee149a6db
  110. Use Pieter's signing subkey instead of his primary key
    This commit is signed.
    9ea7762e2c
  111. Benchmark sanity checks and fork checks in ConnectBlock 77f1f59d12
  112. doc: there is no libboost-base-dev, add missing sudo
    - There is no libboost-base-dev, no idea how I ended up with this
        - Without that, installing separate boost packages works fine on both
          Ubuntu 14.04 and Debian 7 (tested on VMs), this did not use to be
          the case, AFAIK.
    - Add a missing 'sudo' for consistency
    - Need `bsdmainutils` for `hexdump` (for the tests)
    7085728786
  113. Fix crash in validateaddress with -disablewallet
    Fix a null pointer dereference in validateaddress with -disablewallet. Also add a regression testcase.
    2980a18572
  114. translations: Don't translate markdown or force English grammar 6dd3a44ce2
  115. Merge pull request #6970
    2980a18 Fix crash in validateaddress with -disablewallet (Wladimir J. van der Laan)
    92701b3b89
  116. Merge pull request #6962
    6dd3a44 translations: Don't translate markdown or force English grammar (MarcoFalke)
    6176e9bf3d
  117. Merge pull request #6908
    c53d48a BIP70: Chainparams: DRY: Make qt/guiutil.cpp fit BIP70 chain name strings (Jorge Timón)
    f24880b132
  118. Always allow getheaders from whitelisted peers
    Process `getheaders` messages from whitelisted peers even if we are in
    initial block download. Whitelisted peers can always use a node as a
    block source.
    
    Also log a debug message when the request is ignored, for
    troubleshooting.
    
    Fixes #6971.
    40b77d450d
  119. Merge pull request #6967
    9ea7762 Use Pieter's signing subkey instead of his primary key (Matt Corallo)
    503ff6e1ae
  120. transaction_tests: Be more strict checking dust
    * Don't allow off-by-one or more
    * Make clear dust is coupled with minRelayTxFee
    * Check rounding for odd values
    5f46a7d068
  121. [trivial] New DEFAULT_MIN_RELAY_TX_FEE = 1000 536766c903
  122. [trivial] init: Use defaults MIN_RELAY_TX_FEE & TRANSACTION_MAXFEE e20d9245e5
  123. build: Split hardening/fPIE options out
    This allows for fPIE to be used selectively.
    17c4d9d164
  124. build: Use fPIC rather than fPIE for qt objects.
    But only if qt was built with reduced relocations.
    69d0513436
  125. Merge pull request #6163
    87cbdb8 Globals: Explicit Consensus::Params arg for main: (Jorge Timón)
    77beab70de
  126. Merge pull request #5574
    fd55571 wallet: Expose GUI labels in RPC (Luke Dashjr)
    755b4ba848
  127. Merge pull request #6822
    e20d924 [trivial] init: Use defaults MIN_RELAY_TX_FEE & TRANSACTION_MAXFEE (MarcoFalke)
    536766c [trivial] New DEFAULT_MIN_RELAY_TX_FEE = 1000 (MarcoFalke)
    5f46a7d transaction_tests: Be more strict checking dust (MarcoFalke)
    9fa54a1b0c
  128. Merge pull request #6940
    7ca73dc Improving labels for Sent / Received "Bytes" (Jonathan Cross)
    32d8b1570c
  129. qt: Periodic translations update b56953e9bb
  130. net: Automatically create hidden service, listen on Tor
    Starting with Tor version 0.2.7.1 it is possible, through Tor's control socket
    API, to create and destroy 'ephemeral' hidden services programmatically.
    https://stem.torproject.org/api/control.html#stem.control.Controller.create_ephemeral_hidden_service
    
    This means that if Tor is running (and proper authorization is available),
    bitcoin automatically creates a hidden service to listen on, without user
    manual configuration. This will positively affect the number of available
    .onion nodes.
    
    - When the node is started, connect to Tor through control socket
    - Send `ADD_ONION` command
    - First time:
        - Make it create a hidden service key
        - Save the key in the data directory for later usage
    - Make it redirect port 8333 to the local port 8333 (or whatever port we're listening on).
    - Keep control socket connection open for as long node is running. The hidden service will
      (by default) automatically go away when the connection is closed.
    8f4e67f152
  131. Better error message if Tor version too old 2f796e5fe7
  132. Merge pull request #6965
    77f1f59 Benchmark sanity checks and fork checks in ConnectBlock (Matt Corallo)
    de7d4591a7
  133. Globals: Make AcceptBlockHeader static (Fix #6163)
    ..and at the same time prevent AcceptBlockHeader() from calling global function Params()
    7267843745
  134. [gitian] Use vm-builder_0.12.4+bzr494 on Debian 779139549d
  135. Merge pull request #6985
    7791395 [gitian] Use vm-builder_0.12.4+bzr494 on Debian (Michael)
    38a4f267e8
  136. Merge pull request #6982
    7267843 Globals: Make AcceptBlockHeader static (Fix #6163) (Jorge Timón)
    cb841e7513
  137. Merge pull request #6978
    69d0513 build: Use fPIC rather than fPIE for qt objects. (Cory Fields)
    17c4d9d build: Split hardening/fPIE options out (Cory Fields)
    3ac7060934
  138. Chainparams: Explicit CChainParams arg for main (pre miner):
    -ProcessNewBlock
    -TestBlockValidity
    598e494587
  139. Chainparams: Explicit CChainParams arg for miner:
    -BitcoinMiner
    -CreateNewBlock
    -GenerateBitcoins
    -ProcessBlockFound
    6bc9e4056b
  140. [doc] add documentation how to reduce traffic 6a776faff9
  141. [doc] Fix FIXME for libblkmaker in release-notes.md 0817bf7094
  142. [doc] Improve lanaguge in reducetraffic.md 42bae94e34
  143. Merge pull request #6988
    0817bf7 [doc] Fix FIXME for libblkmaker in release-notes.md (MarcoFalke)
    44d7b561bc
  144. Merge pull request #6987
    42bae94 [doc] Improve lanaguge in reducetraffic.md (fanquake)
    6a776fa [doc] add documentation how to reduce traffic (Jonas Schnelli)
    c9743062a3
  145. Merge pull request #6974
    40b77d4 Always allow getheaders from whitelisted peers (Wladimir J. van der Laan)
    2f71b07d5e
  146. Merge pull request #6969
    7085728 doc: there is no libboost-base-dev, add missing sudo (Wladimir J. van der Laan)
    cbf9609c71
  147. Add basic coverage reporting for RPC tests
    Thanks to @MarcoFalke @dexX7 @laanwj for review.
    b5cbd396ca
  148. Clarify 'fee' field in fundrawtransaction help text
    Previous text could be interpreted as the the _additional_ fee paid by
    the result on top of the fee the original version paid, rather than the
    correct interpretation: the absolute fee the resulting tx pays.
    9bd3f035f0
  149. Make CCoinsViewTest behave like CCoinsViewDB 03c82826f9
  150. Merge pull request #6804
    b5cbd39 Add basic coverage reporting for RPC tests (James O'Beirne)
    5fcc14ee05
  151. [Qt] add shortcurts for debug-/console-window 773ae4654e
  152. Merge pull request #6931
    33c90cf Make skipping BIP30 check chain agnostic (Alex Morcos)
    06d81ad Skip BIP30 check after BIP34 activation (Alex Morcos)
    54e8bfec83
  153. add (max)uploadtarget infos to getnettotals RPC help f6d9d5ee75
  154. doc: Remove mention of pulltester from README.md
    We've switched to Travis CI a long time ago.
    01afa809ce
  155. Add unit test for UpdateCoins 1cf3dd80a6
  156. Merge pull request #6918
    69d373f Don't wipe the sigcache in TestBlockValidity (Pieter Wuille)
    0b9e9dc Evict sigcache entries that are seen in a block (Pieter Wuille)
    830e3f3 Make sigcache faster and more efficient (Pieter Wuille)
    eb6172a8ca
  157. torcontrol improvements and fixes
    - Force AUTHCOOKIE size to be 32 bytes: This provides protection against
      an attack where a process pretends to be Tor and uses the cookie
      authentication method to nab arbitrary files such as the
      wallet
    - torcontrol logging
    - fix cookie auth
    - add HASHEDPASSWORD auth, fix fd leak when fwrite() fails
    - better error reporting when cookie file is not ok
    - better init/shutdown flow
    - stop advertizing service when disconnected from tor control port
    - COOKIE->SAFECOOKIE auth
    09c1ae1c01
  158. doc: Mention Tor listening in release notes 68ccdc4696
  159. doc: update docs for Tor listening
    - add new data directory files for 0.12 to doc/files.md
    - mention torcontrol in doc/tor.md
    58ef0ffa9e
  160. Merge pull request #6639
    58ef0ff doc: update docs for Tor listening (Wladimir J. van der Laan)
    68ccdc4 doc: Mention Tor listening in release notes (Wladimir J. van der Laan)
    09c1ae1 torcontrol improvements and fixes (Wladimir J. van der Laan)
    2f796e5 Better error message if Tor version too old (Peter Todd)
    8f4e67f net: Automatically create hidden service, listen on Tor (Wladimir J. van der Laan)
    bd629d77ed
  161. [net] Cleanup maxuploadtarget
    * log: nMaxOutboundLimit is in bytes
    * log: Hide misleading -maxuploadtarget=0 warning
    * qa : Minor cleanup to maxuploadtarget rpc tests
    * net: Use DEFAULT_MAX_UPLOAD_TARGET = 0
    b27e81f115
  162. [doc] Add -maxuploadtarget release notes 9c3ee3bf77
  163. Merge #6771 from branch 'lowerLimits' of git://github.com/morcos/bitcoin 38ed190eef
  164. Update libsecp256k1 9e475d5a4d
  165. Update key.cpp to new secp256k1 API 48edf5746a
  166. Merge pull request #6998
    01afa80 doc: Remove mention of pulltester from README.md (Wladimir J. van der Laan)
    24c4841d16
  167. http: speed up shutdown
    This continues/fixes #6719.
    
    `event_base_loopbreak` was not doing what I expected it to, at least in
    libevent 2.0.21.
    What I expected was that it sets a timeout, given that no other pending
    events it would exit in N seconds. However, what it does was delay the
    event loop exit with 10 seconds, even if nothing is pending.
    
    Solve it in a different way: give the event loop thread time to exit
    out of itself, and if it doesn't, send loopbreak.
    
    This speeds up the RPC tests a lot, each exit incurred a 10 second
    overhead, with this change there should be no shutdown overhead in the
    common case and up to two seconds if the event loop is blocking.
    
    As a bonus this breaks dependency on boost::thread_group, as the HTTP
    server minds its own offspring.
    a264c32e33
  168. update jonasschnellis gpg key 160c72ac3d
  169. Merge pull request #6958
    9c3ee3b [doc] Add -maxuploadtarget release notes (MarcoFalke)
    b27e81f [net] Cleanup maxuploadtarget (MarcoFalke)
    d2e987aa19
  170. add jonasschnellis key to git-verify-commits trusted-keys a5bc8de1ba
  171. Fix bug in mempool_tests unit test a78e6eaf5c
  172. Merge pull request #6983
    48edf57 Update key.cpp to new secp256k1 API (Pieter Wuille)
    1d84107 Squashed 'src/secp256k1/' changes from 22f60a6..2bfb82b (Pieter Wuille)
    4f09b77c7f
  173. Merge pull request #7007
    a78e6ea Fix bug in mempool_tests unit test (Alex Morcos)
    d3565604e3
  174. Merge pull request #6990
    a264c32 http: speed up shutdown (Wladimir J. van der Laan)
    dbd2c135dd
  175. don't enforce maxuploadtargets disconnect for whitelisted peers d61fcff071
  176. [docs] rename reducetraffic.md to reduce-traffic.md 5760749ed8
  177. Add mediantime field to getblockchaininfo RPC call
    Useful now that BIP113 is enforced for transactions entering the
    mempool. Was previously only (indirectly) available by calling
    getblocktemplate, a relatively expensive RPC call.
    748321eb5b
  178. Actually use includeWatching value in fundrawtransaction
    Previously if you called fundrawtransaction and set includeWatching to
    false it'd act as through you set it to true.
    61e1eb2e1c
  179. Better error message for fundrawtransaction w/ empty vout
    Previously this case failed deep in Cwallet::CreateTransaction() with
    the error message "Transaction amounts must be positive"
    10953a7d32
  180. Clarify nLockTime-by-time comment in CheckFinalTx() c277a63ed7
  181. Document new mediantime field in getblockchaininfo 7259769d7f
  182. Add mediantime field to getblock and getblockheader 6531f17a78
  183. Remove LOCK(cs_main) from decodescript
    Completely static RPC call that doesn't change or even look at mutable
    state anywhere.
    b3ae384a8d
  184. Merge pull request #7010
    10953a7 Better error message for fundrawtransaction w/ empty vout (Peter Todd)
    61e1eb2 Actually use includeWatching value in fundrawtransaction (Peter Todd)
    e0a5ef8427
  185. Merge pull request #7013
    b3ae384 Remove LOCK(cs_main) from decodescript (Peter Todd)
    36baa9f475
  186. Merge pull request #7004
    a5bc8de add jonasschnellis key to git-verify-commits trusted-keys (Jonas Schnelli)
    160c72a update jonasschnellis gpg key (Jonas Schnelli)
    44ac42e50d
  187. add documentation for exluding whitelistes peer from maxuploadtarget e495ed5f08
  188. Merge pull request #6984
    e495ed5 add documentation for exluding whitelistes peer from maxuploadtarget (Jonas Schnelli)
    5760749 [docs] rename reducetraffic.md to reduce-traffic.md (Jonas Schnelli)
    d61fcff don't enforce maxuploadtargets disconnect for whitelisted peers (Jonas Schnelli)
    9ffc687288
  189. Add blocksonly mode 4044f07d1c
  190. Do not process tx inv's in blocksonly mode 420fa8143a
  191. Add whitelistalwaysrelay option 3a964973fe
  192. Add help text for blocksonly and whitelistalwaysrelay 762b13b4d8
  193. Use DEFAULT_BLOCKSONLY and DEFAULT_WHITELISTALWAYSRELAY constants 71a2683f4b
  194. Display DEFAULT_WHITELISTALWAYSRELAY in help text 59441a0445
  195. Fix fRelayTxs comment 6a4982fb83
  196. Fix comment for blocksonly parameter interactions bbf49da408
  197. Merge pull request #6993
    bbf49da Fix comment for blocksonly parameter interactions (Patick Strateman)
    6a4982f Fix fRelayTxs comment (Patick Strateman)
    59441a0 Display DEFAULT_WHITELISTALWAYSRELAY in help text (Patick Strateman)
    71a2683 Use DEFAULT_BLOCKSONLY and DEFAULT_WHITELISTALWAYSRELAY constants (Patick Strateman)
    762b13b Add help text for blocksonly and whitelistalwaysrelay (Patick Strateman)
    3a96497 Add whitelistalwaysrelay option (Patick Strateman)
    420fa81 Do not process tx inv's in blocksonly mode (Patick Strateman)
    4044f07 Add blocksonly mode (Patick Strateman)
    b632145ede
  198. [qa] travis: cover *receivedby* rpcs 33b7f83c59
  199. Switch to libsecp256k1-based validation for ECDSA 6e18268616
  200. Fixed integer comparison warning. 4d29032a64
  201. Merge pull request #7000
    773ae46 [Qt] add shortcurts for debug-/console-window (Jonas Schnelli)
    814697c556
  202. Merge pull request #6991
    9bd3f03 Clarify 'fee' field in fundrawtransaction help text (Peter Todd)
    6876a78b86
  203. Avoid a compile error on hosts with libevent too old for EVENT_LOG_WARN.
    This uses _EVENT_LOG_WARN instead, which appears to be defined in the
     old versions of libevent that I have on some systems.
    aee22bf288
  204. Merge pull request #7016
    aee22bf Avoid a compile error on hosts with libevent too old for EVENT_LOG_WARN. (Gregory Maxwell)
    dafefb7924
  205. [contrib] Update versionprefix to "bitcoin-core" in verify.sh 141c44ed65
  206. [trivial] contrib: Fix `echo`s in verify.sh a6d5a6502a
  207. Merge pull request #6954
    6e18268 Switch to libsecp256k1-based validation for ECDSA (Pieter Wuille)
    e54ebbf600
  208. Remove unmaintained example test script_test.py c800c95997
  209. devtools: add libraries for bitcoin-qt to symbol check
    Forgot to add these.
    Also add a short description for each required library.
    9f251b7a9d
  210. depends: qt PIDLIST_ABSOLUTE patch
    Remove sed-based qt PIDLIST_ABSOLUTE workaround, replace by a patch that
    works for both old (such as used by Travis and Ubuntu Precise) and new
    mingw (Ubuntu Trusty).
    0b416c6e9c
  211. gitian: use trusty for building 2e31d74b71
  212. Merge pull request #7023
    4d29032 Fixed integer comparison warning. (Eric Lombrozo)
    0a547d2d55
  213. Merge pull request #6999
    f6d9d5e add (max)uploadtarget infos to getnettotals RPC help (Jonas Schnelli)
    972bf9c529
  214. Merge pull request #6986
    6bc9e40 Chainparams: Explicit CChainParams arg for miner: (Jorge Timón)
    598e494 Chainparams: Explicit CChainParams arg for main (pre miner): (Jorge Timón)
    87ee0e2dbc
  215. Implement helper class for CTxMemPoolEntry constructor
    This is only for unit tests.
    e587bc3fd9
  216. Merge pull request #7026
    a6d5a65 [trivial] contrib: Fix `echo`s in verify.sh (MarcoFalke)
    141c44e [contrib] Update versionprefix to "bitcoin-core" in verify.sh (MarcoFalke)
    eac53ec992
  217. [qa] Split README.md to /qa and /qa/rpc-tests
    + Update with new -help message
    cc975745d5
  218. [doc] Users now see 'Bitcoin Core' in the OSX bundle
    On OS X users will see 'Bitcoin Core' after opening the DMG bundle.
    bd42e6b6ec
  219. Merge pull request #7020
    e587bc3 Implement helper class for CTxMemPoolEntry constructor (Alex Morcos)
    e8df8a5077
  220. [contrib] Delete test-patches 013a364138
  221. Fix debug log message for block files e855b0152f
  222. Merge pull request #7050
    e855b01 Fix debug log message for block files (Alex Morcos)
    f3ea48ad8b
  223. Merge pull request #7030
    013a364 [contrib] Delete test-patches (MarcoFalke)
    7f8e90da33
  224. [qa] Extend README.md e16ee1cd1e
  225. Merge pull request #6951
    513686d [qt] Use maxTxFee instead of 10000000 (MarcoFalke)
    03403d8c0f
  226. Merge pull request #6932
    1cf3dd8 Add unit test for UpdateCoins (Alex Morcos)
    03c8282 Make CCoinsViewTest behave like CCoinsViewDB (Alex Morcos)
    14470f9 ModifyNewCoins saves database lookups (Alex Morcos)
    73fa5e6043
  227. [doc][trivial] Remove miniupnpc build notes build-unix c5f211bbd0
  228. add powerpc build support for openssl lib 2798e0b0d2
  229. Merge pull request #7041
    bd42e6b [doc] Users now see 'Bitcoin Core' in the OSX bundle (Michael Ford)
    15765df352
  230. Merge pull request #7048
    c5f211b [doc][trivial] Remove miniupnpc build notes build-unix (fanquake)
    f8e87d74c9
  231. ui: Add "Copy raw transaction data" to transaction list context menu
    Add a way to quickly copy transaction hex.
    
    Primarily useful when manually submitting transactions,
    e.g. `-walletbroadcast=0` is set.
    b4f3e9c09e
  232. Merge pull request #7051
    b4f3e9c ui: Add "Copy raw transaction data" to transaction list context menu (Wladimir J. van der Laan)
    a1907772f0
  233. qt: Periodic translations update 52c563710d
  234. gitian: make windows build deterministic 957c0fd7c0
  235. doc: change suite to trusty in gitian-building.md 2cecb24600
  236. Merge pull request #6900
    2cecb24 doc: change suite to trusty in gitian-building.md (Wladimir J. van der Laan)
    957c0fd gitian: make windows build deterministic (Wladimir J. van der Laan)
    2e31d74 gitian: use trusty for building (Wladimir J. van der Laan)
    0b416c6 depends: qt PIDLIST_ABSOLUTE patch (Wladimir J. van der Laan)
    9f251b7 devtools: add libraries for bitcoin-qt to symbol check (Wladimir J. van der Laan)
    c983d6fcb4
  237. Merge pull request #7059
    2798e0b add powerpc build support for openssl lib (daniel)
    a1bfca8052
  238. [Qt] simple mempool info in debug window c197798d1b
  239. Merge pull request #7019
    33b7f83 [qa] travis: cover *receivedby* rpcs (MarcoFalke)
    07b770caf3
  240. Merge pull request #6979
    c197798 [Qt] simple mempool info in debug window (Jonas Schnelli)
    776848acef
  241. Fix relay mechanism for whitelisted peers under blocks only mode.
    Previously in blocks only mode all inv messages where type!=MSG_BLOCK would be
    rejected without regard for whitelisting or whitelistalwaysrelay.
    
    As such whitelisted peers would never send the transaction (which would be
    processed).
    3587f6a024
  242. Bail early in processing transactions in blocks only mode.
    Previously unsolicited transactions would be processed as normal.
    d8aaa51bec
  243. Add relaytxes status to getpeerinfo 08843ed998
  244. Optimisation: Store transaction list order in memory rather than compute it every need
    Huge performance improvement (450%) for zapwallettxes
    3e7c89196c
  245. Merge pull request #6851
    3e7c891 Optimisation: Store transaction list order in memory rather than compute it every need (Luke Dashjr)
    616d61b20d
  246. Merge pull request #7011
    6531f17 Add mediantime field to getblock and getblockheader (Peter Todd)
    7259769 Document new mediantime field in getblockchaininfo (Peter Todd)
    c277a63 Clarify nLockTime-by-time comment in CheckFinalTx() (Peter Todd)
    748321e Add mediantime field to getblockchaininfo RPC call (Peter Todd)
    31de2414c6
  247. Improve log messages for blocks only violations. 80ae230a52
  248. Merge pull request #7046
    80ae230 Improve log messages for blocks only violations. (Patick Strateman)
    08843ed Add relaytxes status to getpeerinfo (Peter Todd)
    d8aaa51 Bail early in processing transactions in blocks only mode. (Patick Strateman)
    3587f6a Fix relay mechanism for whitelisted peers under blocks only mode. (Patick Strateman)
    c322652b71
  249. Merge pull request #7029
    c800c95 Remove unmaintained example test script_test.py (Suhas Daftuar)
    9cdd407ca5
  250. Merge pull request #7028
    e16ee1c [qa] Extend README.md (MarcoFalke)
    cc97574 [qa] Split README.md to /qa and /qa/rpc-tests (MarcoFalke)
    0b0fc179ab
  251. Merge commit '5ad54630935d1f340666de7bc9ffef9b8a1df296' into HEAD fa63e49b35
  252. MarcoFalke renamed this:
    [trivial] pull secp256k1subtree
    [trivial] pull secp256k1 subtree
    on Nov 24, 2015
  253. laanwj added the label Build system on Nov 24, 2015
  254. laanwj commented at 8:55 AM on November 24, 2015: member

    utACK I don't like the subtree commit noise just to update a single line in a single file, but that's a less pretty side of subtrees that we have to accept, I guess.

  255. jonasschnelli commented at 11:44 AM on November 24, 2015: contributor

    utACK.

    Maybe we should wait and combine changes in the libsecp256k. IIRC @sipa and @gmaxwell had in mind to do a libsecp256k1 release which would be a good tag for a subtree update.

  256. MarcoFalke commented at 11:51 AM on November 24, 2015: member

    subtree commit noise

    Only one commit overhead at most, so negligible compared to what was already saved. ;)

    combine changes

    Sure. Is there an eta of the release?

  257. sipa commented at 12:11 PM on November 24, 2015: member

    utACK

    This is more urgent to fix, I think.

  258. gmaxwell commented at 10:25 PM on November 24, 2015: contributor

    utACK. Build system fix, should go in sooner rather than later. "Pardon our dust."

  259. dcousens commented at 3:26 AM on November 25, 2015: contributor

    utACK

  260. laanwj merged this on Nov 25, 2015
  261. laanwj closed this on Nov 25, 2015

  262. laanwj referenced this in commit 2b2ddc558e on Nov 25, 2015
  263. MarcoFalke deleted the branch on Nov 25, 2015
  264. 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-17 03:15 UTC

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