summaryrefslogtreecommitdiff
path: root/crates/tor-dirclient/src
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* tor-dirclient: Deprecate download() instead of removing it.Gabriela Moldovan2023-08-161-0/+16
|
* tor-dirclient: Extend format test to check the body is formatted too (fmt)Gabriela Moldovan2023-08-161-1/+4
|
* tor-dirclient: Extend format test to check the body is formatted too.Gabriela Moldovan2023-08-161-8/+22
|
* tor-dirclient: Move request building to a test helper function.Gabriela Moldovan2023-08-161-11/+13
|
* tor-dirclient: Add `HsDescUploadRequest`.Gabriela Moldovan2023-08-161-0/+46
| | | | | The hsdir publisher will send the `HsDescUploadRequest`s to the appropriate directory using `send_request()`.
* tor-dirclient: Make the body type of a `Requestable` type configurable.Gabriela Moldovan2023-08-162-3/+46
| | | | | | | | | Previously, the `Requestable` trait assumed the body of the request would always be empty (`http::Request<()>`). This change replaces the hardcoded `()` body type with the `Requestable::Body` associated type (which will allow implementors to create requests with non-empty bodies). This will enable us to reuse the `Requestable` trait for building `POST` requests for uploading descriptors.
* tor-dirclient: Rename download() to send_request().Gabriela Moldovan2023-08-162-6/+7
| | | | | | `download()` is actually a general-purpose function for sending HTTP requests on a stream. We will soon repurpose it for `POST`-ing descriptors, so let's rename it to `send_request`.
* Run add_warnings on all files.Nick Mathewson2023-08-041-2/+2
|
* Run maint/add_warning to actually apply new lint allowsIan Jackson2023-07-104-0/+5
|
* Run add_warning to remove `missing_panics_doc` deny.Nick Mathewson2023-07-061-1/+0
| | | | Closes #950.
* dirclient: use correct default max_lenNick Mathewson2023-06-271-2/+2
| | | | | | Yes, it's 50 kilobytes, not 50 kibibytes. I double-checked this with the C implementation and with param-spec.txt's documentation for `HSV3MaxDescriptorSize`.
* dirclient: Correct an erroneous comment.Nick Mathewson2023-06-271-1/+2
|
* dirclient: Make maximum hsdesc length adjustable.Nick Mathewson2023-06-271-8/+12
|
* dirclient: Explain why hardcoding "3" is ok.Nick Mathewson2023-06-271-1/+7
|
* lints: Run maint/add_warning to actually apply new lintsIan Jackson2023-06-211-0/+2
|
* Use an Enum for the description requesttranna2023-04-101-37/+54
|
* dirclient: fix an "unused import" warning.Nick Mathewson2023-04-061-1/+1
|
* tor-dirclient: Add a comment about 50 x 1024gabi-2502023-04-031-0/+1
|
* tor-dirclient: Add test case for HsDescDownloadRequestIan Jackson2023-04-031-1/+21
| | | | | | | | I couldn't find a test vector in C Tor. This test case was generated from the code here. I'm fairly sure it's right since I managed to get my descriptor downloader to work. (That's not an MR yet, but uses this code.)
* tor-dirclient: Provide HsDescDownloadRequestIan Jackson2023-04-031-0/+43
| | | | | In my tests this seems to do the right thing, but I'm getting 404s. I'm not sure if actually this URL is wrong.
* tor-dirclient: De-genericise internal fn retire_circIan Jackson2023-01-301-2/+1
| | | | | | | Requring `Display` is wrong here, because if this is actually an Error, Display would be wrong because it doesn't display causes. As it happens, the `error` parameter is only ever `&str`.
* Allow clippy::unchecked_duration_subtraction in testsNick Mathewson2023-01-274-0/+4
| | | | | This panics on error, and we're fine with a panic on misbehavior in tests.
* Disable clippy::unlinlined-format-argsNick Mathewson2023-01-271-0/+1
| | | | | | | | This warning kind of snuck up on us! (See #748) For now, let's disable it. (I've cleaned it up in a couple of examples, since those are meant to be more idiomatic and user-facing.) Closes #748.
* Complete our migration to base64ct.Nick Mathewson2023-01-201-1/+2
| | | | | | | | | This is in lieu of upgrading to the latest base64 crate, which has a different API from the old one. Since we have to migrate either way, we might as well use base64ct everywhere. I don't think that most of these cases _require_ constant-time base64, but it won't hurt.
* test lint blocks: Add many many automaticallyIan Jackson2022-12-123-0/+24
| | | | | This is precisely the result of running the rune in maint/adhoc-add-lint-blocks.
* tor-dirclient: Replace OwnedChanTarget with LoggedChanTarget in SourceInfoIan Jackson2022-11-231-4/+4
| | | | | | | | | | | | | | | | SourceInfo primarily appears in errors, here and in (indirectly) tor-dirmgr. This 1. Makes the errors smaller 2. Redacts (currently, scrubs) the chantarget when safe logging is enabled This commit therefore deals with both tor-dirmgr and tor-dirclient errors, from the pov of error information that should become sensitive as part of bridge support. The error pyaloads directly in tor_dirmgr/src/err.rs don't seem to contain anything in that category.
* cfg compilation: Add two allowsIan Jackson2022-11-181-0/+1
|
* Suppress two clippy::large_enum_variant warningsNick Mathewson2022-11-031-0/+1
| | | | These are newly present on 1.65. We can address them later.
* Run add_warnings.Nick Mathewson2022-11-031-0/+1
|
* tor-dirclient: Response: Provide into_output_stringIan Jackson2022-11-031-0/+11
| | | | | This is the missing one of the full set. It turns out that I wanted this rather than the non-consuming output_string.
* tor-dirclient: impl HasKind for RequestFailedErrorIan Jackson2022-10-251-1/+7
|
* tor-dirclient: Promise that download only gives RequestFailedIan Jackson2022-10-251-0/+4
|
* tor-dirclient::DirResponse: provide output_stringIan Jackson2022-10-251-0/+17
| | | | This gives callers a nice error type with source and everything.
* tor-dirclient: Provide RoutersOwnDescRequestIan Jackson2022-10-251-0/+29
| | | | This will be used for bridges' descriptors.
* tor-dirclient: Provide fallible DirResponse::output and into_outputIan Jackson2022-10-201-1/+80
|
* tor-dirclient: Make DirResponse be CloneIan Jackson2022-10-201-1/+1
| | | | I want this for testing. It seems friendly to provide it, though.
* tor-dirclient: Introduce RequestError:HttpStatusIan Jackson2022-10-201-0/+5
|
* tor-dirclient: Make RequestFailed its own error type (rustfmt)Ian Jackson2022-10-201-12/+18
| | | | Split off to assist review.
* tor-dirclient: Make RequestFailed its own error typeIan Jackson2022-10-202-26/+32
| | | | | | | We're going to have functions on Response that fail by returning only one of these. Sadly this diff is quite noisy.
* tor-dirclient Response: Rename output methodsIan Jackson2022-10-202-6/+10
| | | | | These don't check errors and are therefore quite hazardous. I'm going to introduce a more cooked version in a moment.
* cargo fmt to remove blank linesIan Jackson2022-10-121-1/+0
| | | | | | | Apparently cargo fmt doesn't like these, which my perl rune didn't delete. This commit is precisely the result of `cargo fmt`.
* Replace all README copies in src/lib.rs with includesIan Jackson2022-10-121-25/+1
| | | | | | | | The feature we want is `#[doc = include_str!("README.md")]`, which is stable since 1.54 and our MSRV is now 1.56. This commit is precisely the result of the following Perl rune: perl -i~ -0777 -pe 's{(^//!(?!.*\@\@).*\n)+}{#![doc = include_str!("../README.md")]\n}m' crates/*/src/lib.rs
* enable doc_auto_cfg feature on every crate when documenting for docs.rstrinity-1686a2022-08-241-0/+1
|
* Improve display for tor-dircache errors.Nick Mathewson2022-07-072-2/+15
| | | | | | | These errors no longer use Debug to dump the `Option<SourceInfo>`, but instead produce reasonable text. Also, I've fixed the SourceInfo Display implementation so that it now says that it got the error "from $source via $circuit" rather than the other way around.
* dirclient: Generalize MdSha256Empty to EmptyRequest.Nick Mathewson2022-07-072-6/+12
| | | | | (It makes sense to use this for things that are not in fact lists of SHA256 digests of Microdescriptors.)