From: Roger Dingledine Date: Thu, 15 Mar 2007 03:11:53 +0000 (+0000) Subject: Make 'getinfo fingerprint' return a 551 error if we're not a X-Git-Tag: tor-0.2.0.1-alpha~347 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5b8adc7c9be90cb311ef19d88b02af49dda39ec6;p=thirdparty%2Ftor.git 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 --- diff --git a/ChangeLog b/ChangeLog index 554f1a8bb9..fe1fbf4f39 100644 --- a/ChangeLog +++ b/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 diff --git a/src/or/control.c b/src/or/control.c index 0c245723e1..4784cb9092 100644 --- a/src/or/control.c +++ b/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; }