Skip to content
Snippets Groups Projects
Commit 12d462f1 authored by Andrea Shepard's avatar Andrea Shepard Committed by Nick Mathewson
Browse files

Specify download/ GETINFO queries for controller

parent cc7dd04f
No related branches found
No related tags found
No related merge requests found
......@@ -245,6 +245,10 @@
ISOTime2 = IsoDatePart "T" IsoTimePart
ISOTime2Frac = IsoTime2 [ "." 1*DIGIT ]
; Numbers
LeadingDigit = "1" - "9"
UInt = LeadingDigit *Digit
3. Commands
All commands are case-insensitive, but most keywords are case-sensitive.
......@@ -892,6 +896,101 @@
The string "up" or "down", indicating whether we currently believe the
network is reachable.
"download/"
The keys under download/ are used to query download statuses; they all
return either a sequence of newline-terminated hex encoded digests, or
a serialized download status as follows:
"next-attempt-at" SP ISOTime CRLF
"n-download-failures" SP UInt CRLF
"n-download-attempts" SP UInt CRLF
"schedule" SP DownloadSchedule CRLF
"want-authority" SP DownloadWantAuthority CRLF
"increment-on" SP DownloadIncrementOn CRLF
"backoff" SP DownloadBackoff CRLF
[ "last-backoff-position" Uint CRLF
"last-delay-used UInt CRLF ]
where
DownloadSchedule =
"DL_SCHED_GENERIC" / "DL_SCHED_CONSENSUS" / "DL_SCHED_BRIDGE"
DownloadWantAuthority =
"DL_WANT_ANY_DIRSERVER" / "DL_WANT_AUTHORITY"
DownloadIncrementOn =
"DL_SCHED_INCREMENT_FAILURE" / "DL_SCHED_INCREMENT_ATTEMPT"
DownloadBackoff =
"DL_SCHED_DETERMINISTIC" / "DL_SCHED_RANDOM_EXPONENTIAL"
The optional last two lines must be present if DownloadBackoff is
"DL_SCHED_RANDOM_EXPONENTIAL" and must be absent if DownloadBackoff
is "DL_SCHED_DETERMINISTIC".
In detail, the keys supported are:
"downloads/networkstatus/ns"
The serialized download status for the FLAV_NS consensus for whichever
bootstrap state Tor is currently in.
"downloads/networkstatus/ns/bootstrap"
The serialized download status for the FLAV_NS consensus at bootstrap
time, regardless of whether we are currently bootstrapping.
"downloads/networkstatus/ns/running"
The serialized download status for the FLAV_NS consensus when running,
regardless of whether we are currently bootstrapping.
"downloads/networkstatus/microdesc"
The serialized download status for the FLAV_MICRODESC consensus for
whichever bootstrap state Tor is currently in.
"downloads/networkstatus/microdesc/bootstrap"
The serialized download status for the FLAV_MICRODESC consensus at
bootstrap time, regardless of whether we are currently bootstrapping.
"downloads/networkstatus/microdesc/running"
The serialized download status for the FLAV_MICRODESC consensus when
running, regardless of whether we are currently bootstrapping.
"downloads/cert/fps"
A newline-separated list of hex-encoded digests for authority certificates
for which we have download status available.
"downloads/cert/fp/<Fingerprint>"
A serialized download status for the default certificate for the
identity digest <Fingerprint> returned by the downloads/cert/fps key.
"downloads/cert/fp/<Fingerprint>/sks"
A newline-separated list of hex-encoded signing key digests for the
authority identity digest <Fingerprint> returned by the
downloads/cert/fps key.
"downloads/cert/fp/<Fingerprint>/<SKDigest>"
A serialized download status for the certificate for the identity
digest <Fingerprint> returned by the downloads/cert/fps key and signing
key digest <SKDigest> returned by the downloads/cert/fp/<Fingerprint>/
sks key.
"downloads/desc/descs"
A newline-separated list of hex-encoded router descriptor digests
[note, not identity digests - the Tor process may not have seen them
yet while downloading router descriptors]. If the Tor process is not
using a FLAV_NS consensus, a 551 error is returned.
"downloads/desc/<Digest>"
A serialized download status for the router descriptor with digest
<Digest> as returned by the downloads/desc/descs key. If the Tor
process is not using a FLAV_NS consensus, a 551 error is returned.
"downloads/bridge/bridges"
A newline-separated list of hex-encoded bridge identity digests. If
the Tor process is not using bridges, a 551 error is returned.
"downloads/bridge/<Digest>"
A serialized download status for the bridge descriptor with identity
digest <Digest> as returned by the downloads/bridge/bridges key. If
the Tor process is not using bridges, a 551 error is returned.
Examples:
C: GETINFO version desc/name/moria1
S: 250+desc/name/moria=
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment