Allow an optional $ in GETINFO ns/id/<identity>

That's not where I'd want to put a $, but apparently the other
foo/id/<identity> things allow it, as does an arguably valid
interpretation of control-spec.txt.  So let's be consistent.

Fix for a piece of bug 7059.
This commit is contained in:
Nick Mathewson 2012-11-04 22:12:11 -05:00
parent 39a0a2c3ae
commit 0e8be13b9f
2 changed files with 9 additions and 1 deletions

5
changes/bug7059a Normal file
View File

@ -0,0 +1,5 @@
o Minor features (controller):
- Allow an optional $ before the node identity digest in the
controller command GETINFO ns/id/<identity>, for consistency with
md/id/<identity> and desc/id/<identity>.

View File

@ -2374,8 +2374,11 @@ getinfo_helper_networkstatus(control_connection_t *conn,
return 0;
} else if (!strcmpstart(question, "ns/id/")) {
char d[DIGEST_LEN];
const char *q = question + 6;
if (*q == '$')
++q;
if (base16_decode(d, DIGEST_LEN, question+6, strlen(question+6))) {
if (base16_decode(d, DIGEST_LEN, q, strlen(q))) {
*errmsg = "Data not decodeable as hex";
return -1;
}