diff options
author | Roger Dingledine <arma@torproject.org> | 2006-10-18 04:33:58 +0000 |
---|---|---|
committer | Roger Dingledine <arma@torproject.org> | 2006-10-18 04:33:58 +0000 |
commit | 9ad6c669e19f0ddf184c4e27186eb79013650fd6 (patch) | |
tree | eb4f70c8d83eb0d4df1fc267600070122b659244 /doc/control-spec.txt | |
parent | 21d5040402d8f59dac3ebdc5ee78d69d79035fd1 (diff) | |
download | tor-9ad6c669e19f0ddf184c4e27186eb79013650fd6.tar tor-9ad6c669e19f0ddf184c4e27186eb79013650fd6.tar.gz |
hammer farther on the status events. still a lot of questions.
svn:r8745
Diffstat (limited to 'doc/control-spec.txt')
-rw-r--r-- | doc/control-spec.txt | 137 |
1 files changed, 97 insertions, 40 deletions
diff --git a/doc/control-spec.txt b/doc/control-spec.txt index 375e3eab7..47e0de2cf 100644 --- a/doc/control-spec.txt +++ b/doc/control-spec.txt @@ -194,7 +194,7 @@ $Id$ EventCode = "CIRC" / "STREAM" / "ORCONN" / "BW" / "DEBUG" / "INFO" / "NOTICE" / "WARN" / "ERR" / "NEWDESC" / "ADDRMAP" / "AUTHDIR_NEWDESCS" / "DESCCHANGED" / "STATUS_GENERAL" / - "STATUS_CLIENT" / "STATUS_SERVER" + "STATUS_CLIENT" / "STATUS_SERVER" / "GUARDS" Any events *not* listed in the SETEVENTS line are turned off; thus, sending SETEVENTS with an empty body turns off all event reporting. @@ -458,6 +458,21 @@ $Id$ status events are available as getinfo's currently. Let us know if you want more exposed.) + "status/client" + "status/server" + These two special cases of internal Tor values return a (possibly + empty) list of status events from Section 4.1.10 that Tor believes + are still accurate. Controllers can use them to get a summary of + any current problems with Tor's operation. + [The answers should include notice events, not just warns and + errs, for example so Tor can learn whether any circuits have been + established yet.] + [Does this mean that Tor must keep state on its side of all the + statuses it's sent, and recognize when they're cancelled out, + and so on? It's a shame that Tor needs to do this and also Vidalia + needs to do this.] + + Examples: C: GETINFO version desc/name/moria1 S: 250+desc/name/moria= @@ -873,43 +888,24 @@ $Id$ [Don't rely on any of these until we work out more of the details. -RD] Syntax: - "650" SP Type SP Action SP Arguments - Type = "STATUS_NOTICE" / "STATUS_WARN" + "650" SP Type SP Severity SP Action SP Arguments + Type = "STATUS_GENERAL" / "STATUS_CLIENT" / "STATUS_SERVER" + Severity = "NOTICE" / "WARN" / "ERR" + Action is a string, and Arguments is a series of key=value pairs on the same line. - Actions for STATUS_NOTICE events can be as follows: + The reserved keyword "message" can optionally be used to provide a + string describing the nature of the action. Message strings MUST + NOT include items that a controller might be tempted to parse, + such as numbers. -client notices: - CIRCUIT_ESTABLISHED - Tor is able to establish circuits for client use. This event will - only be sent if we just built a circuit that changed our mind -- - that is, prior to this event we didn't know whether we could - establish circuits. + Actions for STATUS_GENERAL severity NOTICE events can be as follows: - DIR_ALL_UNREACHABLE - Tor believes that none of the known directory servers are - reachable -- this is most likely because the local network is - down or otherwise not working, and might help to explain for the - user why Tor appears to be broken. + [none yet] - GUARD_NODES_CHANGED - -server notices: - EXTERNAL_ADDRESS - "address=IP" - "method=guessed/resolved/..." - - // hibernating + Actions for STATUS_GENERAL severity WARN events can be as follows: - CHECKING_REACHABILITY - "oraddress=IP:port" - "diraddress=IP:port" - "timeout=NUM" - - Actions for STATUS_WARN events can be as follows: - -general warns: DANGEROUS_VERSION "current=version" "recommended=version,version,..." @@ -923,6 +919,8 @@ general warns: also happens when the system is swapping so heavily that Tor is starving. The "time" argument includes the number of seconds Tor thinks it was unconscious for. + [This status event can generally be ignored by the controller, + since we don't really know what the user should do anyway. Hm.] TOO_MANY_CONNECTIONS "limit=NUM" @@ -938,15 +936,41 @@ general warns: the controller can explain this to the user and encourage her to file a bug report? - // unexpected dir response. behind a hotel/airport firewall? + [The following two are sent as WARNs if CIRCUIT_ESTABLISHED and + not DIR_ALL_UNREACHABLE, else as ERRs:] - // bad http or https proxy? + BAD_DIR_RESPONSE + // unexpected dir response. behind a hotel/airport firewall? - // clock is skewed + CLOCK_SKEWED // (either from talking to a dir authority, or from perusing a // network-status timestamp) -client warns: + Actions for STATUS_GENERAL severity ERR events can be as follows: + + BAD_PROXY + // bad http or https proxy? + + DIR_ALL_UNREACHABLE + Tor believes that none of the known directory servers are + reachable -- this is most likely because the local network is + down or otherwise not working, and might help to explain for the + user why Tor appears to be broken. + + Actions for STATUS_CLIENT severity NOTICE events can be as follows: + + CIRCUIT_ESTABLISHED + Tor is able to establish circuits for client use. This event will + only be sent if we just built a circuit that changed our mind -- + that is, prior to this event we didn't know whether we could + establish circuits. + + ENOUGH_DIR_INFO + Tor now knows enough network-status documents and enough server + descriptors that it's going to start trying to build circuits now. + + Actions for STATUS_CLIENT severity WARN events can be as follows: + DANGEROUS_SOCKS "protocol=socks4/socks4a/socks5" "address=IP:port" @@ -961,7 +985,29 @@ client warns: // a nickname we asked for is unavailable. no need for this // quite yet, since no end-user controllers let you configure that. -server warns: + Actions for STATUS_CLIENT severity ERR events can be as follows: + + [none yet] + + Actions for STATUS_SERVER severity NOTICE events can be as follows: + + EXTERNAL_ADDRESS + "address=IP" + "method=guessed/resolved/..." + + // hibernating + + CHECKING_REACHABILITY + "oraddress=IP:port" + "diraddress=IP:port" + "timeout=NUM" + + GOOD_SERVER_DESCRIPTOR + We successfully uploaded our server descriptor to each of the + directory authorities, with no complaints. + + Actions for STATUS_SERVER severity WARN events can be as follows: + // something about failing to parse our address? // from resolve_my_address() in config.c @@ -969,18 +1015,29 @@ server warns: // too many onions queued. threading problem or slow cpu? - REACHABILITY_FAILED - "oraddress=IP:port" - "diraddress=IP:port" + // eventdns statements. like, hijacked dns. + BAD_SERVER_DESCRIPTOR + "dirauth=nickname" // dir authorities didn't like my descriptor - // eventdns statements. like, hijacked dns. + Actions for STATUS_SERVER severity ERR events can be as follows: + REACHABILITY_FAILED + "oraddress=IP:port" + "diraddress=IP:port" Controllers must tolerate hearing about actions that they don't recognize. +4.1.11. Our set of guard nodes has changed + + Syntax: + "650" SP "GUARDS" SP Type SP ... + Type = "ENTRY" + ... + [needs to be fleshed out; not implemented yet] + 5. Implementation notes 5.1. Authentication |