From 5b8adc7c9be90cb311ef19d88b02af49dda39ec6 Mon Sep 17 00:00:00 2001 From: Roger Dingledine Date: Thu, 15 Mar 2007 03:11:53 +0000 Subject: [PATCH] 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 --- ChangeLog | 3 +++ src/or/control.c | 12 +++++------- 2 files changed, 8 insertions(+), 7 deletions(-) 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; }