summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | tor-keymgr: Implement KeySpecifier for ArtiPath, CTorPath, KeyPath.Gabriela Moldovan2023-10-191-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Many keymgr APIs require a `&dyn KeySpecifier`, which essentially represents an `ArtiPath` and an optional `CTorPath`. Implementing `KeySpecifier` for `ArtiPath`/`CTorPath`/`KeyPath` will enable keymgr users to pass a `ArtiPath`/`CTorPath`/`KeyPath` to these APIs.
* | | | tor-keymgr: Use ArtiPathError for invalid ArtiPaths (fmt).Gabriela Moldovan2023-10-191-2/+10
| | | |
* | | | tor-keymgr: Use ArtiPathError for invalid ArtiPaths.Gabriela Moldovan2023-10-198-76/+134
| | | |
* | | | tor-keymgr: Add an error type for invalid key paths.Gabriela Moldovan2023-10-191-1/+29
| | | |
* | | | tor-keymgr: Add ArtiPathError, KeyPathError (fmt).Gabriela Moldovan2023-10-191-1/+3
| | | |
* | | | tor-keymgr: Add ArtiPathError, KeyPathError.Gabriela Moldovan2023-10-192-1/+34
| | | |
* | | | tor-keymgr: Add an enum for representing an ArtiPath or a CTorPath.Gabriela Moldovan2023-10-192-2/+30
| | | | | | | | | | | | | | | | | | | | | | | | This will enable the future `KeyMgr::list_matching()` API to return a list that contains results from (potentially) multiple different keystore backends.
* | | | tor-keymgr: Add some more derives for ArtiPath and CTorPath.Gabriela Moldovan2023-10-191-2/+2
| | | |
* | | | Merge branch 'upgrade_20231017' into 'main'Ian Jackson2023-10-196-8/+8
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | Upgrade several dependencies. See merge request tpo/core/arti!1680
| * | | Upgrade async-broadcast dependency to 0.6.0Nick Mathewson2023-10-171-1/+1
| | | | | | | | | | | | | | | | | | | | (This is only used in the disabled tor-events crate, but it's still easier to keep dependencies up-to-date than not.)
| * | | Upgrade to latest asynchronous_codec (0.7.0)Nick Mathewson2023-10-174-6/+6
| | | |
| * | | Upgrade to memmap2 0.9.0Nick Mathewson2023-10-171-1/+1
| | | |
* | | | Merge branch 'terminate_pending_stream' into 'main'gabi-2502023-10-184-6/+31
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | proto: Make StreamTarget::close() misuse less likely. See merge request tpo/core/arti!1678
| * | | Add comments about another problem with close_pending().Nick Mathewson2023-10-172-0/+21
| | | | | | | | | | | | | | | | See #1065 for more information here.
| * | | proto: Make StreamTarget::close() misuse less likely.Nick Mathewson2023-10-173-6/+10
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | It turns out that we can make `IncomingStream::reject()` consume self, thus making it impossible to hit the double-close error from outside the `tor-proto` crate. Also, we rename `StreamTarget::close()` to `close_pending()` to better reflect its limited applicability.
* | | Merge branch 'dirclient-api-breaks' into 'main'gabi-2502023-10-185-63/+90
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Seal the dirclient::Requestable trait and hide most of its members. Closes #1062 See merge request tpo/core/arti!1679
| * | | hsclient: add a missing ) to a message.Nick Mathewson2023-10-171-1/+1
| | | |
| * | | dirclient: Seal the Requestable trait and hide most of its members.Nick Mathewson2023-10-174-44/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | | |
* | | | Merge branch 'dirclient-todos' into 'main'gabi-2502023-10-174-35/+124
|\| | | | |/ / |/| | | | | | | | | | | | | | Privacy: Do not list supported encodings in hsdesc reqs. Closes #1062 See merge request tpo/core/arti!1675
| * | 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-ptmgr: Handle unsupported escapesEmil Engler2023-10-171-1/+8
|/
* tor-keymgr: Disallow consecutive . in pathsNeel Chauhan2023-10-161-6/+6
|
* Merge branch 'key-extensions' into 'main'gabi-2502023-10-162-5/+7
|\ | | | | | | | | tor-keymgr: Encode whether the key is public or private in the file extension. See merge request tpo/core/arti!1672
| * tor-keymgr: Encode whether the key is public or private in the file extension.Gabriela Moldovan2023-10-132-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There are 2 reasons to make this change: * because having the word `private` in the extension will make it more difficult to accidentally misuse or misplace a private key (see https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1618#note_2947461) * because `Keystore`s will soon grow a `list()` function returning all `(ArtiPath, KeyType)`s in the keystore, and in order for `ArtiNativeKeystore` to implement this function, it will need to be able to reverse the `KeyType -> file extension` mapping (if two different `KeyType`s are mapped to the same extension, `ArtiNativeKeystore`s won't be able to reverse the mapping)
* | Merge branch 'bug1039_redux' into 'main'Nick Mathewson2023-10-161-16/+25
|\ \ | | | | | | | | | | | | | | | | | | Sort introduction point lists by ntor public key. Closes #1039 See merge request tpo/core/arti!1674
| * | Explain why we are sorting intro points.Nick Mathewson2023-10-161-0/+7
| | |
| * | Sort introduction point lists by ntor public key.Neel Chauhan2023-10-161-16/+18
| | | | | | | | | | | | Closes #1039
* | | Merge branch 'track' into 'main'Nick Mathewson2023-10-162-7/+119
|\ \ \ | |/ / |/| | | | | | | | tor-hsservice: timeout track: More docs See merge request tpo/core/arti!1673
| * | tor-hsservice: timeout track: Worsify formattingIan Jackson2023-10-161-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | Simply running `rustfmt` makes a mess. This new formatting is less nice but repo policy requires that the layout is a fixed point under rustfmt and this is the least bad fixed point I found.
| * | tor-hsservice: timeout track: Add some discussionIan Jackson2023-10-161-4/+36
| | |
| * | tor-hsservice: timeout track: Add an example doctestIan Jackson2023-10-162-0/+74
| | |
| * | tor-hsservice: timeout track: Add a rustdoc allowIan Jackson2023-10-161-0/+4
| | | | | | | | | | | | Suppresses some erroneous warnings.
* | | Merge branch 'generic-listen' into 'main'Nick Mathewson2023-10-164-56/+120
|\ \ \ | |/ / |/| | | | | | | | arti, tor-config: Allow listening on generic addresses for SOCKS and DNS. See merge request tpo/core/arti!1613
| * | Treat only EAFNOSUPPORT as a warningJani Monoses2023-09-262-8/+12
| | |
| * | Test for Listen DisplayJani Monoses2023-09-261-0/+24
| | |
| * | Do not writelns in Display, undo localhost_port_legacy changes.Jani Monoses2023-09-252-5/+4
| | |
| * | Handle address already in useJani Monoses2023-09-222-2/+6
| | |
| * | arti, tor-config: Allow listening on generic addresses for SOCKS and DNS.Jani Monoses2023-09-224-59/+92
| | |
* | | tor-hsservice: timeout_track: Add a TODO re explanationsIan Jackson2023-10-161-0/+3
| | |
* | | tor-hsservice: ipt_mgr: Tolerate complexity warning for nowIan Jackson2023-10-161-0/+1
| | | | | | | | | | | | And add a TODO HSS for improving it.
* | | tor-hsservice: Apply mandatory code formatting worseningIan Jackson2023-10-162-21/+49
| | |
* | | tor-hsservice: timeout_track: tests: Introduce secs() aliasIan Jackson2023-10-161-11/+14
| | | | | | | | | | | | I wish we could `use Duration::from_secs as secs`.
* | | tor-hsservice: ipt_mgr: Add a test caseIan Jackson2023-10-162-0/+171
| | | | | | | | | | | | | | | This doesn't test all the code paths, but it does test the main path of execution (and detected a couple of bugs).
* | | tor-hsservice: ipt_mgr: Adjust API for mock RNGIan Jackson2023-10-161-4/+4
| | | | | | | | | | | | | | | We're want to be able to return a mutable borrow of a field in the mock state. This means we must make `Rng` a GAT.