Commit Graph

7768 Commits

Author SHA1 Message Date
Wladimir J. van der Laan 9cea169813
net: Disable P2P alert system 2017-03-09 20:48:56 +01:00
Luke Dashjr 4e1134bdf1
Bugfix: gitian: Add curl to packages (now needed for depends)
Conflicts:
	contrib/gitian-descriptors/gitian-osx.yml
Github-Pull: #7614
Rebased-From: 5c70a6d6d1
2016-03-01 15:10:02 +01:00
Wladimir J. van der Laan 12a0c0b3aa
Merge #7607: [0.10] Fix .travis.yml
6164639 [depends] builders: No need to set -L and --location for curl (MarcoFalke)
6bf4884 Workaround Travis-side CI issues (Luke Dashjr)
dc9ae4c Fix url in .travis.yml (MarcoFalke)
2016-02-29 09:23:57 +01:00
MarcoFalke 61646394b7 [depends] builders: No need to set -L and --location for curl
Github-Pull: #7606
Rebased-From: fa7a5c54fc
2016-02-26 10:18:23 +01:00
Luke Dashjr 6bf4884d7b Workaround Travis-side CI issues
Github-Pull: #7487
Rebased-From: 149641e8fc c01f08db12 5d1148cb79 1ecbb3b0f7
2016-02-26 10:12:28 +01:00
MarcoFalke dc9ae4c26e Fix url in .travis.yml
Github-Pull: #7136
Rebased-From: 9999cb0626
2016-02-26 09:57:17 +01:00
MarcoFalke b0c97ce31a [walletdb] Fix syntax error in key parser
Github-Pull: #7381
Rebased-From: fa6d4cc095
2016-01-20 13:10:00 +01:00
Wladimir J. van der Laan c2e7baf2bd
Bump version to 0.10.4, add release notes 2015-11-09 15:08:30 +01:00
Wladimir J. van der Laan 3b89bf6438
Merge pull request #6953
8b3311f *: alias -h for --help (Daniel Cousens)
97546fc Change URLs to https in debian/control (Matt Corallo)
38671bf Update debian/changelog and slight tweak to debian/control (Matt Corallo)
256321e Correct spelling mistakes in doc folder (Mitchell Cash)
eae0350 Clarification of unit test build instructions. (Eric Lombrozo)
90897ab Update bluematt-key, the old one is long-since revoked (Matt Corallo)
a2f2fb6 build: disable -Wself-assign (Wladimir J. van der Laan)
cf67d8b Bugfix: Allow mining on top of old tip blocks for testnet (fixes testnet-in-a-box use case) (Luke Dashjr)
b3964e3 Drop "with minimal dependencies" from description (Zak Wilcox)
43c2789 Split bitcoin-tx into its own package (Zak Wilcox)
dfe0d4d Include bitcoin-tx binary on Debian/Ubuntu (Zak Wilcox)
612efe8 [Qt] Raise debug window when requested (MarcoFalke)
3ad96bd Fix locking in GetTransaction. (Alex Morcos)
9c81005 Fix spelling of Qt (Diego Viola)
2015-11-09 14:19:39 +01:00
Daniel Cousens 8b3311fb8d *: alias -h for --help 2015-11-06 19:58:27 +00:00
Matt Corallo 97546fc44c Change URLs to https in debian/control 2015-11-06 19:58:27 +00:00
Matt Corallo 38671bff4e Update debian/changelog and slight tweak to debian/control 2015-11-06 19:58:27 +00:00
Mitchell Cash 256321ebd2 Correct spelling mistakes in doc folder
- OSX —> OS X
- XCode —> Xcode
- github —> GitHub
- homebrew —> Homebrew
- gitian —> Gitian
- Other miscellaneous obvious spelling fixes and whitespace removal
2015-11-06 19:58:26 +00:00
Eric Lombrozo eae0350b9c Clarification of unit test build instructions. 2015-11-06 19:58:26 +00:00
Matt Corallo 90897ab343 Update bluematt-key, the old one is long-since revoked 2015-11-06 19:58:26 +00:00
Wladimir J. van der Laan a2f2fb6acf build: disable -Wself-assign
Prevent these warnings in clang 3.6:

    ./serialize.h:96:9: warning: explicitly assigning value of variable of type 'uint64_t' (aka 'unsigned long') to itself [-Wself-assign]
        obj = (obj);
        ~~~ ^  ~~~
