Nick Mathewson
05dee063c8
Emit router families in canonical form
...
This patch has routers use the same canonicalization logic as
authorities when encoding their family lists. Additionally, they
now warn if any router in their list is given by nickname, since
that's error-prone.
This patch also adds some long-overdue tests for family formatting.
2018-11-24 16:35:58 -05:00
Nick Mathewson
f82eb6269f
Extract get_declared_family() into its own function.
...
This will help as we refactor it.
2018-11-24 12:11:40 -05:00
Nick Mathewson
0a0c612b79
Add a consensus method in which md families get canonicalized.
...
Implements prop298. Closes ticket 28266.
2018-11-24 12:01:09 -05:00
Nick Mathewson
d29e3a02d5
Add a function to canonicalize nodefamilies per prop298
...
This is the same as the regular canonical nodefamily format, except
that unrecognized elements are preserved.
2018-11-24 10:53:38 -05:00
Nick Mathewson
0e9a963b6b
Revise nodefamily.c to match proposal 298
...
Prop298 says that family entries should be formatted with
$hexids in uppercase, nicknames in lower case, $hexid~names
truncated, and everything sorted lexically. These changes implement
that ordering for nodefamily.c.
We don't _strictly speaking_ need to nodefamily.c formatting use
this for prop298 microdesc generation, but it seems silly to have
two separate canonicalization algorithms.
2018-11-24 10:30:15 -05:00
teor
3741f9e524
Fix a comment typo in test_hs_common.c
2018-11-22 16:56:06 +10:00
Nick Mathewson
469f47ef8d
Fix a fun heisenbug in memoize_protover_flags()
...
After we clear the protover map for getting full, we need to
re-create it, since we are about to use it.
This is a bugfix for bug 28558. It is a bugfix for the code from
ticket 27225, which is not in any released Tor. Found by Google
OSS-Fuzz, as issue 11475.
2018-11-21 07:56:33 -05:00
Nick Mathewson
b406fdae4f
Merge branch 'ticket25341_merged_v2'
2018-11-20 13:14:56 -05:00
Nick Mathewson
56f24889a2
Merge branch 'maint-0.3.5'
2018-11-20 13:10:38 -05:00
Nick Mathewson
a9820f072b
Merge branch 'maint-0.3.4' into maint-0.3.5
2018-11-20 13:10:38 -05:00
Nick Mathewson
9da8cd0bc3
Merge remote-tracking branch 'teor/ticket28459-034' into maint-0.3.4
2018-11-20 13:10:18 -05:00
Nick Mathewson
34cadefe34
Merge branch 'maint-0.3.5'
2018-11-20 09:04:35 -05:00
Taylor Yu
0489288aa2
Update control_free_all() for #27169
...
Reset the added bootstrap tracking state introduced by ticket 27169.
Fixes bug 28524; bugfix on 0.3.5.1-alpha.
2018-11-19 15:48:08 -06:00
Nick Mathewson
8183640ada
Merge branch 'maint-0.3.5'
2018-11-19 10:18:57 -05:00
Alexander Færøy
3260914db0
Add missing library to build tor-print-ed-signing-cert.
...
To succesful compile tor-print-ed-signing-cert.exe on Windows we
sometimes need to include the @TOR_LIB_GDI@ library.
See: https://bugs.torproject.org/28485
2018-11-19 10:18:44 -05:00
Nick Mathewson
a4f2075170
Merge remote-tracking branch 'isis/bug25341' into ticket25341_merged_v2
2018-11-19 09:22:30 -05:00
Nick Mathewson
a8df39e955
Merge remote-tracking branch 'tor-github/pr/519'
2018-11-19 08:47:03 -05:00
Nick Mathewson
26539ec3ae
Merge remote-tracking branch 'tor-github/pr/518'
2018-11-19 08:45:41 -05:00
Nick Mathewson
48b08f0592
Merge branch 'ticket27359_v2_squashed'
2018-11-19 08:26:49 -05:00
Nick Mathewson
0e762c0cf5
Test new functions in nodelist.c
2018-11-19 08:26:10 -05:00
Nick Mathewson
4f9548f893
Expose more nodelist.c functions to tests
2018-11-19 08:26:10 -05:00
Nick Mathewson
aa1d767e6b
Aim for 100% test coverage on nodefamily.c
2018-11-19 08:26:10 -05:00
Nick Mathewson
426c9561c5
Use nodefamily_t in microdescriptors.
...
Closes ticket 27359.
2018-11-19 08:26:10 -05:00
Nick Mathewson
83be4d2bbd
Backend for compact node-family representation.
...
This representation is meant to save memory in microdescriptors --
we can't use it in routerinfo_t yet, since those families need to be
encoded losslessly for directory voting to work.
This representation saves memory in three ways:
1. It uses only one allocation per family. (The old way used a
smartlist (2 allocs) plus one strdup per entry.)
2. It stores identity digests in binary, not hex.
3. It keeps families in a canonical format, memoizes, and
reference-counts them.
Part of #27359 .
2018-11-19 08:26:10 -05:00
Nick Mathewson
bf82389e19
Copy 0.3.5.5-alpha changelog into master
2018-11-16 11:32:52 -05:00
Nick Mathewson
f42c3cfe2e
Merge branch 'maint-0.3.5'
...
"ours" to avoid version bump.
2018-11-16 11:32:10 -05:00
Nick Mathewson
942c2da48e
Bump to 0.3.5.5-alpha-dev
2018-11-16 11:32:04 -05:00
Nick Mathewson
5065a68504
Merge branch 'maint-0.3.5'
2018-11-16 08:58:25 -05:00
Nick Mathewson
35558c39dd
Merge remote-tracking branch 'dgoulet/ticket27471_035_02' into maint-0.3.5
2018-11-16 08:57:56 -05:00
Nick Mathewson
306098f851
Merge branch 'maint-0.3.5'
...
"ours" to avoid version bump.
2018-11-16 08:29:05 -05:00
Nick Mathewson
c9906cc3f6
Bump to 0.3.5.5-alpha
2018-11-16 08:28:45 -05:00
Nick Mathewson
be88f12b7f
Merge branch 'maint-0.3.5'
2018-11-15 17:08:34 -05:00
Nick Mathewson
1b4075cb27
Merge branch 'maint-0.3.4' into maint-0.3.5
...
"ours" merge to avoid taking 25573 and 27686 again.
2018-11-15 17:08:04 -05:00
Nick Mathewson
fe1fb4b0c3
Merge remote-tracking branch 'public/ticket27686_034' into maint-0.3.4
2018-11-15 17:01:54 -05:00
Nick Mathewson
80a6228aac
Merge branch 'bug25573-034-typefix' into maint-0.3.4
2018-11-15 16:58:16 -05:00
Nick Mathewson
d612f7d950
Merge branch 'maint-0.3.5'
2018-11-15 16:56:11 -05:00
Nick Mathewson
8af8ecabbe
Merge branch 'maint-0.3.4' into maint-0.3.5
...
"ours" merge to avoid duplicating conflict resolution in merge of 24104
2018-11-15 16:55:42 -05:00
Nick Mathewson
15e752e6b1
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-11-15 16:54:56 -05:00
Nick Mathewson
cbe04d4550
Merge branch 'maint-0.2.9' into maint-0.3.3
2018-11-15 16:54:16 -05:00
Nick Mathewson
066d257674
Merge branch 'maint-0.3.5'
2018-11-15 16:47:25 -05:00
Nick Mathewson
c0e18d2f89
Merge branch 'maint-0.3.4' into maint-0.3.5
2018-11-15 16:47:25 -05:00
Nick Mathewson
63312e0299
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-11-15 16:47:25 -05:00
Nick Mathewson
aebe8a82c9
Merge branch 'bug26913_033' into maint-0.3.3
2018-11-15 16:47:22 -05:00
Nick Mathewson
8569166c70
Merge remote-tracking branch 'public/bug24104_029_squashed' into maint-0.2.9
...
Resolved conflicts with the 26269 fix in 015fcd0e11 .
2018-11-15 16:43:50 -05:00
Nick Mathewson
e47f23ba53
Merge branch 'maint-0.3.5'
2018-11-15 16:38:32 -05:00
Nick Mathewson
a88ce61b35
Merge branch 'maint-0.3.4' into maint-0.3.5
...
"ours" merge to avoid the 0.3.3 version of #27550 .
2018-11-15 16:38:19 -05:00
Nick Mathewson
1e6ffeaeaa
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-11-15 16:37:41 -05:00
Nick Mathewson
34e4d5a783
Merge remote-tracking branch 'dgoulet/bug27550_033_01' into maint-0.3.3
2018-11-15 16:37:02 -05:00
Nick Mathewson
31cc0d2c0b
Merge branch 'maint-0.3.5'
2018-11-15 16:11:29 -05:00
Nick Mathewson
4b6b58ed8e
Merge branch 'bug27740_035_fix' into maint-0.3.5
2018-11-15 16:11:06 -05:00