aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2013-09-18 10:26:32 -0400
committerNick Mathewson <nickm@torproject.org>2013-09-18 10:26:32 -0400
commitdece40fd7729934bc32906e94d3e5e746c01f970 (patch)
treea0d1a7491e59768676b1a9107cb20c50deebe315
parentb46353b7931235da3ecaec0723060501042d6ef4 (diff)
downloadtor-dece40fd7729934bc32906e94d3e5e746c01f970.tar.gz
tor-dece40fd7729934bc32906e94d3e5e746c01f970.zip
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().
-rw-r--r--changes/bug69794
-rw-r--r--src/or/router.c2
2 files changed, 5 insertions, 1 deletions
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 <b>k</b>.