No description provided.
0.11 #6912
pull nathanimpact wants to merge 123 commits into bitcoin:master from bitcoin:0.11 changing 262 files +11600 −4653-
nathanimpact commented at 12:51 AM on October 30, 2015: none
-
Bump version to 0.11 8e15efa76c
-
qt: Periodic translation update 2be094eeba
-
75a4d512cf
Fix off-by-one error w/ nLockTime in the wallet
Previously due to an off-by-one error the wallet ignored nLockTime-by-height transactions that would be valid in the next block even though they are accepted into the mempool. The transactions wouldn't show up until confirmed, nor would they be included in the unconfirmed balance. Similar to the mempool behavior fix in 665bdd3b, the wallet code was calling IsFinalTx() directly without taking into account the fact that doing so tells you if the transaction could have been mined in the *current* block, rather than the next block. To fix this we strip IsFinalTx() of non-consensus-critical functionality, removing the default arguments, and add CheckFinalTx() to check if a transaction will be final in the next block. Github-Pull: #6183 Rebased-From: 28bf06236d3b385e95fe26a7a742395b30efd6ee
-
b4bbad18ef
Ignore getheaders requests when not synced.
Rebased-From: a1ba0778dd3c784046dea334e5d39f37eca264f7 Github-Pull: #6172
-
dfdb6dd052
build: disable optional use of gmp in internal secp256k1 build
Until secp256k1 is used for verification there is no reason for Bitcoin Core's secp256k1 to link against gmp, even if available. Pass a flag to configure to override the bignum implementation. This fixes a crash at runtime on ppc64 reported by @gmaxwell. Github-Pull: #6210 Rebased-From: 7fd5b801ff16d748b5ca13ded09ed5da8eacf7e7
-
c00ae64f77
Remove P2SH coinbase flag, no longer interesting
Github-Pull: #6203 Rebased-From: d449772cf69c01932fc5d72c46054815d6300b3c
-
gitian: Bump cache dir for 0.11 7d4b5cbee3
-
4d435d1c9a
[OSX] revert renaming of Bitcoin-Qt.app
Github-Pull: #6214 Rebased-From: a2241eabfdbdadd2f96c0a538b9901257831b642
-
6145fdf47e
OSX: use "Bitcoin Core" as Bundle Display Name
Github-Pull: #6214 Rebased-From: 0a32a9347e12a8d1d4a46bf9a1d5b3ae13bbe501
-
5901596548
json: fail read_string if string contains trailing garbage
Change `read_string` to fail when not the entire input has been consumed. This avoids unexpected, even dangerous behavior (fixes #6223). The new JSON parser adapted in #6121 also solves this problem so in master this is a temporary fix, but should be backported to older releases. Also adds tests for the new behavior. Github-Pull: #6226 Rebased-From: 4e157fc60dae5ca69933ea4c1585a2a078b4d957
-
ecdcf13ede
osx: set min version to 10.7 for 0.11+
Github-Pull: #6218 Rebased-From: c3cdd7b31201e1f3f78f816d8456d04c00e06418
-
7a4304ecc7
gitian: bump faketime to something more recent
This helps in file views where binaries are sorted by time Github-Pull: #6218 Rebased-From: be656283f98896df0bc8634d446b2873f9fed573
-
666e973b2f
Merge pull request #6219
7d4b5cb gitian: Bump cache dir for 0.11 (Cory Fields)
-
304892fc03
Be stricter in processing unrequested blocks
AcceptBlock will no longer process an unrequested block, unless it has not been previously processed and has more work than chainActive.Tip() Github-Pull: #5875 Rebased-From: 9be0e6837b878f72bd087ce32b7a2f2ffb2fd544
-
2edec4fe68
P2P regression test for new AcceptBlock behavior
Github-Pull: #5875 Rebased-From: aa8c827968a68a3adc4df5f126635e37a71a7fbb
-
doc: update release notes 32b011781d
-
053110ddcb
Merge pull request #6238
cfc600d Bugfix: Correct links for Xcode download (Luke Dashjr)
-
Disable partition check for now, it triggers too often (issue #6251) 3eada74d6f
-
0401aa2e8f
configure: Detect (and reject) LibreSSL
Rebased-From: a5a81f7354b3aa3e797d973a7e6840f0e50e6533 Github-Pull: #6244
-
37b4e425af
Fix removing of orphan transactions
We don't want to erase orphans that still have missing inputs, they should still be tracked as orphans. Also, the transaction thats being accepted can't be an orphan otherwise it would have previously been accepted, so doesn't need to be added to the erase queue. Github-Pull: #5985 Rebased-From: 14d4eef79931318cb5968f9154cf458d9f8d27fa
-
6cb70ca4ee
Prune: Support noncontiguous block files
In some corner cases, it may be possible for recent blocks to end up in the same block file as much older blocks. Previously, the pruning code would stop looking for files to remove upon first encountering a file containing a block that cannot be pruned, now it will keep looking for candidate files until the target is met and all other criteria are satisfied. This can result in a noncontiguous set of block files (by number) on disk, which is fine except for during some reindex corner cases, so make reindex preparation smarter such that we keep the data we can actually use and throw away the rest. This allows pruning to work correctly while downloading any blocks needed during the reindex. Rebased-From: c257a8c9a6397eee40734b235a4fdcb8045aec91 Github-Pull: #6221
-
94cd7051a3
Remove translation for -help-debug options
Github-Pull: #6264 Rebased-From: 9b5659d1c4c62bc6b80e35ff7573c781835e4187
-
c9fd9078ce
Fix getbalance *
Chance "getbalance *" not to use IsTrusted. The method and result now match the "getbalance <specific-account>" behavior. In particular, "getbalance * 0" now works. Also fixed a comment -- GetGalance has required 1 confirmation for many years, and the default "getbalance *" behavior matches that. Github-Pull: #6276 Rebased-From: 7d6a85ab5b1dc96e0f3f6f835f27bb81ba2af919
-
95aca44095
gitian: Use the new bitcoin-detached-sigs git repo for OSX signatures
Rather than fetching a signature.tar.gz from somewhere on the net, instruct Gitian to use a signature from a tag in the bitcoin-detached-sigs repository which corresponds to the tag of the release being built. This changes detached-sig-apply.sh to take a dirname rather than a tarball as an argument, though detached-sig-create.sh still outputs a tarball for convenience. Github-Pull: #6269 Rebased-From: c110575a92ebe2e9a58b53d56aafa1f1ae37dbb2
-
4d9c7fe61d
Add option `-alerts` to opt out of alert system
Make it possible to opt-out of the centralized alert system by providing an option `-noalerts` or `-alerts=0`. The default remains unchanged. This is a gentler form of #6260, in which I went a bit overboard by removing the alert system completely. I intend to add this to the GUI options in another pull after this. Github-Pull: #6274 Rebased-From: 02a6702a82a5b00e0e0351041dd3267308b7f319
-
fce474c9df
Use best header chain timestamps to detect partitioning
The partition checking code was using chainActive timestamps to detect partitioning; with headers-first syncing, it should use (and with this pull request, does use) pIndexBestHeader timestamps. Fixes issue #6251 Github-Pull: #6256 Rebased-From: 65b94545036ae6e38e79e9c7166a3ba1ddb83f66
-
translation update pre-rc2 2617b75e15
-
ef1d506054
Fix scheduler build with some boost versions.
Some boost versions have a conflicting overload of wait_until that returns void. Explicitly use a template here to avoid hitting that overload. Github-Pull: #6285 Rebased-From: 72bf90d770ce5b2653fd482928646cd6a9f5f6d7
-
3902c15a03
remove berkeley-db4 workaround
"brew install berkeley-db4" appears to be working again. simplified instructions by removing the berkeley-db4 workaround. Github-Pull: #6286 Rebased-From: a3a80c253cdd0299f92b9e1ba9888f0f9421f245
-
25c2216168
depends: fix Boost 1.55 build on GCC 5
Boost assumes variadic templates are always available in GCC 4.4+, but they aren't since we don't build with -std=c++11. This applies the patch that fixed the issue in boost 1.57: https://github.com/boostorg/config/commit/eec808554936ae068b23df07ab54d4dc6302a695 See also: https://svn.boost.org/trac/boost/ticket/10500 Github-Pull: #6280 Rebased-From: b19a88b2a0e7bd9ef603055bc8e1ef058673025d
-
doc: Update release notes for rc2 5f032c75ee
-
e6334f4aad
Revert "Disable partition check for now, it triggers too often (issue #6251)"
Re-enable partition check, it should be safe again after #6256. This reverts commit 3eada74d6f4720e650c67461c04c3aafdeaff21e.
-
3f8fcc92b7
doc: update mailing list address
Move from sourceforge to linux foundation. Also get rid of some other stale mentions of sourceforge. Github-Pull: #6319 Rebased-From: 88d8525ca2ff2afc171cd0f625a098371f3a6af5
-
b7115995d7
gitian: add a gitian-win-signer descriptor
This is exactly like the current OSX signing process. osslsigncode has been patched to detach and re-attach Windows signatures. The changes can be seen here: https://github.com/theuni/osslsigncode/commits/attach-signature There's a pull-request open upstream for the changes: https://sourceforge.net/p/osslsigncode/osslsigncode/merge-requests/3/ This work has been back-ported to the stable 1.7.1 release of osslsigncode, so that a smaller patch can be reviewed. Github-Pull: #6303 Rebased-From: d08cfc2bd752fdb1e8547f957f1c38275540df7a
-
8ea6d37aee
Add an alternate location of endian.h header
Github-Pull: #6246 Rebased-From: 0640a5eb60b06de61f873fd88ae0252f5a11c339
-
daf956b7b1
fix crash on shutdown when e.g. changing -txindex and abort action
- fixes #3136 - the problem is related to Boost path and a static initialized internal pointer - using a std::string in CDBEnv::EnvShutdown() prevents the problem - this removes the boost::filesystem::path path field from CDBEnv Github-Pull: #6282 Rebased-From: 0ce30eaa36295447c6e7f8d16a05798c746fe28a
-
doc: mention bitcoin-submittx example in release notes 88accef336
-
a587606525
Advance pindexLastCommonBlock for blocks in chainActive
This prevents an edge case where a block downloaded and pruned in-between successive calls to FindNextBlocksToDownload could cause the block to be unnecessarily re-requested. Github-Pull: #6233 Rebased-From: 3e9143386a90e508c8d41719294db11264f5f0a0
-
41bbc85ec9
Hardcoded seeds update June 2015
- Moved all seed related scripts to contrib/seeds for consistency - Updated `makeseeds.py` to handle IPv6 and onions, fix regular expression for recent Bitcoin Core versions - Fixed a bug in `generate-seeds.py` with regard to IPv6 parsing Allow for non-8333 nodes to appear in the internal seeds. This will allow bitcoind to bypas a filter on 8333. This also makes it possible to use the same tool for e.g. testnet. As hosts with multiple nodes per IP are likely abusive, add a filter to remove these (the ASN check will take care of them for IPv4, but not IPv6 or onion). Github-Pull: #6333 Rebased-From: ccd4369a23ca78cc348bc66a7a8c69a971ffcbf7 884454aebe9e20964643b70ff8c41f47709380bc b9329536cd8a6c152b41c9276f1def14b4d2442d
-
bdf0d94d45
gitian: make the windows signing process match OSX
Github-Pull: #6354 Rebased-From: a3ba9a553acefd567ccb304b8600d2149ffab9aa
-
bad1e8b358
Ideal release process for Windows detached signing
This is an ideal version of what the release process should look like, making it more consistent with the OS X process. Some of the changes described here would need to be made in the descriptors, which is somewhat beyond what I would feel comfortable doing, not really understanding the signature process in depth. [skip ci] Github-Pull: #6354 Rebased-From: 6e849b8309558ec83710d86c0f784566996da58b
-
update release notes for 0.11.0rc3 afc60de416
-
7bf37e19d2
Merge pull request #6369
dae0a89 assets-attribution: Update typicons to MIT license (Luke Dashjr)
-
release notes for fee estimation changes 9a2469e1ce
-
ebad618919
Merge pull request #6383
9a2469e release notes for fee estimation changes (Alex Morcos)
-
Fix typo in release notes. 5460b24fed
-
757ceaab0a
Merge pull request #6397
5460b24 Fix typo in release notes. (spin)
-
doc: add important information about tx flood to release notes d26f951802
-
d7101a6d31
doc: Remove recommendation to add old repos for libd4.8*
It is unreasonable to ask to change the global package configuration just to build a package. Not only that, this is potentially harmful to the system. Also do a few punctuation fixes in REST-interface.md. Github-Pull: #6413 Rebased-From: 9fbca205d4eaaf82be718b69c6533078aeb3081c
-
e092f22951
qt: define QT_NO_KEYWORDS
QT_NO_KEYWORDS prevents Qt from defining the `foreach`, `signals`, `slots` and `emit` macros. Avoid overlap between Qt macros and boost - for example #undef hackiness in #6421. Conflicts: src/qt/addressbookpage.cpp src/qt/peertablemodel.cpp src/qt/receivecoinsdialog.cpp src/qt/rpcconsole.cpp Rebased-From: d29ec6c2301e593d577126d1ca85b93307b32bf1 Github-Pull: #6433
-
164966705a
qt: update forgotten emit to Q_EMIT in macdockiconhandler.mm
Leftover from #6433 Rebased-From: ce183dce2e13c23ed279f4d9dae281e8e5977ebd
-
253143860d
openssl: avoid config file load/race
Github-Pull: #6438 Rebased-From: d4b1d5a8baf18e4c8d62846360c0c1c0c9331d70
-
980f820a92
Updated URL location of netinstall for Debian
Github-Pull: #6439 Rebased-From: 09d4ddf1c5841b757c2676d508a68baa2dbdc4c7
-
qt: periodic translations update ea5b5ddd7c
-
0095b9a1ff
Test whether created sockets are select()able
Conflicts: src/net.cpp Rebased-From: d422f9b1fdb42a51aadaa1bbc157542dca2feb17
-
e8b87c8f78
Fix warning introduced by #6412
SOCKET are defined as unsigned integers, thus always >=0. Rebased-From: 89289d875da108c42ca013f33597eda46cb6eb53
-
8e5a96908a
qt: Force TLS1.0+ for SSL connections
Github-Pull: #6384 Rebased-From: 15e26a6a9afe299b9ca6fced73b876644365879b
-
92401c2d90
Depends: bump to qt 5.5
Github-Pull: #6471 Rebased-From: fe997dfd121e3d82464908940753b77ebf61a10d 5189fe3d88b7d0154758379a877533fe364dec87 ab67dd7818ff2d0910f3fd9bfca9412d85de4424 ecd6a89381a34d4bcd07593a2e377656d070a7ed 060b3d377b0a0d318f630beb7fe4d8f41b99981c
-
bc484ef8db
Cache transaction validation successes
Conflicts: src/main.cpp src/test/test_bitcoin.cpp Github-Pull: #6077 Rebased-From: 17b11428c135203342aff38cabc8047e673f38ac 517e6dd25618522c716e64859554b0f29c6e65d0
-
5c27f1247a
Revert "Cache transaction validation successes"
This reverts commit bc484ef8db02715e283e4cddd2c972316c0688dd.
-
93b606aee4
Be even stricter in processing unrequested blocks
Github-Pull: #6224 Rebased-From: bfc30b34374d71928acee5ff41282f09cedfd5e4 6b1066fab41523d25d75b45a10e4b0f61d7c61d0 04b5d235f1560b8285591b963d3636f7ddf74563 59b49cd07482494d9a99068af502be9ceda41ed2
-
100ac4e185
consensus: cache the openssl EC_GROUP to avoid a race condition for each CECKey instantiation
Github-Pull: #6571 Rebased-From: 1d1073c2d3231a9de4adbc2bc46846fc20b34f9e
-
649f5d9c11
Do not store more than 200 timedata samples.
Github-Pull: #6545 Rebased-From: 8be371db340b03dc03142c1bb3390fdfc84f56b4
-
travis: for travis generating an extra build 1f4d7cf20b
-
Add autogen.sh to source tarball. a37567dd44
-
49c6a64202
tests: Remove old sh-based test framework
This removes the `conflictedbalance.sh` test as well, but that test has been broken for a long time and isn't part of any scripts. What it does is, IMO, sufficiently tested by other tests.
-
Remove bash test note from rpc-tests readme a496e11d7c
-
60457d3c2f
locking: fix a few small issues uncovered by -Wthread-safety
- rpcwallet: No need to lock twice here - openssl: Clang doesn't understand selective lock/unlock here. Ignore it. - CNode: Fix a legitimate (though very unlikely) locking bug.
-
f6355e6918
Avoid leaking file descriptors in RegisterLoad
This is pretty trivial, but if there's an error here we'll leak a file descriptor. Changed it to always close the file.
-
5a3913361d
build: fix libressl detection
Checking libcrypto for a function after we've already found a (possibly different) libcrypto is not what we want to do here. pkg-config might've found a cross lib while AC_CHECK_LIB may find a different or native one. Run a link-test against the lib that's already been found instead.
-
7ff9d122e4
Make sure LogPrintf strings are line-terminated
Fix the cases where LogPrint[f] was accidentally called without line terminator, which resulted in concatenated log lines. (see e.g. #6492)
-
Make sure LogPrint strings are line-terminated e0020d4c44
-
e6adac7b3f
Delay initial pruning until after wallet init
Don't prune until any wallet rescanning has taken place to avoid potentially pruning blocks that the wallet rescan may need.
-
Use unique name for AlertNotify tempfile f6d29a6ca8
-
4a3741028e
Handle no chain tip available in InvalidChainFound()
Handle the case where no chain tip is available, in InvalidChainFound(). This fixes a null pointer deference when running unit tests, if the genesis block or block validation code is broken.
-
Fix race condition on test node shutdown c5b89fe44e
-
f171fee035
Handle leveldb::DestroyDB() errors on wipe failure
Add error checking to CLevelDBWrapper for errors from leveldb::DestroyDB(). Without it, if unlink() or DeleteFileW() fail to delete files, they will fail silent. If they fail to delete any files, CLevelDBWrapper will silently open and read the existing database. Typically any permissions issues would be caught by leveldb as it churns through many files as part of its compaction process, but it is conceivable that this could cause problems on Windows with anti-virus and indexing software.
-
48770534a6
Add missing files to files.md
typo
-
Make sure we re-acquire lock if a task throws 626c5e6936
-
Replace boost::reverse_lock with our own. 6b51b9b195
-
Fix masking of irrelevant bits in address groups. 13642a50eb
-
add unit test for CNetAddr::GetGroup. 1f6772e9f0
-
ccc4ad6c4d
net: Set SO_REUSEADDR for Windows too
When running the rpc tests in Wine, nodes often fail to listen on localhost due to a stale socket from a previous run. This aligns the behavior with other platforms.
-
rpc-tests: re-enable rpc-tests for Windows 13bd5a75b5
-
21c406eda0
add support for miniupnpc api version 14
The value of new arg ttl is set to 2 as it's recommended default.
-
45bfa137ef
PARTIAL: typofixes (found by misspell_fixer)
Upstream: 9f68ed6b6d1a9c6436ce37913666165f2b180ee3 (PR #6539)
-
834e299564
[QT] fix thin space word wrap line brake issue
The thin space QT html hack results in cut-off chars/nums after a line break. Avoid word wrap line breaks by using a smaller font and a line break before each alternative value) Rebased-From: 24cb7c7bbba224dcb73fcf69296f5ef4734f745f Github-Pull: #6694
-
1cd7952dde
Merge pull request #6703
45bfa13 PARTIAL: typofixes (found by misspell_fixer) (Veres Lajos) 21c406e add support for miniupnpc api version 14 (Pavel Vasin) 13bd5a7 rpc-tests: re-enable rpc-tests for Windows (Cory Fields) ccc4ad6 net: Set SO_REUSEADDR for Windows too (Cory Fields) 1f6772e add unit test for CNetAddr::GetGroup. (Alex Morcos) 13642a5 Fix masking of irrelevant bits in address groups. (Alex Morcos) 6b51b9b Replace boost::reverse_lock with our own. (Casey Rodarmor) 626c5e6 Make sure we re-acquire lock if a task throws (Casey Rodarmor) 4877053 Add missing files to files.md (fanquake) f171fee Handle leveldb::DestroyDB() errors on wipe failure (Adam Weiss) c5b89fe Fix race condition on test node shutdown (Casey Rodarmor) 4a37410 Handle no chain tip available in InvalidChainFound() (Ross Nicoll) f6d29a6 Use unique name for AlertNotify tempfile (Casey Rodarmor) e6adac7 Delay initial pruning until after wallet init (Adam Weiss) e0020d4 Make sure LogPrint strings are line-terminated (J Ross Nicoll) 7ff9d12 Make sure LogPrintf strings are line-terminated (Wladimir J. van der Laan) 5a39133 build: fix libressl detection (Cory Fields) f6355e6 Avoid leaking file descriptors in RegisterLoad (Casey Rodarmor) 60457d3 locking: fix a few small issues uncovered by -Wthread-safety (Cory Fields) a496e11 Remove bash test note from rpc-tests readme (fanquake) 49c6a64 tests: Remove old sh-based test framework (Wladimir J. van der Laan) a37567d Add autogen.sh to source tarball. (randy-waterhouse) 1f4d7cf travis: for travis generating an extra build (Cory Fields)
-
qt: periodic translation update 8a915e56f4
-
2983fe0484
Add uint256 support to CRollingBloomFilter
(cherry picked from commit bbe41088c61f2ad328766e851ffe6169aa80935a)
-
25cf1220e6
Reuse vector hashing code for uint256
(cherry picked from commit a3d65fedaa18686f0cc007d0a13dba6545250300)
-
83671efe99
Make CRollingBloomFilter set nTweak for you
While CBloomFilter is usually used with an explicitly set nTweak, CRollingBloomFilter is only used internally. Requiring every caller to set nTweak is error-prone and redundant; better to have the class handle that for you with a high-quality randomness source. Additionally when clearing the filter it makes sense to change nTweak as well to recover from a bad setting, e.g. due to insufficient randomness at initialization, so the clear() method is replaced by a reset() method that sets a new, random, nTweak value. (cherry picked from commit d2d7ee0e863b286e1c9f9c54659d494fb0a7712d)
-
6eed52e05b
Only use randomly created nonces in CRollingBloomFilter.
(cherry picked from commit d741371d7d27e228aa64c618c50b23fb5449c3e1)
-
ec9b6c33e8
Keep track of recently rejected transactions
Nodes can have divergent policies on which transactions they will accept and relay. This can cause you to repeatedly request and reject the same tx after its inved to you from various peers which have accepted it. Here we add rolling bloom filter to keep track of such rejections, clearing the filter every time the chain tip changes. Credit goes to Alex Morcos, who created the patch that this code is based on. Original code by Peter Todd. Refactored to not construct the filter at startup time by Pieter Wuille. (cherry picked from commit 0847d9cb5fcd2fdd5a21bde699944d966cf5add9)
-
5094a81d3b
Move recentRejects initialization to top of InitBlockIndex
This avoids that premature return in the condition that a new chain is initialized results in NULL pointer errors due to recentReject not being constructed. Also add assertions where it is used. (cherry picked from commit a8d0407c4fcf7c4e8ed0e8edabd204f7a4efa477)
-
5ed8d0b37e
Merge pull request #6750
5094a81 Move recentRejects initialization to top of InitBlockIndex (Wladimir J. van der Laan) ec9b6c3 Keep track of recently rejected transactions (Peter Todd) 6eed52e Only use randomly created nonces in CRollingBloomFilter. (Pieter Wuille) 83671ef Make CRollingBloomFilter set nTweak for you (Peter Todd) 25cf122 Reuse vector hashing code for uint256 (Pieter Wuille) 2983fe0 Add uint256 support to CRollingBloomFilter (Peter Todd)
-
71cc9d9fe8
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 Rebased-From: b196b685c9089b74fd4ff3d9a28ea847ab36179b Github-Pull: #6769 -
684636ba67
Make CScriptNum() take nMaxNumSize as an argument
While the existing numeric opcodes are all limited to 4-byte bignum arguments, new opcodes will need different limits. Rebased-From: 99088d60d8a7747c6d1a7fd5d8cd388be1b3e138
-
6ec08db338
Move LOCKTIME_THRESHOLD to src/script/script.h
Will now be needed by CHECKLOCKTIMEVERIFY code. Rebased-From: 48e9c57cf06352f890eac4285ae022d8746cf3fd
-
4fa7a048d1
Replace NOP2 with CHECKLOCKTIMEVERIFY (BIP65)
<nLockTime> CHECKLOCKTIMEVERIFY -> <nLockTime> Fails if tx.nLockTime < nLockTime, allowing the funds in a txout to be locked until some block height or block time in the future is reached. Only the logic and unittests are implemented; this commit does not have any actual soft-fork logic in it. Thanks to Pieter Wuille for rebase. Credit goes to Gregory Maxwell for the suggestion of comparing the argument against the transaction nLockTime rather than the current time/blockheight directly. Rebased-From: bc60b2b4b401f0adff5b8b9678903ff8feb5867b
-
6ea5ca4b4e
Enable CHECKLOCKTIMEVERIFY as a standard script verify flag
Transactions that fail CLTV verification will be rejected from the mempool, making it easy to test the feature. However blocks containing "invalid" CLTV-using transactions will still be accepted; this is *not* the soft-fork required to actually enable CLTV for production use. Rebased-From: ffd75adce01a78b3461b3ff05bcc2b530a9ce994
-
5e82e1c8f5
Add CHECKLOCKTIMEVERIFY (BIP65) soft-fork logic
Based on the earlier BIP66 soft-fork logic implemented by Pieter Wuille's 5a47811da5158df763aa2fca09ce646ee0c51e7b Rebased-From: 287f54fc90c29301faede8d4ac2ea24a91441917
-
c5a27f4fb3
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 Rebased-From: 308257856099e82e91881ba97f741d840184727c
-
70a427b2b5
CLTV: Add more tests to improve coverage
Four cases included: * The CLTV operand type mismatches the tx locktime. In the script it is 1 (interpreted as block height), but in the tx is 500000000 (interpreted as date) * The stack is empty when executing OP_CLTV * The tx is final by having only one input with MAX_INT sequence number * The operand for CLTV is negative (after OP_0 OP_1 OP_SUB) Rebased-From: cb54d17355864fa08826d6511a0d7692b21ef2c9
-
ba1da90b33
Show softfork status in getblockchaininfo
Rebased-From: 5ed10793c2df970d07cecd760c42205e68779e83
-
6af25b0f64
Add BIP65 to getblockchaininfo softforks list
Rebased-From: 54a200ac9ad8909303ccf1ac49c291e0c2b5fb23
-
36f14bf2e7
In (strCommand == "tx"), return if AlreadyHave()
The main effect is to exit processing for recently-rejected hashes, in case they are pushed to us without prior advertisement. This behavior was seen in the wild. An additional effect is to do early checks for mempool or mapOrphan existence. No logging or nDoS tracking is needed for failures of these checks.
-
b4ad73f706
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. Github-Pull: 6789 Rebased-From: 0cca0248f030ea32bd8de778b5a2782e0d191978
-
b4dc33e9fb
Merge pull request #6785
36f14bf In (strCommand == "tx"), return if AlreadyHave() (Tom Harding)
-
doc: Update release notes for 0.11.1 04d0c27fb0
-
qt: Update translations before 0.11.1 d7d87a1db1
-
17ea542aa6
doc: #6077 was reverted, don't mention in release notes
Reported by sipa
-
Bump version to 0.11.1 717152ccba
-
4dbcec03ab
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. Github-Pull: #6795 Rebased-From: 21d27ebad5721bc61c62bc72dc3ab3197f9da268
-
e7bcc4aac3
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. Github-Pull: #6793 Rebased-From: 28e3249e53b8ef7516636df0f1406466a513095d 4e2efb3c5fde4b1e332cc032e3dc4082ec4e3cac
-
doc: update release notes for 0.11.1rc2 dad3e98e8f
-
cf33f196e7
doc: Add Luke Dashjr to credits in release notes
Somehow missed...
-
09a00a1f7f
Add historical release notes for October 2015 bugfix releases
[skip ci] Rebased-From: d57586f91c6cfe7480ae87b81a041009776a33af Github-Pull: #6832
-
21e58b8e35
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) Rebased-From: bfcdc21a5da25ec1aa4aecc4cd8960dfa1c11781 Github-Pull: #6852
-
072032448b
Make fee aware of min relay in pruning.py RPC test
Rebased-From: b6d5e32e0e5b038c6ff7e2ab5221b10727722341 Github-Pull: #6841
-
95a50390e1
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. Conflicts: src/net.cpp Rebased-From: a4e28b3d1e5c95eb0c87f144851cd65048c3e0bc Github-Pull: #6867
-
fc7f0ee28c
Merge pull request #6707
6af25b0 Add BIP65 to getblockchaininfo softforks list (Peter Todd) ba1da90 Show softfork status in getblockchaininfo (Wladimir J. van der Laan) 70a427b CLTV: Add more tests to improve coverage (Esteban Ordano) c5a27f4 Add RPC tests for the CHECKLOCKTIMEVERIFY (BIP65) soft-fork (Peter Todd) 5e82e1c Add CHECKLOCKTIMEVERIFY (BIP65) soft-fork logic (Peter Todd) 6ea5ca4 Enable CHECKLOCKTIMEVERIFY as a standard script verify flag (Peter Todd) 4fa7a04 Replace NOP2 with CHECKLOCKTIMEVERIFY (BIP65) (Peter Todd) 6ec08db Move LOCKTIME_THRESHOLD to src/script/script.h (Peter Todd) 684636b Make CScriptNum() take nMaxNumSize as an argument (Peter Todd)
-
dfe55bdc32
Do not allow blockfile pruning during reindex.
Also clarify startup message. Github-Pull: #6856 Rebased-From: d3b09f6bac738958b6bf5711bcb5291049b7466d
- gmaxwell closed this on Oct 30, 2015
- MarcoFalke locked this on Sep 8, 2021
Contributors