From: Nick Mathewson Date: Wed, 18 Sep 2013 14:26:32 +0000 (-0400) Subject: Fix an assert when disabling ORPort with accounting disabled. X-Git-Tag: tor-0.2.4.18-rc~9^2~11^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=dece40fd7729934bc32906e94d3e5e746c01f970;p=thirdparty%2Ftor.git Fix an assert when disabling ORPort with accounting disabled. The problem was that the server_identity_key_is_set() function could return true under conditions where we don't really have an identity key -- specifically, where we used to have one, but we stopped being a server. This is a fix for 6979; bugfix on 0.2.2.18-alpha where we added that assertion to get_server_identity_key(). --- diff --git a/changes/bug6979 b/changes/bug6979 new file mode 100644 index 0000000000..55572ecbac --- /dev/null +++ b/changes/bug6979 @@ -0,0 +1,4 @@ + o Minor bugfixes: + - Fix an assertion failure that would occur when disabling the + ORPort setting on a running Tor process while accounting was + enabled. Fixes bug 6979; bugfix on 0.2.2.18-alpha. diff --git a/src/or/router.c b/src/or/router.c index 1ace8e2492..a3459aec71 100644 --- a/src/or/router.c +++ b/src/or/router.c @@ -177,7 +177,7 @@ get_server_identity_key(void) int server_identity_key_is_set(void) { - return server_identitykey != NULL; + return server_mode(get_options()) && server_identitykey != NULL; } /** Set the current client identity key to k.