No description provided.
Update LevelDB tree to include #6917 #6944
pull sipa wants to merge 9367 commits into bitcoin:master from sipa:leveldbfix0.12 changing 1239 files +307403 −152-
sipa commented at 10:47 PM on November 4, 2015: member
-
7072c544b5
Support very-fast-running benchmarks
Avoid calling gettimeofday every time through the benchmarking loop, by keeping track of how long each loop takes and doubling the number of iterations done between time checks when they take less than 1/16'th of the total elapsed time.
-
5424d416c2
doc: Change #bitcoin-dev IRC channel to #bitcoin-core-dev
Split off Bitcoin Core project development discussion from the general Bitcoin development channel.
-
1119cc3f59
Merge pull request #6741
5424d41 doc: Change #bitcoin-dev IRC channel to #bitcoin-core-dev (Wladimir J. van der Laan)
-
Changed logging to make -logtimestamps to work also for -printtoconsole 58981d4f7d
-
remove univalue, prepare for subtree 0917306fdf
-
Merge commit '2f9f082b5ef3c495c70598ef23383effef675f9a' as 'src/univalue' 6e16a41313
-
2f9f082b5e
Squashed 'src/univalue/' content from commit 87d9045
git-subtree-dir: src/univalue git-subtree-split: 87d90455ff5e87dedc304353aa23ace47ffb6c1c
-
9623e93473
[Univalue] add univalue over subtree
similar to secp256k1 include and compile univalue over a subtree
-
12a7712abd
Merge pull request #5924
835c122 Clean up change computation in CreateTransaction. (Daniel Kraft)
-
Merge pull request #6588 cf9bb11f97
-
Merge pull request #6731 8a86d53bd5
-
[travis] add zmq python module a9c27cdf55
-
4899a04c24
Merge pull request #5987
e761d7a Bugfix: Allow mining on top of old tip blocks for testnet (fixes testnet-in-a-box use case) (Luke Dashjr)
-
remove $(@F) and subdirs from univalue make 95acf3cc6d
-
5978388476
build: remove libressl check
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++).
-
doc: no longer require use of openssl in OpenBSD build guide a3874c7c3a
-
travis: install a recent libzmq and pyzmq for tests 745f909925
-
17d0e638b6
Merge pull request #6686
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)
-
f297042cae
Merge pull request #6637
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)
-
bb882d04e8
Merge pull request #6732
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)
-
6a07eb676a
Make TX_SCRIPTHASH clear vSolutionsRet first
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.
-
5d8709c3b7
Add IsPushOnly(const_iterator pc)
Allows IsPushOnly() to be applied to just part of the script for OP_RETURN outputs.
-
da894ab5da
Accept any sequence of PUSHDATAs in OP_RETURN outputs
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!)
-
bb24835aed
build: disable -Wself-assign
Prevent these warnings in clang 3.6: ./serialize.h:96:9: warning: explicitly assigning value of variable of type 'uint64_t' (aka 'unsigned long') to itself [-Wself-assign] obj = (obj); ~~~ ^ ~~~ -
5467820be5
Migrated rpc-tests.sh to all python rpc-tests.py
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
-
cd78c2a421
Merge pull request #6424
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)
-
19c7186425
Merge pull request #6739
96106f0 [Trivial] start the help texts with lowercase (paveljanik)
-
5ab5dca6f1
Merge pull request #6616
5467820 Migrated rpc-tests.sh to all python rpc-tests.py (ptschip)
-
Bugfix: RPC: blockchain: Display correct defaults in help for verifychain method caa3d42f06
-
Bugfix: Describe dblogsize option correctly (it refers to the wallet database, not memory pool) 420a82f1ae
-
Bugfix: If genproclimit is omitted to RPC setgenerate, don't change it; also show correct default in getmininginfo 5f9260f458
-
Rewrite help texts for features enabled by default. 9ee5ac82f6
-
dd28089fa2
autotools: move checking for zmq library to common area in configure.ac
* 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>
-
3ab3de8ba1
qa/pull-tester/rpc-tests.py: chmod 0755
Fix file mode to be executable. Include dummy whitespace change to force git to change mode.
-
ea709970e0
build: Remove unnecessary chmods after #6616
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.
-
2844b9e90e
Merge pull request #6759
ea70997 build: Remove unnecessary chmods after #6616 (Wladimir J. van der Laan)
-
5f34a2510f
Changed rpc-tests.sh to rpc-tests.py in README.md
Github-Pull: #6752
-
e10a4ab904
Merge pull request #6748
9ee5ac8 Rewrite help texts for features enabled by default. (Pavel Janík)
-
a75c67364d
Merge pull request #6744
bb24835 build: disable -Wself-assign (Wladimir J. van der Laan)
-
efb37d4fda
Changed run-bitcoind-for-test.sh.in to non-executable mode.
Consistency with other *.in input files.
-
tests-config.sh is superseded by tests_config.py a19504b9ab
-
The Bitcoin Core project is releasing Bitcoin Core, not Bitcoin. 202f612a41
-
9204930101
Document pull-req #6424 in release-notes
Mention now allowed sequence of pushdatas in OP_RETURN outputs in release notes.
-
9f5c641a40
zmq: update docs to reflect feature is compiled in automatically if possible
Signed-off-by: Johnathan Corgan <johnathan@corganlabs.com>
-
b196b685c9
Test LowS in standardness, removes nuisance malleability vector.
This adds SCRIPT_VERIFY_LOW_S to STANDARD_SCRIPT_VERIFY_FLAGS which will make the node require the canonical 'low-s' encoding for ECDSA signatures when relaying or mining. Consensus behavior is unchanged. The rational is explained in a81cd96805ce6b65cca3a40ebbd3b2eb428abb7b: Absent this kind of test ECDSA is not a strong signature as given a valid signature {r, s} both that value and {r, -s mod n} are valid. These two encodings have different hashes allowing third parties a vector to change users txids. These attacks are avoided by picking a particular form as canonical and rejecting the other form(s); in the of the LOW_S rule, the smaller of the two possible S values is used. If widely deployed this change would eliminate the last remaining known vector for nuisance malleability on boring SIGHASH_ALL p2pkh transactions. On the down-side it will block most transactions made by sufficiently out of date software. Unlike the other avenues to change txids on boring transactions this one was randomly violated by all deployed bitcoin software prior to its discovery. So, while other malleability vectors where made non-standard as soon as they were discovered, this one has remained permitted. Even BIP62 did not propose applying this rule to old version transactions, but conforming implementations have become much more common since BIP62 was initially written. Bitcoin Core has produced compatible signatures since a28fb70e in September 2013, but this didn't make it into a release until 0.9 in March 2014; Bitcoinj has done so for a similar span of time. Bitcoinjs and electrum have been more recently updated. This does not replace the need for BIP62 or similar, as miners can still cooperate to break transactions. Nor does it replace the need for wallet software to handle malleability sanely[1]. This only eliminates the cheap and irritating DOS attack. [1] On the Malleability of Bitcoin Transactions Marcin Andrychowicz, Stefan Dziembowski, Daniel Malinowski, Łukasz Mazurek http://fc15.ifca.ai/preproceedings/bitcoin/paper_9.pdf -
3b2d37c619
Merge pull request #6742
58981d4 Changed logging to make -logtimestamps to work also for -printtoconsole (Arne Brutschy)
-
5d98e0fa14
Merge pull request #6768
9f5c641 zmq: update docs to reflect feature is compiled in automatically if possible (Johnathan Corgan)
-
b6f3a4eb19
Merge pull request #6751
9204930 Document pull-req #6424 in release-notes (Peter Todd)
-
79529e50db
Merge pull request #6763
202f612 The Bitcoin Core project is releasing Bitcoin Core, not Bitcoin. (Pavel Janík)
-
0a5385b23f
Merge pull request #6760
efb37d4 Changed run-bitcoind-for-test.sh.in to non-executable mode. Consistency with other *.in input files. (randy-waterhouse)
-
bdece5068b
Merge pull request #6743
dd28089 autotools: move checking for zmq library to common area in configure.ac (Johnathan Corgan)
-
66a86a3edb
Merge pull request #6762
a19504b tests-config.sh is superseded by tests_config.py (Pavel Janík)
-
b7d78fd0bd
Merge pull request #6733
7072c54 Support very-fast-running benchmarks (Gavin Andresen) 535ed92 Simple benchmarking framework (Gavin Andresen)
-
42cb388167
Add chainstate obfuscation to avoid spurious antivirus detection
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.
-
Ignore bench_bitcoin binary. b2af29b806
-
4fac576c61
Merge pull request #6650
42cb388 Add chainstate obfuscation to avoid spurious antivirus detection (James O'Beirne)
-
49dd5c629d
Merge pull request #6769
b196b68 Test LowS in standardness, removes nuisance malleability vector. (Gregory Maxwell)
-
d479311dba
Merge pull request #6720
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)
-
build: Make use of ZMQ_CFLAGS b22692ce3e
-
287f54fc90
Add CHECKLOCKTIMEVERIFY (BIP65) soft-fork logic
Based on the earlier BIP66 soft-fork logic implemented by Pieter Wuille's 5a47811da5158df763aa2fca09ce646ee0c51e7b
-
cde7ab2d4e
Add RPC tests for the CHECKLOCKTIMEVERIFY (BIP65) soft-fork
bip65-cltv.py is based on the earlier BIP66 soft-fork RPC test implemented by Pieter Wuille's 819bcf9b9902319176cdb1d476cacfee9b3727ec bip65-cltv-p2p.py is based on the earlier BIP66 P2P test by Suhas Daftuar's d76412b068d95454732aa3def95decf35251759a
-
Add BIP65 to getblockchaininfo softforks list 65ef372302
-
3499ce1e1a
Encapsulate CLevelDB iterators cleanly
Conflicts: src/leveldb.cpp src/leveldb.h src/txdb.cpp
-
Handle obfuscation in CLevelDBIterator 0fdf8c80ee
-
34754ce3bc
[Trivial] Fixed typo when referring to a previous section in
depends/README.md [skip ci]
-
a99b6cb19e
Merge pull request #6770
b2af29b Ignore bench_bitcoin binary. (Pavel Janík)
-
c82ea8b271
Merge pull request #6783
34754ce [Trivial] Fixed typo when referring to a previous section in depends/README.md [skip ci] (Chris Kleeschulte)
-
6cf73b0cd4
Merge pull request #6779
b22692c build: Make use of ZMQ_CFLAGS (Cory Fields)
-
313e7f5c89
Squashed 'src/univalue/' changes from 87d9045..5839ac3
5839ac3 Merge pull request #13 from theuni/move-lib 3f248e0 build: move libunivalue.la to the root dir a68aed5 Merge pull request #12 from jmcorgan/add-ignores 81cafe3 Update and consolidate git ignores git-subtree-dir: src/univalue git-subtree-split: 5839ac3311792f80b9cd5070440c2256e0e69e13
-
Merge commit '313e7f5c89d6e72e06efe9255089765b4c5815fe' into HEAD 31f4ba97b7
-
build: match upstream build change 3b1279fdb2
-
0cca0248f0
Update miniupnpc to 1.9.20151008
This version of miniupnpc fixes a buffer overflow in the XML (ugh) parser during initial network discovery. http://talosintel.com/reports/TALOS-2015-0035/ The commit fixing the vulnerability is: https://github.com/miniupnp/miniupnp/commit/79cca974a4c2ab1199786732a67ff6d898051b78 Reported by timothy on IRC.
-
8c7e6138db
Merge pull request #6789
0cca024 Update miniupnpc to 1.9.20151008 (Wladimir J. van der Laan)
-
[trivial] Remove obsolete share/qt/make_windows_icon.sh 8a320c7956
-
3507992bcf
[trivial] Make optimize-pngs.py also cover share/pixmaps
Also fix: "Exception: tostring() has been removed. Please call tobytes() instead."
-
[doc] trivial: developer-notes.md covers more than just coding standards 60a8b70585
-
[doc] trivial: fix markdown syntax in qa/rpc-tests/README.md d0321a4cfd
-
28e3249e53
Bump minrelaytxfee default
To bridge the time until a dynamic method for determining this fee is merged. This is especially aimed at the stable releases (0.10, 0.11) because full mempool limiting, as will be in 0.12, is too invasive and risky to backport.
-
1488506872
Add tests for gettxoutsetinfo, CLevelDBBatch, CLevelDBIterator
Thanks @dexX7.
-
dcd8e27c65
Refer to obfuscate_key via pointer in peripheral CLevelDB classes
cc @sipa
-
21d27ebad5
net: Disable upnp by default
Common sentiment is that the miniupnpc codebase likely contains further vulnerabilities. I'd prefer to get rid of the dependency completely, but a compromise for now is to at least disable it by default.
-
Update debian/changelog and slight tweak to debian/control e253e83c5c
-
Change URLs to https in debian/control c7b36ccf4a
-
b94ae81576
Merge pull request #6795
21d27eb net: Disable upnp by default (Wladimir J. van der Laan)
-
Clarification of unit test build instructions. 700f52e0f6
-
tests: update transaction_tests for new dust threshold 4e2efb3c5f
-
[depends] Latest config.guess and config.sub e76d9e4c15
-
4ca6ddec4d
Merge pull request #6793
4e2efb3 tests: update transaction_tests for new dust threshold (Wladimir J. van der Laan) 28e3249 Bump minrelaytxfee default (Wladimir J. van der Laan)
-
Create btcdrak-key.pgp 2c4ffbc76e
-
3b363dfe88
Updated Prab's PGP Key
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 This message is to inform you that I, Paul Rabahy have rolled over GPG keys. My old key = EA695E0CE2D0DCB0D65167A8D1CBA2A21BCD88F6 My new key = D62A803E27E7F43486035ADBBCD04D8E9CCCAC2A My new key now has an offline primary key with an online subkey that I will be using for normal communications. I have signed this message with both the old and new key so it should show up as validly signed. Please add my new key to your keyring so that future communication will be properly verified. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJWB3/LAAoJENHLoqIbzYj2LBwQAMgH5u2KDuxK2gmpRjEpVXe8 XPOon+SRL5zXfu1dFInXCg8APJEVaXhSeY+/s0GmUq0INRpK4r0tvZVN84X2UoHz y88P6BeHzQI7dsCStINhW4Hb7DVpFvkHAxsRhy05/geD56/IOXnsG+5SvsH3essJ O6DuRQOipDWkZ9NQuQPrqzlkcBErMbL4Cs0ED5DOOYccntnt5HM909KDHfKcG8iJ /qNTVzVFYMGbLn6MVq89reatmIOxuVBkbixsqad5M4P9rQ3iGPnUzIEp4wn7/Ssd XDiCZypzlHkcs1GKBLtWnYWahlWHItcd/Yz3AiHLfUehcZb52p0mvIaTf4lyAR5p kQFTXZwrrzJDaomSE2Y2IeMIATZE7/7RInkHD6okUTFSoCFgxOeAxLBI6sxLH5x5 xLIdv45iiv3P5fz1gungfzn2OYy+dHgT74bJ32N18hs+xwZM2G6AYYvVvkTSDqC0 c3AopnjEV4i+4Aq0QfDD9fXpBc0QuDN7c5GkcFCiFlhN+gffjT8hkFliiW3e2X5K Vsycv1sYXFSS/YYZ7RCixWgTkpi18ABaLu/N1ses7hLNMxx9ovjrMIJ5gC6Nyga9 2BiumvNMh0iE9yhPiN0a4YsZZnW/tc5K1+OJxnKZvxWrXqOgIhnKZA1U1Y83COgA 6pI5uKrggGQWgQFJxTmciQEcBAEBCAAGBQJWB3/LAAoJEDJeXsBcJ6amLBwH/ib+ wiD3wDy+VeTDFvh4AgQqDRCk+CvGEKJlcoBLm3ZDwzi+/26XB/BCFoopW9h67ZmC yMFhgvCJ3RwPcVGgZBOZ//88E2symcYRBSZJVwMN/n3McmEKBmmEH6/tTqhLeBal 2pynse7qgfZV7P/rSMcqFdhzMYq6Jt25obTl3IqTo939G1oOxRK8ORNT3Hs4/uiF 7xsx+nUBe/L6dvw2Rxr8bWm7WKi/LF7fKN/HZuBfK2qH0S4ctG49fiBw3DTV+erO lYHdOMA9sjk90Le5sNBw75Hyr4WMLUkGFkh9SvDK1Xe3bUCfCpBTpcPnRUqnHL32 9GbqORFiaUGPRCnaWKQ= =JR4m -----END PGP SIGNATURE-----
-
7d325b9de7
zmq: point API link to 4.0 as that is what we are conforming to [Trivial]
Signed-off-by: Johnathan Corgan <johnathan@corganlabs.com>
-
Update bluematt-key, the old one is long-since revoked 3a4a458fe5
-
Reverse the sort on the mempool's feerate index 78b82f4a16
-
49b6fd5663
Add Mempool Expire function to remove old transactions
(note the 9x multiplier on (void*)'s for CTxMemPool::DynamicMemoryUsage was accidentally introduced in 5add7a7 but should have waited for this commit which adds the extra index)
-
Fix calling mempool directly, instead of pool, in ATMP 9c9b66f771
-
Track (and define) ::minRelayTxFee in CTxMemPool e8bcdce8a2
-
1fc5ca05ca
Merge pull request #6805
2c4ffbc Create btcdrak-key.pgp (BtcDrak)
-
Add CFeeRate += operator 241d6078ba
-
cd57f344a5
Merge pull request #6807
3b363df Updated Prab's PGP Key -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 (Paul Rabahy)
-
Print mempool size in KB when adding txn e6c7b362ab
-
794a8cec5d
Implement on-the-fly mempool size limitation.
After each transaction which is added to mempool, we first call Expire() to remove old transactions, then throwing away the lowest-feerate transactions. After throwing away transactions by feerate, we set the minimum relay fee to the maximum fee transaction-and-dependant-set we removed, plus the default minimum relay fee. After the next block is received, the minimum relay fee is allowed to decrease exponentially. Its halflife defaults to 12 hours, but is decreased to 6 hours if the mempool is smaller than half its maximum size, and 3 hours if the mempool is smaller than a quarter its maximum size. The minimum -maxmempool size is 40*-limitdescendantsize, as it is easy for an attacker to play games with the cheapest -limitdescendantsize transactions. -maxmempool defaults to 300MB. This disables high-priority transaction relay when the min relay fee adjustment is >0 (ie when the mempool is full). When the relay fee adjustment drops below the default minimum relay fee / 2 it is set to 0 (re-enabling priority-based free relay).
-
Only call TrimToSize once per reorg/blocks disconnect d355cf4420
-
Add reasonable test case for mempool trimming 074cb155c2
-
9e93640be6
Drop minRelayTxFee to 1000
There is no exact science to setting this parameter, but 5000 (just over 1 US cent at the time of writing) is higher than the cost to relay a transaction around the network (the new benchmark due to mempool limiting).
-
97bee37d4c
Merge pull request #6788
3b1279f build: match upstream build change (Cory Fields) 313e7f5 Squashed 'src/univalue/' changes from 87d9045..5839ac3 (MarcoFalke)
-
feea3057df
Merge pull request #6812
3a4a458 Update bluematt-key, the old one is long-since revoked (Matt Corallo)
-
01f74999e3
Merge pull request #6798
700f52e Clarification of unit test build instructions. (Eric Lombrozo)
-
16faccb736
Merge pull request #6791
d0321a4 [doc] trivial: fix markdown syntax in qa/rpc-tests/README.md (MarcoFalke) 60a8b70 [doc] trivial: developer-notes.md covers more than just coding standards (MarcoFalke) 3507992 [trivial] Make optimize-pngs.py also cover share/pixmaps (MarcoFalke) 8a320c7 [trivial] Remove obsolete share/qt/make_windows_icon.sh (MarcoFalke)
-
9caaf6ed22
Merge pull request #6777
dcd8e27 Refer to obfuscate_key via pointer in peripheral CLevelDB classes (James O'Beirne) 1488506 Add tests for gettxoutsetinfo, CLevelDBBatch, CLevelDBIterator (James O'Beirne) 0fdf8c8 Handle obfuscation in CLevelDBIterator (James O'Beirne) 3499ce1 Encapsulate CLevelDB iterators cleanly (Pieter Wuille)
-
a1d623da3e
Merge pull request #6810
7d325b9 zmq: point API link to 4.0 as that is what we are conforming to [Trivial] (Johnathan Corgan)
-
60af755e56
build: univalue subdir build fixups
- Force a rebuild if the headers change - Only build the lib target - Clean univalue on 'make clean'
-
f8f2aceadd
trivial: use constants for db keys
Replace literal occurances of the key "prefixes" 'c' and 'b' in txdb.cpp by the respective constants.
-
[doc] Cleanup release-process documentation a0d5e0d2f4
-
53b86d0de5
doc: add comment explaining initial header request
Add a comment that explains why the initial "getheader" requests are made starting from the block preceding the currently best one. Thanks to sdaftuar for the explanation!
-
Undo GetMinFee-requires-extra-call-to-hit-0 8abe0f5658
-
Fix comment formatting tabs 2bc50187ee
-
d57586f91c
Add historical release notes for October 2015 bugfix releases
[skip ci]
-
34f200d140
Merge pull request #6830
d57586f Add historical release notes for October 2015 bugfix releases (Micha)
-
fa6b405f05
Merge pull request #6823
f8f2ace trivial: use constants for db keys (Daniel Kraft)
-
8ce9920635
Merge pull request #6817
a0d5e0d [doc] Cleanup release-process documentation (Michael)
-
d78a880900
Merge pull request #6820
60af755 build: univalue subdir build fixups (Cory Fields)
-
b48da5c189
script: Remove magic numbers
This adds two new constants, MAX_OPS_PER_SCRIPT and MAX_PUBKEYS_PER_MULTISIG.
-
[devtools] add clang-format.py 338f62f701
-
[trivial] Update contrib/devtools/README.md 8c15f33d15
-
0658d0ba82
temporarily comment out rpcbind.py
until libevent is fixed. also remove duplicate commented-out forknotify.py.
-
Make fee aware of min relay in pruning.py RPC test b6d5e32e0e
-
99963b938f
Correct spelling mistakes in doc folder
- OSX —> OS X - XCode —> Xcode - github —> GitHub - homebrew —> Homebrew - gitian —> Gitian - Other miscellaneous obvious spelling fixes and whitespace removal
-
c6824f8a90
Add DERSIG transaction test cases
Add test cases for DERSIG flag enforcement against transactions.
-
Mention PHP bindings to libbitcoinconsensus d2e3fbc620
-
5888046323
Merge pull request #6849
d2e3fbc Mention PHP bindings to libbitcoinconsensus (Thomas Kerin)
-
Fix stale comment in CTxMemPool::TrimToSize. 58254aa3bc
-
fc41278e96
Merge pull request #6843
99963b9 Correct spelling mistakes in doc folder (Mitchell Cash)
-
bfcdc21a5d
build: make sure OpenSSL heeds noexecstack
This passes `-Wa,--noexecstack` to the assembler when building platform-specific assembly files, to signal that a non-executable stack can be used. This is the same approach as used by Debian (see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=430583)
-
5f5ee0f3ce
Merge pull request #6837
0658d0b temporarily comment out rpcbind.py (Alex Morcos)
-
da7d57fb95
Merge pull request #6852
bfcdc21 build: make sure OpenSSL heeds noexecstack (Wladimir J. van der Laan)
-
Added fPowNoRetargeting field to Consensus::Params that disables nBits recalculation. 7801f4387d
-
d3b09f6bac
Do not allow blockfile pruning during reindex.
Also clarify startup message.
-
[rpc-tests] fundrawtransaction: Update fee after minRelayTxFee increase 0d8b1759d2
-
[rpc-tests] Check return code bd4c22ed56
-
488f8517a1
Merge pull request #6829
53b86d0 doc: add comment explaining initial header request (Daniel Kraft)
-
c834f56869
Merge pull request #6853
7801f43 Added fPowNoRetargeting field to Consensus::Params that disables nBits recalculation. (Eric Lombrozo)
-
87e5539e9c
Merge pull request #6827
bd4c22e [rpc-tests] Check return code (MarcoFalke) 0d8b175 [rpc-tests] fundrawtransaction: Update fee after minRelayTxFee increase (MarcoFalke)
-
ae69a75c55
Merge pull request #6801
e76d9e4 [depends] Latest config.guess and config.sub (fanquake)
-
020c4073a0
Merge pull request #6841
b6d5e32 Make fee aware of min relay in pruning.py RPC test (Alex Morcos)
-
Chainparams: Replace CBaseChainParams::Network enum with string constants (suggested by Wladimir) f3525e24e3
-
55a89751fa
Chainparams: Translations: DRY: options and error strings
Also remove SelectBaseParamsFromCommandLine and SelectParamsFromCommandLine
-
41db8c4733
http: Restrict maximum size of request line + headers
Prevent memory exhaustion by sending lots of data. Also add a test to `httpbasics.py`. Closes #6425
-
e26a3f6713
Merge pull request #6235
55a8975 Chainparams: Translations: DRY: options and error strings (Jorge Timón) f3525e2 Chainparams: Replace CBaseChainParams::Network enum with string constants (suggested by Wladimir) (Jorge Timón)
-
c6de5cc886
Merge pull request #6796
c7b36cc Change URLs to https in debian/control (Matt Corallo) e253e83 Update debian/changelog and slight tweak to debian/control (Matt Corallo)
-
Support -checkmempool=N, which runs checks on average once every N transactions ab1f56072a
-
3b20e239c6
Merge pull request #6722
58254aa Fix stale comment in CTxMemPool::TrimToSize. (Matt Corallo) 2bc5018 Fix comment formatting tabs (Matt Corallo) 8abe0f5 Undo GetMinFee-requires-extra-call-to-hit-0 (Matt Corallo) 9e93640 Drop minRelayTxFee to 1000 (Matt Corallo) 074cb15 Add reasonable test case for mempool trimming (Matt Corallo) d355cf4 Only call TrimToSize once per reorg/blocks disconnect (Matt Corallo) 794a8ce Implement on-the-fly mempool size limitation. (Matt Corallo) e6c7b36 Print mempool size in KB when adding txn (Matt Corallo) 241d607 Add CFeeRate += operator (Matt Corallo) e8bcdce Track (and define) ::minRelayTxFee in CTxMemPool (Matt Corallo) 9c9b66f Fix calling mempool directly, instead of pool, in ATMP (Matt Corallo) 49b6fd5 Add Mempool Expire function to remove old transactions (Pieter Wuille) 78b82f4 Reverse the sort on the mempool's feerate index (Suhas Daftuar)
-
0fbfc5106c
Merge pull request #6859
41db8c4 http: Restrict maximum size of request line + headers (Wladimir J. van der Laan)
-
*: alias -h for --help 3cb56f3778
-
579b863cd7
devtools: Add security-check.py
Perform the following ELF security checks: - PIE: Check for position independent executable (PIE), allowing for address space randomization - NX: Check that no sections are writable and executable (including the stack) - RELRO: Check for read-only relocations, binding at startup - Canary: Check for use of stack canary Also add a check to symbol-check.py that checks that only the subset of allowed libraries is imported (to avoid incompatibilities).
-
a09297010e
Merge pull request #6854
579b863 devtools: Add security-check.py (Wladimir J. van der Laan)
-
95f4291185
[trivial] Rewrite help text for feature enabled by default
c.f #6748
-
2cd020d054
Merge pull request #6846
3cb56f3 *: alias -h for --help (Daniel Cousens)
-
f2c869aef2
Merge pull request #6848
c6824f8 Add DERSIG transaction test cases (J Ross Nicoll)
-
a4e28b3d1e
Set TCP_NODELAY on P2P sockets.
Nagle appears to be a significant contributor to latency now that the static sleeps are gone. Most of our messages are relatively large compared to IP + TCP so I do not expect this to create enormous overhead. This may also reduce traffic burstyness somewhat.
-
6ec4b7eb20
leveldbwrapper: Remove unused .Prev(), .SeekToLast() methods
Also, trim trailing whitespace.
-
leveldbwrapper symbol rename: Remove "Level" from class, etc. names 8587b23038
-
leveldbwrapper file rename to dbwrapper.* 3795e8152b
-
Fix pre-push-hook regexes 27252b7389
-
[trivial] rpcnet: fix typo bf681918d7
-
6782f58368
[trivial] Latest config.guess
upstream commit 1e80063123b47b97d25dfeded8dd92a19dafab66
-
b2b173acab
Merge pull request #6867
a4e28b3 Set TCP_NODELAY on P2P sockets. (Gregory Maxwell)
-
fa1d252e82
Merge pull request #6790
8c15f33 [trivial] Update contrib/devtools/README.md (MarcoFalke) 338f62f [devtools] add clang-format.py (MarcoFalke)
-
Whitelist commits signed with Pieter's now-revoked key 1d94b72019
-
923c5e93a9
Merge pull request #6818
b48da5c script: Remove magic numbers (David Hill)
-
bf7c1958d1
Merge pull request #5936
212bcca Add optional locktime to createrawtransaction (Tom Harding)
-
2a1090d4f5
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)
-
dca7bd3152
doc: Add developer notes about gitignore
- Add developer notes about `.gitignore.` - Remove qt creator specific files from gitignore, to be consistent.
-
c719cefc41
Merge pull request #6856
d3b09f6 Do not allow blockfile pruning during reindex. (Alex Morcos)
-
Merge pull request #6873 46f74379b8
-
9d55050773
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.
-
dea8d21fc6
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.
-
Ignore coverage data related and temporary test files 4d2a926cb4
-
d425877557
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.
-
8e3a27bbbf
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.
-
45d4ff0c20
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.
-
e3b5e6c39c
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.
-
d80e3cbece
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 -
Add BIP65 CHECKLOCKTIMEVERIFY to release notes c939792baa
-
added OS X documentation to doc/init.md e04b0b6b83
-
Use BOOST_CHECK_MESSAGE() rather than BOOST_CHECK() in alerts_tests.cpp and initialize strMiscWarning before calling PartitionCheck()." 143d173969
-
doc: mention BIP65 softfork in bips.md ceb2a9c3e1
-
450893769f
Merge pull request #6879
ceb2a9c doc: mention BIP65 softfork in bips.md (Wladimir J. van der Laan)
-
867d6c90b8
Merge pull request #6878
dca7bd3 doc: Add developer notes about gitignore (Wladimir J. van der Laan)
-
5242bb32c7
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)
-
rpc: Add maxmempool and effective min fee to getmempoolinfo 10e2eae35c
-
26f5b34e88
Merge pull request #6877
10e2eae rpc: Add maxmempool and effective min fee to getmempoolinfo (Wladimir J. van der Laan)
-
ff057f41aa
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)
-
0d699fc821
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"
-
872fee3fcc
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
-
Add RPC test for -maxuploadtarget 17a073ae06
-
c8322ff7f7
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)
-
dbc5ee821e
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)
-
7939164d89
Merge pull request #6622
17a073a Add RPC test for -maxuploadtarget (Suhas Daftuar) 872fee3 Introduce -maxuploadtarget (Jonas Schnelli)
-
Add option for microsecond precision in debug.log 7bbc7c314f
-
2b625510d3
Merge pull request #6881
7bbc7c3 Add option for microsecond precision in debug.log (Suhas Daftuar)
-
38369dda32
Merge pull request #6889
0d699fc fix locking issue with new mempool limiting (Jonas Schnelli)
-
8f3b3cdee4
Merge pull request #6464
2d8c49d Clean up tx prioritization when conflict mined (Casey Rodarmor)
-
ad5aae15b4
constify missing catch cases
- ensure all missing catch cases are constant where possible
-
214de7e54c
[Trivial] ensure minimal header conventions
- ensure header namespaces and end comments are correct - add missing header end comments - ensure minimal formatting (add newlines etc.)
-
0be387a536
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.
-
3e187f2acd
Fix BIP65 p2p test
create_coinbase() was being called with the wrong arguments
-
Fix chainstate serialized_size computation 298e040bca
-
Add Pieter's new PGP key to verify-commits/trusted-keys 6e800c2b41
-
Update to my new key 4252cd09fd
-
d0badb916e
Merge pull request #6865
298e040 Fix chainstate serialized_size computation (Pieter Wuille)
-
93521a4f56
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)
-
8756c98642
Merge pull request #6895
4252cd0 Update to my new key (Pieter Wuille)
-
e06c14fb59
Merge pull request #6776
ab1f560 Support -checkmempool=N, which runs checks on average once every N transactions (Pieter Wuille)
-
4764f5db9d
Merge pull request #6892
214de7e [Trivial] ensure minimal header conventions (Philip Kaufmann)
-
8daffe227b
Merge pull request #6891
ad5aae1 constify missing catch cases (Philip Kaufmann)
-
Make -checkmempool=1 not fail through int32 overflow e9e616323b
-
6b0e622c25
[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
-
[wallet] Add comments for doxygen a9c73a130e
-
040c0ea093
Init: Cleanup error and warning strings
Also update doc/translation_strings_policy.md
-
Add explicit shared_ptr constructor due to C++11 error a83f3c2426
-
26752767df
Merge pull request #6894
3e187f2 Fix BIP65 p2p test (Suhas Daftuar)
-
b2ce2c1f0f
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)
-
b28c229324
Merge pull request #6899
a83f3c2 Add explicit shared_ptr constructor due to C++11 error (Bob McElrath)
-
725539ea03
Merge pull request #6863
0be387a unittest: fix test for null tx input (Daniel Kraft)
-
Init: Use DEFAULT_TRANSACTION_MINFEE in help message 6342a4889b
-
28313b83fc
[qt] Use fixed pitch font for the rpc console
Also: * Preserve white space * Make fixed font as large as default font
-
30d9662bd7
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).
-
Bugfix: Omit wallet-related options from -help when wallet is disabled a6efc01908
-
d482c0a7b2
Merge pull request #6896
e9e6163 Make -checkmempool=1 not fail through int32 overflow (Pieter Wuille)
-
48b5b84ee5
Merge pull request #6906
30d9662 Reject invalid pubkeys when reading ckey items from the wallet. (Gregory Maxwell)
-
a6e80e4017
Merge pull request #6883
c939792 Add BIP65 CHECKLOCKTIMEVERIFY to release notes (Peter Todd)
-
tests: Initialize networking on windows 7497e805bd
-
02a95be977
qt: translation update prior to opening 0.12 translations
Also update transifex slug for new version.
-
8537ecdfc4
Revert "Enable policy enforcing GetMedianTimePast as the end point of lock-time constraints"
This reverts commit dea8d21fc63e9f442299c97010e4740558f4f037.
-
40cd32e835
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.
-
ff2a2af64c
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.
-
a6d0d623fc
Merge pull request #6926
7497e80 tests: Initialize networking on windows (Wladimir J. van der Laan)
-
8fe30fb4d1
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)
-
42f339ef78
Merge pull request #6930
ff2a2af build: don't distribute tests_config.py (Wladimir J. van der Laan)
-
[qt] rpcconsole: Scale monospace font to 95% 268b79ef0c
-
de0499d3b8
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.
-
aca0c00ae1
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)
-
35bb381435
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)
-
29c3c43e19
Merge pull request #6933
35bb381 build: Improve build instructions (Wladimir J. van der Laan)
-
aa03fb35c4
Merge pull request #6927
de0499d Fix ZMQ Notification initialization and shutdown (João Barbosa)
-
8a95a18562
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)
-
c702521a85
Merge pull request #6864
268b79e [qt] rpcconsole: Scale monospace font to 95% (MarcoFalke) 28313b8 [qt] Use fixed pitch font for the rpc console (MarcoFalke)
-
dbacc69b4f
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.
-
193f7b553e
Merge pull request #6938
dbacc69 build: If both Qt4 and Qt5 are installed, use Qt5 (Wladimir J. van der Laan)
-
Update LevelDB f0343e9370
-
laanwj commented at 8:14 AM on November 5, 2015: member
Awesome, thanks
- laanwj added the label UTXO Db and Indexes on Nov 5, 2015
- laanwj merged this on Nov 5, 2015
- laanwj closed this on Nov 5, 2015
- laanwj referenced this in commit 79456524f8 on Nov 5, 2015
-
MarcoFalke commented at 1:05 PM on November 5, 2015: member
Result from git-subtree:
$ ./contrib/devtools/git-subtree-check.sh src/leveldb src/leveldb in HEAD was last updated to upstream commit 20ca81f08fb7fa108923a091668e447dcf5c6b9d (tree 1c185cba2ddcb6a77ece1094bc22aea072db84d1) src/leveldb in HEAD currently refers to tree 1c185cba2ddcb6a77ece1094bc22aea072db84d1 GOOD - MarcoFalke locked this on Sep 8, 2021
Contributors
Labels