summaryrefslogtreecommitdiff
path: root/crates/tor-dirclient
Commit message (Collapse)AuthorAgeFilesLines
* Bump minor versions in preparation for releaseNick Mathewson2023-12-041-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This crate is new, and gets a bump to 0.1.0. tor-log-ratelim This crate had a breaking change: tor-persist tor-llcrypto had a breaking change. These crates _are_ tor-llcrypto, or (transitively) depend on it. I am assuming that they all re-expose something from it in a way that matters: tor-llcrypto tor-bytes tor-hscrypto tor-socksproto tor-checkable tor-cert tor-linkspec tor-cell tor-proto tor-netdoc tor-consdiff tor-netdir tor-chanmgr tor-ptmgr tor-guardmgr tor-circmgr tor-dirclient tor-dirmgr tor-keymgr tor-hsclient tor-hsservice tor-hsrproxy arti-client arti-rpcserver arti-hyper
* Bump patchlevel versions in preparation for releaseNick Mathewson2023-12-041-4/+4
| | | | | | | | | | | | | | | These crates had backward-compatible changes, and get a patchlevel bump only: fs-mistrust tor-error tor-config tor-rtcompat tor-rtmock This crate exposes no non-CLI APIs, and gets a patchlevel bump only: arti
* Merge branch 'msrv-bump-1.70' into 'main'Ian Jackson2023-11-301-1/+1
|\ | | | | | | | | Increase our MSRV to 1.70 See merge request tpo/core/arti!1773
| * In every crate, change rust-version to 1.70.Nick Mathewson2023-11-281-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.
* | Merge branch 'misc-upgrades' into 'main'Nick Mathewson2023-11-282-1/+3
|\ \ | |/ |/| | | | | Upgrade several crates in preparation for this month's release. See merge request tpo/core/arti!1763
| * dirclient: Upgrade to http 1.0Nick Mathewson2023-11-282-1/+3
| | | | | | | | | | This is a breaking change, since dirclient::Error exposes http::Error.
* | 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
* Upgrade to itertools 0.12.0Nick Mathewson2023-11-151-1/+1
|
* Remove semver.md files from arti 1.1.10Nick Mathewson2023-10-311-1/+0
|
* Merge branch 'semver-bumps' into 'main'Nick Mathewson2023-10-311-6/+6
|\ | | | | | | | | Update versions for today's releases. See merge request tpo/core/arti!1716
| * Patch version bumps in crates without breaking changesNick Mathewson2023-10-311-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ``` These crates have new APIs: tor-async-utils ADDED tor-config ADDED tor-hscrypto ADDED tor-netdoc ADDED, plus BREAKING-experimental. These crates have patch-level changes only: tor-netdir (bugfix only). (re-exposes netdoc) arti-rpcserver (tweaks only, uses nothing that broke.) arti 1.1.10, no stable public APIs. ```
| * Minor version bumps in crates with breaking changes.Nick Mathewson2023-10-311-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ``` tor-basic-utils BREAKING tor-rtmock BREAKING. tor-cert BREAKING tor-cell BREAKING tor-proto BREAKING: re-exposes cell. (Also BREAKING-experimental) tor-chanmgr BREAKING: Re-exposes proto. tor-ptmgr BREAKING: re-exposes tor-chanmgr tor-guardmgr BREAKING: re-exposes proto. (Only for ClockSkew I think?) tor-circmgr BREAKING: re-exposes proto tor-dirclient BREAKING tor-hsclient BREAKING, re-exposes proto. tor-hsservice BREAKING, re-exposes proto. tor-hsrproxy BREAKING arti-client BREAKING: re-exposes proto. arti-hyper: BREAKING, re-exposes arti-client. tor-dirmgr Let's assume BREAKING, very high-level. tor-keymgr BREAKING, but experimental. ```
* | 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-172-41/+68
| | | | | | | | 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-173-24/+24
|
* dirclient: Make Requestable::anonymized mandatory.Nick Mathewson2023-10-172-3/+22
|
* 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
|
* Bump tor-dirclient patchlevel, since its dependency changed.Nick Mathewson2023-10-021-1/+1
|
* Minor-version bumps, for crates with breaking changes.Nick Mathewson2023-10-021-3/+3
|
* Patchlevel bumps, with dependents affected.Nick Mathewson2023-10-021-5/+5
|
* Remove semver.md now that 1.1.8 is out.Nick Mathewson2023-09-051-4/+0
|
* Update patchlevel for crates with nontrivial changes.Nick Mathewson2023-09-051-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are: ``` hashx equix tor-async-utils tor-error tor-config tor-rtmock tor-llcrypto tor-bytes tor-hscrypto tor-hspow tor-cert tor-linkspec tor-cell tor-proto tor-netdoc tor-netdir tor-chanmgr tor-guardmgr tor-dirmgr tor-keymgr tor-hsclient tor-hsservice arti-client arti ```
* Minor-version bumps for crates with breaking changes.Nick Mathewson2023-09-051-1/+1
| | | | | | | | | These are: ``` tor-dirclient tor-ptmgr ```
* 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-162-27/+0
|
* tor-dirclient: Make Requestable return requests with String bodies.Gabriela Moldovan2023-08-163-52/+24
| | | | | 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-162-1/+18
|
* 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-163-0/+50
| | | | | 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-163-3/+48
| | | | | | | | | 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-163-6/+8
| | | | | | `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
|
* Increment patchlevel versions of crates with minor changesNick Mathewson2023-08-011-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These crates are at version 0.x.y, so we don't need to distinguish new-feature changes from other changes: ``` tor-basic-utils fs-mistrust tor-error tor-geoip tor-checkable tor-linkspec tor-netdoc tor-netdir tor-persist tor-ptmgr tor-hsservice ``` This crate has a breaking change, but only when the semver-breaking feature `experimental-api` is enabled: ``` tor-config ``` This crate is at version 1.x.y, but has no new public APIs, and therefore does not need a minor version bump: ``` arti ```
* Update minor versions on crates that have had breaking changesNick Mathewson2023-08-011-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These crates had first-order breaking changes: ``` retry-error tor-keymgr tor-proto tor-hsclient tor-rtmock ``` Additionally, these broke because they re-exposed RetryError: ``` tor-circmgr ``` Additionally, these broke because they may re-expose something from tor-proto: ``` arti-client tor-chanmgr tor-dirclient tor-dirmgr tor-guardmgr ``` Additionally, these broke for other fiddly reasons: `tor-ptmgr` implements traits from tor-chanmgr, which has a breaking change above. `arti-hyper` exposes types from arti-client in its API.