aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-05-28Generate weird certificates correctlyNick Mathewson
(Our link protocol assumes that the link cert certifies the TLS key, and there is an RSA->Ed25519 crosscert)
2015-05-28Regenerate ed25519 keys when they will expire soon.Nick Mathewson
Also, have testing-level options to set the lifetimes and expiration-tolerances of all key types, plus a non-testing-level option to set the lifetime of any auto-generated signing key.
2015-05-28# This is a combination of 2 commits.Nick Mathewson
# The first commit's message is: Regenerate ed25519 keys when they will expire soon. Also, have testing-level options to set the lifetimes and expiration-tolerances of all key types, plus a non-testing-level option to set the lifetime of any auto-generated signing key. # The 2nd commit message will be skipped: # fixup! Regenerate ed25519 keys when they will expire soon.
2015-05-28Only load master ed25519 secret keys when we absolutely must.Nick Mathewson
2015-05-28Implement ed25519 identity collation for voting.Nick Mathewson
This is a new collator type that follows proposal 220 for deciding which identities to include. The rule is (approximately): If a <ed,rsa> identity is listed by more than half of authorities, include it. And include all <rsa> votes about that node as matching. Otherwise, if an <*,rsa> or <rsa> identity is listed by more than half of the authorities, and no <ed,rsa> has been listed, include it.
2015-05-28Refactor code that matches up routers with the same identity in votesNick Mathewson
This makes 'routerstatus collation' into a first-class concept, so we can change how that works for prop220.
2015-05-28Checkpoint some work on voting on ed25519 identitiesNick Mathewson
* Include ed25519 identities in votes * Include "no ed25519 identity" in votes * Include some commented-out code about identity voting. (This will disappear.) * Include some functions for identity voting (These will disappear.) * Enforce uniqueness in ed25519 keys within a vote
2015-05-28Enforce more correspondence between ri and eiNick Mathewson
In particular, they have to list the same ed25519 certificate, and the SHA256 digest of the ei needs to match.
2015-05-28Sign extrainfo documents with ed25519Nick Mathewson
Extrainfo documents are now ed-signed just as are router descriptors, according to proposal 220. This patch also includes some more tests for successful/failing parsing, and fixes a crash bug in ed25519 descriptor parsing.
2015-05-28Revise makedesc.py: teach it how to emit ed signatures and crosscertsNick Mathewson
Also, add a trivial ed25519-signed routerinfo to the tests.
2015-05-28Refactor link handshake cell type implementations to use trunnelNick Mathewson
Unit tests still pass.
2015-05-28Fix memory leaks in test_link_handshake.cNick Mathewson
2015-05-28Tests for AUTHENTICATE cell functionality.Nick Mathewson
2015-05-28Start testing cell encoders/processers for the v3 handshake.Nick Mathewson
An earlier version of these tests was broken; now they're a nicer, more robust, more black-box set of tests. The key is to have each test check a handshake message that is wrong in _one_ way.
2015-05-28Add trunnel-generated items for link handshake code.Nick Mathewson
This includes the link handshake variations for proposal220. We'll use this for testing first, and then use it to extend our current code to support prop220.
2015-05-28Include ed25519 keys in microdescriptors.Nick Mathewson
2015-05-28Fix the position-check for ed25519 certs to work with annotationsNick Mathewson
When there are annotations on a router descriptor, the ed25519-identity element won't be at position 0 or 1; it will be at router+1 or router-1. This patch also adds a missing smartlist function to search a list for an item with a particular pointer.
2015-05-28Tie key-pinning logic into directory authority operationNick Mathewson
With this patch: * Authorities load the key-pinning log at startup. * Authorities open a key-pinning log for writing at startup. * Authorities reject any router with an ed25519 key where they have previously seen that ed25519 key with a different RSA key, or vice versa. * Authorities warn about, but *do not* reject, RSA-only descriptors when the RSA key has previously gone along with an Ed25519 key. (We should make this a 'reject' too, but we can't do that until we're sure there's no legit reason to downgrade to 0.2.5.)
2015-05-28Key-pinning back-end for directory authorities.Nick Mathewson
This module implements a key-pinning mechanism to ensure that it's safe to use RSA keys as identitifers even as we migrate to Ed25519 keys. It remembers, for every Ed25519 key we've seen, what the associated Ed25519 key is. This way, if we see a different Ed25519 key with that RSA key, we'll know that there's a mismatch. We persist these entries to disk using a simple format, where each line has a base64-encoded RSA SHA1 hash, then a base64-endoded Ed25519 key. Empty lines, misformed lines, and lines beginning with a # are ignored. Lines beginning with @ are reserved for future extensions.
2015-05-28Implement proposal 228: cross-certification with onion keysNick Mathewson
Routers now use TAP and ntor onion keys to sign their identity keys, and put these signatures in their descriptors. That allows other parties to be confident that the onion keys are indeed controlled by the router that generated the descriptor.
2015-05-28Implement proposal 228: cross-certification with onion keysNick Mathewson
Routers now use TAP and ntor onion keys to sign their identity keys, and put these signatures in their descriptors. That allows other parties to be confident that the onion keys are indeed controlled by the router that generated the descriptor.
2015-05-28Implement ed25519-signed descriptorsNick Mathewson
Now that we have ed25519 keys, we can sign descriptors with them and check those signatures as documented in proposal 220.
2015-05-28prop220: Implement certificates and key storage/creationNick Mathewson
For prop220, we have a new ed25519 certificate type. This patch implements the code to create, parse, and validate those, along with code for routers to maintain their own sets of certificates and keys. (Some parts of master identity key encryption are done, but the implementation of that isn't finished)
2015-02-24Fix whitespace from tor_x509_cert renameNick Mathewson
2015-02-24Mechanical rename: tor_cert_t -> tor_x509_cert_tNick Mathewson
2015-02-24Merge remote-tracking branch 'origin/maint-0.2.6'Nick Mathewson
2015-02-24Add sections to changes files; please lintchangesNick Mathewson
2015-02-24Merge remote-tracking branch 'origin/maint-0.2.6'Nick Mathewson
2015-02-24Log less/better about systemd at startupNick Mathewson
Report errors if the notification fails; report success only if it succeeds; and if we are not notifying systemd because we aren't running with systemd, don't log at notice.
2015-02-24changes file for ticket 14950Nick Mathewson
2015-02-24Bump master to 0.2.7tor-0.2.7.0-rootNick Mathewson
2015-02-24Update test_status.c to accommodate changes in heartbeat messagesNick Mathewson
Fixes #15012; bug not in any released Tor
2015-02-23Merge branch 'bug14950_logs_squashed'Nick Mathewson
2015-02-23Avoid logging natural-language reports that are redundant with bootstrappingNick Mathewson
2015-02-23Usually downgrade middle heartbeat messages when stuff is in-rangeNick Mathewson
2015-02-23Merge branch 'bug14989'Nick Mathewson
2015-02-23Let AF_UNIX connections through the sandboxNick Mathewson
Fixes bug 15003; bugfix on 0.2.6.3-alpha.
2015-02-23Fix running with the seccomp2 sandboxNick Mathewson
We had a regression in 0.2.6.3-alpha when we stopped saying IPPROTO_TCP to socket(). Fixes bug 14989, bugfix on 0.2.6.3-alpha.
2015-02-23Merge remote-tracking branch 'public/bug14988_025'Nick Mathewson
2015-02-23add another unused-var marker in backtrace.c for 14988Nick Mathewson
2015-02-23changes file for 5246e8f99255b376ded3d90b3c7a345c4748e68cNick Mathewson
2015-02-23Remove lingering mempool codecypherpunks
2015-02-23Fix endianness issues in test_config_resolve_my_address().rl1987
Since resolve_my_address() yields IP address in host order there is no need to use byteorder functions for conversion.
2015-02-20Merge remote-tracking branch 'public/bug11454_11457'Nick Mathewson
2015-02-20Merge remote-tracking branch 'origin/maint-0.2.5'Nick Mathewson
2015-02-20Merge remote-tracking branch 'origin/maint-0.2.4' into maint-0.2.5Nick Mathewson
2015-02-19bump version to 0.2.6.3-alpha-devNick Mathewson
2015-02-19Adjust changelog to combine 3 sections about the same thingtor-0.2.6.3-alphaNick Mathewson
2015-02-19Pick a date (today)Nick Mathewson
2015-02-19Quiet "caching debian-tor for debian-tor" noticeNick Mathewson