Commit Graph

10472 Commits

Author SHA1 Message Date
Nathan Wilcox 1c360b2128 Fix a release-process.md bug; commit results changelog + debian updates. 2017-04-13 17:48:08 -07:00
Nathan Wilcox a4f764bb28 Commit the changes from gen-manpages.sh, except manually tweak the version strings. 2017-04-13 17:39:36 -07:00
Nathan Wilcox 451047d14a Bump version numbers for v1.0.8-1. 2017-04-13 17:10:32 -07:00
zkbot b0b5358b7e Auto merge of #2259 - nathan-at-least:simplify-joinsplit-priority2, r=ebfull
simplify joinsplit priority
2017-04-13 22:54:55 +00:00
Daira Hopwood 60b7410cce Add check for JoinSplit priority as calculated by CCoinsViewCache::GetPriority.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-04-13 22:40:37 +01:00
Daira Hopwood ec19e8e283 Simplify JoinSplit priority calculation. refs 1896
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-04-13 22:40:20 +01:00
str4d c83c5932e4 Add unit test for security issue 2017-04-11.a 2017-04-13 17:59:36 +01:00
str4d e40180aa0f Update tests to check actual infinity as well as INF_FEERATE 2017-04-13 17:59:36 +01:00
Daira Hopwood 0090c64534 Don't rely on a finite upper bound on fee rate or priority.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-04-13 17:59:36 +01:00
zkbot c752b8aa9b Auto merge of #2241 - str4d:2238-benchmark-timeouts, r=ageis
Use a larger -rpcclienttimeout for slow performance measurements

Closes #2238.
2017-04-07 09:06:41 +00:00
Jack Grigg 338ff45787
Use a larger -rpcclienttimeout for slow performance measurements
Closes #2238.
2017-04-07 15:03:25 +12:00
zkbot f630519d86 Auto merge of #2213 - daira:2211.release-1.0.8, r=daira
2211.release-1.0.8

Release 1.0.8. refs #2211
2017-03-28 01:22:21 +00:00
Daira Hopwood 27fb36c50b Update authors, release notes, and Debian package metadata.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-03-27 21:32:16 +01:00
Daira Hopwood b58208fb8d Generate man pages.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-03-27 21:27:10 +01:00
Daira Hopwood 26722e47c6 Improvement to release process doc.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-03-27 21:05:10 +01:00
Daira Hopwood 83aac13083 Update version numbers.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-03-27 21:01:18 +01:00
zkbot 45faa928ec Auto merge of #2177 - str4d:2061-tor-ephemeral-hs, r=daira
Tor ephemeral hidden services

Cherry-picked from the following upstream PRs:

- bitcoin/bitcoin#6503 (included to reduce merge conflicts)
- bitcoin/bitcoin#6639
- bitcoin/bitcoin#6643
- bitcoin/bitcoin#7090
- bitcoin/bitcoin#7035
- bitcoin/bitcoin#7170
- bitcoin/bitcoin#7218 (non-QT part)
- bitcoin/bitcoin#7313
- bitcoin/bitcoin#7438
- bitcoin/bitcoin#7553
- bitcoin/bitcoin#7637
- bitcoin/bitcoin#7683
- bitcoin/bitcoin#7813
- bitcoin/bitcoin#7703
- bitcoin/bitcoin#8203
- bitcoin/bitcoin#9004
- bitcoin/bitcoin#9234
- bitcoin/bitcoin#9911 (partial)

Closes #2061.
2017-03-26 02:44:06 +00:00
zkbot f7fcad709b Auto merge of #2203 - arcalinea:2142_security_log_message, r=daira
Add message directing users to security guide

Addresses #2142, which was blocking on updates to zcash/support/security.html. That page has now been added, so this message directing users to the site can be included.

It displays in the zcash-cli --help and --version message text, and on the zcashd metrics screen.
2017-03-26 01:36:24 +00:00
Jack Grigg 87b7f4d878
torcontrol: Log invalid parameters in Tor reply strings where meaningful 2017-03-26 14:35:13 +13:00
Daira Hopwood f0d1accb7d Line-wrap privacy notice. Use <> around URL and end sentence with '.'.
Include privacy notice in help text for zcashd -help.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-03-26 02:08:29 +01:00
Jack Grigg 3290567bbd
torcontrol: Check for reading errors in ReadBinaryFile
This ensures that ReadBinaryFile never returns exactly TOR_COOKIE_SIZE bytes if
the file was larger than that.
2017-03-26 13:53:13 +13:00
Jack Grigg 64101d0407
torcontrol: Fix ParseTorReplyMapping
- Ignore remaining input if it is an OptArguments
- Correctly handle escapes
2017-03-26 00:35:13 +13:00
Jack Grigg 6dbd95afa1
torcontrol: Add unit tests for Tor reply parsers 2017-03-26 00:34:53 +13:00
Jack Grigg 8966598033
torcontrol: Improve comments 2017-03-25 20:25:59 +13:00
Pavel Janík 4b5ba449bb
Make some global variables less-global (static) 2017-03-25 20:25:57 +13:00
Pavel Janík f0e9019223
Prevent -Wshadow warnings with gcc versions 4.8.5, 5.3.1 and 6.2.1.
Zcash: partial (ignoring src/test/script_tests.cpp due to merge conflicts)
2017-03-25 20:25:56 +13:00
Wladimir J. van der Laan 9e5c9d0a04
torcontrol: Explicitly request RSA1024 private key
When generating a new service key, explicitly request a RSA1024 one.

The bitcoin P2P protocol has no support for the longer hidden service names
that will come with ed25519 keys, until it does, we depend on the old
hidden service type so make this explicit.

See #9214.
2017-03-25 20:25:55 +13:00
unsystemizer 5aa2365edd
Clarify `listenonion`
> This new feature is enabled by default if Bitcoin Core is listening, and a connection to Tor can be made. It can be configured with the -listenonion, -torcontrol and -torpassword settings. To show verbose debugging information, pass -debug=tor.

But it is correct to say that the feature is enabled *regardless* of whether a connection to Tor can be made.

I propose to clarify that so that users can eliminate these in their logs (when `listen=1` and no Tor).
And I think it's okay to clarify about the `listen` option, because on several occasions when I read this before I always assumed `listening` meant `server=1` which cost me a lot of time in troubleshooting.

```
2016-10-24 06:19:22.551029 tor: Error connecting to Tor control socket
2016-10-24 06:19:22.551700 tor: Not connected to Tor control port 127.0.0.1:9051, trying to reconnect
```