2015-11-06 19:58:26 +00:00
Luke Dashjr cf67d8b49b Bugfix: Allow mining on top of old tip blocks for testnet (fixes testnet-in-a-box use case) 2015-11-06 19:58:25 +00:00
Zak Wilcox b3964e3b7a Drop "with minimal dependencies" from description
Five boost libs plus libcrypto are needed; I don't think that quite passes for minimal.
2015-11-05 19:57:16 +00:00
Zak Wilcox 43c2789fe3 Split bitcoin-tx into its own package
Reverts the change putting it in the bitcoind deb.
2015-11-05 19:57:12 +00:00
Zak Wilcox dfe0d4da7e Include bitcoin-tx binary on Debian/Ubuntu
Currently left out of Matt's PPA.  Debian's package for unstable already has it.
2015-11-05 19:56:56 +00:00
MarcoFalke 612efe89e3 [Qt] Raise debug window when requested
* Raise the debug window when hidden behind other windows
* Switch to the debug window when on another virtual desktop
* Show the debug window when minimized

This change is a conceptual copy of 5ffaaba and 382e9e2
2015-11-05 19:56:47 +00:00
Alex Morcos 3ad96bdf73 Fix locking in GetTransaction.
GetTransaction needs to lock cs_main until ReadBlockFromDisk completes, the data inside CBlockIndex's can change since pruning.  This lock was held by all calls to GetTransaction except rest_tx.
2015-11-05 19:56:39 +00:00
Diego Viola 9c810058d8 Fix spelling of Qt 2015-11-05 19:52:11 +00:00
Wladimir J. van der Laan cbc4e3bd37
Merge pull request #6946
5216f3c Squashed 'src/leveldb/' changes from 7d41e6f..20ca81f (Pieter Wuille)
2015-11-05 10:53:06 +01:00
Pieter Wuille 94b67e58d1 Update LevelDB 2015-11-04 23:50:36 +01:00
Pieter Wuille 5216f3c5d4 Squashed 'src/leveldb/' changes from 7d41e6f..20ca81f
20ca81f Merge pull request #9
7aa105e leveldb: Win32WritableFile without memory mapping

git-subtree-dir: src/leveldb
git-subtree-split: 20ca81f08fb7fa108923a091668e447dcf5c6b9d
2015-11-04 23:50:36 +01:00
Wladimir J. van der Laan 72a0adfb3c
qt: Final translations update on 0.10 branch
Translations for 0.12 have been opened, translations for 0.10 have been
closed.
2015-11-01 16:28:02 +01:00
Wladimir J. van der Laan 4b80b09f73
Merge pull request #6706
5dc72f8 CLTV: Add more tests to improve coverage (Esteban Ordano)
6a1343b Add RPC tests for the CHECKLOCKTIMEVERIFY (BIP65) soft-fork (Peter Todd)
4137248 Add CHECKLOCKTIMEVERIFY (BIP65) soft-fork logic (Peter Todd)
0e01d0f Enable CHECKLOCKTIMEVERIFY as a standard script verify flag (Peter Todd)
6d01325 Replace NOP2 with CHECKLOCKTIMEVERIFY (BIP65) (Peter Todd)
750d54f Move LOCKTIME_THRESHOLD to src/script/script.h (Peter Todd)
6897468 Make CScriptNum() take nMaxNumSize as an argument (Peter Todd)
2015-10-23 13:34:10 +02:00
Gregory Maxwell 5297194bbd
Set TCP_NODELAY on P2P sockets.
Nagle appears to be a significant contributor to latency now that the static
 sleeps are gone.  Most of our messages are relatively large compared to
 IP + TCP so I do not expect this to create enormous overhead.

This may also reduce traffic burstyness somewhat.

Conflicts:
	src/net.cpp

Rebased-From: a4e28b3d1e
Github-Pull: #6867
2015-10-23 10:05:06 +02:00
Wladimir J. van der Laan 7e9a9874f3
Merge pull request #6836
fb818b6 Bring historical release notes up to date (Micha)
2015-10-19 15:27:22 +02:00
Wladimir J. van der Laan 0b3fd07fd2
build: make sure OpenSSL heeds noexecstack
This passes `-Wa,--noexecstack` to the assembler when building
platform-specific assembly files, to signal that a non-executable stack
can be used. This is the same approach as used by Debian
(see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=430583)

