aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2016-12-13Merge commit '64dfdde0aa7f7ef24e6cbf3c57e6d24efc55367e' into HEADMarcoFalke
2016-12-13Squashed 'src/secp256k1/' changes from 6c527ec..8225239MarcoFalke
8225239 Merge #433: Make the libcrypto detection fail the newer API. 12de863 Make the libcrypto detection fail the newer API. 2928420 Merge #427: Remove Schnorr from travis as well 8eecc4a Remove Schnorr from travis as well a8abae7 Merge #310: Add exhaustive test for group functions on a low-order subgroup b4ceedf Add exhaustive test for verification 83836a9 Add exhaustive tests for group arithmetic, signing, and ecmult on a small group 20b8877 Add exhaustive test for group functions on a low-order subgroup 80773a6 Merge #425: Remove Schnorr experiment e06e878 Remove Schnorr experiment 04c8ef3 Merge #407: Modify parameter order of internal functions to match API parameter order 6e06696 Merge #411: Remove guarantees about memcmp-ability 40c8d7e Merge #421: Update scalar_4x64_impl.h a922365 Merge #422: Restructure nonce clearing 3769783 Restructure nonce clearing 0f9e69d Restructure nonce clearing 9d67afa Update scalar_4x64_impl.h 7d15cd7 Merge #413: fix auto-enabled static precompuatation 00c5d2e fix auto-enabled static precompuatation 91219a1 Remove guarantees about memcmp-ability 7a49cac Merge #410: Add string.h include to ecmult_impl 0bbd5d4 Add string.h include to ecmult_impl 353c1bf Fix secp256k1_ge_set_table_gej_var parameter order 541b783 Fix secp256k1_ge_set_all_gej_var parameter order 7d893f4 Fix secp256k1_fe_inv_all_var parameter order c5b32e1 Merge #405: Make secp256k1_fe_sqrt constant time 926836a Make secp256k1_fe_sqrt constant time e2a8e92 Merge #404: Replace 3M + 4S doubling formula with 2M + 5S one 8ec49d8 Add note about 2M + 5S doubling formula 5a91bd7 Merge #400: A couple minor cleanups ac01378 build: add -DSECP256K1_BUILD to benchmark_internal build flags a6c6f99 Remove a bunch of unused stdlib #includes 65285a6 Merge #403: configure: add flag to disable OpenSSL tests a9b2a5d configure: add flag to disable OpenSSL tests b340123 Merge #402: Add support for testing quadratic residues e6e9805 Add function for testing quadratic residue field/group elements. efd953a Add Jacobi symbol test via GMP fa36a0d Merge #401: ecmult_const: unify endomorphism and non-endomorphism skew cases c6191fd ecmult_const: unify endomorphism and non-endomorphism skew cases 0b3e618 Merge #378: .gitignore build-aux cleanup 6042217 Merge #384: JNI: align shared files copyright/comments to bitcoinj's 24ad20f Merge #399: build: verify that the native compiler works for static precomp b3be852 Merge #398: Test whether ECDH and Schnorr are enabled for JNI aa0b1fd build: verify that the native compiler works for static precomp eee808d Test whether ECDH and Schnorr are enabled for JNI 7b0fb18 Merge #366: ARM assembly implementation of field_10x26 inner (rebase of #173) 001f176 ARM assembly implementation of field_10x26 inner 0172be9 Merge #397: Small fixes for sha256 3f8b78e Fix undefs in hash_impl.h 2ab4695 Fix state size in sha256 struct 6875b01 Merge #386: Add some missing `VERIFY_CHECK(ctx != NULL)` 2c52b5d Merge #389: Cast pointers through uintptr_t under JNI 43097a4 Merge #390: Update bitcoin-core GitHub links 31c9c12 Merge #391: JNI: Only call ecdsa_verify if its inputs parsed correctly 1cb2302 Merge #392: Add testcase which hits additional branch in secp256k1_scalar_sqr d2ee340 Merge #388: bench_ecdh: fix call to secp256k1_context_create 093a497 Add testcase which hits additional branch in secp256k1_scalar_sqr a40c701 JNI: Only call ecdsa_verify if its inputs parsed correctly faa2a11 Update bitcoin-core GitHub links 47b9e78 Cast pointers through uintptr_t under JNI f36f9c6 bench_ecdh: fix call to secp256k1_context_create bcc4881 Add some missing `VERIFY_CHECK(ctx != NULL)` for functions that use `ARG_CHECK` 6ceea2c align shared files copyright/comments to bitcoinj's 70141a8 Update .gitignore 7b549b1 Merge #373: build: fix x86_64 asm detection for some compilers bc7c93c Merge #374: Add note about y=0 being possible on one of the sextic twists e457018 Merge #364: JNI rebased 86e2d07 JNI library: cleanup, removed unimplemented code 3093576a JNI library bd2895f Merge pull request #371 e72e93a Add note about y=0 being possible on one of the sextic twists 3f8fdfb build: fix x86_64 asm detection for some compilers e5a9047 [Trivial] Remove double semicolons c18b869 Merge pull request #360 3026daa Merge pull request #302 03d4611 Add sage verification script for the group laws a965937 Merge pull request #361 83221ec Add experimental features to configure 5d4c5a3 Prevent damage_array in the signature test from going out of bounds. 419bf7f Merge pull request #356 03d84a4 Benchmark against OpenSSL verification git-subtree-dir: src/secp256k1 git-subtree-split: 8225239f490f79842a5a3b82ad6cc8aa11d5208e
2016-12-06IsInitialBlockDownload no longer uses header-only timestamps.Gregory Maxwell
This avoids a corner case (mostly visible on testnet) where bogus headers can keep nodes in IsInitialBlockDownload. Github-Pull: #9053 Rebased-From: e141beb6a9816b7e1e680fb0a8bae16d42a3e557
2016-12-06Remove GetTotalBlocksEstimate and checkpoint tests that test nothing.Gregory Maxwell
GetTotalBlocksEstimate is no longer used and it was the only thing the checkpoint tests were testing. Since checkpoints are on their way out it makes more sense to remove the test file than to cook up a new pointless test. Github-Pull: #9053 Rebased-From: 2082b5574cec783f4ff99941492d92e05680b293
2016-12-06IBD check uses minimumchain work instead of checkpoints.Gregory Maxwell
This introduces a 'minimum chain work' chainparam which is intended to be the known amount of work in the chain for the network at the time of software release. If you don't have this much work, you're not yet caught up. This is used instead of the count of blocks test from checkpoints. This criteria is trivial to keep updated as there is no element of subjectivity, trust, or position dependence to it. It is also a more reliable metric of sync status than a block count. Github-Pull: #9053 Rebased-From: fd46136dfaf68a7046cf7b8693824d73ac6b1caf
2016-12-06Remove duplicate nBlocksEstimate cmp (we already checked IsIBD())Matt Corallo
Github-Pull: #8865 Rebased-From: 0278fb5f48ae9e42ec0772f85e201051077f633c
2016-12-02Disable fee estimates for a confirm target of 1 blockAlex Morcos
Backport of #9239 without GUI changes and fixing conflicts in tests.
2016-12-02Merge #9191: [qa] 0.13.2 BackportsWladimir J. van der Laan
e846166 Modify getblocktxn handler not to drop requests for old blocks (Russell Yanofsky) 2cad5db Align constant names for maximum compact block / blocktxn depth (Pieter Wuille) 3d23a0e Add cmpctblock to debug help list (instagibbs) 76ba1c9 More agressively filter compact block requests (Matt Corallo) 36e3b95 Dont remove a "preferred" cmpctblock peer if they provide a block (Matt Corallo) 286e548 [qa] Fix stale data bug in test_compactblocks_not_at_tip (Russell Yanofsky) 2ba5d78 [qa] Fix bug in compactblocks v2 merge (Russell Yanofsky) eca9b46 [qa] Wait for specific block announcement in p2p-compactblocks (Russell Yanofsky) dccdc3a test: Fix use-after-free in scheduler tests (Wladimir J. van der Laan) da4926b [qa] Add more helpful RPC timeout message (Russell Yanofsky) 1d4c884 [qa] Increase wallet-dump RPC timeout (Russell Yanofsky) 3107280 [qa] add assert_raises_message to check specific error message (mrbandrews)
2016-12-02Revert "Use async name resolving to improve net thread responsiveness"Matt Corallo
This reverts commit caf6150e9785da408f1e603ae70eae25b5202d98. getaddrinfo_a has a nasty tendency to segfault internally in its background thread, on every version of glibc I tested, especially under helgrind. See https://sourceware.org/bugzilla/show_bug.cgi?id=20874 Github-Pull: #9229 Rebased-From: 10ae7a7b2316f8052ec58ef237ce6dd987300900
2016-11-30torcontrol: Explicitly request RSA1024 private keyWladimir J. van der Laan
When generating a new service key, explicitly request a RSA1024 one. The bitcoin P2P protocol has no support for the longer hidden service names that will come with ed25519 keys, until it does, we depend on the old hidden service type so make this explicit. See #9214. Rebased-From: 7d3b627395582ae7c9d54ebdbc68096d7042162b Github-Pull: #9234
2016-11-20Modify getblocktxn handler not to drop requests for old blocksRussell Yanofsky
The current getblocktxn implementation drops and ignores requests for old blocks, which causes occasional sync_block timeouts during the p2p-compactblocks.py test as reported in https://github.com/bitcoin/bitcoin/issues/8842. The p2p-compactblocks.py test setup creates many new blocks in a short period of time, which can lead to getblocktxn requests for blocks below the hardcoded depth limit of 10 blocks. This commit changes the getblocktxn handler not to ignore these requests, so the peer nodes in the test setup will reliably be able to sync. The protocol change is documented in BIP-152 update "Allow block responses to getblocktxn requests" at https://github.com/bitcoin/bips/pull/469. The protocol change is not expected to affect nodes running outside the test environment, because there shouldn't normally be lots of new blocks being rapidly added that need to be synced. Github-Pull: #9058 Rebased-From: dac53b58b555183ccc0d5e64c428528267cd98b3 Github-Pull: #9160 Rebased-From: ec34648766c4052816e4072cc61ad429430bcfd9
2016-11-20Align constant names for maximum compact block / blocktxn depthPieter Wuille
Github-Pull: #8637 Rebased-From: 3ac6de0a045cc9b2047ceb19af970e7ffbf905fa
2016-11-20Add cmpctblock to debug help listinstagibbs
Github-Pull: #8637 Rebased-From: b2e93a343ec2dc7d255b970e6ee45e9c390f7ed0
2016-11-20More agressively filter compact block requestsMatt Corallo
Unit test adaptations by Pieter Wuille. Github-Pull: #8637 Rebased-From: fe998e962dc015978f104b782afb7daec3c4d4df
2016-11-20Dont remove a "preferred" cmpctblock peer if they provide a blockMatt Corallo
Github-Pull: #8637 Rebased-From: 02a337defdd854efc78ecba6d1fb19cb1c075f16
2016-11-19test: Fix use-after-free in scheduler testsWladimir J. van der Laan
Make a copy of the boost time-point to wait for, otherwise the head of the queue may be deleted by another thread while this one is waiting, while the boost function still has a reference to it. Although this problem is in non-test code, this is not an actual problem outside of the tests because we use the thread scheduler with only one service thread, so there will never be threads fighting at the head of the queue. The old boost fallback escapes this problem because it passes a scalar value to wait_until instead of a const object reference. Found by running the tests in LLVM-4.0-master asan. Github-Pull: #9186 Rebased-From: 12519bf62b8c49b1c1744eca6ea5b3162a61f962
2016-11-09Merge #9048: [0.13 backport] Fix handling of invalid compact blocksWladimir J. van der Laan
e8ef50b Bump the protocol version to distinguish new banning behavior. (Suhas Daftuar) 015865e Fix compact block handling to not ban if block is invalid (Suhas Daftuar) 8290506 [qa] Test that invalid compactblocks don't result in ban (Suhas Daftuar)
2016-11-01Bump the protocol version to distinguish new banning behavior.Suhas Daftuar
This allows future software that would relay compact blocks before full validation to announce only to peers that will not ban if the block turns out to be invalid.
2016-11-01Fix compact block handling to not ban if block is invalidSuhas Daftuar
2016-10-27Add MIT license to MakefilesLuke Dashjr
Github-Pull: #8784 Rebased-From: f4dffdd6bffc58377b7505b639f0431244321c32
2016-10-27Don't return the address of a P2SH of a P2SH.jnewbery
Github-Pull: #8845 Rebased-From: d51f18246165b580761af824f1bb4a49b6908f28
2016-10-27Fix relaypriority calculation errormaiiz
Github-Pull: #8357 Rebased-From: 94a34a5d951cee59ef9c9274c5ad49ac2a91ab8a
2016-10-27Add missing cs_main lock to ::GETBLOCKTXN processingMatt Corallo
Note that this is not a major issue as, in order for the missing lock to cause issues, you have to receive a GETBLOCKTXN message while reindexing, adding a block header via RPC, etc, which results in either a table rehash or an insert into the bucket which you are currently looking at. Github-Pull: #8995 Rebased-From: dfe79060a62c8de098e75d527d97b99c3b10de50
2016-10-25[net] Remove assert(nMaxInbound > 0)v0.13.1rc3MarcoFalke
nMaxInbound might very well be 0 or -1, if the user prefers to keep a small number of maxconnections. Note: nMaxInbound of -1 means that the user set maxconnections to 8 or less, but we still want to keep an additional slot for the feeler connection. Github-Pull: #9008 Rebased-From: fa1c3c2eb0a1853ed0e0662fc2bdbca51e05ccf5
2016-10-19nMaxOutbound is MAX_OUTBOUND_CONNECTIONS on 0.13Wladimir J. van der Laan
Github-Pull: #8949
2016-10-19qt: pre-rc2 translations updateWladimir J. van der Laan
2016-10-19RPC/Mining: getblocktemplate: Update and fix formatting of helpLuke Dashjr
Github-Pull: #8951 Rebased-From: 59daa58d6a17bb1170c724f2d01d43c2ec21a9b4
2016-10-19Make dnsseed's definition of acute need include relevant services.Gregory Maxwell
We normally prefer to connect to peers offering the relevant services. If we're not connected to enough peers with relevant services, we probably don't know about them and could use dnsseed's help. Github-Pull: #8949 Rebased-From: 46304791353d2bb61004a035869612620c30b4eb
2016-10-19Be more aggressive in connecting to peers with relevant services.Gregory Maxwell
Only allow skipping relevant services until there are four outbound connections up. This avoids quickly filling up with peers lacking the relevant services when addrman has few or none of them. Github-Pull: #8949 Rebased-From: 9583477288072e203541b747fcffe8d50cfefb8d
2016-10-18Remove bogus assert on number of oubound connections.Matt Corallo
This value can be significantly higher if the users uses addnode Github-Pull: #8944 Rebased-From: 1ab21cf344ed0547de5ae679b7e479cb4b1a923b
2016-10-18rpc: Generate auth cookie in hex instead of base64Wladimir J. van der Laan
Base64 contains '/', and the '/' character in credentials is problematic for AuthServiceProxy which represents the RPC endpoint as an URI with user and password embedded. Closes #8399. Github-Pull: #8858 Rebased-From: 1c80386bceb216ca5b5da657e03a29f9c779d58b
2016-10-18Bump version to 0.13.1Wladimir J. van der Laan
2016-10-17My DNS seed supports filteringChristian Decker
Currently supports filtering by any combination of the 4 least significant bits. Github-Pull: #8940 Rebased-From: 2449e12681ab549695f143d9b3ad2c24be03a78d
2016-10-17Add x9 service bit support to dnsseed.bluematt.meMatt Corallo
Github-Pull: #8940 Rebased-From: ffb4713920205db39bfd219b6162986a52ddf32b
2016-10-17Comment that most dnsseeds only support some service bits combosMatt Corallo
Github-Pull: #8940 Rebased-From: 504c72ad346a1b619f1fc58d0edce91ec955a67d
2016-10-17Define start and end time for segwit deploymentPieter Wuille
Github-Pull: #8937 Rebased-From: f9c23dea976465c51b9fe2cead81b707678c16bb
2016-10-17qt: periodic translation updateWladimir J. van der Laan
2016-10-17test segwit uncompressed key fixesJohnson Lau
Github-Pull: #8499 Rebased-From: 9260085377e89e666d0cb95b462261d7e3a9c82f
2016-10-17Fix ismine and addwitnessaddress: no uncompressed keys in segwitPieter Wuille
Github-Pull: #8499 Rebased-From: 248f3a76a825a332e5495c5947ad283a9e5e938f
2016-10-17Require compressed keys in segwit as policy and disable signing with ↵Johnson Lau
uncompressed keys for segwit scripts Github-Pull: #8499 Rebased-From: 4c0c25a604cec39675187507df423cff5d707ab5
2016-10-17Add standard limits for P2WSH with testsJohnson Lau
Github-Pull: #8499 Rebased-From: 3ade2f64cfe43ab53e4869ffc35d5fd23201e1c1
2016-10-13Update bitcoin-tx to output witness data.jonnynewbs
Github-Pull: #8817 Rebased-From: 4408558843c6c2b7abeb4160f641dfdbf5be5eb4
2016-10-13Use cmpctblock type 2 for segwit-enabled transferMatt Corallo
Contains version negotiation logic by Matt Corallo and bugfixes by Suhas Daftuar. Github-Pull: #8393 Rebased-From: 6aa28abf53ef4694692474b4a3b0a8fa7559b50b
2016-10-13Use cmpctblock type 2 for segwit-enabled transferPieter Wuille
Contains version negotiation logic by Matt Corallo and bugfixes by Suhas Daftuar. Github-Pull: #8393 Rebased-From: 6aa28abf53ef4694692474b4a3b0a8fa7559b50b
2016-10-13Add NULLDUMMY verify flag in bitcoinconsensus.hJohnson Lau
Github-Pull: #8848 Rebased-From: 2fa0063c26c80c719a1c0d30e548e338689ac917
2016-10-13net: fix a few cases where messages were sent rather than dropped upon ↵Cory Fields
disconnection 75ead758 turned these into crashes in the event of a handshake failure, most notably when a peer does not offer the expected services. There are likely other cases that these assertions will find as well. Github-Pull: #8862 Rebased-From: 905bc68d05595f41cca36b3df83accd10c00cc48
2016-10-13Add policy: null signature for failed CHECK(MULTI)SIGJohnson Lau
Github-Pull: #8634 Rebased-From: e41bd449ab2b8d01260795383af2c40b659d8587
2016-10-13Make non-minimal OP_IF/NOTIF argument non-standard for P2WSHJohnson Lau
Github-Pull: #8526 Rebased-From: c72c5b1e3bd42e84465677e94aa83316ff3d9a14
2016-10-13qt: Periodic translations updateWladimir J. van der Laan
Added languages: - `ne` - Niger
2016-10-13qt: Translate all files, even if wallet disabledWladimir J. van der Laan
This passes all QT cpp files to the lupdate executable which extracts translations, no matter what conditional functionality is enabled. Rebased-From: 8aed5f6c23cbaae6bf56be04f2b8d861eacf588d Github-Pull: #8911