summaryrefslogtreecommitdiff
path: root/crates/tor-dirclient/src
Commit message (Collapse)AuthorAgeFilesLines
* Remove "doc_auto_cfg" incantation from all crates.Nick Mathewson2025-09-291-1/+1
| | | | This feature has been removed from nightly, in favor of doc_cfg.
* tor-netdoc: Rename ConsensusFlavor::Ns to ConsensusFlavor::PlainIan Jackson2025-08-181-1/+1
| | | | This is part of abolishing the use of "ns" to mean "plain".
* Switch Cargo.toml files to edition 2024.Nick Mathewson2025-08-072-13/+42
| | | | | | | | | | | | | | First, run ``` git grep -l "^edition =" | xargs perl -i -pe 's/^edition *=.*/edition = "2024"/;' ``` Second, manually verify that all Cargo.toml files have changed, and nothing else has changed. Third, run cargo fmt again.
* dirclient: Use the new Tunnel interface (fmt).Gabriela Moldovan2025-08-051-1/+3
|
* dirclient: Use the new Tunnel interfaceDavid Goulet2025-08-054-20/+29
| | | | | | This entirely removes the requirement on ClientCirc. Signed-off-by: David Goulet <[email protected]>
* Rename last_hop to last_hop_info to fix name conflictNick Mathewson2025-07-101-3/+3
|
* dirclient: treat excessive incoming cells as suspicious.Nick Mathewson2025-07-101-2/+3
|
* hs*: Define some HsDesc errors as _suspicious_.Nick Mathewson2025-07-101-0/+39
| | | | | These errors are suspicious as hsdir inflation attacks, in the context of prop360.
* dirclient: New error type for too-long headers.Nick Mathewson2025-07-102-4/+13
| | | | (This was previously called a parse error, which isn't right.)
* dirclient: Make SourceInfo::from_circuit public.Nick Mathewson2025-07-101-8/+8
|
* dirclient: refactor logic for constructing a SourceInfo from a circuitNick Mathewson2025-07-102-11/+16
| | | | | | | 1) It's the last hop that matters, not the first. 2) The last hop could conceivably be virtual, making the source anonymous. (Though this never happens in Arti today.)
* Temporarily suppress mismatched_lifetime_syntaxes.Gabriela Moldovan2025-07-071-0/+1
| | | | See #2060.
* Remove comment saying we do not implement consensus diffsNick Mathewson2025-06-101-2/+0
|
* Merge branch 'nightly-warnings' into 'main'Nick Mathewson2025-05-291-1/+1
|\ | | | | | | | | | | | | Fix clippy warnings from nightly rust Closes #2009 See merge request tpo/core/arti!3008
| * arti, cell, dirclient: Use expect instead of unwrap.Nick Mathewson2025-05-291-1/+1
| | | | | | | | | | | | Clippy nightly detects this problem, though earlier clippy verisons haven't. The common element here is applying unwrap() to the result from a write!().
* | dirclient: Stop sending suffix .z in URLs.Nick Mathewson2025-05-272-15/+12
|/ | | | | | | | This suffix is redundant with "Accept-Encoding", which all Tor directory caches have supported since 0.3.1.1-alpha. See torspec#342.
* tor-proto: Update the TunnelMutableState when a circuit is removed.Gabriela Moldovan2025-05-152-5/+13
| | | | | | | | This is messy, because `ClientCirc::{path_ref, n_hops, ..}` become fallible (we can't unwrap the result, because when a circuit is closed, its state gets removed from the `TunnelSharedState`, but its `ClientCirc` handle continues to exist, so any attempt to retrieve the state will result in an `Err`).
* tor-rtmock: allow-Decorate every use of MockSleepProviderIan Jackson2025-03-061-1/+5
| | | | | | | MockSleepProvider and MockSleepRuntime have been declared deprecated by the docs for some time. We're about to mark them `#[deprecated]`. This commit has been split out for clarity of review.
* tor-dirclient: modify `check_circuit` to use `first_hop_clock_skew`Steven Engler2025-02-102-15/+30
|
* clippy: deny `mod_module_files`Steven Engler2025-01-061-0/+1
| | | | | | Denies 'mod.rs' files for consistency. https://rust-lang.github.io/rust-clippy/master/index.html#mod_module_files
* add_warnings, *: Allow clippy::needless_lifetimesNick Mathewson2024-12-031-0/+1
| | | | | | | | In 1.83, this warning triggers on many of our crates. We're thinking of fixing them all, but for now, we're going to disable the warning. This is part of #1765.
* Upgrade to derive_more version 1.0.0Nick Mathewson2024-09-251-1/+1
| | | | | | The `derive_more` crate broke backward compatibility with this version, so this change involved quite a few manual fixups. With luck, they'll keep compatibility for some while in the future.
* Fix typosDimitris Apostolou2024-09-031-1/+1
|
* Re-run maint/add_warning.Nick Mathewson2024-05-061-2/+2
| | | | This commit is automatically generated.
* Run maint/add_warning.Nick Mathewson2024-03-134-0/+4
|
* deny clippy::unchecked_duration_subtractiontrinity-1686a2024-02-291-0/+1
|
* Fix typosDimitris Apostolou2024-01-081-1/+1
|
* Preserve HTTP status text in dirclient errors.Nick Mathewson2023-11-293-8/+22
| | | | | | | | The HTTP status text is often useful for diagnosing errors. Tor directory and hsdir caches frequently put useful messages there, especially when rejecting an uploaded document. Inspired by #1142.
* Only send Content-Length when needed.Nick Mathewson2023-11-272-19/+16
| | | | | | | | | | | | | | | According to RFC 9110: A user agent SHOULD send Content-Length in a request when the method defines a meaning for enclosed content and it is not sending Transfer-Encoding. For example, a user agent normally sends Content-Length in a POST request even when the value is 0 (indicating empty content). A user agent SHOULD NOT send a Content-Length header field when the request message does not contain content and the method semantics do not anticipate such data. Part of #1024
* Add cfg_attr allow(unused_imports) to two cratesIan Jackson2023-10-311-0/+6
| | | | | As per this comment, and preceding discussion https://gitlab.torproject.org/tpo/core/arti/-/issues/1060#note_2959187
* tor-dirclient, tor-netdoc: Add TODO SPECs.Gabriela Moldovan2023-10-241-0/+1
|
* tor-dirclient: Always set the Content-Length header (fmt).Gabriela Moldovan2023-10-241-1/+4
|
* tor-dirclient: Always set the Content-Length header.Gabriela Moldovan2023-10-242-19/+12
|
* tor-dirclient: Add a Content-Length header (fmt).Gabriela Moldovan2023-10-241-1/+3
|
* tor-dirclient: Add a Content-Length header.Gabriela Moldovan2023-10-241-2/+16
|
* dirclient: Seal the Requestable trait and hide most of its members.Nick Mathewson2023-10-171-39/+67
| | | | | | | | Since none of these methods were invoked from outside `tor-dirclient` (except for debugging), and since we have had a fair amount of churn on what we actually want them to be, it seems like a good idea to use this trick to hide them. This will let us make other changes to the actual behavior of Requestable in the future.
* dirclient: Rename partial_docs_ok to partial_response_body_okNick Mathewson2023-10-172-24/+23
|
* dirclient: Make Requestable::anonymized mandatory.Nick Mathewson2023-10-171-3/+21
|
* dirclient: Explain why 1024 is a sufficient maximum response length.Nick Mathewson2023-10-161-0/+4
|
* dirclient: Wrap a somewhat wide comment.Nick Mathewson2023-10-161-5/+3
|
* Downgrade another TODO HSS and move it to TODO BREAKINGNick Mathewson2023-10-161-2/+3
|
* Privacy: Do not list supported encodings in hsdesc reqs.Nick Mathewson2023-10-163-28/+87
| | | | | | | | | | | | | Since not everybody has xz and/or zstd, we don't want to admit whether we support them when we are uploading or downloading an onion service descriptor. Similarly, if we aren't advertising support for an encoding, we shouldn't accept it. Finally, while we're doing this, it made sense to have the ability to mark requests based on how anonymized they are, and reject (some) attempts to send those requests over a one-hop circuit. Closes #1062
* dirclient: Change a todo to an API todo and make it less blocking.Nick Mathewson2023-10-161-1/+9
|
* tor-dirclient: Mark `DirResponse` as `#[must_use]`.Gabriela Moldovan2023-10-031-0/+1
| | | | | Not checking whether the response is successful can have unintended consequences.
* tor-dirclient: Set a non-zero expected response len for uploads.Gabriela Moldovan2023-10-031-5/+5
|
* Run maint/add_warning to add lint block everywhereIan Jackson2023-08-234-0/+4
|
* tor-dirclient: Fix clippy lints.Gabriela Moldovan2023-08-161-5/+5
|
* tor-dirclient: Remove unused `StringBody` trait.Gabriela Moldovan2023-08-161-26/+0
|
* tor-dirclient: Make Requestable return requests with String bodies.Gabriela Moldovan2023-08-162-51/+23
| | | | | It's simpler to always use a `String` to represent directory request bodies. We no longer need the `StringBody` trait.
* tor-dirclient: Rename StringBody::str() to StringBody::as_str().Gabriela Moldovan2023-08-162-6/+6
|