summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | http_connect: Add AsyncReadExt to fix compilation.Nick Mathewson2025-11-131-2/+2
| | | |
* | | | Merge branch 'opentelemetry-options-without-feature-warning' into 'main'Nick Mathewson2025-11-131-1/+17
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | arti: Warning when opentelemetry config is set but not build with feature Closes #2247 See merge request tpo/core/arti!3458
| * | | | arti: Boyscout fixnield2025-11-131-1/+1
| | | | | | | | | | | | | | | | | | | | It seems this config is for tokio-console and not the RPC.
| * | | | arti: Warning when opentelemetry config is set but not build with featurenield2025-11-131-0/+16
| | | | |
* | | | | Merge branch 'http_xsprobe' into 'main'Nick Mathewson2025-11-131-1/+142
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Validate Host header for non-CONNECT requests to HTTP CONNECT port See merge request tpo/core/arti!3429
| * | | | | http_connect: prevent tests from colliding on directoriesNick Mathewson2025-11-131-5/+16
| | | | | |
| * | | | | http_connect: fix to conform to MSRVNick Mathewson2025-11-131-1/+1
| | | | | |
| * | | | | http_connect: add a test for Host validation.Nick Mathewson2025-11-131-0/+73
| | | | | |
| * | | | | Validate Host header for non-CONNECT requests to HTTP CONNECT portNick Mathewson2025-11-031-1/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This validation makes it harder for an adversarial webpage to probe for the version of arti and its capabilities. See torspec!437.
* | | | | | Merge branch 'x509-tls-cert' into 'main'Nick Mathewson2025-11-132-40/+221
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | x509: Support generating the keys and certs that relays need for TLS Closes #2205 See merge request tpo/core/arti!3349
| * | | | | | tor-cert: x509 requires tor-llcrypto/rng-compat.Nick Mathewson2025-11-121-1/+1
| | | | | | |
| * | | | | | Rename TlsCertifiedKey to TlsKeyAndCert.Nick Mathewson2025-11-121-4/+4
| | | | | | |
| * | | | | | x509: Correct single instance of misnamed certNick Mathewson2025-11-121-1/+1
| | | | | | |
| * | | | | | x509: Support generating the keys and certs that relays need.Nick Mathewson2025-11-122-9/+191
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Although we never need to actually check the signature on the other party's x509 certificate, A relay does need a certificate and a private key in order to be a proper TLS server. In this function, I've added support for making an ersatz P-256 certificate certifying a P-256 key. See the code for info about the rationale here. (Tor supports this, since it doesn't look at the key at all: only the TLS layer cares about that.) native_tls and rustls expect to get their keys and certs in different forms, so this code provides them. (Note that we don't expect to use native_tls with relays in the first place, but it might be useful for lower-level interop testing.) Closes #2205.
| * | | | | | x509: Extract serial-number generation into its own function.Nick Mathewson2025-11-121-6/+9
| | | | | | |
| * | | | | | x509: Fix an unfinished comment.Nick Mathewson2025-11-121-1/+1
| | | | | | |
| * | | | | | x509: refactor lifetime calculationNick Mathewson2025-11-121-27/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This doesn't give precisely the same results as before for leap years, but that should be okay.
* | | | | | | Merge branch 'config-error' into 'main'opara2025-11-133-13/+30
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | retry-error: Stop trying to dedup error messages See merge request tpo/core/arti!3465
| * | | | | | | tor-config: fix error source for `ConfigLoadError`Steven Engler2025-11-131-1/+7
| | | | | | | |
| * | | | | | | retry-error: stop trying to dedup error msgsSteven Engler2025-11-132-12/+23
| | |_|/ / / / | |/| | | | |
* | | | | | | Merge branch 'prop368-v4' into 'main'Nick Mathewson2025-11-1321-86/+842
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement a usage-based timeout for strongly isolated circuits (prop368) Closes #2237 See merge request tpo/core/arti!3430
| * | | | | | | Fix another doc link.Nick Mathewson2025-11-131-1/+1
| | | | | | | |
| * | | | | | | fix a documentation link.Nick Mathewson2025-11-131-1/+1
| | | | | | | |
| * | | | | | | proto: run add_warning to update tunnel_activity.rsNick Mathewson2025-11-121-1/+1
| | | | | | | |
| * | | | | | | Fix compilation without all-features.Nick Mathewson2025-11-122-8/+10
| | | | | | | |
| * | | | | | | proto: assert that no member of InTunnelActivity needs_drop.Nick Mathewson2025-11-121-1/+15
| | | | | | | |
| * | | | | | | circmgr: report errors from update_long_lived_tunnel_last_usedNick Mathewson2025-11-121-21/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (The only error possible is an internal error from calling it with a non-long-lived tunnel.)
| * | | | | | | proto: Use a ZST-token pattern to enforce correctness for TunnelActivityNick Mathewson2025-11-122-14/+58
| | | | | | | |
| * | | | | | | circmgr: In expiration task, try again if we are not yet ready to expire.Nick Mathewson2025-11-121-21/+31
| | | | | | | |
| * | | | | | | circmgr: Add a timeout setting for long-lived circuits.Nick Mathewson2025-11-124-3/+30
| | | | | | | |
| * | | | | | | circmgr: Implement expiration for long-lived tunnels.Nick Mathewson2025-11-124-22/+228
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This code uses the algorithm of prop368: When a tunnel is sufficiently isolated, we want to expire it after it has been disused for a certain amount of time. The implementation is a little tricky, since we need to call an async function on ClientTunnel to look up the disused_since() check. We don't want to call async functions while holding locks, so we need to drop the TunnelList lock before we do the disused_since() calls, and the grab it again. As part of this change, I've had made expiration functions return the earliest time at which any tunnel might expire. We can use this in the future to spawn fewer expiration tasks, and scan the list of tunnels less often.
| * | | | | | | circmgr: Add a notion of long-lived tunnels.Nick Mathewson2025-11-122-8/+77
| | | | | | | |
| * | | | | | | circmgr: Refactor should_expire()Nick Mathewson2025-11-121-24/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of a series of cutoffs, take an object with a set of lifetimes.
| * | | | | | | circmgr: make expiration functions asyncNick Mathewson2025-11-122-31/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We'll need them to be async so they can call disused_since() on tunnels.
| * | | | | | | circmgr: rename expire_tunnel to consider_expiring_tunnelNick Mathewson2025-11-121-3/+7
| | | | | | | |
| * | | | | | | Add a notion of isolation strong enough to enable long-lived circuits.Nick Mathewson2025-11-124-0/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Part of prop368.
| * | | | | | | tor-proto: Track information on when tunnels were last usedNick Mathewson2025-11-129-1/+258
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | This is part of an implementation for proposal 368.
* | | | | | | Merge branch 'remove-disclaimers' into 'main'Ian Jackson2025-11-131-4/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | arti: Remove security disclaimer from onion service support See merge request tpo/core/arti!3464
| * | | | | | | arti: remove security disclaimer from onion service supportSteven Engler2025-11-121-4/+1
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | These appear to be old comments. Now that these features are stable, we consider them safe to use.
* / | | | | | proto: Remove duplicated function in CircHopGabriela Moldovan2025-11-132-7/+2
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | `CircHop::relay_format()` returned the same thing as `CircHop::relay_cell_format()`.
* | | | | | Merge branch 'rm-todo' into 'main'opara2025-11-121-3/+0
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | | | | | | | | | | | | | proto: Remove a no longer relevant TODO See merge request tpo/core/arti!3463
| * | | | | proto: Remove a no longer relevant TODOGabriela Moldovan2025-11-121-3/+0
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I think this was addressed by @opara in eca15143ba80b789382ba7cbe19601d3b98e42c2. Spotted while refactoring `CircHop`.
* | | | | Merge branch 'v6only' into 'main'opara2025-11-125-4/+150
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-rtcompat: Use a consistent listen implementation, and set `IPV6_V6ONLY` for listening sockets on `cfg(unix)` Closes #2246 See merge request tpo/core/arti!3457
| * | | | | tor-rtcompat: add comments about blocking in async contextsSteven Engler2025-11-122-1/+5
| | | | | |
| * | | | | tor-rtcompat: set `IPV6_V6ONLY` for listening sockets on unixSteven Engler2025-11-102-2/+22
| | | | | |
| * | | | | tor-rtcompat: use a consistent `listen()` implementationSteven Engler2025-11-105-3/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This gives us a consistent `listen()` implementation across runtimes, and gives us flexibility to customize the bind/listen process for TCP sockets.
* | | | | | Merge branch 'disable-hidden-service' into 'main'wesleyac2025-11-128-19/+84
|\ \ \ \ \ \ | |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | arti/arti-client/tor-hsservice: Support disabling onion services in the config Closes #2133 See merge request tpo/core/arti!3253
| * | | | | Fix semver files.Wesley Aptekar-Cassels2025-11-033-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | We don't need to modify semver files for newly added methods.
| * | | | | arti(-client|-ureq)/tor-hsservice: semver files v2hashcatHitman2025-10-213-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Combined with the previous commit, this completes my second attempt at correctly handling the semver files. tor-hssservice: I removed the extra bit at the end of the first line explaining the semantics of the new return type, since the important part is really just the fact that the return type changed. The semantics are documented in the methods themselves. arti-client: Same as above, but I also removed the `client` module prefix since the `client` module isn't actually public, so to external crate users the broken type is directly in the crate root. Removed old "used in the public API of this crate" line. Added lines referring to the 2 breaking changes we re-export from tor-hsservice. arti-ureq: Removed old "used in the public API of this crate" line. Added lines referencing every breaking change in arti-client. This MIGHT be wrong, but I think this is correct because we re-export arti-client as a whole. Signed-off-by: hashcatHitman <[email protected]>
| * | | | | arti(-rpcserver): remove incorrect semver fileshashcatHitman2025-10-212-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Second attempt at semver in progress. Based on the feedback from wesley, it seems neither of these crates had any breaking changes. Signed-off-by: hashcatHitman <[email protected]>