Skip to content

0.8.6#3463

Closed
DontKnowPS wants to merge 71 commits into
masterfrom
0.8.6
Closed

0.8.6#3463
DontKnowPS wants to merge 71 commits into
masterfrom
0.8.6

Conversation

@DontKnowPS
Copy link
Copy Markdown

No description provided.

petertodd and others added 30 commits June 25, 2013 09:59
Fixes a memory exhaustion attack on low-memory peers.
Fixes issue#2838; this is a tweaked version of pull#2845 that
should not leak the length of the password and is more generic,
in case we run into other situations where we need
timing-attack-resistant comparisons.
Orphan transactions were stored as a CDataStream pointer;
this changes the mapOrphanTransactions data structures to
store orphans as a CTransaction.

This also fixes CVE-2013-4627 by always re-serializing
transactions before relaying them.
git-subtree-dir: src/leveldb
git-subtree-split: a02ddf9
be1b0ff On Mac OS X fsync does not guarantee write to disk. Use fcntl F_FULLFSYNC instead.

git-subtree-dir: src/leveldb
git-subtree-split: be1b0ff
This reduces a peer's ability to attack network resources by
 using a full bloom filter, but without reducing the usability
 of bloom filters.  It sets a default match everything filter
 for peers and it generalizes a prior optimization to
 cover more cases.
Without this include, sometimes BOOST_VERSION was defined and sometimes
it was not, depending on which includes came before it. The result was a
random mix of sleep or sleep_for for boost versions >= 1.50.
This resulted in just passing all transactions to filtered wallets
which worked surprisingly well, except where it didn't.
This also makes negative transaction versions non-standard.

This avoids an issue triggered in block 256818 where transactions with
negative version numbers were incorrectly serialized into the UTXO set.

On restart nodes detect the inconsistency and refuse to start so long as
a block with these transactions is inside the self-consistency check
window, logging "coin database inconsistencies found". The software
recommends reindexing, but reindexing does not correct the problem.

This should be fixed by changing the chainstate serialization, but
working around it seems harmless for now because the version is not
used by any network rule currently.

A patch free workaround is to start with -checklevel=2 which skips
the consistency checks, but the IsStandard change is important for
miners in order to protect unpatched nodes.
After discussing with BlueMatt, this appears to be harmless in its
current state since it's always set before it's used. Initialize it
anyway for readability and future safety.

Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
Rebased-From: 106f133
- could be helpful when debugging shutdown related problems

Rebased-by:   Warren Togami <wtogami@gmail.com>
Rebased-from: ced3c24
Conflicts:
	src/main.cpp

Rebased-from: cb3076a
Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
Rebased-From: 959e62f
As we'd previously learned, OSX's fsync is a data eating lie.

Since 0.8.4 we're still getting some reports of disk corruption on
 OSX but now all of it looks like the block files have gotten out of
 sync with the database. It turns out that we were still using fsync()
 on the block files, so this isn't surprising.
luke-jr and others added 24 commits December 5, 2013 09:15
- fixes src\net.cpp:1601: Error:invalid conversion from 'void*' to
  'const char*' [-fpermissive] in a setsockopt() call on Win32 that was
  found by using MinGW 4.8.1 compiler suite
This avoids spurious errors with the old tests but still tests
 enough that if the rng is replaced with a totally broken one
 it should still fail.
Conflicts:
	src/core.h
release-process.md

Conflicts:
	doc/release-process.md
WalletView:
- add new signal showNormalIfMinimized()
- emit the new signal in handleURI() to fix a bug, preventing the main
  window to show up when using bitcoin: URIs

Upstream: dbc0a6a
Use deleteLater() instead of delete, as it is not allowed
to delete widgets directly in an event handler.
Should solve the MacOSX random crashes on send with coincontrol.

Rebased-From: 6c98cca
Versions of bitcoin before 0.8.6 have a bug that inserted
empty transactions into the vtxPrev in the wallet, which will cause the node to be
banned when retransmitted, hence add a check for !tx.vin.empty()
before RelayTransaction.
CWalletTx::AddSupportingTransactions() was adding empty transaction
to vtxPrev in some cases. Skip over these.

Part one of the solution to #3190. This prevents invalid vtxPrev from
entering the wallet, but not current ones being transmitted.
fail on short writes

Ensure new files referred to by the manifest are in the filesystem.
mmap is proven on the other platforms, we are not changing it at
the last moment before release.
@BitcoinPullTester
Copy link
Copy Markdown

Automatic sanity-testing: FAILED MERGE, see http://jenkins.bluematt.me/pull-tester/03a7d673876dc8fbae876290b455c02b0cac80bd for test log.

This pull does not merge cleanly onto current master
This test script verifies pulls every time they are updated. It, however, dies sometimes and fails to test properly. If you are waiting on a test, please check timestamps to verify that the test.log is moving at http://jenkins.bluematt.me/pull-tester/current/
Contact BlueMatt on freenode if something looks broken.

@laanwj laanwj closed this Dec 26, 2013
@laanwj
Copy link
Copy Markdown
Member

laanwj commented Dec 26, 2013

No clue what you are trying to do @DontKnowPS

Don't drink and git 🍺

@sipa
Copy link
Copy Markdown
Member

sipa commented Dec 27, 2013

Every so often we get this type of weird merges... sometimes from a side branch, sometimes from an altcoin. I wonder if there's some odd or misunderstood guide these people are following...?

@laanwj laanwj deleted the 0.8.6 branch January 10, 2015 08:17
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Sep 8, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.