diff --git a/.cirrus.yml b/.cirrus.yml index 1b34aeb291..5f8d969c6f 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -9,6 +9,7 @@ task: MAKEJOBS: "-j9" CONFIGURE_OPTS: "--disable-dependency-tracking" GOAL: "install" + TEST_RUNNER_PORT_MIN: "14000" # Must be larger than 12321, which is used for the http cache. See https://cirrus-ci.org/guide/writing-tasks/#http-cache CCACHE_SIZE: "200M" CCACHE_COMPRESS: 1 CCACHE_DIR: "/tmp/ccache_dir" diff --git a/doc/zmq.md b/doc/zmq.md index ee8fd82430..bc6ec22a90 100644 --- a/doc/zmq.md +++ b/doc/zmq.md @@ -154,7 +154,9 @@ using other means such as firewalling. Note that when the block chain tip changes, a reorganisation may occur and just the tip will be notified. It is up to the subscriber to -retrieve the chain from the last known block to the new tip. +retrieve the chain from the last known block to the new tip. Also note +that no notification occurs if the tip was in the active chain - this +is the case after calling invalidateblock RPC. There are several possibilities that ZMQ notification can get lost during transmission depending on the communication type you are diff --git a/src/consensus/tx_check.cpp b/src/consensus/tx_check.cpp index 5fc58c0cb6..76f24ac9d0 100644 --- a/src/consensus/tx_check.cpp +++ b/src/consensus/tx_check.cpp @@ -28,7 +28,7 @@ bool CheckTransaction(const CTransaction& tx, CValidationState& state) if (tx.vExtraPayload.size() > MAX_TX_EXTRA_PAYLOAD) return state.DoS(100, false, REJECT_INVALID, "bad-txns-payload-oversize"); - // Check for negative or overflow output values + // Check for negative or overflow output values (see CVE-2010-5139) CAmount nValueOut = 0; for (const auto& txout : tx.vout) { if (txout.nValue < 0) diff --git a/src/net_processing.cpp b/src/net_processing.cpp index fe89b16c23..a3998240f4 100644 --- a/src/net_processing.cpp +++ b/src/net_processing.cpp @@ -3220,7 +3220,7 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr } AddOrphanTx(ptx, pfrom->GetId()); - // DoS prevention: do not allow mapOrphanTransactions to grow unbounded + // DoS prevention: do not allow mapOrphanTransactions to grow unbounded (see CVE-2012-3789) unsigned int nMaxOrphanTxSize = (unsigned int)std::max((int64_t)0, gArgs.GetArg("-maxorphantxsize", DEFAULT_MAX_ORPHAN_TRANSACTIONS_SIZE)) * 1000000; unsigned int nEvicted = LimitOrphanTxSize(nMaxOrphanTxSize); if (nEvicted > 0) { diff --git a/src/qt/test/apptests.cpp b/src/qt/test/apptests.cpp index a14cc41ac3..938dc983fe 100644 --- a/src/qt/test/apptests.cpp +++ b/src/qt/test/apptests.cpp @@ -12,6 +12,8 @@ #include #include #include +#include +#include #include #if defined(HAVE_CONFIG_H) @@ -31,8 +33,6 @@ #include #include #include -#include -#include namespace { //! Call getblockchaininfo RPC and check first field of JSON output. @@ -67,6 +67,7 @@ void AppTests::appTests() } #endif + BasicTestingSetup test{CBaseChainParams::REGTEST}; // Create a temp data directory to backup the gui settings to ECC_Stop(); // Already started by the common test setup, so stop it to avoid interference LogInstance().DisconnectTestLogger(); diff --git a/src/qt/test/paymentservertests.cpp b/src/qt/test/paymentservertests.cpp index a195ad5aa3..67721bb76f 100644 --- a/src/qt/test/paymentservertests.cpp +++ b/src/qt/test/paymentservertests.cpp @@ -13,7 +13,7 @@ #include #include