summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Merge branch 'ticket_2303' into 'main'Nick Mathewson2025-12-173-4/+29
|\ \ \ | |/ / |/| | | | | | | | | | | | | | rpc-connect-point: Decline (not abort) on more invalid address formats. Closes #2303 See merge request tpo/core/arti!3553
| * | rpc-connect-spec: Describe new behavior.Nick Mathewson2025-12-171-0/+3
| | |
| * | rpc-connect-point: Decline (not abort) on more invalid address formats.Nick Mathewson2025-12-172-4/+26
|/ / | | | | | | | | | | | | | | | | | | When we see an address schema we don't recognize, we're supposed to _decline_ the connect point rather than aborting. Closes #2303. See discussion at #1844. Additionally, we tolerate more kinds of invalid address, in order to permit future planned extensions.
* | Merge branch 'main' into 'main'opara2025-12-171-0/+1
|\ \ | | | | | | | | | | | | ci: always run pages job See merge request tpo/core/arti!3549
| * | ci: always run pages jobJérôme Charaoui2025-12-141-0/+1
| | | | | | | | | | | | | | | it doesn't depend on anything else in the pipeline, so avoid skipping it when other jobs fail
* | | Merge branch 'listen_on_auto' into 'main'Nick Mathewson2025-12-1610-75/+487
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Allow listening on port "auto", and reporting bound ports via a JSON file Closes #1758 See merge request tpo/core/arti!3548
| * | | Improve socks_listen/dns_listen documentation.Nick Mathewson2025-12-161-3/+8
| | | |
| * | | arti: Move "port_info_file" configuration into "storage"Nick Mathewson2025-12-163-12/+34
| | | | | | | | | | | | | | | | | | | | | | | | This was a little funny, since the other storage elements are declared in tor-client. Fortunately, our stacked configuration logic handles this fine.
| * | | arti: tweak port_info documentation.Nick Mathewson2025-12-161-0/+3
| | | |
| * | | arti: Export the chosen ports in a ports_info.json file.Nick Mathewson2025-12-169-24/+268
| | | | | | | | | | | | | | | | | | | | This allows applications to find out where arti is listening when arti has been configured to listen with the port "auto".
| * | | arti: Change how proxy futures are returned.Nick Mathewson2025-12-163-26/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the proxy and dns modules only had "be a proxy" functions that ran forever. Now they have functions that bind to listeners and return a separate "be a proxy" future that runs forever. This lets us simplify some kludges in subcommands::proxy. More importantly, it will let us return the bound-to ports so that subcommands::proxy can write them to disk. This is a break in experimental-apis, which does not require a semver change.
| * | | tor_config::listen: Warn on explicit port zero.Nick Mathewson2025-12-161-2/+17
| | | |
| * | | arti: tweak docs, add TODOs with respect to Listener.Nick Mathewson2025-12-163-1/+6
| | | |
| * | | arti: Log the actual addresses we are listening on.Nick Mathewson2025-12-162-4/+10
| | | |
| * | | tor_config::Listen: Add methods to check for auto and port 0.Nick Mathewson2025-12-161-0/+37
| | | |
| * | | tor_config::Listen: Add "auto" itemsNick Mathewson2025-12-161-7/+55
| | | | | | | | | | | | | | | | These are a nicer syntax than using port "0" explicitly.
| * | | tor_config::Listen: Deprecate localhost_port_legacy.Nick Mathewson2025-12-161-1/+5
| | | | | | | | | | | | | | | | Nothing actually uses it any more, which is good.
| * | | tor_config::Listen: Refactor legacy methods.Nick Mathewson2025-12-161-22/+26
| |/ / | | | | | | | | | | | | Have the part of them that does the "no multiple addresses" work be common, so that we can simplify how they actually behave.
* | | Merge branch 'no-stallouts' into 'main'wesleyac2025-12-167-0/+21
|\ \ \ | | | | | | | | | | | | | | | | shadow CI: disable stallouts for onion clients See merge request tpo/core/arti!3529
| * | | shadow CI: disable stallouts for onion clientsJim Newsome2025-12-087-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tgen aborts a stream and starts the next one when the "stallout" timeout is reached. In some cases the arti (or tor) client just needs a bit more time to establish a connection to the hidden service. A potential downside is that if a single stream "stalls" forever without an explicit error, tgen will never give up on it, and thus never try any more streams. We can worry about that if and when we see it though; and it would indicate a likely bug since the known clients and servers in this test shouldn't stall indefinitely in this way.
* | | | Merge branch 'fs-path' into 'main'opara2025-12-152-3/+8
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | arti,arti-relay: Change info-level keystore path msg to debug See merge request tpo/core/arti!3546
| * | | arti,arti-relay: change info keystore path msg to debugSteven Engler2025-12-112-3/+8
| | | |
* | | | Merge branch 'main' into 'main'Alexander Hansen Færøy2025-12-112-5/+38
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | build website for and deploy to static component Closes tpo/tpa/team#42288 See merge request tpo/core/arti!3547
| * | | | build website for and deploy to static componentJérôme Charaoui2025-12-102-5/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this uses the static-shim-deploy template to deploy the arti website to arti.torproject.org, and tweaks the docusaurus baseUrl accordingly it requires a STATIC_GITLAB_SHIM_SSH_PRIVATE_KEY CI variable which is set up in project settings and contains the private key which allows deployment of assets to static component web hosts it also deploys a "_redirects" file to gitlab pages to ensure that the old URLs are redirected as previously, the website build and deployment jobs are only run in (nightly) scheduled pipelines
* | | | | Merge branch 'ci-doc-artifacts' into 'main'Clara Engler2025-12-111-0/+13
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | ci: Keep doc artifacts See merge request tpo/core/arti!3537
| * | | | | ci: Keep doc artifactsClara Engler2025-12-111-0/+13
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because Rust 1.91.0 makes it economically unfeasiable to run `cargo doc` oneselves, it might wise to keep it as an artifact in `rust-dev-recent` and `rust-nightly`, which generate the docs anyways, so we can keep us away from having to run the expensive command when reviewing (larger) changes to documentation. For now, these artifacts will expire within a week. Maybe this should get discussed, because on my local machine, they are over 2GB large?
* | | | | Merge branch 'semver-experimental' into 'main'Nick Mathewson2025-12-111-0/+6
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | doc: Mention `experimental` feature in Semver.md See merge request tpo/core/arti!3545
| * | | | Fix some wordingClara Engler2025-12-111-2/+2
| | | | |
| * | | | doc: Mention `experimental` feature in Semver.mdClara Engler2025-12-101-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `experimental` feature flags are not explicitly mentioned anywhere in the `doc/Semver.md` file. This commit changes that by adding a paragraph documenting the status quo, namely that functionalities gated behind an opt-in experimental flag may break despite an unchanged major version number.
* | | | | Merge branch 'tls12' into 'main'Nick Mathewson2025-12-101-1/+0
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | arti: Remove 'rustls/tls12' feature See merge request tpo/core/arti!3540
| * | | | | arti: remove 'rustls/tls12' featureSteven Engler2025-12-091-1/+0
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't rely on this within the arti crate, and tor-rtcompat already sets this. It's confusing to have it here as well. If the arti ecosystem requires this, it should be enabled on the lower level crates (like it already is in tor-rtcompat) so that arti-client users get it too.
* | | | | Merge branch 'ticket1599_01' into 'main'David Goulet2025-12-1013-242/+261
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | proto: Remove client specific channel circuit message See merge request tpo/core/arti!3536
| * | | | | proto: Add an immediate order for client CircuitEvent orderingDavid Goulet2025-12-101-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With a protocol violation, we have to immediately deal with such event before emitting anything on the wire. Signed-off-by: David Goulet <[email protected]>
| * | | | | proto: Rename CircuitAction and cie to CircuitEventDavid Goulet2025-12-102-75/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This mirrors also the relay reactor. We've introduced the ProtoViolation into a previous commit which is not an action but rather an "event" that happened on a circuit. And so, better semantic. No behavior change. Signed-off-by: David Goulet <[email protected]>
| * | | | | proto: #[macro_use] be gone!Gabriela Moldovan2025-12-104-2/+4
| | | | | |
| * | | | | proto: Rename Circuit{Action/Event}::Shutdown to ProtoViolationDavid Goulet2025-12-103-11/+12
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: David Goulet <[email protected]>
| * | | | | proto: Add TODO in client reactor for bad cellDavid Goulet2025-12-101-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because of https://gitlab.torproject.org/tpo/core/torspec/-/issues/385 Signed-off-by: David Goulet <[email protected]>
| * | | | | proto: Move relay specific unit test to relay moduleDavid Goulet2025-12-102-25/+41
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: David Goulet <[email protected]>
| * | | | | proto: Relay circuit reactor now handles AnyChanMsgDavid Goulet2025-12-103-12/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Same as the client reactor, a message outside of our restricted set leads to a reactor shutdown. Signed-off-by: David Goulet <[email protected]>
| * | | | | proto: Make ClientCircChanMsg pub(super)David Goulet2025-12-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: David Goulet <[email protected]>
| * | | | | proto: Move unit tests and minor fixDavid Goulet2025-12-103-24/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the client specific unit tests into the client module. Signed-off-by: David Goulet <[email protected]>
| * | | | | proto: Client circuit reactor now handles AnyChanMsgDavid Goulet2025-12-109-34/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit removes the CircuitRx* based solely on the client circuit message and moves it into the top level of the crate so all reactors can use them. The client reactor then upon receiving the message, it converts the AnyChanMsg into a ClientCircChanMsg. On error, this leads to a shutdown of the entire reactor due to a fatal error. In order to pull this off, we added a CircuitAction::Shutdown that is handled as a priority. Signed-off-by: David Goulet <[email protected]>
| * | | | | proto: Move RelayCircChanMsg into relay moduleDavid Goulet2025-12-105-27/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This follows the move of the client specific object. Signed-off-by: David Goulet <[email protected]>
| * | | | | proto: Move ClientCircChanMsg into client moduleDavid Goulet2025-12-107-34/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Next commit will also move the Relay specific set into the relay module. These two sets are becoming specific to the reactor as the circuit reactor communication channel will use AnyChanMsg instead. Signed-off-by: David Goulet <[email protected]>
| * | | | | proto: Remove unused restricted channel msg setDavid Goulet2025-12-101-26/+0
|/ / / / / | | | | | | | | | | | | | | | Signed-off-by: David Goulet <[email protected]>
* | | | | Merge branch 'relay-bin-4' into 'main'David Goulet2025-12-103-0/+8
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | arti-relay: Install default ring crypto provider See merge request tpo/core/arti!3539
| * | | | | arti-relay: install default ring crypto providerSteven Engler2025-12-093-0/+8
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is what arti uses, and fixes the warning: ```text WARN tor_rtcompat::impls::rustls: Creating a RustlsRuntime, but no CryptoProvider is installed. The application should call CryptoProvider::install_default() ```
* | | | | Merge branch 'enc-derive' into 'main'Ian Jackson2025-12-1015-179/+1414
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | tor-netdoc: derive-based netdoc encoder See merge request tpo/core/arti!3535
| * | | | | tor-netdoc encode: Fix typos in multiplicity check method docsIan Jackson2025-12-101-4/+4
| | | | | |
| * | | | | tor-netdoc encode: Enhance explanation of DeterminedMultiplicitySelectorIan Jackson2025-12-101-0/+3
| | | | | |