summaryrefslogtreecommitdiff
path: root/crates/arti
Commit message (Collapse)AuthorAgeFilesLines
* arti-rpcserver: Bump patchlevel.Gabriela Moldovan2024-03-041-1/+1
| | | | | The version of its `arti-client` dependency changes from 0.14.0 -> 0.14.1.
* arti: Bump minor version.Gabriela Moldovan2024-03-041-1/+1
|
* Bump the minor version, for crates with breaking changes.Gabriela Moldovan2024-03-041-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | APIs were broken in these pre-1.0.0 crates: ``` tor-keymgr tor-config tor-checkable tor-circmgr tor-dirmgr tor-hsclient tor-hsservice tor-hsrproxy ``` Done with: ``` cargo set-version --bump minor -p tor-keymgr cargo set-version --bump minor -p tor-config cargo set-version --bump minor -p tor-checkable cargo set-version --bump minor -p tor-circmgr cargo set-version --bump minor -p tor-dirmgr cargo set-version --bump minor -p tor-hsclient cargo set-version --bump minor -p tor-hsservice cargo set-version --bump minor -p tor-hsrproxy ```
* Bump patchlevel of pre-1.0.0 crates with new APIs.Gabriela Moldovan2024-03-041-1/+1
| | | | | | | | | | | | | | | | | | | | APIs were added: ``` tor-units tor-cell tor-proto tor-netdir arti-client ``` Done with: ``` cargo set-version --bump patch -p tor-units cargo set-version --bump patch -p tor-cell cargo set-version --bump patch -p tor-proto cargo set-version --bump patch -p tor-netdir cargo set-version --bump patch -p arti-client ```
* Merge branch 'analyzer_windows_problems' into 'main'gabi-2502024-03-042-2/+5
|\ | | | | | | | | Fix rust-analyzer problems seen with default features on Windows See merge request tpo/core/arti!2009
| * arti: do not warn about unused variable on WindowsTobias Stoeckmann2024-02-291-0/+1
| | | | | | | | | | Do not complain on non-unix systems that variable client is not used. It is only accessed within the function on unix systems.
| * arti: define RpcConfig only if neededTobias Stoeckmann2024-02-291-1/+1
| | | | | | | | The RpcConfig struct is only used if feature rpc is selected.
| * arti: use name bindings only if neededTobias Stoeckmann2024-02-291-1/+3
| | | | | | | | | | The local name binding for tor_config::define_list_builder_accessors is only needed if feature onion-service-service is selected.
* | arti: Fix Windows testTobias Stoeckmann2024-03-011-4/+10
|/ | | | | Windows has a 100-nanosecond precision, so avoid test failure due to a known system limitation.
* Upgrade to latest config.Gabriela Moldovan2024-02-281-1/+1
|
* arti: Don't output ANSI escape codes when logging to file.Gabriela Moldovan2024-02-221-0/+1
| | | | Closes #1298
* Merge branch 'hss_non_experimental' into 'main'gabi-2502024-02-212-2/+6
|\ | | | | | | | | | | | | Mark onion service features as non-experimental Closes #1182 See merge request tpo/core/arti!1993
| * Move onion-service-service to non-experimental section of READMEs.Nick Mathewson2024-02-201-0/+3
| |
| * arti: mark onion-service-service non-experimental.Nick Mathewson2024-02-201-2/+3
| |
* | Merge branch 'keystore-dir' into 'main'gabi-2502024-02-211-2/+0
|\ \ | | | | | | | | | | | | | | | | | | arti, arti-client, tor-keymgr: Remove keystore dir configuration. Closes #1202 See merge request tpo/core/arti!1995
| * | arti, arti-client, tor-keymgr: Remove keystore dir configuration.Gabriela Moldovan2024-02-211-2/+0
| |/ | | | | | | Closes #1202
* / tor-hsservice: config: max_concurrent_streams_per_circuit: comment outIan Jackson2024-02-211-0/+2
|/ | | | | This is not implemented. It is better to have it commented out than providing a knob that isn't connected to anything.
* Merge branch 'fast_and_stable' into 'main'Nick Mathewson2024-02-202-0/+8
|\ | | | | | | | | | | | | Require the Fast and Stable flags as appropriate. Closes #1100 See merge request tpo/core/arti!1976
| * Add a configuration option for long_lived_ports.Nick Mathewson2024-02-202-0/+8
| |
* | Use and document the new arti-client/anyhow featureNick Mathewson2024-02-151-1/+3
| |
* | Refactor and improve error hinting.Nick Mathewson2024-02-141-4/+4
|/ | | | | | | | | | | | Instead of using complicated match statements, use downcasting to find error types that define specific hints. This also lets us define a reasonable hint-extractor for anyhow::Error, and use it when reporting errors in main. I've left an implementation of hint() in `impl Error`, to avoid breaking backward compatibility. Closes #1165.
* educe: Use std's default for enums where default variant is unitIan Jackson2024-02-121-4/+2
| | | | | | | | | | | | | Since Rust 1.66, std's default works properly for enums, provided that the default variant is a unit. Review all uses of `#[educe(default)]` on enums and replace them with std where possible, which is most of them. In 1.66 and later, std's `#[derive(Default)]` doesn't infer any generic bounds on the derived impl, where it's an enum - since the unit variant can always be constructed. So this change doesn't add any generic bounds and is not API-visible.
* Clarify onion service example(s) a little more.Nick Mathewson2024-02-081-3/+5
|
* Bump version of arti crateIan Jackson2024-02-051-1/+1
|
* Bump patch versions *with* dependency updateIan Jackson2024-02-051-1/+1
| | | | | | | This crate has had new features added. It's 0.x. So bump in-tree dependencies' references: fs-mistrust
* Bump minor versionsIan Jackson2024-02-051-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bump the minor version of these crates, and update the in-tree dependencies. Recently published as fresh crates, let's just assume there are breaking changes: fslock-guard test-temp-dir Breaking API change affecting many many downstream crates: tor-rtcompat Downstream crates which we're (conservatively) assuming have tor-rtcompat types in their APIs: tor-rtmock tor-log-ratelim tor-rpcbase tor-llcrypto tor-protover tor-bytes tor-hscrypto tor-hspow tor-socksproto tor-checkable tor-cert tor-linkspec tor-cell tor-proto tor-netdoc tor-consdiff tor-netdir tor-congestion tor-persist 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-config arti-hyper arti-bench arti-testing
* arti: Only exit if all the modules have been dropped.Gabriela Moldovan2024-01-251-7/+8
| | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1917#note_2988815
* arti: Use Weak references for the reconfigurable modules (fmt).Gabriela Moldovan2024-01-251-6/+1
|
* arti: Use Weak references for the reconfigurable modules.Gabriela Moldovan2024-01-252-5/+22
| | | | | | | | | | | | | | | Previously, the `ProxySet` (and all the other `reconfigurable_modules`) were kept alive by the `watch_for_config_changes` background thread, which was preventing them from being dropped when `run()` exited. IOW, onion services never received the shutdown signal. Now `watch_for_config_changes` takes `Weak` references, and the only strong references to the modules are kept in the `reconfigurable_modules` local variable in `run()`, which is dropped when `run()` exits (e.g. on SIGINT). This allows onion services to execute their shutdown logic on CTRL-C. Part of #1244
* tor-hsservice: Add TODO about testing arti hss.Gabriela Moldovan2024-01-181-0/+1
|
* arti: Use OnionService to get the onion_name().Gabriela Moldovan2024-01-181-7/+19
|
* arti: Make OnionServiceProxyConfig pub(crate).Gabriela Moldovan2024-01-181-2/+2
| | | | | We are about to need the `svc_cfg` (for calling `TorClient::create_onion_service`).
* tor-hsservice: Create a separate RunningOnionService type.Gabriela Moldovan2024-01-181-2/+2
| | | | | | | | This will enable us to construct non-launched (but configured) `OnionService`s. We need this, for example, for implementing the `arti hss` CLI command. Part of #1227
* Merge branch 'err_on_no_onion_service_support' into 'main'Nick Mathewson2024-01-164-5/+52
|\ | | | | | | | | | | | | Give an error when user configured onion services with no support. Closes #1184 See merge request tpo/core/arti!1885
| * On error, suggest recompiling with onion-service-servicegabi-2502024-01-161-1/+1
| |
| * Give an error when user configured onion services with no support.Nick Mathewson2024-01-164-5/+52
| | | | | | | | | | | | | | | | | | | | | | We do this by adding a stub config and config builder type, whose only purpose is to generate an error if anything is deserialized into it. (If this turns out not to be the best pattern, we can change it later, since this is all internal to the `arti` crate.) Closes #1184.
* | hsrproxy: Temporarily remove ability to config unix addressesNick Mathewson2024-01-162-3/+2
|/ | | | | | | | I'm taking this out for now since we don't have support for actually making these addresses work, and the current behavior will just ignore connections silently. Closes #1245
* tor-keymgr: Abolish ArtiNativeKeystoreConfig::expand_keystore_dir.Gabriela Moldovan2024-01-101-2/+2
| | | | | | This resolves a `TODO HSS` in arti-client. Part of #1187
* arti::lib: Downgrade "TODO HSS" commentsNick Mathewson2024-01-091-2/+2
| | | | These are not "must fix before releasing onion services".
* arti::cfg: Turn a TODO HSS into a ticket.Nick Mathewson2024-01-091-1/+1
|
* Patchlevel version bumps in preparation for 1.1.12.Nick Mathewson2024-01-091-3/+3
| | | | | | | | | | | | | This crate doesn't have a meaningful public API, so it just gets a patchlevel bump: arti These crates had nonbreaking changes, and get a patchlevel bump: tor-rtcompat fs-mistrust tor-llcrypto tor-cert
* Breaking version bumps in preparation for 1.1.12.Nick Mathewson2024-01-091-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These crates have breaking changes on their own: tor-error tor-netdoc tor-dirmgr tor-keymgr Because of the breaking change in tor-error, and the fact that basically every crate publicly depends on tor-error (by implementing ErrorKind), we need to call this a breaking change on all of the following: tor-config tor-geoip tor-rtmock tor-log-ratelim tor-rpcbase tor-bytes tor-hscrypto tor-socksproto tor-cell tor-proto tor-netdoc tor-netdir tor-persist 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-config arti-hyper arti-testing
* Fix typosDimitris Apostolou2024-01-081-1/+1
|
* arti: Fix log message typo.Gabriela Moldovan2023-12-141-1/+1
|
* Merge branch 'return-of-the-son-of-arti-todos' into 'main'Nick Mathewson2023-12-144-59/+140
|\ | | | | | | | | Resolve Arti crate todos, redux See merge request tpo/core/arti!1833
| * Trivial case fix in a comment.Ian Jackson2023-12-141-1/+1
| |
| * arti: Add a todo to describe how and why to test build_list.Nick Mathewson2023-12-131-0/+7
| |
| * arti: Use BTreeMap for maps of onion service configs.Nick Mathewson2023-12-131-9/+9
| |
| * arti: Simplify build_list slightlyNick Mathewson2023-12-131-4/+3
| |
| * arti: Use a macro to declare modules as conditionally public.Nick Mathewson2023-12-131-25/+36
| | | | | | | | | | (We can't use `visibility::make(pub)` or `visible` here. Try it yourself if you don't believe me!)