aboutsummaryrefslogtreecommitdiff
path: root/src/or/dirvote.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2012-10-24 22:34:55 -0400
committerNick Mathewson <nickm@torproject.org>2012-11-14 23:16:22 -0500
commit04ea55014182776871841279f6917d1a03c4e905 (patch)
tree478f061c1e4f57d24baf1e8bf731e85b8f6ad669 /src/or/dirvote.c
parentc53adac122e88dbd943febfdd1f3deeab9e8309a (diff)
downloadtor-04ea55014182776871841279f6917d1a03c4e905.tar
tor-04ea55014182776871841279f6917d1a03c4e905.tar.gz
Authorities put p6 lines into microdescriptors.
Diffstat (limited to 'src/or/dirvote.c')
-rw-r--r--src/or/dirvote.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/or/dirvote.c b/src/or/dirvote.c
index f8b8d378c..9810c820d 100644
--- a/src/or/dirvote.c
+++ b/src/or/dirvote.c
@@ -3569,6 +3569,17 @@ dirvote_create_microdescriptor(const routerinfo_t *ri, int consensus_method)
if (summary && strcmp(summary, "reject 1-65535"))
smartlist_add_asprintf(chunks, "p %s\n", summary);
+ if (consensus_method >= MIN_METHOD_FOR_P6_LINES &&
+ ri->ipv6_exit_policy) {
+ /* XXXX024 This doesn't match proposal 208, which says these should
+ * be taken unchanged from the routerinfo. That's bogosity, IMO:
+ * the proposal should have said to do this instead.*/
+ char *p6 = write_short_policy(ri->ipv6_exit_policy);
+ if (p6 && strcmp(p6, "reject 1-65535"))
+ smartlist_add_asprintf(chunks, "p6 %s\n", p6);
+ tor_free(p6);
+ }
+
output = smartlist_join_strings(chunks, "", 0, NULL);
{