Nick Mathewson
1a375c3b19
Merge branch 'trove_2020_002_035' into trove_2020_002_041
...
Resolved Conflicts:
src/feature/dirparse/parsecommon.c
2020-02-05 12:06:24 -05:00
Nick Mathewson
f160212ee8
When parsing tokens, reject early on spurious keys.
2020-02-05 11:57:31 -05:00
Nick Mathewson
9e1085c924
When parsing, reject >1024-bit RSA private keys sooner.
...
Private-key validation is fairly expensive for long keys in openssl,
so we need to avoid it sooner.
2020-02-05 11:11:35 -05:00
teor
c7fc53c2e7
Merge branch 'bug30781_040' into bug30781_master
2019-06-06 09:57:31 +10:00
teor
fb3f461406
Merge branch 'bug30781_035' into bug30781_040
2019-06-06 09:56:50 +10:00
teor
c8c2e2b8fc
Merge branch 'bug30781_034' into bug30781_035
...
Moved fix from src/or/routerparse.c to src/feature/dirparse/routerparse.c.
2019-06-06 09:55:44 +10:00
Nick Mathewson
60213a3621
Run "make autostyle."
2019-06-05 09:33:35 -04:00
Nick Mathewson
295feeb093
Replace all remaining tor_mem_is_zero() with fast_mem_is_zero()
2019-04-30 14:49:05 -04:00
George Kadianakis
6a179b1072
Merge branch 'tor-github/pr/891' into maint-0.4.0
2019-04-18 13:21:59 +03:00
Nick Mathewson
99b87d7ca4
Even more diagnostic messages for bug 28223.
...
Try to figure out _where exactly_ we are first encountering NULs in
microdescriptors, and what we are doing when that happens.
2019-04-03 13:53:06 -04:00
Nick Mathewson
2f683465d4
Bump copyright date to 2019
2019-01-16 12:33:22 -05:00
Nick Mathewson
efe55b8898
Bump copyright date to 2019.
2019-01-16 12:32:32 -05:00
Nick Mathewson
f9a7701ff1
Merge branch 'ticket28856_v2'
2019-01-09 08:46:40 -05:00
Nick Mathewson
a7cbbf279e
Merge branch 'ticket28852'
2019-01-03 21:31:08 -05:00
Nick Mathewson
7113a339dc
Avoid a needless decode/re-encode step in assigning onion keys
...
Previously we had decoded the asn.1 to get a public key, and then
discarded the asn.1 so that we had to re-encode the key to store it
in the onion_pkey field of a microdesc_t or routerinfo_t.
Now we can just do a tor_memdup() instead, which should be loads
faster.
2018-12-18 18:58:08 -05:00
Nick Mathewson
0556942284
Use a single path for all PEM-like objects in get_next_token()
...
Previously, we would decode the PEM wrapper for keys twice: once in
get_next_token, and once later in PEM decode. Now we just do all of
the wrapper and base64 stuff in get_next_token, and store the
base64-decoded part in the token object for keys and non-keys alike.
This change should speed up parsing slightly by letting us skip a
bunch of stuff in crypto_pk_read_*from_string(), including the tag
detection parts of pem_decode(), and an extra key allocation and
deallocation pair.
Retaining the base64-decoded part in the token object will allow us
to speed up our microdesc parsing, since it is the asn1 portion that
we actually want to retain.
2018-12-18 18:58:08 -05:00
Nick Mathewson
a0fad3981e
Replace use of strcmp_len() with new mem_eq_token().
...
The strcmp_len() function was somewhat misconceived, since we're
only using it to test whether a length+extent string is equal to a
NUL-terminated string or not. By simplifying it and making it
inlined, we should be able to make it a little faster.
(It *does* show up in profiles.)
Closes ticket 28856.
2018-12-17 09:03:04 -05:00
Nick Mathewson
9dc53bc68f
Remove a needless memset() in get_token_arguments()
...
I believe we originally added this for "just in case" safety, but it
isn't actually needed -- we never copy uninitialized stack here.
What's more, this one memset is showing up on our startup profiles,
so we ought to remove it.
Closes ticket 28852.
2018-12-14 14:48:12 -05:00
Nick Mathewson
6dc90d290d
Use 25% less RAM for base64-encoded directory objects
...
We were allocating N bytes to decode an N-byte base64 encoding,
when 3N/4 would have been enough.
2018-12-14 13:51:51 -05:00
Nick Mathewson
36f808c936
Vote on the StaleDesc flag from prop293
...
The StaleDesc flag tells relays that they need to upload a new
descriptor soon, or they will drop out of the consensus.
2018-11-25 10:05:13 -05:00
Nick Mathewson
48b08f0592
Merge branch 'ticket27359_v2_squashed'
2018-11-19 08:26:49 -05:00
Nick Mathewson
426c9561c5
Use nodefamily_t in microdescriptors.
...
Closes ticket 27359.
2018-11-19 08:26:10 -05:00
Nick Mathewson
988d4903a3
Merge branch 'networkstatus_mmap' into networkstatus_mmap_merge
2018-10-31 09:04:12 -04:00
Nick Mathewson
e9ff3e7d4a
Merge branch 'bug28202_033' into bug28202_035
2018-10-25 09:16:08 -04:00
Nick Mathewson
2dccef0eb4
Merge branch 'bug27772_squashed'
2018-10-14 15:31:52 -04:00
Nick Mathewson
d199348664
Remove versions.h include from routerparse.h
2018-10-01 11:22:47 -05:00
Nick Mathewson
5f9839ee42
Remove unused headers from routerparse.c
2018-10-01 11:17:33 -05:00
Nick Mathewson
35db3f8162
Extract addr-policy parsing code.
2018-10-01 11:17:19 -05:00
Nick Mathewson
95e2eb9083
Move summarize_protover_flags to versions.c
2018-10-01 10:48:55 -05:00
Nick Mathewson
4201203845
extract networkstatus parsing to its own file.
2018-10-01 10:46:00 -05:00
Nick Mathewson
cd23903427
Pull detached-signatures code into dirauth.
2018-10-01 10:46:00 -05:00
Nick Mathewson
2be35f4d61
Split microdescriptor parser into its own file.
2018-10-01 10:46:00 -05:00
Nick Mathewson
aff5bf5464
Remove addr_policy_assert_ok() as unused
2018-10-01 00:09:00 -05:00
Nick Mathewson
3100831762
Remove dump_distinct_digest_count()
...
It was disabled-by-default for ages, and it no longer compiles. I
think it's safe to call it obsolete.
2018-10-01 00:09:00 -05:00
Nick Mathewson
a77b2e984e
Remove router_get_dir_hash as unused.
2018-10-01 00:09:00 -05:00
Nick Mathewson
82f4d3ca75
Move v2 hs parsing into feature/rend
2018-10-01 00:09:00 -05:00
Nick Mathewson
430ca38f70
Split the authority-cert and signature/hash code from routerparse
2018-10-01 00:09:00 -05:00
Nick Mathewson
2f5dc48699
Extract the version-managing code from routerparse.c
...
Leave the versions.h include in routerparse.h for now; I'll remove
it later.
2018-10-01 00:04:58 -05:00
Nick Mathewson
fec3b3bb93
Extract logic for dumping unparseable junk from routerparse.c
2018-10-01 00:04:58 -05:00
Nick Mathewson
6785aa4010
Move routerparse and parsecommon to their own module.
2018-10-01 00:04:06 -05:00