Browse Source

r11609@Kushana: nickm | 2006-12-15 16:42:21 -0500
Implement GETINFO fingerprint.


svn:r9136

Nick Mathewson 17 years ago
parent
commit
251f007b75
2 changed files with 12 additions and 2 deletions
  1. 1 0
      ChangeLog
  2. 11 2
      src/or/control.c

+ 1 - 0
ChangeLog

@@ -61,6 +61,7 @@ Changes in version 0.1.2.5-xxxx - 200?-??-??
     - Have GETINFO dir/status/* work on hosts with DirPort disabled.
     - Reimplement GETINFO so that info/names stays in sync with the
       actual keys.
+    - Implement "GETINFO fingerprint".
 
   o Controller bugfixes:
     - Report the circuit number correctly in STREAM CLOSED events. (Bug

+ 11 - 2
src/or/control.c

@@ -1449,6 +1449,15 @@ getinfo_helper_misc(control_connection_t *conn, const char *question,
     *answer = tor_dup_addr(addr);
   } else if (!strcmp(question, "dir-usage")) {
     *answer = directory_dump_request_log();
+  } else if (!strcmp(question, "fingerprint")) {
+    routerinfo_t *me = router_get_my_routerinfo();
+    if (!me) {
+      *answer = tor_strdup("");
+    } else {
+      *answer = tor_malloc(HEX_DIGEST_LEN+1);
+      base16_encode(*answer, HEX_DIGEST_LEN+1, me->cache_info.identity_digest,
+                    DIGEST_LEN);
+    }
   }
   return 0;
 }
@@ -1734,10 +1743,10 @@ static const getinfo_item_t getinfo_items[] = {
        "Time when the accounting period ends."),
   ITEM("accounting/interval-wake", accounting,
        "Time to wake up in this accounting period."),
-  /* deprecated */
-  ITEM("helper-nodes", entry_guards, NULL),
+  ITEM("helper-nodes", entry_guards, NULL), /* deprecated */
   ITEM("entry-guards", entry_guards,
        "Which nodes are we using as entry guards?"),
+  ITEM("fingerprint", misc, NULL),
   PREFIX("config/", config, "Current configuration values."),
   DOC("config/names",
       "List of configuration options, types, and documentation."),