[tor-bugs] #28877 [Core Tor/Tor]: 'GETINFO desc/fingerprints' command to get known relays (was: Paginate large controller commands like 'GETINFO desc/all-recent')
Tor Bug Tracker & Wiki
blackhole at torproject.org
Thu Dec 20 19:06:58 UTC 2018
#28877: 'GETINFO desc/fingerprints' command to get known relays
--------------------------+--------------------------
Reporter: wagon | Owner: (none)
Type: defect | Status: assigned
Priority: Medium | Milestone:
Component: Core Tor/Tor | Version:
Severity: Normal | Resolution:
Keywords: | Actual Points:
Parent ID: | Points:
Reviewer: | Sponsor:
--------------------------+--------------------------
Comment (by atagar):
> Are you sure Tor makes request to hard drive each time it needs to
provide this data?
I could be wrong on that detail. I'd be a little surprised if tor kept the
full server descriptors in memory since the process does not need the full
documents and doing so would bloat tor's memory profile but I didn't check
what the C codebase does, nor does it honestly matter for this ticket.
I need the ability to iterate over all descriptors without getting such a
large response. That said, I just thought of a cheap option that's far
simpler than pagination: **add a 'GETINFO desc/fingerprints' method that
provides the all server descirptor fingerprints tor knows about**.
I can call that to get an enumeration of the relays tor has descriptors
for, then query them one at a time to break up our fourteen megabyte
response. I suspect we'd want separate methods for other descriptor types
('GETINFO md/fingerprints' and 'GETINFO ns/fingerprints') because the
relays we have information for are not necessarily the same between
document types.
> Do you think it also explains the crash of tor-prompt --run 'GETINFO
desc/all-recent >/dev/null command?
No, it doesn't. Please file a separate ticket about that so we can keep
this ticket narrowly focused. I suspect the issue is that you're using
python3, and that tor-prompt is using print() which expect unicode. Server
descriptors can have non-ascii content on contact lines which can cause
the stacktrace you cited above.
I probably need to add some escaping within tor-prompt.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/28877#comment:9>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list