0.12.1
2017-03-25 20:25:53 +13:00
Nathaniel Mahieu 4404073185
Clarify documentation for running a tor node
Previous wording suggested that no additional setup was required for a
tor hidden service to be created.
2017-03-25 20:25:52 +13:00
Wladimir J. van der Laan ca5e229514
tor: Change auth order to only use HASHEDPASSWORD if -torpassword
Change authentication order to make it more clear (see #7700).

- If the `-torpassword` option is provided, force use of
  `HASHEDPASSWORD` auth.

- Give error message if `-torpassword` provided, but
  `HASHEDPASSWORD` auth is not available.

- Give error message if only `HASHEDPASSWORD` available, but
  `-torpassword` not given.
2017-03-25 20:25:50 +13:00
Adam Brown ec8828aff3
[doc] Update port in tor.md
Tor Browser Bundle spawns the Tor process and listens on port 9150, it doesn't randomly pick a port.

[ci skip]
(cherry picked from commit 1b63cf98347b2a62915425576930f55c2126c2ff)
2017-03-25 20:25:49 +13:00
Jonas Schnelli 1a41e3f660
Fix torcontrol.cpp unused private field warning 2017-03-25 20:25:48 +13:00
Wladimir J. van der Laan 3d7cddcaa2
Fix memleak in TorController [rework]
It looks like, TorController::disconnected_cb(TorControlConnection&
conn) gets called multiple times which results in multiple event_new().

Avoid this by creating the event only once in the constructore, and
deleting it only once in the destructor (thanks to Cory Fields for the
idea).

Replaces the fix by Jonas Schnelli in #7610, see discussion there.
2017-03-25 20:25:46 +13:00
Patrick Strateman a05be280e7
Remove vfReachable and modify IsReachable to only use vfLimited.
We do not know that a class of Network is reachable, only that it is not.
2017-03-25 20:25:45 +13:00
Gregory Maxwell f28a87b4ba
Decide eviction group ties based on time.
This corrects a bug the case of tying group size where the code may
 fail to select the group with the newest member. Since newest time
 is the final selection criteria, failing to break ties on it
 on the step before can undermine the final selection.

Tied netgroups are very common.
2017-03-25 20:25:44 +13:00
Gregory Maxwell 35db253fb6
Do not absolutely protect local peers from eviction.
With automatic tor HS support in place we should probably not be providing
 absolute protection for local peers, since HS inbound could be used to
 attack pretty easily.  Instead, this counts on the latency metric inside
 AttemptToEvictConnection to privilege actually local peers.
2017-03-25 20:25:42 +13:00
calebogden e10e212470
Fixing typos on security-check.py and torcontrol.cpp 2017-03-25 20:25:41 +13:00
MarcoFalke 9b46a35b8d
torcontrol debug: Change to a blanket message that covers both cases 2017-03-25 20:25:39 +13:00
Wladimir J. van der Laan f3e1770cfb
tests: Disable Tor interaction
This is unnecessary during the current tests (any test for Tor
interaction can explicitly enable it) and interferes with the proxy
test.
2017-03-25 20:25:38 +13:00
Daniel Cousens 65fd8eb134
torcontrol: only output disconnect if -debug=tor 2017-03-25 20:25:35 +13:00
Peter Todd 2b30758b2f
Connect to Tor hidden services by default
Adds 127.0.0.1:9050 for the .onion proxy if we can succesfully connect
to the control port.

Natural followup to creating hidden services automatically.
2017-03-25 20:24:58 +13:00
MarcoFalke 7f9e7a9872
[doc] [tor] Clarify when to use bind
c.f. #6585
2017-03-25 20:24:56 +13:00
Wladimir J. van der Laan 2298877f78
doc: update docs for Tor listening
- add new data directory files for 0.12 to doc/files.md
- mention torcontrol in doc/tor.md
2017-03-25 20:22:13 +13:00
Wladimir J. van der Laan 975dc649af
torcontrol improvements and fixes
- Force AUTHCOOKIE size to be 32 bytes: This provides protection against
  an attack where a process pretends to be Tor and uses the cookie
  authentication method to nab arbitrary files such as the
  wallet
- torcontrol logging
- fix cookie auth
- add HASHEDPASSWORD auth, fix fd leak when fwrite() fails
- better error reporting when cookie file is not ok
- better init/shutdown flow
- stop advertizing service when disconnected from tor control port
- COOKIE->SAFECOOKIE auth
2017-03-25 20:22:12 +13:00
Peter Todd 77e5601e9e
Better error message if Tor version too old 2017-03-25 20:22:11 +13:00
Wladimir J. van der Laan eb5f63fe58
net: Automatically create hidden service, listen on Tor
Starting with Tor version 0.2.7.1 it is possible, through Tor's control socket
API, to create and destroy 'ephemeral' hidden services programmatically.
https://stem.torproject.org/api/control.html#stem.control.Controller.create_ephemeral_hidden_service

This means that if Tor is running (and proper authorization is available),
bitcoin automatically creates a hidden service to listen on, without user
manual configuration. This will positively affect the number of available
.onion nodes.

- When the node is started, connect to Tor through control socket
- Send `ADD_ONION` command
- First time:
    - Make it create a hidden service key
    - Save the key in the data directory for later usage
- Make it redirect port 8333 to the local port 8333 (or whatever port we're listening on).
- Keep control socket connection open for as long node is running. The hidden service will
  (by default) automatically go away when the connection is closed.
2017-03-25 20:22:09 +13:00
Matt Quinn 8a5ae3c7a9
Consolidate individual references to the current maximum peer connection
value of 125 into a single constant declaration.
2017-03-25 20:22:07 +13:00
zkbot f9f48667be Auto merge of #2176 - str4d:1593-libevent, r=bitcartel
libevent-based http server

Cherry-picked from the following upstream PRs:

- bitcoin/bitcoin#5677
- bitcoin/bitcoin#6695
- bitcoin/bitcoin#6899
- bitcoin/bitcoin#7016
- bitcoin/bitcoin#7964
- bitcoin/bitcoin#8722
- bitcoin/bitcoin#8730
- bitcoin/bitcoin#9073
- bitcoin/bitcoin#9265
- bitcoin/bitcoin#9387
- bitcoin/bitcoin#9471
- bitcoin/bitcoin#9647
- bitcoin/bitcoin#9903
- bitcoin/bitcoin#6640
- bitcoin/bitcoin#8139
- bitcoin/bitcoin#8839

Closes #1593 and #1856.
2017-03-25 04:52:16 +00:00
Jack Grigg 3da13e885e
Fix typo 2017-03-25 17:40:27 +13:00
Jack Grigg 206e2b9737
Wrap error string 2017-03-25 17:39:56 +13:00