Browse Source

Make 'getinfo fingerprint' return a 551 error if we're not a
server, so we match what the control spec claims we do. Reported
by daejees.


svn:r9818

Roger Dingledine 18 years ago
parent
commit
5b8adc7c9b
2 changed files with 8 additions and 7 deletions
  1. 3 0
      ChangeLog
  2. 5 7
      src/or/control.c

+ 3 - 0
ChangeLog

@@ -34,6 +34,9 @@ Changes in version 0.2.0.1-alpha - 2007-??-??
 
   o Minor bugfixes:
     - Stop allowing hibernating servers to be "stable" or "fast".
+    - Make 'getinfo fingerprint' return a 551 error if we're not a
+      server, so we match what the control spec claims we do. Reported
+      by daejees.
 
 
 Changes in version 0.1.2.10-rc - 2007-03-07

+ 5 - 7
src/or/control.c

@@ -1207,13 +1207,11 @@ getinfo_helper_misc(control_connection_t *conn, const char *question,
     *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);
-    }
+    if (!me)
+      return -1;
+    *answer = tor_malloc(HEX_DIGEST_LEN+1);
+    base16_encode(*answer, HEX_DIGEST_LEN+1, me->cache_info.identity_digest,
+                  DIGEST_LEN);
   }
   return 0;
 }