mirror repository of the tor core protocol in case of issues
Go to file
David Goulet 2f6bc74914 router: Keep RSA onion public key in ASN.1 format
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-29 15:01:38 -04:00
changes Merge remote-tracking branch 'teor/travis-osx-master' 2018-08-21 20:04:13 -04:00
contrib Update version to 0.3.4.6-rc-dev 2018-08-07 20:15:34 -04:00
doc Merge branch 'pr275_squashed' 2018-08-16 08:43:05 -04:00
m4 Replace obsolete macros with modern equivalents 2016-12-23 10:34:11 -05:00
scripts Merge remote-tracking branch 'teor/bug26979' 2018-07-31 08:26:15 -04:00
src router: Keep RSA onion public key in ASN.1 format 2018-08-29 15:01:38 -04:00
.appveyor.yml Appveyor configuration files. 2018-05-22 09:56:33 -04:00
.editorconfig Add .editorconfig to follow coding standards style 2018-06-17 19:24:40 -04:00
.gitignore Update .gitignore 2018-07-08 15:13:33 +02:00
.gitlab-ci.yml Fix spelling mistakes corresponding to ticket #23650 2018-02-07 10:41:57 -05:00
.gitmodules Update the .gitmodules to refer to project-level tor-rust-dependencies 2018-02-21 11:53:04 -05:00
.travis.yml Merge branch 'travis-osx-033' into travis-osx-034 2018-08-10 19:06:45 +10:00
acinclude.m4 Update copyrights to 2018. 2018-06-20 08:13:28 -04:00
autogen.sh Report errors when updating configuration files 2016-12-23 10:35:26 -05:00
ChangeLog Forward-port the 0.3.4.6-rc changelog 2018-08-07 20:09:35 -04:00
CODE_OF_CONDUCT Add CODE_OF_CONDUCT file 2018-07-05 11:22:33 +03:00
config.rust.in Use a rust build script to set linker options correctly for tests. 2018-06-19 12:01:13 -04:00
configure.ac Merge branch 'maint-0.3.3' into maint-0.3.4 2018-08-15 12:20:57 -04:00
CONTRIBUTING Add CODE_OF_CONDUCT file 2018-07-05 11:22:33 +03:00
Doxyfile.in Fix everything that previously referred to src/or 2018-07-05 17:15:50 -04:00
INSTALL Remove old instructions from INSTALL 2018-07-03 16:34:52 +03:00
LICENSE Add the compatibility definition for getdelim.c from netbsd. 2018-07-10 10:14:24 -04:00
link_rust.sh.in Allow spaces in CCLD in linker.sh 2018-06-20 19:17:29 -04:00
Makefile.am add make check-rustfmt 2018-08-16 08:42:57 -04:00
Makefile.nmake Clean up the MVSC nmake files so they work again. 2014-09-09 10:27:05 -04:00
README doc: Put the release timeline link in README 2017-11-08 10:44:00 -05:00
ReleaseNotes forward-port the changelog stanzas to 0.3.5 too 2018-07-12 21:52:54 -04:00

Tor protects your privacy on the internet by hiding the connection
between your Internet address and the services you use. We believe Tor
is reasonably secure, but please ensure you read the instructions and
configure it properly.

To build Tor from source:
        ./configure && make && make install

To build Tor from a just-cloned git repository:
        sh autogen.sh && ./configure && make && make install

Home page:
        https://www.torproject.org/

Download new versions:
        https://www.torproject.org/download/download.html

Documentation, including links to installation and setup instructions:
        https://www.torproject.org/docs/documentation.html

Making applications work with Tor:
        https://wiki.torproject.org/projects/tor/wiki/doc/TorifyHOWTO

Frequently Asked Questions:
        https://www.torproject.org/docs/faq.html


To get started working on Tor development:
        See the doc/HACKING directory.

Release timeline:
         https://trac.torproject.org/projects/tor/wiki/org/teams/NetworkTeam/CoreTorReleases