Stem should not use human-readable message of GETCONF 552 response
stem use a message format for
552 errors that differs from [wording of the control spec's
GETCONF output via
>>> GETCONF blah 552 Unrecognized configuration key "blah"
Stem //expects// this format; see [[https://gitweb.torproject.org/stem.git/tree/stem/response/getconf.py?id=aa692e62bfda5be8b87e463c3c899cb13968d32a#n33|
unrecognized_keywords =  for code, _, line in self.content(): if code == '552' and line.startswith('Unrecognized configuration key "') and line.endswith('"'): unrecognized_keywords.append(line[32:-1]) if unrecognized_keywords: raise stem.InvalidArguments('552', 'GETCONF request contained unrecognized keywords: %s' % ', '.join(unrecognized_keywords), unrecognized_keywords) else: raise stem.ProtocolError('GETCONF response contained a non-OK status code:\n%s' % self)
tor version, for reference:
>>> GETINFO version 250-version=0.3.2.10 (git-0edaa32732ec8930) 250 OK
==== Historical note In searching (for potential duplicates) to file this ticket, I happened upon the original ticket: #6114 (closed)
==== Priority, Severity I'm marking this as low,minor because it appears the code will work decently well (still raise //an// exception) if the message format changes.
==== Expected behavior
In discussion over
#tor-dev, it was agreed that
stem (and generally any controller) shouldn't rely on a specific message. Only the numeric code
552 should be relied upon.