Rebased-From: bfcdc21a5d
Github-Pull: #6852
2015-10-19 15:05:26 +02:00
Micha fb818b6be4
Bring historical release notes up to date
[skip ci]
2015-10-15 21:26:48 +03:00
Wladimir J. van der Laan 8d598c26e3
doc: Update release notes for 0.10.3rc2 2015-10-11 10:49:25 +02:00
Wladimir J. van der Laan 842c48dba3
Bump minrelaytxfee default
To bridge the time until a dynamic method for determining this fee is
merged.

This is especially aimed at the stable releases (0.10, 0.11) because
full mempool limiting, as will be in 0.12, is too invasive and risky to
backport.

Github-Pull: #6793
Rebased-From: 28e3249e53 4e2efb3c5f
2015-10-11 10:37:15 +02:00
Pavel Janík 91ef4d93d4
Do not store more than 200 timedata samples.
Github-Pull: #6797
Rebased-From: 8be371db34
2015-10-10 11:49:47 +02:00
Wladimir J. van der Laan f2778e0ce6
net: Disable upnp by default
Common sentiment is that the miniupnpc codebase likely contains further
vulnerabilities.

I'd prefer to get rid of the dependency completely, but a compromise for
now is to at least disable it by default.

Rebased-From: 21d27ebad5
Github-Pull: #6795
2015-10-10 11:41:18 +02:00
Wladimir J. van der Laan cf5bf5542a
Bump version to 0.10.3 2015-10-09 18:13:18 +02:00
Wladimir J. van der Laan 44d6bc8528
qt: Translations update before 0.10.3 2015-10-09 15:29:02 +02:00
Wladimir J. van der Laan 1bf6ac62ab
doc: Update release notes for 0.10.3 2015-10-09 15:27:16 +02:00
Wladimir J. van der Laan 093d7b5895
Update miniupnpc to 1.9.20151008
This version of miniupnpc fixes a buffer overflow in the XML (ugh)
parser during initial network discovery.

http://talosintel.com/reports/TALOS-2015-0035/

The commit fixing the vulnerability is:
79cca974a4

Reported by timothy on IRC.

Github-Pull: #6789
Rebased-From: 0cca0248f0
2015-10-09 14:54:20 +02:00
Esteban Ordano 5dc72f8bb0
CLTV: Add more tests to improve coverage
Four cases included:

* The CLTV operand type mismatches the tx locktime. In the script it is
  1 (interpreted as block height), but in the tx is 500000000
  (interpreted as date)
* The stack is empty when executing OP_CLTV
* The tx is final by having only one input with MAX_INT sequence number
* The operand for CLTV is negative (after OP_0 OP_1 OP_SUB)

Rebased-From: cb54d17355
2015-10-08 17:51:05 +02:00
Peter Todd 6a1343b470 Add RPC tests for the CHECKLOCKTIMEVERIFY (BIP65) soft-fork
bip65-cltv.py is based on the earlier BIP66 soft-fork RPC test
implemented by Pieter Wuille's 819bcf9b99

bip65-cltv-p2p.py is based on the earlier BIP66 P2P test by Suhas
Daftuar's d76412b068

Rebased-From: 308257856099e82e91881ba97f741d840184727c
2015-10-08 17:51:01 +02:00
Peter Todd 41372485ce Add CHECKLOCKTIMEVERIFY (BIP65) soft-fork logic
Based on the earlier BIP66 soft-fork logic implemented by Pieter
Wuille's 5a47811da5

Rebased-From: 287f54fc90
2015-10-08 17:51:01 +02:00
Peter Todd 0e01d0f89d Enable CHECKLOCKTIMEVERIFY as a standard script verify flag
Transactions that fail CLTV verification will be rejected from the
mempool, making it easy to test the feature. However blocks containing
"invalid" CLTV-using transactions will still be accepted; this is *not*
the soft-fork required to actually enable CLTV for production use.

Rebased-From: ffd75adce0
2015-10-08 17:50:56 +02:00
Peter Todd 6d0132520c Replace NOP2 with CHECKLOCKTIMEVERIFY (BIP65)
<nLockTime> CHECKLOCKTIMEVERIFY -> <nLockTime>

Fails if tx.nLockTime < nLockTime, allowing the funds in a txout to be
locked until some block height or block time in the future is reached.

Only the logic and unittests are implemented; this commit does not have
any actual soft-fork logic in it.

Thanks to Pieter Wuille for rebase.

