aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | proto: Extract inline helpers into struct itselfDavid Goulet2026-03-191-40/+46
| |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move two inline functions located in UnverifiedChannel::check_internal() into the UnverifiedChannel object itself. Laying down the ground work for the more specialized objects to use those as the check_internal() is about to get massively refactored into more specific channel types. Signed-off-by: David Goulet <[email protected]>
* | | | Merge branch 'update-geoip' into 'main'Alexander Hansen Færøy2026-03-192-66298/+422637
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | tor-geoip: Update geoip manually See merge request tpo/core/arti!3793
| * | | | tor-geoip: Update geoip manuallyClara Engler2026-03-192-66298/+422637
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit updates the geoip database manually using the infrastructure from the Tor repository, mainly because the database has last been refreshed about 3 years ago. Of course we should embed this into the Arti release process, but because the location database format is non-trivial, this might take a bit longer to implement and in the VPN project we are currently facing bugs that might be related to an outdated geoip database.
* | | | tor-netdoc: signature orderliness: add some xrefsIan Jackson2026-03-192-1/+6
| | | |
* | | | tor-netdoc: signature ordering: discuss an alternative impl approachIan Jackson2026-03-191-0/+3
| | | | | | | | | | | | | | | | Suggested-by: Clara Engler <[email protected]>
* | | | tor-netdoc: signature orderliness: orderly signs don't cover other sigsIan Jackson2026-03-191-0/+1
| | | | | | | | | | | | | | | | | | | | This is implied by `body` being the body before the first signature item, but needs to be part of the definition.
* | | | tor-netdoc: signature orderliness: shuffle wording slightlyIan Jackson2026-03-191-1/+1
| | | |
* | | | tor-netdoc: signature orderliness: change terminologyIan Jackson2026-03-192-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | "Regular" is confusing, especially since in American English it tends to mean "usual" - whereas, there are no orderly signatures in Tor netdocs.
* | | | tor-netdoc: NetdocParseableSignatures: discuss orderingIan Jackson2026-03-191-0/+44
| | | |
* | | | tor-netdoc: Apply deferred rustfmt churn to importsIan Jackson2026-03-193-7/+7
| | | |
* | | | tor-netdoc: encoding: Plan for encoding signed documentsIan Jackson2026-03-191-0/+23
| | | |
* | | | tor-netdoc: parse2: Add some navigational commentsIan Jackson2026-03-191-1/+64
| | | | | | | | | | | | | | | | I have been losing my way in this file a lot. This may help.
* | | | tor-netdoc: parse2: Include body length in SignaturesDataIan Jackson2026-03-192-0/+5
| | | | | | | | | | | | | | | | | | | | This could allow users to attach and detach signatures, hash (only) the body part, etc.
* | | | tor-netdoc: parse2: Don't impl NetdocParseable for bodies of signed docsIan Jackson2026-03-196-16/+105
| | | | | | | | | | | | | | | | Such an impl is a footgun. Explain this in docs & comments.
* | | | tor-netdoc: parse2: Don't impl NetdocParseable for bodies of signed docs ↵Ian Jackson2026-03-192-4/+11
| | | | | | | | | | | | | | | | (pre-fmt)
* | | | tor-netdoc: authcert test: Avoid using NetdocParseable for AuthCertIan Jackson2026-03-191-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We want to stop deriving NetdocParseable directly for body structs. This test case does in fact parse a signed authcert and extract just the body without verifying the signatures. That's fine in a test, but we're going to make it involve some hoop-jumping. So, jump those hoops.
* | | | tor-dirserver: Avoid using NetdocParseable for consensusesIan Jackson2026-03-191-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We want to stop deriving NetdocParseable directly for body structs. Doing so reveals a call site here in tor-dirmirror where a consensus is parsed and the body data used, but without verifying the signatures. Do this explicitly with the hoop-jumping which is going to become deliberately unavoidable. Add a TODO comment because I'm not sure we have decided explicitloy that this is OK.
* | | | tor-dirserver: Avoid using NetdocParseable for consensuses (prep)Ian Jackson2026-03-191-4/+10
| | | | | | | | | | | | | | | | Formatting changes which make the next commit more readable.
* | | | tor-netdoc: parse2: Unify top-level derive as NetdocUParseablenverifiedIan Jackson2026-03-195-37/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace the two separate NetdocParseable and NetdocUnverified derives, for toplevel signed documents, with a single derive. This makes the derive API simpler. It will also make it reasonably possible to avoid deriving NetdocParseable directly for body structs. Such impls are a security hazard! In detail: * Rename NetdocUnverified to NetdocParseableUnverified * Have it use $IMPL_NETDOC_PARSEABLE from the NetdocParseable deftly module so that it derives NetdocParseable for the body. (We'll change this later in the series.) * Adjust the docs and all call sites.
* | | | tor-netdoc: parse2: Break out IMPL_NETDOC_PARSEABLE in a deftly moduleIan Jackson2026-03-191-161/+175
| | | | | | | | | | | | | | | | | | | | We are going to want to reuse this parsing implementation in another top-level deftly template.
* | | | tor-netdoc: parse2: Move hash out of signature items (fmt)Ian Jackson2026-03-191-17/+19
| | | | | | | | | | | | | | | | | | | | Run rustfmt and selectively apply the hunks that are relevant to the previous commit.
* | | | tor-netdoc: parse2: Move hash out of signature itemsIan Jackson2026-03-1912-84/+264
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During encoding, including these hashes in the signature items makes no sense. The hashes are an *input* to the signature items, but not part of them. Move the hashes out of the items. Instead, provide each signatures section type with a hash accumulator type, in which the hash(es) are stored.
* | | | tor-netdoc: parse2: Move hash out of signature items (prep)Ian Jackson2026-03-193-13/+22
| | | | | | | | | | | | | | | | | | | | Nonfunctional and formatting changes which reduce noise in the next commit.
* | | | tor-netdoc: parse2: SignatureHashInputs: Include document so farIan Jackson2026-03-192-0/+5
| | | |
* | | | tor-netdoc: parse2: Introduce SignatureData structIan Jackson2026-03-199-34/+59
| | | | | | | | | | | | | | | | This is going to contain body information, and the hashes, too.
* | | | tor-netdoc: NetdocParseableSignatures: Make into its own traitIan Jackson2026-03-195-23/+26
| | | |
* | | | tor-netdoc: NetdocParseableSignatures: Make into its own macroIan Jackson2026-03-195-32/+125
| | | | | | | | | | | | | | | | | | | | | | | | This is going to be its own trait and it is usually best if macros are named after traits, rather than having the macro derive a different trait depending on meta attributes.
* | | | tor-netdoc: Add VerifyFailed::BugIan Jackson2026-03-191-0/+3
| | | | | | | | | | | | | | | | | | | | We're going to want this for cases where the hash computation machinery didn't DTRT.
* | | | tor-netdoc: Provide AsMutSelf derive macroIan Jackson2026-03-192-1/+43
| | | | | | | | | | | | | | | | We're going to want this for sets of netdoc signature hashes.
* | | | tor-netdoc: parse2 derive: break out INIT_ACCUMULATE_VARSIan Jackson2026-03-191-17/+25
| | | | | | | | | | | | | | | | For reuse when we split up the NetdocParseable derive.
* | | | tor-netdoc: parse2: netstatus poc: Improve docs slightlyIan Jackson2026-03-191-0/+3
| | | |
* | | | tor-netdoc: parse2: Give reference to what a Regular signature isIan Jackson2026-03-191-0/+2
| | | | | | | | | | | | | | | | But, all signatures in the current protocol are irregular :-/.
* | | | tor-netdoc: parse2: Fix an error messageIan Jackson2026-03-191-1/+1
|/ / /
* | | chanmgr: Add a comment/TODO about channel expiryDavid Goulet2026-03-181-0/+16
| | | | | | | | | | | | Signed-off-by: David Goulet <[email protected]>
* | | chanmgr: Support reconfigure of unauthenticated channelsDavid Goulet2026-03-181-5/+8
| | | | | | | | | | | | Signed-off-by: David Goulet <[email protected]>
* | | chanmgr: Use the unauth_channels listDavid Goulet2026-03-181-7/+12
| | | | | | | | | | | | | | | | | | Put channel without relay identities in the unauth_channels list. Signed-off-by: David Goulet <[email protected]>
* | | chanmgr: Add a list of unauthenticated channelsDavid Goulet2026-03-181-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Needed to handle client/bridge -> relay channels which are not authenticated meaning they don't have a RelayIds so they can't be put in the ListByRelayIds<>. Feature gate it to "relay" as a client will never have those kind of channels. Signed-off-by: David Goulet <[email protected]>
* | | Merge branch 'http-connect-outbound-rebased' into 'main'Nick Mathewson2026-03-187-75/+636
|\ \ \ | | | | | | | | | | | | | | | | Http connect outbound rebased See merge request tpo/core/arti!3789
| * | | cargo fmtNihal2026-03-181-6/+9
| | | |
| * | | tor-chanmgr: add loopback validation, startup warning and httparseNihal2026-03-185-176/+333
| | | |
| * | | tor-chanmgr: split handshake into helper functionsNihal2026-03-181-14/+47
| | | |
| * | | tor-chanmgr: fix type inference in handshakeNihal2026-03-182-6/+6
| | | |
| * | | tor-chanmgr: refactor handshake into helper functionsNihal2026-03-181-30/+53
| | | |
| * | | tor-chanmgr: add base64ct dependency and docsNihal2026-03-183-8/+18
| | | |
| * | | tor-chanmgr: implement HTTP CONNECT proxy handshake and wire transportNihal2026-03-182-20/+186
| | | |
| * | | tor-chanmgr: add ProxyProtocol::HttpConnect variant and URI parsingNihal2026-03-181-36/+205
| | | |
* | | | Merge branch 'extra-info' into 'main'Clara Engler2026-03-183-1/+138
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | tor-dirclient: Support for extra-info requests See merge request tpo/core/arti!3764
| * | | | tor-netdoc: Add TODO wrt double definitionClara Engler2026-03-181-0/+1
| | | | |
| * | | | tor-dirclient: Add TODO wrt Default for requestsClara Engler2026-03-181-0/+2
| | | | |
| * | | | tor-netdoc: Properly export ExtraInfoDigestClara Engler2026-03-121-0/+3
| | | | |