9ec75c5 Add a locking mechanism to IsInitialBlockDownload to ensure it never goes from false to true. (Ruben Dario Ponticelli) a2d0fc6 Fix IsInitialBlockDownload which was broken by headers first. (Ruben Dario Ponticelli)
5dc713b [REST] set REST API behind "-rest" option (Jonas Schnelli) 78bdc81 [REST] give an appropriate response in warmup phase (Jonas Schnelli) 210eba9 [REST] fix headersonly flag for BINARY responses (Jonas Schnelli)
Cory Fields [Tue, 25 Nov 2014 23:37:34 +0000 (18:37 -0500)]
release: update docs to reflect new layout
- Split linux32/linux64 releases
- Split win32/win64 zips
- Post-processing should no longer be required. The deterministic outputs are
ready for consumption.
Philip Kaufmann [Thu, 20 Nov 2014 12:06:10 +0000 (13:06 +0100)]
[Qt] small changes to sendcoinsdialog
- add newly added variables to the constructor init
- move an already existing bool also to constructor init
- move a connect call to setClientModel and add a NULL pointer check
Cory Fields [Tue, 25 Nov 2014 02:45:42 +0000 (21:45 -0500)]
qt: osx: fix hidden symbol visibility
Fixes default hidden symbol visibility for our linux->osx cross build. Without
this change, the check for working -fvisibility=hidden fails, and all symbols
are visible by default.
Ugly as this is, it's just a simple find/replace to fix a bug in Qt's configure.
They assume in an "XPLATFORM_MAC" block that the builder is capable of running
osx programs. This should be "BUILD_ON_MAC" instead.
Pieter Wuille [Fri, 7 Nov 2014 10:38:35 +0000 (02:38 -0800)]
Improve chainstate/blockindex disk writing policy
There are 3 pieces of data that are maintained on disk. The actual block
and undo data, the block index (which can refer to positions on disk),
and the chainstate (which refers to the best block hash).
Earlier, there was no guarantee that blocks were written to disk before
block index entries referring to them were written. This commit introduces
dirty flags for block index data, and delays writing entries until the actual
block data is flushed.
With this stricter ordering in writes, it is now safe to not always flush
after every block, so there is no need for the IsInitialBlockDownload()
check there - instead we just write whenever enough time has passed or
the cache size grows too large. Also updating the wallet's best known block
is delayed until this is done, otherwise the wallet may end up referring to an
unknown block.
In addition, only do a write inside the block processing loop if necessary
(because of cache size exceeded). Otherwise, move the writing to a point
after processing is done, after relaying.
4574248 [Qt] minor ordering cleanup after new fee selection (Philip Kaufmann) a01fa30 minor style cleanup after HTTP rest interface merge (Philip Kaufmann)
Gregory Maxwell [Sun, 23 Nov 2014 23:12:50 +0000 (15:12 -0800)]
Make -proxy set all network types, avoiding a connect leak.
Previously -proxy was not setting the proxy for IsLimited networks, so
if you set your configuration to be onlynet=tor you wouldn't get an
IPv4 proxy set.
The payment protocol gets its proxy configuration from the IPv4 proxy,
and so it would experience a connection leak.
This addresses issue #5355 and also clears up a cosmetic bug where
getinfo proxy output shows nothing when onlynet=tor is set.
dexX7 [Sun, 23 Nov 2014 12:10:31 +0000 (13:10 +0100)]
Prioritize and display -testsafemode status in UI
Like in a real world situation, a safe mode test should also be visible in the
UI. A test of safe mode is furthermore mostly relevant for developers, so it
should not be overwritten by a warning about a pre-release test build.
Pieter Wuille [Thu, 6 Nov 2014 09:17:48 +0000 (01:17 -0800)]
Add sanity check after key generation
Add a sanity check to prevent cosmic rays from flipping a bit in the
generated public key, or bugs in the elliptic curve code. This is
simply done by signing a (randomized) message, and verifying the
result.
246659a gitian: make tarballs deterministic and nuke .la files from build output (Cory Fields) c54d647 travis: let travis use shared libs for tests (Cory Fields) 4bbbdf3 gitian: quick docs update (Cory Fields) 1aead42 gitian: descriptors overhaul (Cory Fields) 5f93ec2 depends: Add a package for qt4.6. Linux uses it by default. (Cory Fields) 4302fa6 depends: Use pic for all linux dependencies (Cory Fields)
Michael Ford [Fri, 31 Oct 2014 00:43:19 +0000 (08:43 +0800)]
Convert remaining comments in /src to doxygen format
- Update comments in checkpoints to be doxygen compatible
- Update comments in checkqueue to be doxygen compatible
- Update coins to be doxygen compatible
- Fix comment typo in crypter.h
- Update licenses/copyright dates
ca81587 Test the exact order of CHECKMULTISIG sig/pubkey evaluation (Peter Todd) 98b135f Make STRICTENC invalid pubkeys fail the script rather than the opcode. (Pieter Wuille)
Cory Fields [Thu, 20 Nov 2014 18:40:01 +0000 (13:40 -0500)]
build: fix link error on some platforms. Fixes #5235
Some users may have libtool libs (.la) installed in their linker search paths.
In this case, using -static-libtool-libs would try to link in .a's instead of
shared libs. That would be harmless unless the .a was built in a way that
would break linking, like non-fpic.
What we really want is "-static" here. Despite its name, it's actually less
aggressive than -static-libtool-libs. It causes only internal libs to be linked
statically (libbitcoinconsensus is the one were'a after).
Pieter Wuille [Sat, 8 Nov 2014 17:32:29 +0000 (09:32 -0800)]
Make STRICTENC invalid pubkeys fail the script rather than the opcode.
This turns STRICTENC turn into a softforking-safe change (even though it
is not intended as a consensus rule), and as a result guarantee that using
it for mempool validation only results in consensus-valid transactions in
the mempool.
Daniel Kraft [Thu, 20 Nov 2014 07:28:19 +0000 (08:28 +0100)]
Check block header before accepting it.
Previously, AcceptBlockHeader did not check the header (in particular
PoW). This made the client accept invalid-PoW-headers from peers in
headers-first sync.
Cory Fields [Tue, 12 Aug 2014 23:13:04 +0000 (19:13 -0400)]
gitian: descriptors overhaul
Descriptors now make use of the dependencies builder, so results are cached.
A very new version (>= e9741525c) of Gitian should be used in order to take
advantage of caching.
Cory Fields [Fri, 29 Aug 2014 03:21:18 +0000 (23:21 -0400)]
depends: Add a package for qt4.6. Linux uses it by default.
We're not ready to switch to a static qt5 for Linux yet due to missing plugin
support. This adds a recipe for building a shared qt4 that we build and link
against, but don't distribute.
make USE_LINUX_STATIC_QT5=1 can be used to build static qt5 as before.