Commit Graph
14026 Commits
Author SHA1 Message Date
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
Jack Grigg 47855b599d Revert "Revert "rpc-tests: re-enable rpc-tests for Windows""
This reverts commit 7fd5d4e30e.

We need to un-revert this before pulling in
https://github.com/bitcoin/bitcoin/pull/6616
2017-03-25 17:37:18 +13:00
jl777 b366cab901 Disable updating template time 2017-03-25 02:08:58 +02:00
zkbot 2bdb37276e Auto merge of #2198 - str4d:2139-timer, r=str4d
Improve mining metrics

Closes #2139.
2017-03-25 00:08:47 +00:00
Jack Grigg 601f00f6fb Add AtomicTimer tests 2017-03-25 13:06:00 +13:00
Jack Grigg 5c0d105b6b Update LocalSolPS test 2017-03-25 12:57:22 +13:00
jl777 948ad8f3f8 Test 2017-03-25 01:38:29 +02:00
jl777 c987ffb5ed Merge pull request #373 from jl777/devtest
Devtest
2017-03-25 01:18:40 +02:00
jl777 3d02f57b42 Test 2017-03-25 01:10:50 +02:00
jl777 9f12949400 Test 2017-03-25 00:06:04 +02:00
jl777 bbaa0f9df4 Test 2017-03-24 23:51:12 +02:00
jl777 3bc88f1451 Test 2017-03-24 23:46:52 +02:00
jl777 d01c0463e7 Test 2017-03-24 23:27:24 +02:00
jl777 f42de68876 Test 2017-03-24 23:07:39 +02:00
jl777 c583e2a9ea Test 2017-03-24 23:02:13 +02:00
jl777 e70bdd48c5 Test 2017-03-24 22:53:41 +02:00
jl777 da3dcb034b Test 2017-03-24 22:52:56 +02:00
jl777 ea5f02cb0a Test 2017-03-24 22:49:11 +02:00
Jay Graber ab1d2d575c Add security message to license text, rm url from translation string 2017-03-24 13:48:27 -07:00
jl777 1691b50b8d Test 2017-03-24 22:35:34 +02:00
jl777 14aa6cc0e2 Initial 2017-03-24 22:28:13 +02:00
Wladimir J. van der Laan e93a3e1945 test: Avoid ConnectionResetErrors during RPC tests
This is necessary on FreeBSD and MacOSX, at least.

See https://github.com/bitcoin/bitcoin/pull/8834#issuecomment-250450213
2017-03-24 18:43:40 +13:00
Pieter Wuille 2edad86b2d Fix interrupted HTTP RPC connection workaround for Python 3.5+ 2017-03-24 18:43:21 +13:00
paveljanik 17694e4bcf [TRIVIAL] Fix typo: exactmath -> exactmatch
... but not yet in trivial tree
2017-03-24 18:42:45 +13:00
jl777 eeef062480 Test 2017-03-24 07:40:34 +02:00
jl777 c8e854e4c6 Test 2017-03-24 07:38:40 +02:00
jl777 b60897a511 Test 2017-03-24 07:35:46 +02:00
jl777 e8d79f05b8 Test 2017-03-24 07:31:40 +02:00
jl777 464fe491ab Test 2017-03-24 07:23:55 +02:00
jl777 ac6feaa8a0 Test 2017-03-24 07:10:51 +02:00
jl777 380b93d768 Test 2017-03-24 07:10:28 +02:00