summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | | | tor-proto: change an error to `NotConnected`Steven Engler2026-03-291-3/+7
| | |_|_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Returning `CircuitClosed` isn't right here since the circuit may not have closed.
* | | | | | | | Merge branch 'deftly-quoted' into 'main'Ian Jackson2026-04-0710-44/+44
|\ \ \ \ \ \ \ \ | |_|_|_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | tor-netdoc: Use new unquoted meta syntax for deftly attributes See merge request tpo/core/arti!3856
| * | | | | | | tor-netdoc: parse2/encode derive: Use unquoted attributes at call sitesIan Jackson2026-04-076-18/+18
| | | | | | | |
| * | | | | | | tor-netdoc: parse2/encode derive: Show unquoted attributes in the docsIan Jackson2026-04-073-11/+11
| | | | | | | |
| * | | | | | | tor-netdoc: parse2/encode derive: Use meta_quoted rigorousIan Jackson2026-04-073-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `doctype_for_error` attribute needs immediate adjustment, because a string expression value is expected. With `quoted retain`, that would be re-interpreted, silently. This kind of thing is why `quoted rigorous` exists. So change its docs and the one use site. The macros' docs, and the other calls ites, we'll deal with shortly.
| * | | | | | | tor-netdoc: Constructor derive: Use meta_quoted rigorousIan Jackson2026-04-072-4/+4
|/ / / / / / /
* | | | | | | Merge branch 'chutney-enable-hs' into 'main'David Goulet2026-04-076-8/+45
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | chutney CI: add hidden services See merge request tpo/core/arti!3858
| * | | | | | | chutney CI: add hidden servicesJim Newsome2026-04-022-1/+23
| | | | | | | |
| * | | | | | | CI: bump chutneyJim Newsome2026-04-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Primarily to get recent improvements to bootstrap checking and reporting.
| * | | | | | | NetDir::pick_relay: add a little more info to error reportsJim Newsome2026-04-021-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In particular to help debug arti#1907
| * | | | | | | NetDir::pick_relay: add some trace loggingJim Newsome2026-04-021-1/+6
| | | | | | | |
| * | | | | | | hsdir_params: add debug log when we fall back to disaster paramsJim Newsome2026-04-021-2/+4
| | | | | | | |
| * | | | | | | tor-hsclient: include period metadata in trace log messageJim Newsome2026-04-021-1/+2
| | | | | | | |
| * | | | | | | chutney test: enable loggingJim Newsome2026-04-021-0/+2
| | | | | | | |
* | | | | | | | Merge branch 'circ-leg-warn' into 'main'gabi-2502026-04-071-1/+1
|\ \ \ \ \ \ \ \ | |_|_|_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | tor-proto: Lower log level of "removing circuit leg" See merge request tpo/core/arti!3859
| * | | | | | | tor-proto: lower log level of "removing circuit leg"Steven Engler2026-04-061-1/+1
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | This appears often in the arti logs, but is a normal thing to happen.
* | | | | | | Merge branch 'stream-close' into 'main'opara2026-04-021-6/+12
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-proto: Allow sending DATA cells on closed streams Closes #2434 See merge request tpo/core/arti!3824
| * | | | | | tor-proto: allow sending DATA cells on closed streamsSteven Engler2026-03-291-6/+12
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | Previously we would close the circuit, which isn't great because there can be other streams in use on the circuit.
* | | | | | Merge branch 'microdescs2' into 'main'Ian Jackson2026-04-0214-182/+729
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Microdescriptor parsing using parse2 See merge request tpo/core/arti!3797
| * | | | | | tor-netdoc: Add TODO to test ignoringClara Engler2026-04-021-0/+1
| | | | | | |
| * | | | | | tor-netdoc: Disable broken test for nowClara Engler2026-04-021-0/+1
| | | | | | |
| * | | | | | tor-netdoc: Note on hardcoded test vectorsClara Engler2026-04-022-0/+10
| | | | | | |
| * | | | | | tor-netdoc: Fix typo in commentClara Engler2026-04-021-1/+1
| | | | | | |
| * | | | | | tor-netdoc: Some comment improvementsClara Engler2026-04-021-2/+4
| | | | | | | | | | | | | | | | | | | | | Co-authored-by: Ian Jackson
| * | | | | | tor-netdoc: Replace if by exhaustive matchClara Engler2026-04-021-2/+4
| | | | | | |
| * | | | | | tor-netdoc: Rename Wrapper to RawPortPolicyClara Engler2026-04-021-2/+2
| | | | | | |
| * | | | | | tor-netdoc: Use PortRanges::from_str in PortPolicy::from_strClara Engler2026-04-021-4/+1
| | | | | | |
| * | | | | | tor-netdoc: Document that an overflow is impossibleClara Engler2026-04-021-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit documents that a u16 overflow in a certain branch is impossible due to the properties of a BTreeSet over which an iteration takes place.
| * | | | | | tor-netdoc: Remove interval tree referenceClara Engler2026-04-021-1/+1
| | | | | | |
| * | | | | | tor-netdoc: Clarifications and commentsClara Engler2026-04-021-3/+7
| | | | | | | | | | | | | | | | | | | | | Co-authored-by: Ian Jackson
| * | | | | | tor-netdoc: Private fields in PortRangeClara Engler2026-04-022-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Callers now have to use PortRange::new which checks the input.
| * | | | | | tor-netdoc: TODO for PortRanges rewriteClara Engler2026-04-021-0/+2
| | | | | | |
| * | | | | | tor-netdoc: Rename PortRanges::push to push_orderedClara Engler2026-04-022-5/+5
| | | | | | |
| * | | | | | tor-netdoc: Document PortRanges invariantsClara Engler2026-04-021-0/+4
| | | | | | |
| * | | | | | tor-netdoc: Remove onion_key accessorClara Engler2026-04-021-5/+0
| | | | | | |
| * | | | | | tor-netdoc: Fix conditional compilation in testClara Engler2026-04-021-0/+1
| | | | | | |
| * | | | | | tor-netdoc: Tests for the PortPolicy refactoringClara Engler2026-04-022-0/+86
| | | | | | |
| * | | | | | tor-netdoc: parse2 for PortPolicyClara Engler2026-04-021-100/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit refctors PortPolicy to use the new PortRanges, alongside removing the now duplicate code. The new PortPolicy implements ItemValueParseable, which makes it possible to nicely parse it. Unfortunately, we cannot derive it directly, because we do not store the RuleKind but instead parse it and then invert the ranges in order to save space. However, internally this is derived using a wrapper type from which we extract from. The old FromStr implementation continues to be as bad as it has always been because improving it would likely introduce more bugs than it would solve, given that the legacy implementation has been there since forever basically.
| * | | | | | tor-netdoc: Copy Vec<PortRange> into own typeClara Engler2026-04-021-1/+143
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit copies the logic found in portpolicy.rs into its parent module, namely into a type called PortRanges. Most of the code was copied one by one, with only slight adjustments having been done. The compression and inversion logic is the same though. The purpose of this is to implement ItemArgumentParseable on this, which is not really possible with a Vec<PortRange> because the port policies have a weird format: Semantically they consist of multiple arguments (i.e. multiple port ranges) but syntactically they are encoded as a single netdoc argument, because there are no spaces in between.
| * | | | | | tor-netdoc: NormalItemArgument for RuleKindClara Engler2026-04-021-1/+7
| | | | | | |
| * | | | | | tor-netdoc: Move RuleKind to upper moduleClara Engler2026-04-022-12/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit moves RuleKind from addrpolicy to policy because it is also required for port policies.
| * | | | | | tor-netdoc: Explicitly upgrade derive-moreClara Engler2026-04-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | derive-more 2.1.1 makes use of the rename_all features in the display and from_str proc-macros, which do not exist in 2.0.1, meaning minimal-versions will fail.
| * | | | | | tor-netdoc: Fix exhaustive warningsClara Engler2026-04-021-1/+4
| | | | | | |
| * | | | | | tor-netdoc: Export 25519 typesClara Engler2026-04-023-4/+5
| | | | | | |
| * | | | | | tor-netdoc: Use Curve25519Public for parsingClara Engler2026-04-025-36/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit removes the implementation of ItemArgumentParseable for curve25519::PublicKey in favor of using the already existing Curve25519Public, which also got beefed up slightly.
| * | | | | | tor-netdoc: Refactor Ed25519IdentityLineClara Engler2026-04-022-39/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit refactors Ed25519IdentityLine by deriving as much as possible.
| * | | | | | tor-netdoc: Improve on Ed25519PublicClara Engler2026-04-021-19/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit improves on Ed25519Public to be parseable via parse2 as well as reducing redundancy by utilizing FixedB64.
| * | | | | | tor-netdoc: Use proper PEM parser for testvecsClara Engler2026-04-023-21/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit uses a proper PEM parser as a dev-dependency to tor-netdoc for parsing PEM entries, instead of hard-coding long DER byte strings. It is better to use an external crate for this here, rather than the existing somewhat accessible (only through traits) implementation of parse2, because it feels wrong testing parse2 with parse2.
| * | | | | | tor-netdoc: Reorder Microdesc according to specClara Engler2026-04-021-11/+11
| | | | | | |
| * | | | | | tor-netdoc: Properly parse mutliple family-idsClara Engler2026-04-024-16/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit fixes a bug in the microdescriptor parser to properly parse multiple family-ids. Previously, we interpreted the spec to simply contain multiple `family-ids` lines. This is wrong however. Instead, there may only be a single such line with multiple values. To fix this issues, we itnroduce a `RelayFamilyIds` type, similar to `RelayFamily`, that stores multiple `RelayFamilyId` entires in a `Vec`. Then, we just derive `ItemValueParseable` on it and win.