[tor-commits] [tor/master] Allow an optional $ in GETINFO ns/id/<identity>

nickm at torproject.org nickm at torproject.org
Wed Nov 14 02:50:57 UTC 2012


commit 0e8be13b9fa4dc794519a4c74197c313a202b6b5
Author: Nick Mathewson <nickm at torproject.org>
Date:   Sun Nov 4 22:12:11 2012 -0500

    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.
---
 changes/bug7059a       |    5 +++++
 src/or/networkstatus.c |    5 ++++-
 2 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/changes/bug7059a b/changes/bug7059a
new file mode 100644
index 0000000..b0c0611
--- /dev/null
+++ b/changes/bug7059a
@@ -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>.
+
diff --git a/src/or/networkstatus.c b/src/or/networkstatus.c
index 89afb5a..7296f96 100644
--- a/src/or/networkstatus.c
+++ b/src/or/networkstatus.c
@@ -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;
     }





More information about the tor-commits mailing list