Credit goes to Gregory Maxwell for the suggestion of comparing the
argument against the transaction nLockTime rather than the current
time/blockheight directly.

Rebased-From: bc60b2b4b4
2015-10-08 17:39:17 +02:00
Peter Todd 750d54f951 Move LOCKTIME_THRESHOLD to src/script/script.h
Will now be needed by CHECKLOCKTIMEVERIFY code.

Rebased-From: 48e9c57cf0
2015-10-08 17:39:17 +02:00
Peter Todd 689746841a Make CScriptNum() take nMaxNumSize as an argument
While the existing numeric opcodes are all limited to 4-byte bignum
arguments, new opcodes will need different limits.

Rebased-From: 99088d60d8
2015-10-08 17:39:17 +02:00
Gregory Maxwell 1cea6b0dee
Test LowS in standardness, removes nuisance malleability vector.
This adds SCRIPT_VERIFY_LOW_S to STANDARD_SCRIPT_VERIFY_FLAGS which
 will make the node require the canonical 'low-s' encoding for
 ECDSA signatures when relaying or mining.

Consensus behavior is unchanged.

The rational is explained in a81cd96805ce6b65cca3a40ebbd3b2eb428abb7b:
 Absent this kind of test ECDSA is not a strong signature as given
 a valid signature {r, s} both that value and {r, -s mod n} are valid.
 These two encodings have different hashes allowing third parties a
 vector to change users txids.  These attacks are avoided by picking
 a particular form as canonical and rejecting the other form(s); in
 the of the LOW_S rule, the smaller of the two possible S values is
 used.

If widely deployed this change would eliminate the last remaining
 known vector for nuisance malleability on boring SIGHASH_ALL
 p2pkh transactions.  On the down-side it will block most
 transactions made by sufficiently out of date software.

Unlike the other avenues to change txids on boring transactions this
 one was randomly violated by all deployed bitcoin software prior to
 its discovery.  So, while other malleability vectors where made
 non-standard as soon as they were discovered, this one has remained
 permitted.  Even BIP62 did not propose applying this rule to
 old version transactions, but conforming implementations have become
 much more common since BIP62 was initially written.

Bitcoin Core has produced compatible signatures since a28fb70e in
 September 2013, but this didn't make it into a release until 0.9
 in March 2014; Bitcoinj has done so for a similar span of time.
 Bitcoinjs and electrum have been more recently updated.

This does not replace the need for BIP62 or similar, as miners can
 still cooperate to break transactions.  Nor does it replace the
 need for wallet software to handle malleability sanely[1]. This
 only eliminates the cheap and irritating DOS attack.

[1] On the Malleability of Bitcoin Transactions
Marcin Andrychowicz, Stefan Dziembowski, Daniel Malinowski, Łukasz Mazurek
http://fc15.ifca.ai/preproceedings/bitcoin/paper_9.pdf

Conflicts:
	src/policy/policy.h

Rebased-From: b196b685c9
Github-Pull: #6769
2015-10-07 11:17:08 +02:00
Wladimir J. van der Laan 9bd0b4a633
qt: periodic translations update 2015-09-29 12:35:34 +02:00
Wladimir J. van der Laan 743cc9e08b
Merge pull request #6704
5e6d893 travis: for travis generating an extra build (Cory Fields)
ceba0f8 PARTIAL: typofixes (found by misspell_fixer) (Veres Lajos)
2ede6b7 add support for miniupnpc api version 14 (Pavel Vasin)
0dfcdd4 rpc-tests: re-enable rpc-tests for Windows (Cory Fields)
c9ad65e net: Set SO_REUSEADDR for Windows too (Cory Fields)
0194bdd add unit test for CNetAddr::GetGroup. (Alex Morcos)
bdf2542 Fix masking of irrelevant bits in address groups. (Alex Morcos)
65426ac Add missing files to files.md (fanquake)
28d76d2 Handle leveldb::DestroyDB() errors on wipe failure (Adam Weiss)
843469e Use unique name for AlertNotify tempfile (Casey Rodarmor)
4e5ea71 Make sure LogPrint strings are line-terminated (J Ross Nicoll)
3861f0f build: fix libressl detection (Cory Fields)
04507de Avoid leaking file descriptors in RegisterLoad (Casey Rodarmor)
8b59079 Add autogen.sh to source tarball. (randy-waterhouse)
2015-09-22 18:06:57 +02:00