GETINFO exit-policy for tor client should return 551
In #25423 (closed) it was noticed that...
[...] the client-only configuration ALWAYS returns this:
>>> GETINFO exit-policy/full 551 router_get_my_routerinfo returned NULL }}}
The control spec didn't specify behavior for this case. For
GETINFO it states:
The server sends a 551 or 552 error on failure.
And more generically describes `551` and `552` as:
551 Internal error [Something went wrong inside Tor, so that the client's request couldn't be fulfilled.] 552 Unrecognized entity [A configuration key, a stream ID, circuit ID, event, mentioned in the command did not actually exist.]
Both `551` and `552` are a bit odd for this behavior, but the spec doesn't have a code that indicates "You asked for everything ok, but I'm not operating in that mode right now" (i.e. N/A). However, the spec //does// indicate the following for `GETINFO fingerprint`:
"fingerprint" -- the contents of the fingerprint file that Tor writes as a relay, or a 551 if we're not a relay currently. (Added in 0.1.2.3-alpha)
In discussion with dgoulet and atagar over IRC, we agreed it made the most sense to follow this precedent. dgoulet reports that `GETINFO fingerprint` currently returns:
551 Not running in server mode
The spec notes "Unless specified to have specific contents, the human-readable messages in error replies should not be relied upon to match those in this document.", so this info is mentioned to facilitate consistency.