summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | pt: PtTransportName: Provide TryFrom, into_inner, AsRefIan Jackson2022-09-271-4/+27
| | | | | | | | | | | | This seems a minimal API for such a thing.
| * | pt: tor-linkspec: Shorten some names with useIan Jackson2022-09-271-12/+17
| | | | | | | | | | | | This repetition was getting repetitive.
| * | pt: Introduce PtTransportNameIan Jackson2022-09-272-5/+33
|/ / | | | | | | | | The config parsing wants this. Also there are some anomalies in the types here that ought to be tidied up.
* | Merge branch 'always_safelog_on_console' into 'main'Ian Jackson2022-09-261-30/+10
|\ \ | | | | | | | | | | | | | | | | | | Enforce SafeLogging on the console. Closes #553 See merge request tpo/core/arti!742
| * | Enforce SafeLogging on the console.Nick Mathewson2022-09-261-30/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we always assumed that the console was ephemeral, and so we disabled safe logging. But the console can be piped to journald. And even if we enforce isatty there's no guarantee that the user isn't using some kind of terminal that logs to disk or something. Best just to enable SafeLogging unconditionally. I've added a note about where and how we might re-enable this. Closes #553.
* | | Merge branch 'pt-client-api-part-2' into 'main'Nick Mathewson2022-09-2612-0/+221
|\ \ \ | |/ / |/| | | | | | | | | | | | | | Remaining bridge-and-pt APIs Closes #543 See merge request tpo/core/arti!741
| * | Add the necessary APIs for bridge-based circuit construction.Nick Mathewson2022-09-262-0/+11
| | |
| * | GuardMgr/DirMgr: Add APIs for bridge descriptor listsNick Mathewson2022-09-266-3/+116
| | |
| * | Make RouterDesc implement Clone and Debug.Nick Mathewson2022-09-262-0/+3
| | | | | | | | | | | | Their omission was an oversight.
| * | GuardMgr: Add TODOs for bridge support.Nick Mathewson2022-09-262-0/+29
| | | | | | | | | | | | | | | | | | This covers only the most basic notions of working with bridges: that we need a separate set of guards, and that they have to come from the list of known bridges.
| * | A basic configuration type for a bridge.Nick Mathewson2022-09-265-1/+66
|/ / | | | | | | | | | | | | This type goes in tor-guardmgr, since that's where decisions about circuits' first hops are made. There are a lot of "todo"s here for us to resolve.
* | Merge branch 'cell-introduce2' into 'main'Ian Jackson2022-09-263-16/+67
|\ \ | | | | | | | | | | | | Implement Introduce2 tor cell See merge request tpo/core/arti!736
| * | Implement Introduce2 tor cellYuan Lyu2022-09-213-16/+67
| | | | | | | | | | | | | | | Reuse the same Introduce inner body implementation of Introduce1.
* | | Merge branch 'pt-client-api-part-1' into 'main'Nick Mathewson2022-09-2319-2/+798
|\ \ \ | | | | | | | | | | | | | | | | Add sketched-out pluggable transport APIs (part 1) See merge request tpo/core/arti!740
| * | | Add a few comments based on review.Nick Mathewson2022-09-232-0/+11
| | | |
| * | | Clarify and combine PtTargetAddr constructors.Nick Mathewson2022-09-231-16/+23
| | | |
| * | | Rename various Transport* types to Pt*.Nick Mathewson2022-09-233-44/+43
| | | | | | | | | | | | | | | | | | | | This clarifies that the types apply to pluggable transports only, and not (typically) to the default plain-old-TCP transport.
| * | | Clarify note on "none" transport ID.Ian Jackson2022-09-231-0/+3
| | | |
| * | | Add the skeleton of a tor-ptmgr crateNick Mathewson2022-09-236-0/+257
| | | | | | | | | | | | | | | | | | | | When complete, this crate will handle launching and using pluggable transports on demand.
| * | | ChanMgr: new (unimplemented) APIs for pluggable transportsNick Mathewson2022-09-236-0/+152
| | | |
| * | | Add a HasChanMethods trait, with a bunch of open TODO questions.Nick Mathewson2022-09-233-2/+24
| | | | | | | | | | | | | | | | We'll need to sort these out as we implement pluggable transports.
| * | | New data types to describe transport targets.Nick Mathewson2022-09-233-1/+59
| | | | | | | | | | | | | | | | | | | | I've tried to name and structure these for consistency, and comment reasonably well. We'll still probably want to make changes.
| * | | Add TransportTargetAddr as the target address for a PT-using channelNick Mathewson2022-09-232-1/+118
| | | | | | | | | | | | | | | | | | | | | | | | As with `TransportId`, this type only gets complicated when `pt-client` is enabled: it's meant to stay simple for relays and non-PT-using clients.
| * | | Create an API for TransportIdNick Mathewson2022-09-235-0/+170
|/ / /
* | | Merge branch 'fix-nightly-clippy' into 'main'Ian Jackson2022-09-229-32/+28
|\ \ \ | | | | | | | | | | | | | | | | Fix nightly clippy See merge request tpo/core/arti!729
| * | | Apply 1 suggestion(s) to 1 file(s)Ian Jackson2022-09-221-1/+1
| | | |
| * | | fix clippy::needless_borrowtrinity-1686a2022-09-108-23/+22
| | | |
| * | | fix clippy::unwrap_used and old TODO for msrv 1.56trinity-1686a2022-09-101-9/+6
| | | |
* | | | Merge branch 'channel-usage-doc' into 'main'Ian Jackson2022-09-221-7/+15
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Improve docs for ChannelUsage See merge request tpo/core/arti!737
| * | | | Improve docs for ChannelUsageNick Mathewson2022-09-221-7/+15
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | Try to clarify more that the ChannelUsage is for describing the usage for one particular channel request, not for the channel as a whole. This is a potentially confusing point, so we should spell it out completely.
* | | | Merge branch 'expose-builder' into 'main'Ian Jackson2022-09-221-0/+8
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | CircMgr: Add an accessor for the CircuitBuilder. See merge request tpo/core/arti!738
| * | | CircMgr: Add an accessor for the CircuitBuilder.Nick Mathewson2022-09-221-0/+8
| |/ / | | | | | | | | | | | | | | | | | | Without this, actually building circuits manually is a pain. This API is behind the `experimental-api` feature, and so it does not require a semver.md entry.
* | | Merge branch 'ct_key_zero' into 'main'Alexander Færøy2022-09-214-2/+36
|\ \ \ | |/ / |/| | | | | | | | Add a new constant-time is_zero() check for RsaIdentity See merge request tpo/core/arti!735
| * | Intoduce1: Use a constant-time check for all-zero RsaIdentityNick Mathewson2022-09-201-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As a matter of good crypto practice, we shouldn't use short-circuiting checks to compare keys or key-like objects, since the amount of time taken by those checks can leak information about their inputs. I don't think it's actually _necessary_ to use a constant-time operation in this case, but let's establish the precedent. This is a follow-up to !724.
| * | Add a new constant-time is_zero() check for RsaIdentityNick Mathewson2022-09-203-0/+33
|/ / | | | | | | | | | | | | | | | | | | | | | | | | There are some places in the protocol where we have an all-zero RSA identity that does not truly represent a key, but rather represents an absent or unknown key. For these, it's better to use `RsaIdentity::is_zero` instead of manually checking for a set of zero bytes: it expresses the intent better, and ensures that the operation is constant-time. I am deliberately not introducing a more general IsZero trait here, or implementing is_zero for anything else: This is the only one we seem to need right now. We can generalize it later if we have to.
* | Merge branch 'cell-introduce1' into 'main'Nick Mathewson2022-09-203-6/+130
|\ \ | | | | | | | | | | | | Implement onion service Introduce1 See merge request tpo/core/arti!724
| * | Implement onion service Introduce1Yuan Lyu2022-09-083-6/+130
| | |
* | | Merge branch 'setuid-all-platforms' into 'main'eta2022-09-143-19/+21
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | enumerate platform with getresuid support Closes #582 See merge request tpo/core/arti!728
| * | enumerate platform with getresuid supporttrinity-1686a2022-09-103-19/+21
|/ /
* | Merge branch 'no-inline-internalerror-test' into 'main'Nick Mathewson2022-09-091-0/+1
|\ \ | | | | | | | | | | | | | | | | | | force no inlining on internal_macro_test Closes #570 See merge request tpo/core/arti!727
| * | force no inlining on internal_macro_testtrinity-1686a2022-09-091-0/+1
|/ / | | | | | | it may fix this test when running in release, where the function gets inlined, so its name does not appear in the backtrace
* | Merge branch 'debug_570' into 'main'Ian Jackson2022-09-081-0/+9
|\ \ | | | | | | | | | | | | Add a dbg!() to diagnose #570. See merge request tpo/core/arti!726
| * | Add a dbg!() to diagnose #570.Nick Mathewson2022-09-081-0/+9
|/ / | | | | | | | | This won't fix anything, but it will let us see what the backtrace looks like when it fails.
* | Merge branch 'fix-async-std' into 'main'eta2022-09-073-2/+6
|\ \ | | | | | | | | | | | | fix compilation error with async-std See merge request tpo/core/arti!723
| * | fix compilation error with async-stdtrinity-1686a2022-09-063-2/+6
| | |
* | | Merge branch 'schedule_drop' into 'main'Ian Jackson2022-09-077-9/+45
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | `TaskSchedule`: give error on `sleep*()` if last handle is dropped Closes #572 See merge request tpo/core/arti!725
| * | | `TaskSchedule`: give error on `sleep*()` if last handle is droppedNick Mathewson2022-09-077-9/+45
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes an busy-loop. When the last `TaskHandle` on a `TaskSchedule` is dropped, the schedule is permanently canceled: whatever operation it was scheduling should no longer be performed. But our code was broken: the `sleep()` and `sleep_until_wallclock()` functions don't verify whether the handles are dropped or not. This breakage caused an CPU-eating busy-loop in `sleep_until_wallclock`. With this patch, we now return a `Result<(), SleepError>` from these functions. Fixes #572.
* | | Add a reminder to remove semver.md after release.Nick Mathewson2022-09-071-0/+2
| | |
* | | Remove semver.md from arti-1.0.0Nick Mathewson2022-09-0716-55/+0
| |/ |/|
* | Merge branch 'ci-repro' into 'main'Ian Jackson2022-09-063-5/+15
|\ \ | |/ |/| | | | | CI: build-repro: Bump image to 1.63, and other improvements See merge request tpo/core/arti!716