summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/or/router.c3
-rw-r--r--src/or/test.c6
2 files changed, 4 insertions, 5 deletions
diff --git a/src/or/router.c b/src/or/router.c
index c6f1195366..271dc7f549 100644
--- a/src/or/router.c
+++ b/src/or/router.c
@@ -1686,7 +1686,8 @@ router_dump_router_to_string(char *s, size_t maxlen, routerinfo_t *router,
}
/* Write the exit policy to the end of 's'. */
- if (dns_seems_to_be_broken()) {
+ if (dns_seems_to_be_broken() ||
+ !router->exit_policy || !smartlist_len(router->exit_policy)) {
/* DNS is screwed up; don't claim to be an exit. */
strlcat(s+written, "reject *:*\n", maxlen-written);
written += strlen("reject *:*\n");
diff --git a/src/or/test.c b/src/or/test.c
index db6e96f7c2..4755c325ec 100644
--- a/src/or/test.c
+++ b/src/or/test.c
@@ -2336,7 +2336,7 @@ test_dir_format(void)
strlcat(buf2, pk1_str, sizeof(buf2));
strlcat(buf2, "signing-key\n", sizeof(buf2));
strlcat(buf2, pk2_str, sizeof(buf2));
- strlcat(buf2, "router-signature\n", sizeof(buf2));
+ strlcat(buf2, "reject *:*\nrouter-signature\n", sizeof(buf2));
buf[strlen(buf2)] = '\0'; /* Don't compare the sig; it's never the same
* twice */
@@ -2354,7 +2354,7 @@ test_dir_format(void)
test_eq(rp1->bandwidthcapacity, r1->bandwidthcapacity);
test_assert(crypto_pk_cmp_keys(rp1->onion_pkey, pk1) == 0);
test_assert(crypto_pk_cmp_keys(rp1->identity_pkey, pk2) == 0);
- test_assert(rp1->exit_policy == NULL);
+ //test_assert(rp1->exit_policy == NULL);
#if 0
/* XXX Once we have exit policies, test this again. XXX */
@@ -3034,8 +3034,6 @@ test_policies(void)
compare_addr_to_addr_policy(0, 2, policy));
test_assert(ADDR_POLICY_REJECTED ==
compare_addr_to_addr_policy(0xc0a80102, 2, policy));
- test_assert(ADDR_POLICY_REJECTED ==
- compare_addr_to_addr_policy(0x01020304u, 2, NULL));
policy2 = NULL;
test_assert(0 == policies_parse_exit_policy(NULL, &policy2, 1, NULL));