summaryrefslogtreecommitdiff
path: root/src/feature/relay
AgeCommit message (Collapse)Author
2018-08-29Merge branch 'ticket27246_035_01_squashed'Nick Mathewson
2018-08-29router: Keep RSA onion public key in ASN.1 formatDavid Goulet
The OpenSSL "RSA" object is currently 408 bytes compares to the ASN.1 encoding which is 140 for a 1024 RSA key. We save 268 bytes per descriptor (routerinfo_t) *and* microdescriptor (microdesc_t). Scaling this to 6000 relays, and considering client usually only have microdescriptors, we save 1.608 MB of RAM which is considerable for mobile client. This commit makes it that we keep the RSA onion public key (used for TAP handshake) in ASN.1 format instead of an OpenSSL RSA object. Changes is done in both routerinfo_t and microdesc_t. Closes #27246 Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-08-22key: Make ed_key_init_from_file() take an or_options_tDavid Goulet
Part of #27215, we need to call the ed_key_init_from_file function during option_validate() which is before the global_options variable is set. This commit make ed_key_init_from_file() stop using get_options() and instead now has a or_options_t parameter. Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-08-11Merge remote-tracking branch 'tor-github/pr/268'Nick Mathewson
2018-08-10Merge remote-tracking branch 'tor-github/pr/239'Nick Mathewson
2018-08-08Print stacktrace when crypto_pk_get_digest() fails in ↵rl1987
router_build_fresh_descriptor()
2018-08-08Consider all routerinfo errors other than "not a server" transientrl1987
2018-07-26Early bailout from log_addr_has_changed() if running as clientrl1987
2018-07-17Teach the OOM handler about the DNS cacheNeel Chauhan
2018-07-16Add and use dns_cache_total_allocation()Neel Chauhan
2018-07-09Merge branch 'maint-0.3.4'Nick Mathewson
2018-07-05Whoops. Protover.[ch] belong in src/core/orNick Mathewson
2018-07-05Fix every include path changed in the previous commit (automated)Nick Mathewson
I am very glad to have written this script.
2018-07-05Move literally everything out of src/orNick Mathewson
This commit won't build yet -- it just puts everything in a slightly more logical place. The reasoning here is that "src/core" will hold the stuff that every (or nearly every) tor instance will need in order to do onion routing. Other features (including some necessary ones) will live in "src/feature". The "src/app" directory will hold the stuff needed to have Tor be an application you can actually run. This commit DOES NOT refactor the former contents of src/or into a logical set of acyclic libraries, or change any code at all. That will have to come in the future. We will continue to move things around and split them in the future, but I hope this lays a reasonable groundwork for doing so.