aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | tor-netdoc: RouterSigEd25519::hash: Comment and assert re spaceIan Jackson2026-04-271-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | As discussed in https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3918#note_3401409
| * | | | tor-netdoc: Add a TODO re VerifyFailedIan Jackson2026-04-271-1/+1
| | | | |
* | | | | Merge branch 'embedded-cert' into 'main'Ian Jackson2026-04-2713-18/+706
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-netdoc: Introduce EmbeddedCert, and a demo of how to use it Closes #2485 See merge request tpo/core/arti!3922
| * | | | | tor-netdoc: Introduce `EmbeddedCert`Ian Jackson2026-04-274-0/+395
| | | | | | | | | | | | | | | | | | | | | | | | Fixes #2485.
| * | | | | Revert "tor-cert: Provide ed25519 cert decoding via TryFrom trait"Ian Jackson2026-04-272-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 68caf324a320fff1a4f0e9b0f5014a34d0e3729f.
| * | | | | tor-cert: Provide ed25519 cert decoding via tor-bytesIan Jackson2026-04-272-0/+8
| |/ / / / | | | | | | | | | | | | | | | | | | | | This is more sensible and will make the code in tor-netdoc less strange. We'll revert the TryFrom in a moment.
| * | | | tor-cert: Provide ed25519 cert encoding via tor-bytesIan Jackson2026-04-233-1/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement the Writeable trait. Explain why this approach is correct and leave a comment near the decoder (to avoid future changes making this implementation buggy) and a test case.
| * | | | tor-cert: Provide ed25519 cert decoding via TryFrom traitIan Jackson2026-04-232-0/+8
| | | | | | | | | | | | | | | | | | | | Otherwise we can't implement trait-based decoding in tor-netdoc.
| * | | | tor-cert: impl From<Ed25519Identity> for CertifiedKeyIan Jackson2026-04-232-1/+5
| | | | |
| * | | | tor-netdoc: Introduce RetainedOrderVec parse/encode typeIan Jackson2026-04-235-0/+51
| | | | |
| * | | | tor-netdoc: Expose B16 types and FixedB64 (fmt)Ian Jackson2026-04-231-1/+1
| | | | |
| * | | | tor-netdoc: Expose B16 types and FixedB64Ian Jackson2026-04-232-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | Somehow FixedB64 was not reachable previously, but this wasn't detected by the compiler despite it being `pub`.
| * | | | tor-netdoc: impl conversions from tor-checkable errors to VerifyFailedIan Jackson2026-04-232-0/+18
| | | | |
| * | | | tor-netdoc: impl ItemValueEncodable for RouterSigEd25519Ian Jackson2026-04-231-1/+2
| | | | |
| * | | | tor-netdoc: impl ItemArgumet for ed25519::SignatureIan Jackson2026-04-232-1/+10
| | | | |
| * | | | tor-neteoc: RouterSigEd25519: Implement encode_signIan Jackson2026-04-231-0/+60
| | | | |
| * | | | tor-neteoc: RouterSigEd25519: break out hashIan Jackson2026-04-231-6/+15
| | | | | | | | | | | | | | | | | | | | We're going to need this for encoding too.
| * | | | tor-neteoc: de-cfg-gate routerdesc signaturesIan Jackson2026-04-231-2/+0
| | | | |
| * | | | tor-netdoc: RouterSignature: Add a TODO about maybe deduplicationIan Jackson2026-04-231-0/+1
| | | | |
| * | | | tor-netdoc: RouterSigEd25519: Add a TODO about maybe standardisationIan Jackson2026-04-231-0/+2
| | | | |
| * | | | tor-netdoc: Add RouterDescSignatures typeClara Engler2026-04-232-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | This commit implements the RouterDescSignatures type that carries the signatures for the yet to be derived RouterDescUnverified.
| * | | | tor-netdoc: Add RouterSigEd25519 typeClara Engler2026-04-232-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | This commit adds RouterSigEd25519 as a type to misc.rs for use in router descriptor signatures.
| * | | | tor-netdoc: Add RouterDescSignature typeClara Engler2026-04-232-1/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds RouterDescSignature to types, which implements SignatureItemParseable manually in order to also include the Ed25519 signature.
| * | | | tor-netdoc: Add RouterHashAccuClara Engler2026-04-232-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds a hash accumulator for router descriptor signature hashes. We will need this because router descriptors have overlapping signatures.
| * | | | tor-netdoc: de-cfg-gate the types/misc/routerdesc moduleIan Jackson2026-04-232-2/+0
| | | | | | | | | | | | | | | | | | | | Part of #2492 phase 2.
| * | | | tor-netdoc: types/misc.rs: routerdesc: use super::*Ian Jackson2026-04-231-8/+1
| | | | | | | | | | | | | | | | | | | | | | | | | This avoids much repetition (and consequent conflicts as code is added).
| * | | | tor-netdoc: Better error message for failure to implement encoding traitIan Jackson2026-04-231-1/+1
| | | | |
* | | | | Merge branch 'netdoc-features-p2' into 'main'Ian Jackson2026-04-2710-156/+80
|\| | | | | |_|/ / |/| | | | | | | | | | | tor-netdoc: Un-cfg much parse2 and encode See merge request tpo/core/arti!3915
| * | | tor-netdoc: Gate authcert/encoded.rs and poc behind incomplete and ↵Ian Jackson2026-04-233-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | plain-consensus "incomplete" is correct since encoded authcert depends on votes. "plain-consensus" is going backwards, but stripping "plain-consensus" gates from everything will be very intrusive.
| * | | tor-netdoc: Un-gate BASE64_PEM_MAX_LINEIan Jackson2026-04-231-1/+0
| | | |
| * | | tor-netdoc: Tidy use's in authcert.rsIan Jackson2026-04-231-9/+5
| | | |
| * | | tor-netdoc: Un-gate parse2 and encode in authcert.rsIan Jackson2026-04-231-31/+5
| | | |
| * | | tor-netdoc: types/misc.rs: un-gate two helper methodsIan Jackson2026-04-231-2/+0
| | | |
| * | | tor-netdoc: types/misc.rs: abolish a now-unneeded block in a testIan Jackson2026-04-231-26/+23
| | | |
| * | | tor-netdoc: types/misc.rs: tidy preivously cfg'd use'sIan Jackson2026-04-231-31/+25
| | | |
| * | | tor-netdoc: Remove much cfg in types/misc.rsIan Jackson2026-04-231-47/+14
| | | | | | | | | | | | | | | | | | | | Unconditionally enable everything previously gated with parse2 or encode.
| * | | tor-netdoc: Un-gate parse2 and encode coreIan Jackson2026-04-233-5/+0
| | | |
| * | | tor-netdoc: Make rand dependency unconditionalIan Jackson2026-04-231-4/+4
| |/ / | | | | | | | | | | | | | | | Part of #2492. We're going to make encode unconditional, and remove all the cfg-gates for it. Code currently gated by encode depends on rand.
* | | Merge branch 'rsa-identity-to-bytes' into 'main'Clara Engler2026-04-231-0/+5
|\ \ \ | | | | | | | | | | | | | | | | tor-llcrypto: Add RsaIdentity::to_bytes() See merge request tpo/core/arti!3916
| * | | tor-llcrypto: Add RsaIdentity::to_bytes()Clara Engler2026-04-231-0/+5
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds .to_bytes() to RsaIdentity which is similar to .as_bytes() except that it returns the RsaIdentity as a byte array. We are going to need this at a few places in tor-dirserver. The naming was inspired from x25519-dalek which has similar .as_bytes() and .to_bytes() methods. Besides, copying 20 bytes shall be okay and it avoids having to write ugly try_into() constructs.
* | | proto: Wrap PeerInfo in Arc<>Gabriela Moldovan2026-04-233-9/+9
| | | | | | | | | | | | | | | | | | To avoid copying the same information for every circuit, as suggested by @opara in https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3906#note_3399497
* | | safelog: Add new MaybeSensitive::map() functionGabriela Moldovan2026-04-231-0/+15
| | | | | | | | | | | | | | | This is analogous to `Option::map()`, and can be useful when you need to map the inner type of a `MaybeSensitive` to another type.
* | | proto: Avoid collecting the chan identities in RelayIdSetGabriela Moldovan2026-04-231-10/+2
| | | | | | | | | | | | | | | It doesn't make sense to do so, as pointed out by @opara in https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3906#note_3398956
* | | proto: Apply deferred rustfmtGabriela Moldovan2026-04-231-5/+2
| | |
* | | proto: Remove expect(unused) from channel PeerInfoGabriela Moldovan2026-04-231-1/+0
| | | | | | | | | | | | This is used in the relay circuit reactor.
* | | proto: Build the PeerInfo from the dummy target in the testsGabriela Moldovan2026-04-231-5/+14
| | | | | | | | | | | | | | | The new relay circuit reactor test expect the `PeerInfo` to be populated with the identity keys of the peer, and won't work without this change.
* | | proto: Use PeerInfo in the extend handlerGabriela Moldovan2026-04-232-3/+4
| | | | | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3906#note_3397922
* | | proto: Add an accessor for the PeerInfo of a channelGabriela Moldovan2026-04-231-0/+6
| | |
* | | proto: Add test ensuring we won't extend to the previous hopGabriela Moldovan2026-04-231-1/+43
| | |
* | | proto: Reject EXTEND2 targeting the previous hop in the circuitGabriela Moldovan2026-04-231-1/+13
| | | | | | | | | | | | | | | | | | | | | The relay reactor will now reject any EXTEND2 that tries to extend the circuit to a hop that shares any identities with our previous hop. Closes #2415