diff options
author | Nick Mathewson <nickm@torproject.org> | 2011-01-25 20:39:44 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2011-01-25 20:39:44 -0500 |
commit | 411ec3c0f8cd4786233a3bc274cb2b766d4bfe7c (patch) | |
tree | f48f77c8f33b73f9d386c87026c87b0d1a2055d1 /doc | |
parent | 85da676108f0de765301f961bc58aebd139a5564 (diff) | |
download | tor-411ec3c0f8cd4786233a3bc274cb2b766d4bfe7c.tar.gz tor-411ec3c0f8cd4786233a3bc274cb2b766d4bfe7c.zip |
Add client code to detect attempts to connect to 127.0.0.1 etc
We detect and reject said attempts if there is no chosen exit node or
circuit: connecting to a private addr via a randomly chosen exit node
will usually fail (if all exits reject private addresses), is always
ill-defined (you're not asking for any particular host or service),
and usually an error (you've configured all requests to go over Tor
when you really wanted to configure all _remote_ requests to go over
Tor).
This can also help detect forwarding loop requests.
Found as part of bug2279.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/spec/control-spec.txt | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/doc/spec/control-spec.txt b/doc/spec/control-spec.txt index 255adf00a4..1096245571 100644 --- a/doc/spec/control-spec.txt +++ b/doc/spec/control-spec.txt @@ -1070,7 +1070,8 @@ Reason = "MISC" / "RESOLVEFAILED" / "CONNECTREFUSED" / "EXITPOLICY" / "DESTROY" / "DONE" / "TIMEOUT" / "NOROUTE" / "HIBERNATING" / "INTERNAL"/ "RESOURCELIMIT" / - "CONNRESET" / "TORPROTOCOL" / "NOTDIRECTORY" / "END" + "CONNRESET" / "TORPROTOCOL" / "NOTDIRECTORY" / "END" / + "PRIVATE_ADDR" The "REASON" field is provided only for FAILED, CLOSED, and DETACHED events, and only if extended events are enabled (see 3.19). Clients MUST @@ -1079,7 +1080,10 @@ END (We received a RELAY_END cell from the other side of this stream.) + PRIVATE_ADDR (The client tried to connect to a private address like + 127.0.0.1 or 10.0.0.1 over Tor.) [XXXX document more. -NM] + The "REMOTE_REASON" field is provided only when we receive a RELAY_END cell, and only if extended events are enabled. It contains the actual |