aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac4
-rw-r--r--doc/release-notes.md40
-rw-r--r--src/bitcoin-tx.cpp13
3 files changed, 24 insertions, 33 deletions
diff --git a/configure.ac b/configure.ac
index e8aa7d5ae1..4766e0431d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,8 +2,8 @@ dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N)
AC_PREREQ([2.60])
define(_CLIENT_VERSION_MAJOR, 0)
define(_CLIENT_VERSION_MINOR, 15)
-define(_CLIENT_VERSION_REVISION, 0)
-define(_CLIENT_VERSION_BUILD, 1)
+define(_CLIENT_VERSION_REVISION, 1)
+define(_CLIENT_VERSION_BUILD, 0)
define(_CLIENT_VERSION_IS_RELEASE, true)
define(_COPYRIGHT_YEAR, 2017)
define(_COPYRIGHT_HOLDERS,[The %s developers])
diff --git a/doc/release-notes.md b/doc/release-notes.md
index 6e4bd03cd5..e9da25732c 100644
--- a/doc/release-notes.md
+++ b/doc/release-notes.md
@@ -1,9 +1,10 @@
-(note: this is a temporary file, to be added-to by anybody, and moved to
-release-notes at release time)
-
Bitcoin Core version *0.15.1* is now available from:
- <https://bitcoin.org/bin/bitcoin-core-0.15.1/>
+ <https://bitcoincore.org/bin/bitcoin-core-0.15.x/>
+
+or
+
+ <https://bitcoin.org/bin/bitcoin-core-0.15.x/>
This is a new minor version release, including various bugfixes and
performance improvements, as well as updated translations.
@@ -29,7 +30,7 @@ be converted to a new format, which will take anywhere from a few minutes to
half an hour, depending on the speed of your machine.
The file format of `fee_estimates.dat` changed in version 0.15.0. Hence, a
-downgrade from version 0.15.0 or upgrade to version 0.15.0 will cause all fee
+downgrade from version 0.15 or upgrade to version 0.15 will cause all fee
estimates to be discarded.
Note that the block database format also changed in version 0.8.0 and there is no
@@ -57,42 +58,19 @@ the Linux kernel, macOS 10.8+, and Windows Vista and later. Windows XP is not su
Bitcoin Core should also work on most other Unix-like systems but is not
frequently tested on them.
+
Notable changes
===============
-
-
-0.15.1 Change log
+0.15.x Change log
=================
-- `dumpwallet` no longer allows overwriting files. This is a security measure
- as well as prevents dangerous user mistakes.
-
-- `listsinceblock` will now throw an error if an unknown `blockhash` argument
- value is passed, instead of returning a list of all wallet transactions since
- the genesis block.
-
-Miner block size limiting deprecated
-------------------------------------
-
-Though blockmaxweight has been preferred for limiting the size of blocks returned by
-getblocktemplate since 0.13.0, blockmaxsize remained as an option for those who wished
-to limit their block size directly. Using this option resulted in a few UI issues as
-well as non-optimal fee selection and ever-so-slightly worse performance, and has thus
-now been deprecated. Further, the blockmaxsize option is now used only to calculate an
-implied blockmaxweight, instead of limiting block size directly. Any miners who wish
-to limit their blocks by size, instead of by weight, will have to do so manually by
-removing transactions from their block template directly.
-
-Low-level RPC changes
-----------------------
-- The "currentblocksize" value in getmininginfo has been removed.
Credits
=======
Thanks to everyone who directly contributed to this release:
-(fill this in)
+(todo)
As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
diff --git a/src/bitcoin-tx.cpp b/src/bitcoin-tx.cpp
index 0f2c19bd5d..25a1028536 100644
--- a/src/bitcoin-tx.cpp
+++ b/src/bitcoin-tx.cpp
@@ -389,6 +389,10 @@ static void MutateTxAddOutMultiSig(CMutableTransaction& tx, const std::string& s
scriptPubKey = GetScriptForWitness(scriptPubKey);
}
if (bScriptHash) {
+ if (scriptPubKey.size() > MAX_SCRIPT_ELEMENT_SIZE) {
+ throw std::runtime_error(strprintf(
+ "redeemScript exceeds size limit: %d > %d", scriptPubKey.size(), MAX_SCRIPT_ELEMENT_SIZE));
+ }
// Get the address for the redeem script, then call
// GetScriptForDestination() to construct a P2SH scriptPubKey.
CBitcoinAddress addr(scriptPubKey);
@@ -451,10 +455,19 @@ static void MutateTxAddOutScript(CMutableTransaction& tx, const std::string& str
bScriptHash = (flags.find("S") != std::string::npos);
}
+ if (scriptPubKey.size() > MAX_SCRIPT_SIZE) {
+ throw std::runtime_error(strprintf(
+ "script exceeds size limit: %d > %d", scriptPubKey.size(), MAX_SCRIPT_SIZE));
+ }
+
if (bSegWit) {
scriptPubKey = GetScriptForWitness(scriptPubKey);
}
if (bScriptHash) {
+ if (scriptPubKey.size() > MAX_SCRIPT_ELEMENT_SIZE) {
+ throw std::runtime_error(strprintf(
+ "redeemScript exceeds size limit: %d > %d", scriptPubKey.size(), MAX_SCRIPT_ELEMENT_SIZE));
+ }
CBitcoinAddress addr(scriptPubKey);
scriptPubKey = GetScriptForDestination(addr.Get());
}