summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | tor-netdoc: Constructor: Use $/// deftly featureIan Jackson2026-04-011-30/+27
| | | | | | | | | | | | | | | | | | | | No change to the generated docs.
* | | | | tor-netdoc: parse2 derive: Use $/// deftly feature in a few placesIan Jackson2026-04-011-4/+4
|/ / / / | | | | | | | | | | | | No change to the generated docs.
* | | | Merge branch 'ticket_2428' into 'main'Nick Mathewson2026-04-014-16/+19
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prefer runtime.now/wallclock to SystemTime/Instant::now, when available. Closes #2428 See merge request tpo/core/arti!3845
| * | | | proto: Take current time as an argument when constructing padder.Nick Mathewson2026-03-312-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we'd get the time by calling Instant::now, but that would lead to a mismatch with the runtime if we were mocking. Part of #2428.
| * | | | circmgr: Use runtime.now() in place of Instant/SystemTime::get().Nick Mathewson2026-03-312-9/+7
| | | | | | | | | | | | | | | | | | | | Part of #2428.
* | | | | Merge branch 'encode-authcert' into 'main'Ian Jackson2026-04-0117-179/+477
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | tor-netdoc: encoding and signing of authcerts See merge request tpo/core/arti!3851
| * | | | | tor-netdoc: RsaSha1Signature::new_sign_netdoc: rename argumentIan Jackson2026-04-011-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3851#note_3388076
| * | | | | tor-netdoc: Gate encode_sign on plain-consensus featureIan Jackson2026-04-011-1/+4
| | | | | |
| * | | | | tor-netdoc: Include rand dependency when encodeIan Jackson2026-04-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes build with nailing-cargo test -p tor-netdoc --no-default-features --features encode
| * | | | | tor-netdoc: encode: Move various ItemArgument impls to impls.rsIan Jackson2026-04-012-64/+68
| | | | | |
| * | | | | tor-netdoc: Abolish poc::authcertIan Jackson2026-04-015-10/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was just some type aliases. Put them in the poc files that used them. (These type aliases are undesirable but we aren't cleaning them up because the whole of poc is destined for deletion.)
| * | | | | tor-netdoc: Replace AuthCert::verify_selfcert implIan Jackson2026-04-012-47/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Get rid of the version in poc. Instead, implement the same functionality in terms of AuthCert::verify, outside poc.
| * | | | | tor-netdoc: authcert: Test encoding and signing methodIan Jackson2026-04-011-0/+43
| | | | | |
| * | | | | tor-netdoc: authcert: Provide encoding and signing methodIan Jackson2026-04-011-1/+26
| | | | | |
| * | | | | tor-netdoc: RsaSha1Signature: Provide signing methodIan Jackson2026-04-011-0/+82
| | | | | |
| * | | | | tor-netdoc: Provide `new` methods for CrossCert and AuthCertIan Jackson2026-04-011-0/+60
| | | | | |
| * | | | | tor-netdoc: Turn AuthCertSignature into RsaSignatureIan Jackson2026-04-013-26/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are in fact just a completely normal RSA signature like in the spec! Move the type to the types module, and rename it. Leave a compatibility alias.
| * | | | | tor-netdoc: derive enncoding for AuthCert, AuthCertSignature[s]Ian Jackson2026-04-011-2/+5
| | | | | |
| * | | | | tor-netdoc: implement encoding function for raw_data_objectIan Jackson2026-04-011-1/+10
| | | | | |
| * | | | | tor-netdoc: Move raw_data_object to new container moduleIan Jackson2026-04-015-12/+20
| | | | | | | | | | | | | | | | | | | | | | | | This will allow us to use it for encoding as well as parsing.
| * | | | | tor-netdoc: impl encoding traits for authcert cross-cert typesIan Jackson2026-04-011-1/+19
| | | | | |
| * | | | | tor-netdoc: impl encoding traits for rsa::PublicKeyIan Jackson2026-04-012-0/+28
| | | | | |
| * | | | | tor-netdoc: Provide ItemEncoder::text_sofar()Ian Jackson2026-04-012-0/+6
| | | | | |
| * | | | | tor-netdoc: Provide ItemEncoder::object() taking an ItemObjectEncodableIan Jackson2026-04-013-0/+18
| | | | | |
| * | | | | tor-netdoc: impl From<RsaIdentity> for the fingerprint typesIan Jackson2026-04-012-4/+9
| | | | | |
| * | | | | tor-netdoc: encode derive: Fix handling of optionality.Ian Jackson2026-04-011-7/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We mustn't use selector.selector() because that's for multiplicity, not optionality. In pracctice, it goes wrong with Vec<u8>.
| * | | | | tor-netdoc: encode derive: Use paste_spanned to improve an error messageIan Jackson2026-04-011-1/+3
| | | | | |
| * | | | | tor-netdoc: Fix a wrong "what does this end" commentIan Jackson2026-04-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This was a c&p error, I think.
| * | | | | tor-netdoc: authcert: Debug CrossCertObject in hexIan Jackson2026-04-011-1/+3
| | | | | |
| * | | | | tor-netdoc: Constructor: Fix it so it actually worksIan Jackson2026-04-012-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The hidden __non_exhaustive field has to be pub. And, fix the use site, currently AuthCert.
| * | | | | tor-netdoc: encode: re-export netdoc_ordering_check for macrosIan Jackson2026-04-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Otherwise deriving NetdocEncodable doesn't work outside this crate.
| * | | | | tor-netdoc: encode derive: Use $P for ResultIan Jackson2026-03-311-1/+1
| | | | | |
| * | | | | tor-netdoc: Fix typo in doc commentIan Jackson2026-03-311-1/+1
| | |_|_|/ | |/| | |
* | | | | Merge branch 'relay-crypto-dep' into 'main'David Goulet2026-04-011-5/+11
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | proto: Make tor-relay-crypto an optional dependency Closes #2450 See merge request tpo/core/arti!3848
| * | | | | proto: Run cargo-sortGabriela Moldovan2026-04-011-3/+3
| | | | | |
| * | | | | proto: Make tor-relay-crypto an optional dependency (fmt)Gabriela Moldovan2026-04-011-1/+7
| | | | | |
| * | | | | proto: Make tor-relay-crypto an optional dependencyGabriela Moldovan2026-04-011-2/+2
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | We only need this for `relay` builds. Closes #2450
* | | | | arti-relay: Remove no-longer needed implsGabriela Moldovan2026-04-012-26/+5
| | | | | | | | | | | | | | | | | | | | | | | | | The specifiers are local to the crate, so we don't need the `valid_until` accessors anymore.
* | | | | arti-relay: Make the key specifiers pub(crate)Gabriela Moldovan2026-04-011-14/+14
| | | | | | | | | | | | | | | | | | | | These no longer need to be `pub` now that they're in `arti-relay`.
* | | | | arti-relay: Move all key specifiers to a new keys module (fmt)Gabriela Moldovan2026-04-012-17/+13
| | | | |
* | | | | arti-relay: Move all key specifiers to a new keys moduleGabriela Moldovan2026-04-015-328/+334
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This extracts the key specifier types out of `tor-relay-crypto`, which * makes the code layout consistent with the hidden service crates (the key specifiers are defined in a `keys` module in `tor-hsservice`, while the key wrapper types live in `tor-hscrypto::pk`) * helps reduce the API surface: the key specifiers are only used in `arti-relay`, so we can move them there and make them `pub(crate)` instead of `pub`
* | | | | relay-crypto: Make the certs module non-pubGabriela Moldovan2026-04-011-1/+1
| | | | | | | | | | | | | | | | | | | | This doesn't really need to be public.
* | | | | proto: Add key specifier types for the ntor keysGabriela Moldovan2026-04-011-0/+31
|/ / / / | | | | | | | | | | | | Part of #2451
* | | | Merge branch 'authcert-encode-prep' into 'main'Ian Jackson2026-03-319-28/+32
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | tor-netdoc: Renamings preparatory to authcert encoder See merge request tpo/core/arti!3826
| * | | | tor-netdoc: Rename `AuthCertUnverified::verify_self_signed`Ian Jackson2026-03-314-16/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This method verifies all the signatures, and checks that the signing authority is in the provided list. Anyway, authcerts aren't really self-signed: they're a signature by KS_auth_id_rsa on KP_auth_sign_rsa. Note that there is also a `verify_selfcert` method which does only some of the checks, and has some code duplication. That will be cleaned up later.
| * | | | tor-netdoc: encoder: Rename .object() method to .object_bytesIan Jackson2026-03-316-12/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the introduction of the derives for document encoding, we now have a trait ItemObjectEncodable. We will want a method on ItemEncoder that takes an ItemObjectEncodable, and that should be called `object` since it's a better approach than working ad-hoc with tor_bytes::Writeable. (For example, an ItemObjectEncodable knows its own label.) So, rename `object` to `object_bytes`.
* | | | | Merge branch 'deps-wasm' into 'main'David Goulet2026-03-311-1/+1
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | Update getrandom dependeency See merge request tpo/core/arti!3837
| * | | | Update getrandom dependeencyIan Jackson2026-03-311-1/+1
| | | | |
* | | | | Merge branch 'fixes_mr3791' into 'main'David Goulet2026-03-3116-469/+613
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | Address post-merge comments from nickm's review in mr 3791 See merge request tpo/core/arti!3802
| * | | | proto: Add debug_assert_eq() when building AuthenticateDavid Goulet2026-03-301-0/+4
| | | | | | | | | | | | | | | | | | | | Signed-off-by: David Goulet <[email protected]>