aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-10-08Add RPC tests for the CHECKLOCKTIMEVERIFY (BIP65) soft-forkPeter Todd
bip65-cltv.py is based on the earlier BIP66 soft-fork RPC test implemented by Pieter Wuille's 819bcf9b9902319176cdb1d476cacfee9b3727ec bip65-cltv-p2p.py is based on the earlier BIP66 P2P test by Suhas Daftuar's d76412b068d95454732aa3def95decf35251759a
2015-10-08Add CHECKLOCKTIMEVERIFY (BIP65) soft-fork logicPeter Todd
Based on the earlier BIP66 soft-fork logic implemented by Pieter Wuille's 5a47811da5158df763aa2fca09ce646ee0c51e7b
2015-10-07Merge pull request #6720Wladimir J. van der Laan
1534d9a Creates unittests for addrman, makes addrman testable. Adds several unittests for addrman to verify it works as expected. Makes small modifications to addrman to allow deterministic and targeted tests. (EthanHeilman)
2015-10-07Merge pull request #6769Wladimir J. van der Laan
b196b68 Test LowS in standardness, removes nuisance malleability vector. (Gregory Maxwell)
2015-10-06Merge pull request #6650Wladimir J. van der Laan
42cb388 Add chainstate obfuscation to avoid spurious antivirus detection (James O'Beirne)
2015-10-06Add chainstate obfuscation to avoid spurious antivirus detectionJames O'Beirne
Adds an `obfuscate` parameter to `CLevelDBWrapper` and makes use of it for all new chainstate stores built via `CCoinsViewDB`. Also adds an `Xor` method to `CDataStream`. Thanks to @sipa @laanwj @pstratem @dexX7 @KyrosKrane @gmaxwell.
2015-10-06Merge pull request #6733Wladimir J. van der Laan
7072c54 Support very-fast-running benchmarks (Gavin Andresen) 535ed92 Simple benchmarking framework (Gavin Andresen)
2015-10-06Merge pull request #6762Wladimir J. van der Laan
a19504b tests-config.sh is superseded by tests_config.py (Pavel Janík)
2015-10-06Merge pull request #6743Wladimir J. van der Laan
dd28089 autotools: move checking for zmq library to common area in configure.ac (Johnathan Corgan)
2015-10-06Merge pull request #6760Wladimir J. van der Laan
efb37d4 Changed run-bitcoind-for-test.sh.in to non-executable mode. Consistency with other *.in input files. (randy-waterhouse)
2015-10-06Merge pull request #6763Wladimir J. van der Laan
202f612 The Bitcoin Core project is releasing Bitcoin Core, not Bitcoin. (Pavel Janík)
2015-10-06Merge pull request #6751Wladimir J. van der Laan
9204930 Document pull-req #6424 in release-notes (Peter Todd)
2015-10-06Merge pull request #6768Wladimir J. van der Laan
9f5c641 zmq: update docs to reflect feature is compiled in automatically if possible (Johnathan Corgan)
2015-10-06Merge pull request #6742Wladimir J. van der Laan
58981d4 Changed logging to make -logtimestamps to work also for -printtoconsole (Arne Brutschy)
2015-10-06Test LowS in standardness, removes nuisance malleability vector.Gregory Maxwell
This adds SCRIPT_VERIFY_LOW_S to STANDARD_SCRIPT_VERIFY_FLAGS which will make the node require the canonical 'low-s' encoding for ECDSA signatures when relaying or mining. Consensus behavior is unchanged. The rational is explained in a81cd96805ce6b65cca3a40ebbd3b2eb428abb7b: Absent this kind of test ECDSA is not a strong signature as given a valid signature {r, s} both that value and {r, -s mod n} are valid. These two encodings have different hashes allowing third parties a vector to change users txids. These attacks are avoided by picking a particular form as canonical and rejecting the other form(s); in the of the LOW_S rule, the smaller of the two possible S values is used. If widely deployed this change would eliminate the last remaining known vector for nuisance malleability on boring SIGHASH_ALL p2pkh transactions. On the down-side it will block most transactions made by sufficiently out of date software. Unlike the other avenues to change txids on boring transactions this one was randomly violated by all deployed bitcoin software prior to its discovery. So, while other malleability vectors where made non-standard as soon as they were discovered, this one has remained permitted. Even BIP62 did not propose applying this rule to old version transactions, but conforming implementations have become much more common since BIP62 was initially written. Bitcoin Core has produced compatible signatures since a28fb70e in September 2013, but this didn't make it into a release until 0.9 in March 2014; Bitcoinj has done so for a similar span of time. Bitcoinjs and electrum have been more recently updated. This does not replace the need for BIP62 or similar, as miners can still cooperate to break transactions. Nor does it replace the need for wallet software to handle malleability sanely[1]. This only eliminates the cheap and irritating DOS attack. [1] On the Malleability of Bitcoin Transactions Marcin Andrychowicz, Stefan Dziembowski, Daniel Malinowski, Łukasz Mazurek http://fc15.ifca.ai/preproceedings/bitcoin/paper_9.pdf
2015-10-05zmq: update docs to reflect feature is compiled in automatically if possibleJohnathan Corgan
Signed-off-by: Johnathan Corgan <johnathan@corganlabs.com>
2015-10-06Document pull-req #6424 in release-notesPeter Todd
Mention now allowed sequence of pushdatas in OP_RETURN outputs in release notes.
2015-10-05The Bitcoin Core project is releasing Bitcoin Core, not Bitcoin.Pavel Janík
2015-10-05tests-config.sh is superseded by tests_config.pyPavel Janík
2015-10-05Changed run-bitcoind-for-test.sh.in to non-executable mode.randy-waterhouse
Consistency with other *.in input files.
2015-10-05Merge pull request #6744Wladimir J. van der Laan
bb24835 build: disable -Wself-assign (Wladimir J. van der Laan)
2015-10-05Merge pull request #6748Wladimir J. van der Laan
9ee5ac8 Rewrite help texts for features enabled by default. (Pavel Janík)
2015-10-05Changed rpc-tests.sh to rpc-tests.py in README.mdptschip
Github-Pull: #6752
2015-10-05Merge pull request #6759Wladimir J. van der Laan
ea70997 build: Remove unnecessary chmods after #6616 (Wladimir J. van der Laan)
2015-10-05build: Remove unnecessary chmods after #6616Wladimir J. van der Laan
Don't chmod a repository-included file in the configure script, and `tests_config.py` is a module that doesn't need to be executable.
2015-10-04qa/pull-tester/rpc-tests.py: chmod 0755Jeff Garzik
Fix file mode to be executable. Include dummy whitespace change to force git to change mode.
2015-10-03autotools: move checking for zmq library to common area in configure.acJohnathan Corgan
* Fixes #6679 * Tested with --disable-zmq * Tested with and without pkgconfig * Tested with and without zmq installed Signed-off-by: Johnathan Corgan <johnathan@corganlabs.com>
2015-10-02Rewrite help texts for features enabled by default.Pavel Janík
2015-10-01Merge pull request #6616Wladimir J. van der Laan
5467820 Migrated rpc-tests.sh to all python rpc-tests.py (ptschip)
2015-10-01Merge pull request #6739Wladimir J. van der Laan
96106f0 [Trivial] start the help texts with lowercase (paveljanik)
2015-10-01Merge pull request #6424Wladimir J. van der Laan
da894ab Accept any sequence of PUSHDATAs in OP_RETURN outputs (Peter Todd) 5d8709c Add IsPushOnly(const_iterator pc) (Peter Todd) 6a07eb6 Make TX_SCRIPTHASH clear vSolutionsRet first (Peter Todd)
2015-10-01Migrated rpc-tests.sh to all python rpc-tests.pyptschip
1) created rpc-tests.py 2) deleted rpc-tests.sh 3) travis.yml points to rpc-tests.py 4) Modified Makefile.am 5) Updated README.md 6) Added tests_config.py and deleted tests-config.sh 7) Modified configure.ac with script to set correct path in tests_config.py
2015-10-01build: disable -Wself-assignWladimir J. van der Laan
Prevent these warnings in clang 3.6: ./serialize.h:96:9: warning: explicitly assigning value of variable of type 'uint64_t' (aka 'unsigned long') to itself [-Wself-assign] obj = (obj); ~~~ ^ ~~~
2015-10-01Accept any sequence of PUSHDATAs in OP_RETURN outputsPeter Todd
Previously only one PUSHDATA was allowed, needlessly limiting applications such as matching OP_RETURN contents with bloom filters that operate on a per-PUSHDATA level. Now any combination that passes IsPushOnly() is allowed, so long as the total size of the scriptPubKey is less than 42 bytes. (unchanged modulo non-minimal PUSHDATA encodings) Also, this fixes the odd bug where previously the PUSHDATA could be replaced by any single opcode, even sigops consuming opcodes such as CHECKMULTISIG. (20 sigops!)
2015-10-01Add IsPushOnly(const_iterator pc)Peter Todd
Allows IsPushOnly() to be applied to just part of the script for OP_RETURN outputs.
2015-10-01Make TX_SCRIPTHASH clear vSolutionsRet firstPeter Todd
Previously unlike other transaction types the TX_SCRIPTHASH would not clear vSolutionsRet, which means that unlike other transaction types if it was called twice in a row you would get the result of the previous invocation as well.
2015-10-01Merge pull request #6732Wladimir J. van der Laan
a3874c7 doc: no longer require use of openssl in OpenBSD build guide (Wladimir J. van der Laan) 5978388 build: remove libressl check (Wladimir J. van der Laan)
2015-10-01Merge pull request #6637Wladimir J. van der Laan
95acf3c remove $(@F) and subdirs from univalue make (Jonas Schnelli) 9623e93 [Univalue] add univalue over subtree (Jonas Schnelli) 2f9f082 Squashed 'src/univalue/' content from commit 87d9045 (Jonas Schnelli) 0917306 remove univalue, prepare for subtree (Jonas Schnelli)
2015-10-01Merge pull request #6686Wladimir J. van der Laan
745f909 travis: install a recent libzmq and pyzmq for tests (Cory Fields) a9c27cd [travis] add zmq python module (Jonas Schnelli) 110a1fd enable zmq-test in rpc-tests.sh (Jonas Schnelli)
2015-10-01travis: install a recent libzmq and pyzmq for testsCory Fields
2015-10-01doc: no longer require use of openssl in OpenBSD build guideWladimir J. van der Laan
2015-10-01build: remove libressl checkWladimir J. van der Laan
Now that BIP66 passed, OpenSSL is no longer directly part of the consensus. What matters is that DER signatures are correctly parsed, and secp256k1 crypto is implemented correctly (as well as the other functions we use from OpenSSL, such as random number generation) This means that effectively, using LibreSSL is not a larger risk than using another version of OpenSSL. Remove the specific check for LibreSSL. Includes the still-relevant part of #6729: make sure CHECK_HEADER is called using the right CXXFLAGS, not CFLAGS (as AC_LANG is c++).
2015-10-01remove $(@F) and subdirs from univalue makeJonas Schnelli
2015-10-01Merge pull request #5987Wladimir J. van der Laan
e761d7a Bugfix: Allow mining on top of old tip blocks for testnet (fixes testnet-in-a-box use case) (Luke Dashjr)
2015-10-01[travis] add zmq python moduleJonas Schnelli
2015-10-01Merge pull request #6731Jeff Garzik
2015-10-01Merge pull request #6588Jeff Garzik
2015-10-01Merge pull request #5924Wladimir J. van der Laan
835c122 Clean up change computation in CreateTransaction. (Daniel Kraft)
2015-10-01[Univalue] add univalue over subtreeJonas Schnelli
similar to secp256k1 include and compile univalue over a subtree
2015-10-01Merge commit '2f9f082b5ef3c495c70598ef23383effef675f9a' as 'src/univalue'Jonas Schnelli