Update libsecp256k1 #5457

pull sipa wants to merge 7532 commits into bitcoin:master from sipa:secp changing 1090 files +287680 −474
  1. sipa commented at 1:10 AM on December 11, 2014: member

    Relevant updates (see the commit message in the subtree squash commit for all changes).

    • Switch to inline assembly (no need for YASM).
    • Faster field multiplication code.
    • Small performance tweaks.
    • Many more unit tests (mostly by @gmaxwell).
  2. [Qt, OSX] QProgressBar CPU-Issue workaround
    fixes #5295
    6093aa1bb0
  3. Merge pull request #5275
    1837987 Optimize -regtest setgenerate block generation (Gavin Andresen)
    
    Signed-off-by: Gavin Andresen <gavinandresen@gmail.com>
    d6479ffc6a
  4. regression test only setmocktime RPC call a8b2ce557d
  5. Merge pull request #5292
    7329fdd Update comments in txmempool to be doxygen compatible (Michael Ford)
    47cb3606a3
  6. Merge pull request #5289
    5617267 Fix typo in listreceivedbyaddress and listaccounts  help text (Michael Ford)
    dbbe00f008
  7. Merge pull request #5293
    c63a73d Update comments in util to be doxygen compatible (Michael Ford)
    1f0436f8cb
  8. Merge pull request #5237
    2db4c8a Fix node ranges in the test framework. (Daniel Kraft)
    20e4f654f5
  9. RPC tests: create initial chain with specific timestamps
    Use setmocktime to create the initial block chain with
    10-minute-apart-blocks starting 1 Jan 2014.
    daf03e7c92
  10. travis: disable rpc tests for windows until they're not so flaky 3c30f27f34
  11. Merge pull request #5212
    219a147 script: check ScriptError values in script tests (Cory Fields)
    ab9edbd script: create sane error return codes for script validation and remove logging (Cory Fields)
    8adf457047
  12. Discourage NOPs reserved for soft-fork upgrades
    NOP1 to NOP10 are reserved for future soft-fork upgrades. In the event
    of an upgrade such NOPs have *VERIFY behavior, meaning that if their
    arguments are not correct the script fails. Discouraging these NOPs by
    rejecting transactions containing them from the mempool ensures that
    we'll never accept transactions, nor mine blocks, with scripts that are
    now invalid according to the majority of hashing power even if we're not
    yet upgraded. Previously this wasn't an issue as the IsStandard() rules
    didn't allow upgradable NOPs anyway, but 7f3b4e95 relaxed the
    IsStandard() rules for P2SH redemptions allowing any redeemScript to be
    spent.
    
    We *do* allow upgradable NOPs in scripts so long as they are not
    executed. This is harmless as there is no opportunity for the script to
    be invalid post-upgrade.
    03914234b3
  13. [Qt, OSX] fix usage of osx 10.8+ user notification center
    Currently Bitcoin-Qts support for OSX User Notification Center is broken. This pull will fix a known issue of non-official-apple-built apps having problems sending user notifications.
    a7f2941068
  14. Merge pull request #5297
    096efc5 travis: install less packages from apt-get (Cory Fields)
    3c1e10b161
  15. Merge pull request #5290
    5d60b69 Coin Control: Make list mode default (Luke Dashjr)
    4ff81d6 Bugfix: Clarify coin control dialog labels (Luke Dashjr)
    27b2288f33
  16. Merge pull request #2844 9445b876bd
  17. HTTP REST: minor fixes
    1) const-ify internal helper ParseHashStr()
    
    2) use HTTPError() helper when returning HTTP_NOT_FOUND
    7715c84747
  18. Properly lock cs_main in rest_block e2f30d547f
  19. Delete src/secp256k1 before subtree import 7a7e109139
  20. Merge commit 'd48555b36ac512161b81f9b6bca7bea16a0cd806' as 'src/secp256k1' 2245a95ce8
  21. Always build and link libsecp256k1 07a9901703
  22. Do not use EC code in global constructors 4c97c64bf6
  23. Use libsecp256k1 in key.cpp dffb8f81b8
  24. Don't use bashisms in configure cf61b5441b
  25. depends: add gmp package ff1e5ba8c7
  26. depends: quit exporting in config.site 54566de29d
  27. build: fixup configure to not export anything 0dc8613864
  28. build: secp256k1 as a subdir, since it's required 4300876c81
  29. revert part of 9eda1620b
    This probably would've broken native OSX builds
    f9e40fb075
  30. Merge pull request #5301 e3560029ce
  31. Abstract context-dependent block checking from acceptance a48f2d6ddd
  32. CreateNewBlock and miner_tests: Also check generated template is valid by CheckBlockHeader, ContextualCheckBlockHeader, CheckBlock, and ContextualCheckBlock 4ea1be7fb8
  33. TestBlockValidity function for CBlock proposals (used by CreateNewBlock) df08a626e0
  34. miner_tests: Disable checkpoints so they don't fail the subsidy-change test 132ea9b48f
  35. Abstract DecodeHexBlk and BIP22ValidationResult functions out of submitblock 3dcbb9b6b4
  36. Merge pull request #5280
    3c30f27 travis: disable rpc tests for windows until they're not so flaky (Cory Fields)
    daf03e7 RPC tests: create initial chain with specific timestamps (Gavin Andresen)
    a8b2ce5 regression test only setmocktime RPC call (Gavin Andresen)
    fd3777b0b2
  37. change nSubsidy's type from int64_t to CAmount 60d1ecd378
  38. Merge pull request #5291
    7ab4358 Update bash-completion for v0.10 (Christian von Roques)
    3b4c7cdfc3
  39. Merge pull request #5300
    a7f2941 [Qt, OSX] fix usage of osx 10.8+ user notification center (Jonas Schnelli)
    5716808ca7
  40. Merge pull request #5279
    6c8c704 [docs] Add mini-"howto" using Qt Creator (osx) (Jonas Schnelli)
    bf217e3adc
  41. Merge pull request #5220
    f9e40fb revert part of 9eda1620b (Cory Fields)
    4300876 build: secp256k1 as a subdir, since it's required (Cory Fields)
    0dc8613 build: fixup configure to not export anything (Cory Fields)
    54566de depends: quit exporting in config.site (Cory Fields)
    ff1e5ba depends: add gmp package (Cory Fields)
    cf61b54 Don't use bashisms in configure (Pieter Wuille)
    dffb8f8 Use libsecp256k1 in key.cpp (Pieter Wuille)
    4c97c64 Do not use EC code in global constructors (Pieter Wuille)
    07a9901 Always build and link libsecp256k1 (Pieter Wuille)
    d48555b Squashed 'src/secp256k1/' content from commit ad2028f (Pieter Wuille)
    7a7e109 Delete src/secp256k1 before subtree import (Pieter Wuille)
    271061242b
  42. Remove unused ecwrapper code 230f7a833d
  43. [Qt, OSX] move QProgressBarMac to guiutil.h 0ceab00d16
  44. Merge pull request #5296
    0ceab00 [Qt, OSX] move QProgressBarMac to guiutil.h (Jonas Schnelli)
    6093aa1 [Qt, OSX] QProgressBar CPU-Issue workaround (Jonas Schnelli)
    e587ecd8a6
  45. Merge pull request #5313
    230f7a8 Remove unused ecwrapper code (Pieter Wuille)
    18832ff8e1
  46. gmp needed to build on OSX 8c41853380
  47. [Wallet] Add global boolean whether to send free transactions (default=true) 0ed9675be4
  48. [Wallet] Add global boolean whether to pay at least the custom fee (default=true) ed3e5e468c
  49. [Wallet] Prevent user from paying a non-sense fee e7876b2979
  50. [Qt] Add Smartfee to GUI c1c9d5b415
  51. Merge pull request #5200
    c1c9d5b [Qt] Add Smartfee to GUI (Cozz Lovan)
    e7876b2 [Wallet] Prevent user from paying a non-sense fee (Cozz Lovan)
    ed3e5e4 [Wallet] Add global boolean whether to pay at least the custom fee (default=true) (Cozz Lovan)
    0ed9675 [Wallet] Add global boolean whether to send free transactions (default=true) (Cozz Lovan)
    b7fe9cd04c
  52. doc: add libgmp dependency for secp256k1
    Also reorganize the document a bit.
    b5d1b10929
  53. Port/fix txnmall.sh regression test
    Ported txnmall.sh to Python, and updated to match
    recent transaction malleability changes.
    
    I also modified it so it tests both double-spending
    confirmed and unconfirmed (only-in-mempool) transactions.
    
    Renamed to txn_doublespend, since that is really what is
    being tested. And told the pull-tester to run both
    variations on this test.
    8656dbb095
  54. Truthier error message when rpcpassword is missing 77c38bb5cc
  55. Implement BIP 23 Block Proposal 9765a50cbd
  56. QA RPC tests: Add tests block block proposals bc6cb4177b
  57. submitblock: Check for duplicate submissions explicitly 60755dbf76
  58. Update comments in src/rpc* to be doxygen compatible 72fb3d295a
  59. build: make a distinction between static app ldflags and static lib ldflags
    For windows builds, exe's are always static, but libs should still conform to
    --enabled-shared and --enable-static.
    e0077de5de
  60. build: mingw needs libssp for hardening with dlls 811a765bef
  61. build: check visibility attributes f36a40f7fd
  62. build: remove internal/protected build attribute checks
    They're not necessary, and not always supported. We only need to know about
    hidden and default.
    ee64c53c1f
  63. build: add libbitcoinconsensus files and hook up the lib build
    Credit BlueMatt for libbitcoinsonsensus.h/cpp
    2cf5f16c25
  64. build: add --with-libs so that libs are optional cdd36c6c5c
  65. build: add quick consensus lib tests
    They should be hooked up in other places as well, but this is a start.
    269efa30ed
  66. build: shared lib build should work reasonably well now 19df238a7b
  67. build: fix static dll link for mingw
    dll's are no longer dynamically linked to libgcc/libstdc++/libssp
    9ed8979e29
  68. build: pad header for osx libs
    This ensures that users of the lib will be able to mangle the paths to work
    in their bundles.
    9eb5a5fbef
  69. depends: Use pic for all linux dependencies
    This avoids textrels, and matches previous gitian behavior.
    4302fa67b1
  70. depends: Add a package for qt4.6. Linux uses it by default.
    We're not ready to switch to a static qt5 for Linux yet due to missing plugin
    support. This adds a recipe for building a shared qt4 that we build and link
    against, but don't distribute.
    
    make USE_LINUX_STATIC_QT5=1 can be used to build static qt5 as before.
    5f93ec2028
  71. gitian: descriptors overhaul
    Descriptors now make use of the dependencies builder, so results are cached.
    A very new version (>= e9741525c) of Gitian should be used in order to take
    advantage of caching.
    1aead42d41
  72. gitian: quick docs update 4bbbdf3244
  73. travis: let travis use shared libs for tests c54d647a92
  74. gitian: make tarballs deterministic and nuke .la files from build output 246659aff1
  75. Check block header before accepting it.
    Previously, AcceptBlockHeader did not check the header (in particular
    PoW).  This made the client accept invalid-PoW-headers from peers in
    headers-first sync.
    57425a2425
  76. qt: Make askpassphrase dialog behave more sanely
    Set minimum sizes appropriately, and make sure that they
    are enforced. Replaces #5226.
    e0a25c54eb
  77. minor style cleanup after HTTP rest interface merge
    - no code changes
    a01fa3035f
  78. [Qt] minor ordering cleanup after new fee selection 4574248f9f
  79. Make PruneBlockIndexCandidates safer 34559c7c73
  80. [Qt] explicitly call proxy in GUI settings SOCKS5 proxy
    - to ensure a consistent wording between core and GUI
    aabe61cb37
  81. Merge pull request #5235
    9eb5a5f build: pad header for osx libs (Cory Fields)
    9ed8979 build: fix static dll link for mingw (Cory Fields)
    19df238 build: shared lib build should work reasonably well now (Cory Fields)
    269efa3 build: add quick consensus lib tests (Cory Fields)
    cdd36c6 build: add --with-libs so that libs are optional (Cory Fields)
    2cf5f16 build: add libbitcoinconsensus files and hook up the lib build (Cory Fields)
    ee64c53 build: remove internal/protected build attribute checks (Cory Fields)
    f36a40f build: check visibility attributes (Cory Fields)
    811a765 build: mingw needs libssp for hardening with dlls (Cory Fields)
    e0077de build: make a distinction between static app ldflags and static lib ldflags (Cory Fields)
    9842ed465b
  82. Merge pull request #5320
    e0a25c5 qt: Make askpassphrase dialog behave more sanely (Wladimir J. van der Laan)
    5c6b384502
  83. Merge pull request #5324
    72fb3d2 Update comments in src/rpc* to be doxygen compatible (Michael Ford)
    cf9c4887f1
  84. Merge pull request #5000
    0391423 Discourage NOPs reserved for soft-fork upgrades (Peter Todd)
    3ba5ebc065
  85. Make STRICTENC invalid pubkeys fail the script rather than the opcode.
    This turns STRICTENC turn into a softforking-safe change (even though it
    is not intended as a consensus rule), and as a result guarantee that using
    it for mempool validation only results in consensus-valid transactions in
    the mempool.
    98b135f97f
  86. Test the exact order of CHECKMULTISIG sig/pubkey evaluation
    Possible with STRICTENC
    ca8158719b
  87. Merge pull request #5270
    57425a2 Check block header before accepting it. (Daniel Kraft)
    5c4dffd188
  88. CreateNewBlock: Stick height in coinbase so we pass template sanity check b867e409e5
  89. Split up crypto/sha2 36fa4a78ac
  90. Add HMAC-SHA256 a8f5087e53
  91. Add the RFC6979 PRNG 3060e36098
  92. Deterministic signing a53fd41485
  93. Header define style cleanups 9d8604f36a
  94. build: fix link error on some platforms. Fixes #5235
    Some users may have libtool libs (.la) installed in their linker search paths.
    In this case, using -static-libtool-libs would try to link in .a's instead of
    shared libs. That would be harmless unless the .a was built in a way that
    would break linking, like non-fpic.
    
    What we really want is "-static" here. Despite its name, it's actually less
    aggressive than -static-libtool-libs. It causes only internal libs to be linked
    statically (libbitcoinconsensus is the one were'a after).
    f618577029
  95. Port of wallet.sh to python (wallet.py).
    Also included are minor edits to util.py to create a clean blockchain and add a parameter to gather_inputs to specify number of confirmations.
    189fb526f1
  96. Edited rpc-tests to run python script not shell script. e4ef724493
  97. Fixed mempool sync after sending a transaction 7e615f5228
  98. Merge pull request #5332
    f618577 build: fix link error on some platforms. Fixes #5235 (Cory Fields)
    216685a6df
  99. Merge pull request #5322
    aabe61c [Qt] explicitly call proxy in GUI settings SOCKS5 proxy (Philip Kaufmann)
    db5308f447
  100. qt: English translation update 4a106eeb33
  101. Merge pull request #5317
    8656dbb Port/fix txnmall.sh regression test (Gavin Andresen)
    9c3572b0ab
  102. Merge pull request #5333
    e4ef724 Edited rpc-tests to run python script not shell script. (mrbandrews)
    189fb52 Port of wallet.sh to python (wallet.py). (mrbandrews)
    37c47e1809
  103. Merge pull request #5318
    77c38bb Truthier error message when rpcpassword is missing (Glenn Willen)
    cb83af9937
  104. Merge pull request #5247
    ca81587 Test the exact order of CHECKMULTISIG sig/pubkey evaluation (Peter Todd)
    98b135f Make STRICTENC invalid pubkeys fail the script rather than the opcode. (Pieter Wuille)
    ca6fb4e885
  105. Merge pull request #5170
    092b58d CBlockIndex::GetBlockWork() + GetProofIncrement(nBits) -> GetBlockProof(CBlockIndex) (jtimon)
    22c4272 MOVEONLY: Move void UpdateTime() from pow.o to miner.o (plus fix include main.h -> chain.h) (jtimon)
    f2ada138c2
  106. Convert remaining comments in /src to doxygen format
    - Update comments in checkpoints to be doxygen compatible
    - Update comments in checkqueue to be doxygen compatible
    - Update coins to be doxygen compatible
    - Fix comment typo in crypter.h
    - Update licenses/copyright dates
    
    Closes #5325 #5184 #5183 #5182
    fa94b9d562
  107. Change MIT/X11 to MIT in license displayed in the program 1b2600a13a
  108. Merge pull request #4727
    246659a gitian: make tarballs deterministic and nuke .la files from build output (Cory Fields)
    c54d647 travis: let travis use shared libs for tests (Cory Fields)
    4bbbdf3 gitian: quick docs update (Cory Fields)
    1aead42 gitian: descriptors overhaul (Cory Fields)
    5f93ec2 depends: Add a package for qt4.6. Linux uses it by default. (Cory Fields)
    4302fa6 depends: Use pic for all linux dependencies (Cory Fields)
    a574189e2a
  109. Check pindexBestForkBase for null 730b1ed1a0
  110. docs: ThreadGetMyExternalIP has been removed
    It was removed in https://github.com/bitcoin/bitcoin/pull/5161
    be4ac91aef
  111. Process help and version arguments before datadir. 3d0a1ce193
  112. Remove misleading comment about testnet's message string. e0535e15ab
  113. Merge pull request #5348
    be4ac91 docs: ThreadGetMyExternalIP has been removed (Pavel Vasin)
    eac749a486
  114. Merge pull request #5350
    e0535e1 Remove misleading comment about testnet's message string. (Pavel Janík)
    cbf28c6619
  115. Add sanity check after key generation
    Add a sanity check to prevent cosmic rays from flipping a bit in the
    generated public key, or bugs in the elliptic curve code. This is
    simply done by signing a (randomized) message, and verifying the
    result.
    d0c41a7350
  116. Add key generation/verification to ECC sanity check f321d6bfff
  117. Prioritize and display -testsafemode status in UI
    Like in a real world situation, a safe mode test should also be visible in the
    UI. A test of safe mode is furthermore mostly relevant for developers, so it
    should not be overwritten by a warning about a pre-release test build.
    7357893396
  118. Make -proxy set all network types, avoiding a connect leak.
    Previously -proxy was not setting the proxy for IsLimited networks, so
     if you set your configuration to be onlynet=tor you wouldn't get an
     IPv4 proxy set.
    
    The payment protocol gets its proxy configuration from the IPv4 proxy,
     and so it would experience a connection leak.
    
    This addresses issue #5355 and also clears up a cosmetic bug where
     getinfo proxy output shows nothing when onlynet=tor is set.
    3c77714134
  119. Merge pull request #5356
    7357893 Prioritize and display -testsafemode status in UI (dexX7)
    c24d07554b
  120. Check for strnlen and provide it if it is not found. 494f6e7d35
  121. Merge pull request #5309
    4574248 [Qt] minor ordering cleanup after new fee selection (Philip Kaufmann)
    a01fa30 minor style cleanup after HTTP rest interface merge (Philip Kaufmann)
    dfc8e1432a
  122. Merge pull request #5224
    f321d6b Add key generation/verification to ECC sanity check (Pieter Wuille)
    d0c41a7 Add sanity check after key generation (Pieter Wuille)
    6582f323f0
  123. Merge pull request #1816
    b867e40 CreateNewBlock: Stick height in coinbase so we pass template sanity check (Luke Dashjr)
    60755db submitblock: Check for duplicate submissions explicitly (Luke Dashjr)
    bc6cb41 QA RPC tests: Add tests block block proposals (Luke Dashjr)
    9765a50 Implement BIP 23 Block Proposal (Luke Dashjr)
    3dcbb9b Abstract DecodeHexBlk and BIP22ValidationResult functions out of submitblock (Luke Dashjr)
    132ea9b miner_tests: Disable checkpoints so they don't fail the subsidy-change test (Luke Dashjr)
    df08a62 TestBlockValidity function for CBlock proposals (used by CreateNewBlock) (Luke Dashjr)
    4ea1be7 CreateNewBlock and miner_tests: Also check generated template is valid by CheckBlockHeader, ContextualCheckBlockHeader, CheckBlock, and ContextualCheckBlock (Luke Dashjr)
    a48f2d6 Abstract context-dependent block checking from acceptance (Luke Dashjr)
    f24bcce2ac
  124. Improve chainstate/blockindex disk writing policy
    There are 3 pieces of data that are maintained on disk. The actual block
    and undo data, the block index (which can refer to positions on disk),
    and the chainstate (which refers to the best block hash).
    
    Earlier, there was no guarantee that blocks were written to disk before
    block index entries referring to them were written. This commit introduces
    dirty flags for block index data, and delays writing entries until the actual
    block data is flushed.
    
    With this stricter ordering in writes, it is now safe to not always flush
    after every block, so there is no need for the IsInitialBlockDownload()
    check there - instead we just write whenever enough time has passed or
    the cache size grows too large. Also updating the wallet's best known block
    is delayed until this is done, otherwise the wallet may end up referring to an
    unknown block.
    
    In addition, only do a write inside the block processing loop if necessary
    (because of cache size exceeded). Otherwise, move the writing to a point
    after processing is done, after relaying.
    51ce901aa3
  125. Introduce separate flushing modes a206950016
  126. [Qt, OSX] fix Qt4.8 compatibility with QProgressBar issue
    Rebased-From: 7f33d2cebfde99ded12c711ef6bd77c91725cfb8
    Github-Issue: #5344
    c5a2282855
  127. Merge pull request #5154
    730b1ed Check pindexBestForkBase for null (21E14)
    1ee685f984
  128. Merge pull request #5358
    3c77714 Make -proxy set all network types, avoiding a connect leak. (Gregory Maxwell)
    6f9e67aca7
  129. Merge pull request #5335
    7e615f5 Fixed mempool sync after sending a transaction (Suhas Daftuar)
    fe042dbe9f
  130. libbitcoinconsensus: don't require any global constructors
    These static objects are only used in once place, so declare them there instead.
    322317951f
  131. qt: osx: fix hidden symbol visibility
    Fixes default hidden symbol visibility for our linux->osx cross build. Without
    this change, the check for working -fvisibility=hidden fails, and all symbols
    are visible by default.
    
    Ugly as this is, it's just a simple find/replace to fix a bug in Qt's configure.
    They assume in an "XPLATFORM_MAC" block that the builder is capable of running
    osx programs. This should be "BUILD_ON_MAC" instead.
    d61dc25c71
  132. Fix typo in doxygen comment. 3a05ba1bfc
  133. Merge pull request #5362
    d61dc25 qt: osx: fix hidden symbol visibility (Cory Fields)
    97bef1203d
  134. Merge pull request #5241
    a206950 Introduce separate flushing modes (Pieter Wuille)
    51ce901 Improve chainstate/blockindex disk writing policy (Pieter Wuille)
    397b9011c9
  135. Add 'invalidateblock' and 'reconsiderblock' RPC commands.
    These can be used for testing reorganizations or for manual intervention in case of
    chain forks.
    798faec3ea
  136. Delay writing block indexes in invalidate/reconsider 3dd8ed72e5
  137. Merge pull request #5351
    3d0a1ce Process help and version arguments before datadir. (Pavel Janík)
    ac0b2393a4
  138. [Qt] small changes to sendcoinsdialog
    - add newly added variables to the constructor init
    - move an already existing bool also to constructor init
    - move a connect call to setClientModel and add a NULL pointer check
    a328dd60a7
  139. build: disable static lib stripping during osx make install-strip b7f2cdc8a9
  140. gitian: update descriptors to use a sane uniform output 52bb7a7e1b
  141. build: add the deploydir target for gitian
    This is a helper target that stops just before the creation of the dmg.
    2f327a3c87
  142. build: Clean up the dmg layout d69ed2b291
  143. release: update docs to reflect new layout
    - Split linux32/linux64 releases
    - Split win32/win64 zips
    - Post-processing should no longer be required. The deterministic outputs are
      ready for consumption.
    dfef929bf7
  144. build: add a deterministic dmg signer 914868a05d
  145. docs: add/update docs for osx dmg signing 7a9cf80b19
  146. Include missing config/bitcoin-config.h. c8ed6130a4
  147. Merge pull request #5340
    c8ed613 Include missing config/bitcoin-config.h. (Pavel Janík)
    494f6e7 Check for strnlen and provide it if it is not found. (Pavel Janík)
    70f9e33fa0
  148. Use complete path to include bitcoin-config.h. a53d16ac0c
  149. Merge pull request #5361
    3223179 libbitcoinconsensus: don't require any global constructors (Cory Fields)
    e6751ca68a
  150. Merge pull request #5209
    9b1627d [Wallet] Reduce minTxFee for transaction creation to 1000 satoshis (Cozz Lovan)
    124b4895b8
  151. Merge pull request #5370
    b7f2cdc build: disable static lib stripping during osx make install-strip (Cory Fields)
    91eaedd4ce
  152. Merge pull request #5371
    dfef929 release: update docs to reflect new layout (Cory Fields)
    52bb7a7 gitian: update descriptors to use a sane uniform output (Cory Fields)
    ce7204bf2e
  153. Merge pull request #5363
    7a9cf80 docs: add/update docs for osx dmg signing (Cory Fields)
    914868a build: add a deterministic dmg signer (Cory Fields)
    d69ed2b build: Clean up the dmg layout (Cory Fields)
    2f327a3 build: add the deploydir target for gitian (Cory Fields)
    686fa79cae
  154. Merge pull request #5323
    a328dd6 [Qt] small changes to sendcoinsdialog (Philip Kaufmann)
    4baa9f0c9b
  155. Merge pull request #5321
    34559c7 Make PruneBlockIndexCandidates safer (Pieter Wuille)
    cca48f6 Reset setBlockIndexCandidates once block index db loaded (21E14)
    53a87c0355
  156. [REST] fix headersonly flag for BINARY responses 210eba9fdb
  157. qt: Update translations from transifex 8ba38aba42
  158. [REST] give an appropriate response in warmup phase 78bdc8103f
  159. [REST] set REST API behind "-rest" option 5dc713bfc7
  160. Merge pull request #5326
    5dc713b [REST] set REST API behind "-rest" option (Jonas Schnelli)
    78bdc81 [REST] give an appropriate response in warmup phase (Jonas Schnelli)
    210eba9 [REST] fix headersonly flag for BINARY responses (Jonas Schnelli)
    108b19f7ef
  161. [REST] adding basic documentation 199627c94c
  162. Merge pull request #5273
    cd4d3f1 Win32: change buffer size for gethotsname in Discover() (Philip Kaufmann)
    8fa0494 Win32: log addresses found in Discover() calls (Philip Kaufmann)
    b031137977
  163. Merge pull request #5158
    9ec75c5 Add a locking mechanism to IsInitialBlockDownload to ensure it never goes from false to true. (Ruben Dario Ponticelli)
    a2d0fc6 Fix IsInitialBlockDownload which was broken by headers first. (Ruben Dario Ponticelli)
    9ff0bc9beb
  164. Add 'invalidateblock' and 'reconsiderblock' RPC commands.
    These can be used for testing reorganizations or for manual intervention in case of
    chain forks.
    9b0a8d3152
  165. Delay writing block indexes in invalidate/reconsider 0dd06b2515
  166. Introduce a hidden category bd9aebf19d
  167. Fix python usage for arch's broken maintainers e3f315a0a5
  168. Remove -printblock, -printblocktree, and -printblockindex 57be955ba0
  169. Report status of chain tips 1b91be49f5
  170. Merge pull request #5384
    e3f315a Fix python usage for arch's broken maintainers (Matt Corallo)
    faa1623a44
  171. Merge pull request #5385
    57be955 Remove -printblock, -printblocktree, and -printblockindex (Pieter Wuille)
    2adce1f716
  172. [REST] make selection of output-format mandatory, support dot url syntax
    1. Remove the default format (binary) because `rest/block/<hash>/Hex` would end up delivering binary data.
    2. List available formats when chosen format was not found (reduces need for documentation)
    3. Change url syntax to dot extension like format chosing (like `rest/tx/<hash>.json`
    8a5c9513ba
  173. Merge pull request #5374
    a53d16a Use complete path to include bitcoin-config.h. (Pavel Janík)
    631e698bb7
  174. Move `setmocktime` to hidden category
    Another testing-only potential footgun command.
    f86a24b368
  175. Merge pull request #5316
    f86a24b Move `setmocktime` to hidden category (Wladimir J. van der Laan)
    bd9aebf Introduce a hidden category (Pieter Wuille)
    0dd06b2 Delay writing block indexes in invalidate/reconsider (Pieter Wuille)
    9b0a8d3 Add 'invalidateblock' and 'reconsiderblock' RPC commands. (Pieter Wuille)
    d7c8a830c4
  176. Merge pull request #5365
    3a05ba1 Fix typo in doxygen comment. (Pavel Janík)
    5270817180
  177. Update the intent on SI-style separators. 1cf23f6c50
  178. Resize after succesful result 4cdaa95a20
  179. [Qt] Fix wallet-lock in CWallet::GetAccountAddresses(..) 43422a0121
  180. Add /opt/local/include/db48 only if it exists. 4c69ebed44
  181. Merge pull request #5388
    1cf23f6 Update the intent on SI-style separators. (21E14)
    b248a38aa5
  182. Merge pull request #5386
    1b91be4 Report status of chain tips (Pieter Wuille)
    0ddf4416cc
  183. Merge pull request #5390
    43422a0 [Qt] Fix wallet-lock in CWallet::GetAccountAddresses(..) (Cozz Lovan)
    89151d9f29
  184. [REST] add REST interface tests in rpc-test section 01dc2d83f8
  185. Merge pull request #5227
    4cdaa95 Resize after succesful result (Pieter Wuille)
    9d8604f Header define style cleanups (Pieter Wuille)
    a53fd41 Deterministic signing (Pieter Wuille)
    3060e36 Add the RFC6979 PRNG (Pieter Wuille)
    a8f5087 Add HMAC-SHA256 (Pieter Wuille)
    36fa4a7 Split up crypto/sha2 (Pieter Wuille)
    f0877f8b62
  186. prioritisetransaction RPC: Restore compatibility with existing implementations by using satoshis for fee offset rather than BTC 8a20cd3c51
  187. Merge pull request #5379
    01dc2d8 [REST] add REST interface tests in rpc-test section (Jonas Schnelli)
    7026cbd6db
  188. Extra explanation for getchaintips 32b93a1bc2
  189. Use deterministically generated script tests
    Now that signing is deterministic, we can require exact correspondence between the
    automatically generated tests and the ones read from JSON. Do this, and update
    the tests to those deterministic versions. Note that some flag changes weren't
    correctly applied before.
    f67a9ce0dc
  190. Move CHECKMULTISIG order tests out of automatically generated block 362001c19f
  191. Move SendMoney() to rpcwallet.cpp. b93173dee9
  192. Make comments in main an init doxygen compatible
    Fix typos where appropriate
    Update license/copyright
    c5b390b6b9
  193. Merge pull request #5376
    8a5c951 [REST] make selection of output-format mandatory, support dot url syntax (Jonas Schnelli)
    fec0d100d5
  194. Fix rest.py test after #5376 90f7aa7778
  195. Test resurrecting memory pool transactions during chain re-org
    Builds on #5316.
    b2d0162ba4
  196. Regard connection failures as attempt for addrman
    This avoids connecting to them again too soon in ThreadOpenConnections.
    
    Make an exception for connection failures to the proxy as these
    shouldn't affect the status of specific nodes.
    35e408f8a4
  197. Merge pull request #5369
    b2d0162 Test resurrecting memory pool transactions during chain re-org (Gavin Andresen)
    3dd8ed7 Delay writing block indexes in invalidate/reconsider (Pieter Wuille)
    798faec Add 'invalidateblock' and 'reconsiderblock' RPC commands. (Pieter Wuille)
    1c7e09f0b9
  198. Add 0.10 release notes on improvement to signing security.
    I dropped mention of libgmp that I had in my first draft because
    it looks like we'll be able to get that out prior to release.
    5fdbe67ad9
  199. Merge pull request #5401
    362001c Move CHECKMULTISIG order tests out of automatically generated block (Pieter Wuille)
    f67a9ce Use deterministically generated script tests (Pieter Wuille)
    0286fe5b3b
  200. newlines in strings are invalid JSON
    Although script_valid.json and script_invalid.json are loaded correctly by the
    JSON interpreter used by bitcoin core, these same files are often used by other
    libraries and do not necessarily load correctly due to the fact that newlines
    contained inside strings are not valid and must instead use the escape
    character \n. The files tx_valid.json and tx_invalid.json handle this
    correctly, so I've changed the formatting in script_valid.json and
    script_invalid.json to mirror those files.
    65b03282c9
  201. Report script evaluation failures in log and reject messages 307f7d48d4
  202. Coinbases-in-mempool regression test
    Immature coinbase spends are allowed in the memory pool if they can be mined in the next block.
    They are not allowed in the memory pool if they cannot be mined in the next block.
    
    This regression test tests those edge cases.
    9e56532959
  203. Merge pull request #5406
    5fdbe67 Add 0.10 release notes on improvement to signing security. (Gregory Maxwell)
    1863deae5f
  204. Merge pull request #5400
    32b93a1 Extra explanation for getchaintips (Pieter Wuille)
    133344208c
  205. Merge pull request #5403
    c5b390b Make comments in main an init doxygen compatible (Michael Ford)
    7eb0667384
  206. Merge pull request #5407
    9e56532 Coinbases-in-mempool regression test (Gavin Andresen)
    c2d7c6134e
  207. MOVEONLY: core/ -> primitives/ d227011184
  208. Merge pull request #5306
    d227011 MOVEONLY: core/ -> primitives/ (Luke Dashjr)
    a0417b8cc8
  209. Package libqt5core5 replaced with libqt5core5a
    libqt5core5 installs failed.
    Package libqt5core5 has replaced with libqt5core5a in ubuntu and debian. 
    The website is:
    http://packages.ubuntu.com/trusty/libqt5core5a
    https://packages.debian.org/sid/libqt5core5a
    be7b0bff5a
  210. Limit the number of new addressses to accumulate 12a49cac0a
  211. Merge pull request #5417
    be7b0bf Package libqt5core5 replaced with libqt5core5a (LongShao007)
    4d2ecc4f94
  212. Merge pull request #5394
    307f7d4 Report script evaluation failures in log and reject messages (Pieter Wuille)
    9ddc8c63ab
  213. Remove gmp dependency and doc mentions ffe3291466
  214. Update libsecp256k1 0dcfb91d56
  215. Move CMerkleBlock and CPartialMerkleTree to their own file afd4b94b6d
  216. Merge pull request #5419
    12a49ca Limit the number of new addressses to accumulate (Pieter Wuille)
    68705996a9
  217. Merge pull request #5329
    199627c [REST] adding basic documentation (Jonas Schnelli)
    c932c47e34
  218. Merge pull request #5308
    60d1ecd change nSubsidy's type from int64_t to CAmount (HarryWu)
    c78a18087f
  219. Merge pull request #5207
    8487790 bitcoin-tx: Add the "-txid" option. Also add the hex-encoded transaction to the JSON output as the "hex" property. (mruddy)
    7d42644dda
  220. Merge pull request #5425
    87bddb7 Squashed 'src/secp256k1/' changes from ad2028f..b0210a9 (Pieter Wuille)
    ffe3291 Remove gmp dependency and doc mentions (Pieter Wuille)
    7a88e3b0fc
  221. Merge pull request #5408
    35e408f Regard connection failures as attempt for addrman (Wladimir J. van der Laan)
    800458eddd
  222. Merge pull request #5398
    8a20cd3 prioritisetransaction RPC: Restore compatibility with existing implementations by using satoshis for fee offset rather than BTC (Luke Dashjr)
    dbf1dc239e
  223. Normalize header guard of script_error.h 4c83c0e7c8
  224. Merge pull request #5181
    afd4b94 Move CMerkleBlock and CPartialMerkleTree to their own file (Matt Corallo)
    b5fa132329
  225. Use RPC_INVALID_PARAMETER instead of RPC_WALLET_ERROR for invalid amount.
    No return at the end of void function.
    4be639eaec
  226. Fix missing python2 in rpc-tests db0916bd13
  227. Merge pull request #5432
    db0916b Fix missing python2 in rpc-tests (Matt Corallo)
    
    Signed-off-by: Gavin Andresen <gavinandresen@gmail.com>
    4383319e4e
  228. Disable SSLv3 (in favor of TLS) for the RPC client and server.
    TLS is subject to downgrade attacks when SSLv3 is available, and
     SSLv3 has vulnerabilities.
    
    The popular solution is to disable SSLv3. On the web this breaks
     some tiny number of very old clients. While Bitcoin RPC shouldn't
     be exposed to the open Internet, it also shouldn't be exposed to
     really old SSL implementations, so it shouldn't be a major issue
     for us to disable SSLv3.
    
    There is more information on the downgrade attacks and disabling
     SSLv3 at https://disablessl3.com/ .
    683dc4009b
  229. Format paragraphs properly - count the space between words. 83b81f6c8a
  230. Add a new test for FormatParagraph (string longer than the default width). a26bf478ea
  231. [RPC] add rpc-test for http keep-alive (persistent connections) 11d7a7d505
  232. Merge pull request #5435
    a26bf47 Add a new test for FormatParagraph (string longer than the default width). (Pavel Janík)
    83b81f6 Format paragraphs properly - count the space between words. (Pavel Janík)
    4d8bea0dc3
  233. Merge pull request #5436
    11d7a7d [RPC] add rpc-test for http keep-alive (persistent connections) (Jonas Schnelli)
    053038e5ba
  234. Merge pull request #5434
    683dc40 Disable SSLv3 (in favor of TLS) for the RPC client and server. (Gregory Maxwell)
    4b5b263ac0
  235. [Qt] make PaymentServer::ipcParseCommandLine void
    - the function only returned true, so make it void
    - add a comment about payment request network detection
    b82695b89f
  236. [Qt] add BIP70/BIP71 constants for all messages and mime types
    - also rename current ones to match the new ones
    - remove constant from guiconstant.h and add it to paymentserver.cpp
    814429dc72
  237. [Qt] ensure socket is set to NULL in PaymentServer::ipcSendCommandLine 1ec753f734
  238. [Qt] remove dup lock that is done in SetAddressBook() 2284ccbd13
  239. [Qt] add BIP70 payment request size DoS protection for URIs
    - current code only does this for payment request files, which are
      used on Mac
    - also rename readPaymentRequest to readPaymentRequestFromFile, so it's
      obvious that function only handles payment request files and not URIs
    - small logging changes in readPaymentRequestFromFile
    31f84944a5
  240. [Qt] add BIP70 DoS protection test
    - this test required to make readPaymentRequestFromFile() public in order
      to be able to is it in paymentservertests.cpp
    4333e26c8e
  241. [Qt] update paymentserver license and cleanup ordering 5ec654b8ce
  242. Merge pull request #5409
    65b0328 newlines in strings are invalid JSON (Ryan X. Charles)
    4f85383cb3
  243. Merge pull request #5216
    5ec654b [Qt] update paymentserver license and cleanup ordering (Philip Kaufmann)
    4333e26 [Qt] add BIP70 DoS protection test (Philip Kaufmann)
    31f8494 [Qt] add BIP70 payment request size DoS protection for URIs (Philip Kaufmann)
    2284ccb [Qt] remove dup lock that is done in SetAddressBook() (Philip Kaufmann)
    1ec753f [Qt] ensure socket is set to NULL in PaymentServer::ipcSendCommandLine (Philip Kaufmann)
    814429d [Qt] add BIP70/BIP71 constants for all messages and mime types (Philip Kaufmann)
    b82695b [Qt] make PaymentServer::ipcParseCommandLine void (Philip Kaufmann)
    7f76dda903
  244. contrib: show pull # in prompt for github-merge script 6e6a36ce30
  245. Port of walletbackup.sh to Python. 1577df986e
  246. Merge pull request #5427
    1577df9 Port of walletbackup.sh to Python. (mrbandrews)
    09ac7f9e6d
  247. Merge pull request #5449
    6e6a36c contrib: show pull # in prompt for github-merge script (Wladimir J. van der Laan)
    0a1d03ca52
  248. Merge pull request #5395
    4c69ebe Add /opt/local/include/db48 only if it exists. (Pavel Janík)
    12c05ee938
  249. Merge pull request #5399
    4be639e Use RPC_INVALID_PARAMETER instead of RPC_WALLET_ERROR for invalid amount. No return at the end of void function. (Pavel Janík)
    b93173d Move SendMoney() to rpcwallet.cpp. (Pavel Janík)
    34468066ff
  250. Update libsecp256k1 253e207132
  251. Update Bitcoin for libsecp256k1 API change 830ee48b59
  252. gmaxwell commented at 8:32 AM on December 11, 2014: contributor

    ACK.

  253. theuni commented at 2:31 AM on December 12, 2014: member

    Would be nice to get https://github.com/bitcoin/secp256k1/pull/156 / https://github.com/bitcoin/secp256k1/pull/157 / https://github.com/bitcoin/secp256k1/pull/158 in as well before bumping here as they affect bitcoin's build, but no big deal if they come later.

    lightly tested (built and ran tests for several platforms but no substantial code review) ACK either way.

  254. laanwj merged this on Dec 12, 2014
  255. laanwj closed this on Dec 12, 2014

  256. laanwj referenced this in commit 6f2ee04f75 on Dec 12, 2014
  257. 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-19 09:15 UTC

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