From c09dfd06fc2d183b996503d29da502ab0b49cb26 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Sun, 21 Jun 2015 17:49:50 +0200 Subject: [PATCH 01/14] 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. --- src/init.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/init.cpp b/src/init.cpp index fa8e4317e..a49406ec1 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -1420,13 +1420,13 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler) #endif StartNode(threadGroup, scheduler); -#if 0 // Disable partition check for now, it triggers too often (issue #6251) + // Monitor the chain, and alert if we get blocks much quicker or slower than expected int64_t nPowTargetSpacing = Params().GetConsensus().nPowTargetSpacing; CScheduler::Function f = boost::bind(&PartitionCheck, &IsInitialBlockDownload, boost::ref(cs_main), boost::cref(pindexBestHeader), nPowTargetSpacing); scheduler.scheduleEvery(f, nPowTargetSpacing); -#endif + #ifdef ENABLE_WALLET // Generate coins in the background if (pwalletMain) From 7eb476e55c1bcf35a263571cc23fafaf59fa4448 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Mon, 22 Jun 2015 08:52:11 +0200 Subject: [PATCH 02/14] 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 --- contrib/debian/copyright | 3 +-- contrib/gitian-downloader/linux-download-config | 2 +- contrib/gitian-downloader/win32-download-config | 2 +- doc/dnsseed-policy.md | 3 ++- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/contrib/debian/copyright b/contrib/debian/copyright index 3741031f9..55ebcaab4 100644 --- a/contrib/debian/copyright +++ b/contrib/debian/copyright @@ -2,8 +2,7 @@ Format: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?rev=174 Upstream-Name: Bitcoin Upstream-Contact: Satoshi Nakamoto irc://#bitcoin@freenode.net -Source: http://sourceforge.net/projects/bitcoin/files/ - https://github.com/bitcoin/bitcoin +Source: https://github.com/bitcoin/bitcoin Files: * Copyright: 2009-2012, Bitcoin Core Developers diff --git a/contrib/gitian-downloader/linux-download-config b/contrib/gitian-downloader/linux-download-config index f5e6382b8..4c0377952 100644 --- a/contrib/gitian-downloader/linux-download-config +++ b/contrib/gitian-downloader/linux-download-config @@ -3,7 +3,7 @@ name: bitcoin urls: - http://bitcoin.org/bitcoin-latest-linux-gitian.zip rss: -- url: http://sourceforge.net/api/file/index/project-id/244765/mtime/desc/limit/100/rss +- url: xpath: //item/link/text() pattern: bitcoin-\d+.\d+.\d+-linux-gitian.zip signers: diff --git a/contrib/gitian-downloader/win32-download-config b/contrib/gitian-downloader/win32-download-config index 06c164180..083bce5de 100644 --- a/contrib/gitian-downloader/win32-download-config +++ b/contrib/gitian-downloader/win32-download-config @@ -3,7 +3,7 @@ name: bitcoin urls: - http://bitcoin.org/bitcoin-latest-win32-gitian.zip rss: -- url: http://sourceforge.net/api/file/index/project-id/244765/mtime/desc/limit/100/rss +- url: xpath: //item/link/text() pattern: bitcoin-\d+.\d+.\d+-win32-gitian.zip signers: diff --git a/doc/dnsseed-policy.md b/doc/dnsseed-policy.md index 506e17115..814ae3876 100644 --- a/doc/dnsseed-policy.md +++ b/doc/dnsseed-policy.md @@ -43,7 +43,8 @@ related to the DNS seed operation. If these expectations cannot be satisfied the operator should discontinue providing services and contact the active Bitcoin -Core development team as well as posting on bitcoin-development. +Core development team as well as posting on +[bitcoin-dev](https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev). Behavior outside of these expectations may be reasonable in some situations but should be discussed in public in advance. From 0c9d49d65c005649799598b078946a7cd70cea71 Mon Sep 17 00:00:00 2001 From: Cory Fields Date: Thu, 18 Jun 2015 18:17:36 -0400 Subject: [PATCH 03/14] 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 --- .../gitian-descriptors/gitian-win-signer.yml | 34 +++++++++++++++++++ doc/release-process.md | 32 ++++++++++------- 2 files changed, 54 insertions(+), 12 deletions(-) create mode 100644 contrib/gitian-descriptors/gitian-win-signer.yml diff --git a/contrib/gitian-descriptors/gitian-win-signer.yml b/contrib/gitian-descriptors/gitian-win-signer.yml new file mode 100644 index 000000000..0bf2ac9b2 --- /dev/null +++ b/contrib/gitian-descriptors/gitian-win-signer.yml @@ -0,0 +1,34 @@ +--- +name: "bitcoin-win-signer" +suites: +- "precise" +architectures: +- "amd64" +packages: +- "libssl-dev" +- "autoconf" +reference_datetime: "2015-06-01 00:00:00" +remotes: +- "url": "https://github.com/bitcoin/bitcoin-detached-sigs.git" + "dir": "signature" +files: +- "osslsigncode-1.7.1.tar.gz" +- "osslsigncode-Backports-to-1.7.1.patch" +- "bitcoin-win32-setup.exe" +- "bitcoin-win64-setup.exe" +script: | + BUILD_DIR=`pwd` + SIGDIR=${BUILD_DIR}/signature/win + + echo "f9a8cdb38b9c309326764ebc937cba1523a3a751a7ab05df3ecc99d18ae466c9 osslsigncode-1.7.1.tar.gz" | sha256sum -c + echo "a8c4e9cafba922f89de0df1f2152e7be286aba73f78505169bc351a7938dd911 osslsigncode-Backports-to-1.7.1.patch" | sha256sum -c + + tar xf osslsigncode-1.7.1.tar.gz + cd osslsigncode-1.7.1 + patch -p1 < ${BUILD_DIR}/osslsigncode-Backports-to-1.7.1.patch + + ./configure --without-gsf --without-curl --disable-dependency-tracking + make + + ./osslsigncode attach-signature -in ${BUILD_DIR}/bitcoin-win32-setup.exe -out ${OUTDIR}/bitcoin-win32-setup-signed.exe -sigin ${SIGDIR}/bitcoin-win32-setup.exe.pem + ./osslsigncode attach-signature -in ${BUILD_DIR}/bitcoin-win64-setup.exe -out ${OUTDIR}/bitcoin-win64-setup-signed.exe -sigin ${SIGDIR}/bitcoin-win64-setup.exe.pem diff --git a/doc/release-process.md b/doc/release-process.md index 45c44640c..07005bfbb 100644 --- a/doc/release-process.md +++ b/doc/release-process.md @@ -41,6 +41,8 @@ Release Process ###fetch and build inputs: (first time, or when dependency versions change) mkdir -p inputs + wget -P inputs https://bitcoincore.org/cfields/osslsigncode-Backports-to-1.7.1.patch + wget -P inputs http://downloads.sourceforge.net/project/osslsigncode/osslsigncode/osslsigncode-1.7.1.tar.gz Register and download the Apple SDK: (see OSX Readme for details) @@ -65,7 +67,9 @@ Release Process mv build/out/bitcoin-*.tar.gz build/out/src/bitcoin-*.tar.gz ../ ./bin/gbuild --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-win.yml ./bin/gsign --signer $SIGNER --release ${VERSION}-win --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-win.yml - mv build/out/bitcoin-*.zip build/out/bitcoin-*.exe ../ + mv build/out/bitcoin-*.zip ../ + mv build/out/bitcoin-*-win64-setup.exe inputs/bitcoin-win64-setup.exe + mv build/out/bitcoin-*-win32-setup.exe inputs/bitcoin-win32-setup.exe ./bin/gbuild --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-osx.yml ./bin/gsign --signer $SIGNER --release ${VERSION}-osx-unsigned --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-osx.yml mv build/out/bitcoin-*-unsigned.tar.gz inputs/bitcoin-osx-unsigned.tar.gz @@ -75,7 +79,7 @@ Release Process 1. source tarball (bitcoin-${VERSION}.tar.gz) 2. linux 32-bit and 64-bit binaries dist tarballs (bitcoin-${VERSION}-linux[32|64].tar.gz) - 3. windows 32-bit and 64-bit installers and dist zips (bitcoin-${VERSION}-win[32|64]-setup.exe, bitcoin-${VERSION}-win[32|64].zip) + 3. windows 32-bit and 64-bit unsigned installers and dist zips (bitcoin-${VERSION}-win[32|64]-setup.exe, bitcoin-${VERSION}-win[32|64].zip) 4. OSX unsigned installer (bitcoin-${VERSION}-osx-unsigned.dmg) 5. Gitian signatures (in gitian.sigs/${VERSION}-/(your gitian key)/ @@ -91,9 +95,9 @@ Commit your signature to gitian.sigs: git push # Assuming you can push to the gitian.sigs tree popd - Wait for OSX detached signature: - Once the OSX build has 3 matching signatures, it will be signed with the Apple App-Store key. - A detached signature will then be committed to the bitcoin-detached-sigs repository, which can be combined with the unsigned app to create a signed binary. + Wait for Windows/OSX detached signatures: + Once the Windows/OSX builds each have 3 matching signatures, they will be signed with their respective release keys. + Detached signatures will then be committed to the bitcoin-detached-sigs repository, which can be combined with the unsigned apps to create signed binaries. Create the signed OSX binary: @@ -103,10 +107,20 @@ Commit your signature to gitian.sigs: mv build/out/bitcoin-osx-signed.dmg ../bitcoin-${VERSION}-osx.dmg popd -Commit your signature for the signed OSX binary: + Create the signed Windows binaries: + + pushd ./gitian-builder + ./bin/gbuild -i --commit signature=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-win-signer.yml + ./bin/gsign --signer $SIGNER --release ${VERSION}-win-signed --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-win-signer.yml + mv build/out/bitcoin-win64-setup-signed.exe ../bitcoin-${VERSION}-win64-setup.exe + mv build/out/bitcoin-win32-setup-signed.exe ../bitcoin-${VERSION}-win32-setup.exe + popd + +Commit your signature for the signed OSX/Windows binaries: pushd gitian.sigs git add ${VERSION}-osx-signed/${SIGNER} + git add ${VERSION}-win-signed/${SIGNER} git commit -a git push # Assuming you can push to the gitian.sigs tree popd @@ -115,12 +129,6 @@ Commit your signature for the signed OSX binary: ### After 3 or more people have gitian-built and their results match: -- Perform code-signing. - - - Code-sign Windows -setup.exe (in a Windows virtual machine using signtool) - - Note: only Gavin has the code-signing keys currently. - - Create `SHA256SUMS.asc` for the builds, and GPG-sign it: ```bash sha256sum * > SHA256SUMS From e44aaef534d7e0553db23988f0bd732319251031 Mon Sep 17 00:00:00 2001 From: Andriy Voskoboinyk Date: Sun, 7 Jun 2015 04:38:31 +0300 Subject: [PATCH 04/14] Add an alternate location of endian.h header Github-Pull: #6246 Rebased-From: 0640a5eb60b06de61f873fd88ae0252f5a11c339 --- configure.ac | 4 +++- src/compat/endian.h | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 3c45abf8e..260b8b2d1 100644 --- a/configure.ac +++ b/configure.ac @@ -438,7 +438,7 @@ if test x$TARGET_OS = xdarwin; then AX_CHECK_LINK_FLAG([[-Wl,-dead_strip]], [LDFLAGS="$LDFLAGS -Wl,-dead_strip"]) fi -AC_CHECK_HEADERS([endian.h byteswap.h stdio.h stdlib.h unistd.h strings.h sys/types.h sys/stat.h sys/select.h sys/prctl.h]) +AC_CHECK_HEADERS([endian.h sys/endian.h byteswap.h stdio.h stdlib.h unistd.h strings.h sys/types.h sys/stat.h sys/select.h sys/prctl.h]) AC_SEARCH_LIBS([getaddrinfo_a], [anl], [AC_DEFINE(HAVE_GETADDRINFO_A, 1, [Define this symbol if you have getaddrinfo_a])]) AC_SEARCH_LIBS([inet_pton], [nsl resolv], [AC_DEFINE(HAVE_INET_PTON, 1, [Define this symbol if you have inet_pton])]) @@ -447,6 +447,8 @@ AC_CHECK_DECLS([strnlen]) AC_CHECK_DECLS([le16toh, le32toh, le64toh, htole16, htole32, htole64, be16toh, be32toh, be64toh, htobe16, htobe32, htobe64],,, [#if HAVE_ENDIAN_H #include + #elif HAVE_SYS_ENDIAN_H + #include #endif]) AC_CHECK_DECLS([bswap_16, bswap_32, bswap_64],,, diff --git a/src/compat/endian.h b/src/compat/endian.h index 4d041d655..9fec2a07f 100644 --- a/src/compat/endian.h +++ b/src/compat/endian.h @@ -15,6 +15,8 @@ #if defined(HAVE_ENDIAN_H) #include +#elif defined(HAVE_SYS_ENDIAN_H) +#include #endif #if defined(WORDS_BIGENDIAN) From a46370f7917fea7210d85c7a594642fb9d93a0ea Mon Sep 17 00:00:00 2001 From: Philip Kaufmann Date: Mon, 15 Jun 2015 07:46:51 +0200 Subject: [PATCH 05/14] 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 --- src/wallet/db.cpp | 12 ++++++------ src/wallet/db.h | 4 +++- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/wallet/db.cpp b/src/wallet/db.cpp index 53cfcf096..e5bc653c3 100644 --- a/src/wallet/db.cpp +++ b/src/wallet/db.cpp @@ -43,7 +43,7 @@ void CDBEnv::EnvShutdown() if (ret != 0) LogPrintf("CDBEnv::EnvShutdown: Error %d shutting down database environment: %s\n", ret, DbEnv::strerror(ret)); if (!fMockDb) - DbEnv(0).remove(path.string().c_str(), 0); + DbEnv(0).remove(strPath.c_str(), 0); } void CDBEnv::Reset() @@ -78,10 +78,10 @@ bool CDBEnv::Open(const boost::filesystem::path& pathIn) boost::this_thread::interruption_point(); - path = pathIn; - boost::filesystem::path pathLogDir = path / "database"; + strPath = pathIn.string(); + boost::filesystem::path pathLogDir = pathIn / "database"; TryCreateDirectory(pathLogDir); - boost::filesystem::path pathErrorFile = path / "db.log"; + boost::filesystem::path pathErrorFile = pathIn / "db.log"; LogPrintf("CDBEnv::Open: LogDir=%s ErrorFile=%s\n", pathLogDir.string(), pathErrorFile.string()); unsigned int nEnvFlags = 0; @@ -98,7 +98,7 @@ bool CDBEnv::Open(const boost::filesystem::path& pathIn) dbenv->set_flags(DB_AUTO_COMMIT, 1); dbenv->set_flags(DB_TXN_WRITE_NOSYNC, 1); dbenv->log_set_config(DB_LOG_AUTO_REMOVE, 1); - int ret = dbenv->open(path.string().c_str(), + int ret = dbenv->open(strPath.c_str(), DB_CREATE | DB_INIT_LOCK | DB_INIT_LOG | @@ -455,7 +455,7 @@ void CDBEnv::Flush(bool fShutdown) dbenv->log_archive(&listp, DB_ARCH_REMOVE); Close(); if (!fMockDb) - boost::filesystem::remove_all(path / "database"); + boost::filesystem::remove_all(boost::filesystem::path(strPath) / "database"); } } } diff --git a/src/wallet/db.h b/src/wallet/db.h index 2df6f6e5a..64071caa3 100644 --- a/src/wallet/db.h +++ b/src/wallet/db.h @@ -27,7 +27,9 @@ class CDBEnv private: bool fDbEnvInit; bool fMockDb; - boost::filesystem::path path; + // Don't change into boost::filesystem::path, as that can result in + // shutdown problems/crashes caused by a static initialized internal pointer. + std::string strPath; void EnvShutdown(); From c257476410bfa3f15ff8f3c2ff9433ff4557a2f2 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Tue, 23 Jun 2015 19:00:44 +0200 Subject: [PATCH 06/14] doc: mention bitcoin-submittx example in release notes --- doc/release-notes.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/release-notes.md b/doc/release-notes.md index d2f2079fb..d2680d5a1 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -151,6 +151,8 @@ transaction (re)broadcast: One such application is selective Tor usage, where the node runs on the normal internet but transactions are broadcasted over Tor. +For an example script see [bitcoin-submittx](https://github.com/laanwj/bitcoin-submittx). + Privacy: Stream isolation for Tor ---------------------------------- From fc1f115ee55e6a4972b88e168e78a6533512076d Mon Sep 17 00:00:00 2001 From: Suhas Daftuar Date: Thu, 4 Jun 2015 13:00:26 -0400 Subject: [PATCH 07/14] 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 --- src/main.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index ded32eb03..cd4670254 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -436,13 +436,14 @@ void FindNextBlocksToDownload(NodeId nodeid, unsigned int count, std::vectorIsValid(BLOCK_VALID_TREE)) { // We consider the chain that this peer is on invalid. return; } - if (pindex->nStatus & BLOCK_HAVE_DATA) { + if (pindex->nStatus & BLOCK_HAVE_DATA || chainActive.Contains(pindex)) { if (pindex->nChainTx) state->pindexLastCommonBlock = pindex; } else if (mapBlocksInFlight.count(pindex->GetBlockHash()) == 0) { From 2ca709a635d34081363afdca12ceab272b429094 Mon Sep 17 00:00:00 2001 From: Cory Fields Date: Mon, 29 Jun 2015 15:02:37 -0400 Subject: [PATCH 08/14] gitian: make the windows signing process match OSX Github-Pull: #6354 Rebased-From: a3ba9a553acefd567ccb304b8600d2149ffab9aa --- contrib/gitian-descriptors/gitian-win-signer.yml | 15 ++++++++++----- contrib/gitian-descriptors/gitian-win.yml | 7 +++++-- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/contrib/gitian-descriptors/gitian-win-signer.yml b/contrib/gitian-descriptors/gitian-win-signer.yml index 0bf2ac9b2..2a73050e0 100644 --- a/contrib/gitian-descriptors/gitian-win-signer.yml +++ b/contrib/gitian-descriptors/gitian-win-signer.yml @@ -14,21 +14,26 @@ remotes: files: - "osslsigncode-1.7.1.tar.gz" - "osslsigncode-Backports-to-1.7.1.patch" -- "bitcoin-win32-setup.exe" -- "bitcoin-win64-setup.exe" +- "bitcoin-win-unsigned.tar.gz" script: | BUILD_DIR=`pwd` SIGDIR=${BUILD_DIR}/signature/win + UNSIGNED_DIR=${BUILD_DIR}/unsigned echo "f9a8cdb38b9c309326764ebc937cba1523a3a751a7ab05df3ecc99d18ae466c9 osslsigncode-1.7.1.tar.gz" | sha256sum -c echo "a8c4e9cafba922f89de0df1f2152e7be286aba73f78505169bc351a7938dd911 osslsigncode-Backports-to-1.7.1.patch" | sha256sum -c + mkdir -p ${UNSIGNED_DIR} + tar -C ${UNSIGNED_DIR} -xf bitcoin-win-unsigned.tar.gz + tar xf osslsigncode-1.7.1.tar.gz cd osslsigncode-1.7.1 patch -p1 < ${BUILD_DIR}/osslsigncode-Backports-to-1.7.1.patch ./configure --without-gsf --without-curl --disable-dependency-tracking make - - ./osslsigncode attach-signature -in ${BUILD_DIR}/bitcoin-win32-setup.exe -out ${OUTDIR}/bitcoin-win32-setup-signed.exe -sigin ${SIGDIR}/bitcoin-win32-setup.exe.pem - ./osslsigncode attach-signature -in ${BUILD_DIR}/bitcoin-win64-setup.exe -out ${OUTDIR}/bitcoin-win64-setup-signed.exe -sigin ${SIGDIR}/bitcoin-win64-setup.exe.pem + find ${UNSIGNED_DIR} -name "*-unsigned.exe" | while read i; do + INFILE="`basename "${i}"`" + OUTFILE="`echo "${INFILE}" | sed s/-unsigned//`" + ./osslsigncode attach-signature -in "${i}" -out "${OUTDIR}/${OUTFILE}" -sigin "${SIGDIR}/${INFILE}.pem" + done diff --git a/contrib/gitian-descriptors/gitian-win.yml b/contrib/gitian-descriptors/gitian-win.yml index 08ec409d0..5f1552730 100644 --- a/contrib/gitian-descriptors/gitian-win.yml +++ b/contrib/gitian-descriptors/gitian-win.yml @@ -84,6 +84,8 @@ script: | pushd temp tar xf ../$SOURCEDIST find bitcoin-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST + mkdir -p $OUTDIR/src + cp ../$SOURCEDIST $OUTDIR/src popd ORIGPATH="$PATH" @@ -109,7 +111,8 @@ script: | find ${DISTNAME} -type f | sort | zip -X@ ${OUTDIR}/${DISTNAME}-${i}.zip cd ../.. done - mkdir -p $OUTDIR/src - mv $SOURCEDIST $OUTDIR/src + cd $OUTDIR + rename 's/-setup\.exe$/-setup-unsigned.exe/' *-setup.exe + find . -name "*-setup-unsigned.exe" | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-win-unsigned.tar.gz mv ${OUTDIR}/${DISTNAME}-x86_64-*.zip ${OUTDIR}/${DISTNAME}-win64.zip mv ${OUTDIR}/${DISTNAME}-i686-*.zip ${OUTDIR}/${DISTNAME}-win32.zip From 2ed2cd36bb4d9d86d7a28f22a69b5162c66f390e Mon Sep 17 00:00:00 2001 From: Micha Date: Fri, 26 Jun 2015 15:48:41 +0300 Subject: [PATCH 09/14] 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 --- doc/release-process.md | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/doc/release-process.md b/doc/release-process.md index 07005bfbb..5ecb9334f 100644 --- a/doc/release-process.md +++ b/doc/release-process.md @@ -25,7 +25,7 @@ Release Process ###update gitian - In order to take advantage of the new caching features in gitian, be sure to update to a recent version (e9741525c or higher is recommended) + In order to take advantage of the new caching features in gitian, be sure to update to a recent version (`e9741525c` or later is recommended) ###perform gitian builds @@ -66,22 +66,21 @@ Release Process ./bin/gsign --signer $SIGNER --release ${VERSION}-linux --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml mv build/out/bitcoin-*.tar.gz build/out/src/bitcoin-*.tar.gz ../ ./bin/gbuild --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-win.yml - ./bin/gsign --signer $SIGNER --release ${VERSION}-win --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-win.yml - mv build/out/bitcoin-*.zip ../ - mv build/out/bitcoin-*-win64-setup.exe inputs/bitcoin-win64-setup.exe - mv build/out/bitcoin-*-win32-setup.exe inputs/bitcoin-win32-setup.exe + ./bin/gsign --signer $SIGNER --release ${VERSION}-win-unsigned --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-win.yml + mv build/out/bitcoin-*-win-unsigned.tar.gz inputs/bitcoin-win-unsigned.tar.gz + mv build/out/bitcoin-*.zip build/out/bitcoin-*.exe ../ ./bin/gbuild --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-osx.yml ./bin/gsign --signer $SIGNER --release ${VERSION}-osx-unsigned --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-osx.yml - mv build/out/bitcoin-*-unsigned.tar.gz inputs/bitcoin-osx-unsigned.tar.gz + mv build/out/bitcoin-*-osx-unsigned.tar.gz inputs/bitcoin-osx-unsigned.tar.gz mv build/out/bitcoin-*.tar.gz build/out/bitcoin-*.dmg ../ popd Build output expected: 1. source tarball (bitcoin-${VERSION}.tar.gz) - 2. linux 32-bit and 64-bit binaries dist tarballs (bitcoin-${VERSION}-linux[32|64].tar.gz) - 3. windows 32-bit and 64-bit unsigned installers and dist zips (bitcoin-${VERSION}-win[32|64]-setup.exe, bitcoin-${VERSION}-win[32|64].zip) - 4. OSX unsigned installer (bitcoin-${VERSION}-osx-unsigned.dmg) - 5. Gitian signatures (in gitian.sigs/${VERSION}-/(your gitian key)/ + 2. linux 32-bit and 64-bit dist tarballs (bitcoin-${VERSION}-linux[32|64].tar.gz) + 3. windows 32-bit and 64-bit unsigned installers and dist zips (bitcoin-${VERSION}-win[32|64]-setup-unsigned.exe, bitcoin-${VERSION}-win[32|64].zip) + 4. OSX unsigned installer and dist tarball (bitcoin-${VERSION}-osx-unsigned.dmg, bitcoin-${VERSION}-osx64.tar.gz) + 5. Gitian signatures (in gitian.sigs/${VERSION}-/(your gitian key)/ ###Next steps: @@ -89,7 +88,7 @@ Commit your signature to gitian.sigs: pushd gitian.sigs git add ${VERSION}-linux/${SIGNER} - git add ${VERSION}-win/${SIGNER} + git add ${VERSION}-win-unsigned/${SIGNER} git add ${VERSION}-osx-unsigned/${SIGNER} git commit -a git push # Assuming you can push to the gitian.sigs tree @@ -112,8 +111,8 @@ Commit your signature to gitian.sigs: pushd ./gitian-builder ./bin/gbuild -i --commit signature=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-win-signer.yml ./bin/gsign --signer $SIGNER --release ${VERSION}-win-signed --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-win-signer.yml - mv build/out/bitcoin-win64-setup-signed.exe ../bitcoin-${VERSION}-win64-setup.exe - mv build/out/bitcoin-win32-setup-signed.exe ../bitcoin-${VERSION}-win32-setup.exe + mv build/out/bitcoin-*win64-setup.exe ../bitcoin-${VERSION}-win64-setup.exe + mv build/out/bitcoin-*win32-setup.exe ../bitcoin-${VERSION}-win32-setup.exe popd Commit your signature for the signed OSX/Windows binaries: From 3f9eedf1190e12efca5cc8a18cc3b032022c6b0a Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Wed, 1 Jul 2015 13:37:15 +0200 Subject: [PATCH 10/14] update release notes for 0.11.0rc3 --- doc/release-notes.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/doc/release-notes.md b/doc/release-notes.md index d2680d5a1..bbe8b879e 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -232,6 +232,7 @@ git merge commit are mentioned. - #5985 `37b4e42` Fix removing of orphan transactions - #6221 `6cb70ca` Prune: Support noncontiguous block files - #6256 `fce474c` Use best header chain timestamps to detect partitioning +- #6233 `a587606` Advance pindexLastCommonBlock for blocks in chainActive ### P2P protocol and network code - #5507 `844ace9` Prevent DOS attacks on in-flight data structures @@ -247,6 +248,7 @@ git merge commit are mentioned. - #5976 `9f7809f` Reduce download timeouts as blocks arrive - #6172 `b4bbad1` Ignore getheaders requests when not synced - #5875 `304892f` Be stricter in processing unrequested blocks +- #6333 `41bbc85` Hardcoded seeds update June 2015 ### Validation - #5143 `48e1765` Implement BIP62 rule 6 @@ -269,6 +271,10 @@ git merge commit are mentioned. - #6269 `95aca44` gitian: Use the new bitcoin-detached-sigs git repo for OSX signatures - #6285 `ef1d506` Fix scheduler build with some boost versions. - #6280 `25c2216` depends: fix Boost 1.55 build on GCC 5 +- #6303 `b711599` gitian: add a gitian-win-signer descriptor +- #6246 `8ea6d37` Fix build on FreeBSD +- #6282 `daf956b` fix crash on shutdown when e.g. changing -txindex and abort action +- #6354 `bdf0d94` Gitian windows signing normalization ### Wallet - #2340 `811c71d` Discourage fee sniping with nLockTime @@ -366,6 +372,7 @@ git merge commit are mentioned. - #6210 `dfdb6dd` build: disable optional use of gmp in internal secp256k1 build - #6264 `94cd705` Remove translation for -help-debug options - #6286 `3902c15` Remove berkeley-db4 workaround in MacOSX build docs +- #6319 `3f8fcc9` doc: update mailing list address Credits ======= From ef5fc79562bca7694a83a214e03c9c89d4ee8fd4 Mon Sep 17 00:00:00 2001 From: Luke Dashjr Date: Fri, 3 Jul 2015 06:38:37 +0000 Subject: [PATCH 11/14] assets-attribution: Update typicons to MIT license stephenhutchings commented 3 Jul 2015, 6:35 GMT: > Hi Luke, happy for these to be distributed under the terms of the MIT licence. > Let me know if you need anything further from me. --- doc/assets-attribution.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/assets-attribution.md b/doc/assets-attribution.md index ebba64a61..c6da1a458 100644 --- a/doc/assets-attribution.md +++ b/doc/assets-attribution.md @@ -6,7 +6,7 @@ The following is a list of assets used in the bitcoin source and their proper at ### Info * Icon Pack: Typicons (http://typicons.com) * Designer: Stephen Hutchings (and more) -* License: CC BY-SA +* License: MIT * Site: [https://github.com/stephenhutchings/typicons.font](https://github.com/stephenhutchings/typicons.font) ### Assets Used @@ -30,7 +30,7 @@ Jonas Schnelli ### Info * Designer: Jonas Schnelli * Bitcoin Icon: (based on the original bitcoin logo from Bitboy) -* Some icons are based on Stephan Hutchings Typicons (these are under CC BY-SA license) +* Some icons are based on Stephan Hutchings Typicons * License: MIT ### Assets Used From 06a5d499f19155d75b954f367893575a2fdf9c21 Mon Sep 17 00:00:00 2001 From: Alex Morcos Date: Mon, 6 Jul 2015 12:01:19 -0500 Subject: [PATCH 12/14] release notes for fee estimation changes --- doc/release-notes.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/doc/release-notes.md b/doc/release-notes.md index bbe8b879e..5d369fe49 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -131,6 +131,17 @@ of a node, among which: - Reduce the number of threads (#5964, #5679); lowers the amount of (esp. virtual) memory needed +Fee estimation changes +---------------------- + +This release improves the algorithm used for fee estimation. Previously, -1 +was returned when there was insufficient data to give an estimate. Now, -1 +will also be returned when there is no fee or priority high enough for the +desired confirmation target. In those cases, it can help to ask for an estimate +for a higher target number of blocks. It is not uncommon for there to be no +fee or priority high enough to be reliably (85%) included in the next block and +for this reason, the default for `-txconfirmtarget=n` has changed from 1 to 2. + Privacy: Disable wallet transaction broadcast ---------------------------------------------- From b4c061f3e23507c200d5765f542e65757abed521 Mon Sep 17 00:00:00 2001 From: spin Date: Wed, 8 Jul 2015 09:43:17 +0200 Subject: [PATCH 13/14] Fix typo in release notes. --- doc/release-notes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/release-notes.md b/doc/release-notes.md index 5d369fe49..7c707b08e 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -125,7 +125,7 @@ There have been many changes in this release to reduce the default memory usage of a node, among which: - Accurate UTXO cache size accounting (#6102); this makes the option `-dbcache` - precise, where is did a gross underestimation of memory usage before + precise where this grossly underestimated memory usage before - Reduce size of per-peer data structure (#6064 and others); this increases the number of connections that can be supported with the same amount of memory - Reduce the number of threads (#5964, #5679); lowers the amount of (esp. From fd90719d88d5e318aeb8f70b1d3a79021aaf636c Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Fri, 10 Jul 2015 19:11:19 +0200 Subject: [PATCH 14/14] doc: add important information about tx flood to release notes --- doc/release-notes.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/doc/release-notes.md b/doc/release-notes.md index 7c707b08e..28e49fb7e 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -44,6 +44,36 @@ supported and may break as soon as the older version attempts to reindex. This does not affect wallet forward or backward compatibility. There are no known problems when downgrading from 0.11.x to 0.10.x. +Important information +====================== + +Transaction flooding +--------------------- + +At the time of this release, the P2P network is being flooded with low-fee +transactions. This causes a ballooning of the mempool size. + +If this growth of the mempool causes problematic memory use on your node, it is +possible to change a few configuration options to work around this. The growth +of the mempool can be monitored with the RPC command `getmempoolinfo`. + +One is to increase the minimum transaction relay fee `minrelaytxfee`, which +defaults to 0.00001. This will cause transactions with fewer BTC/kB fee to be +rejected, and thus fewer transactions entering the mempool. + +The other is to restrict the relaying of free transactions with +`limitfreerelay`. This option sets the number of kB/minute at which +free transactions (with enough priority) will be accepted. It defaults to 15. +Reducing this number reduces the speed at which the mempool can grow due +to free transactions. + +For example, add the following to `bitcoin.conf`: + + minrelaytxfee=0.00005 + limitfreerelay=5 + +More robust solutions are being worked on for a follow-up release. + Notable changes ===============