浏览代码

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.
Nick Mathewson 11 年之前
父节点
当前提交
0e8be13b9f
共有 2 个文件被更改,包括 9 次插入1 次删除
  1. 5 0
      changes/bug7059a
  2. 4 1
      src/or/networkstatus.c

+ 5 - 0
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>.
+

+ 4 - 1
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;
     }