Commit Graph

4595 Commits

Author SHA1 Message Date
eta f5ca21b4ff CHANGELOG: fix some typos 2022-10-03 14:15:05 +01:00
Nick Mathewson a506f020b2 changed_crates: output crates in toposort order. 2022-10-03 08:47:07 -04:00
Nick Mathewson 4ca7221d53 Finish filling in the changelog for 1.0.1 2022-10-03 08:40:33 -04:00
Nick Mathewson e630b2641e Merge branch 'upgrade-20220930' into 'main'
Upgrade various things in preparation for monday release

See merge request tpo/core/arti!750
2022-09-30 19:48:26 +00:00
Nick Mathewson 4b61d778bd Update README.md files. 2022-09-30 15:19:48 -04:00
Nick Mathewson 627a8f09bd Run cargo update in preparation for upcoming release. 2022-09-30 15:19:39 -04:00
Nick Mathewson 66ddbee1a4 Upgrade dependencies in preparation for upcoming release 2022-09-30 15:19:32 -04:00
Nick Mathewson 3f5a524597 Start a changelog for Arti 1.0.1 2022-09-30 15:04:02 -04:00
Ian Jackson 5be8830b3f pt: bridge parsing: Add an IPv6 test case 2022-09-30 17:08:14 +01:00
Ian Jackson 47aae0c27a pt: impl Display for Bridge and test it 2022-09-30 17:08:14 +01:00
Ian Jackson 0c9b54c2f0 pt: Provide accessors for PtTarget 2022-09-30 17:08:14 +01:00
Ian Jackson 0dfa69510e implement FromStr for Bridge, and test it 2022-09-30 17:08:14 +01:00
Ian Jackson 4b28c0e120 tor-guardmgr: Introduce pt-client feature
guardmgr needs to know how to parse Bridge lines into Bridge structs
so it needs to know about PTs specifically
2022-09-30 17:08:14 +01:00
Ian Jackson c41ea6e07b pt: Make some more types Eq
I wanted this for testing.  I think it's reasonable to promise this.
2022-09-30 17:08:14 +01:00
Ian Jackson 7bbf7ac161 pt: Provide constructors for PtTarget
Make PtTargetSettings be Default.

No longer wrap it in Arc.  We want to be able to update it here during
construction.  If we want to save memory with copies of the same
bridge line, we should do this for the whole Bridge I think.
2022-09-30 17:08:14 +01:00
Ian Jackson 98f92d870e tor-error::internal: Remove a redundant suppression
Spotted this in passing.
2022-09-30 17:08:14 +01:00
Nick Mathewson 1565ea36a0 Merge branch 'from_bool_fix' into 'main'
Work around a new nightly clippy warning

See merge request tpo/core/arti!749
2022-09-30 14:14:32 +00:00
Nick Mathewson 6a04188d59 Work around a new nightly clippy warning
The warning `clippy::bool_to_int_with_if` is meant to shout at you
when you say `if x { 1 } else { 0 }` and instead suggest that you
say `inttype::from(x)`.

I agreed with this for the case in tor-cert, where we are literally
converting a boolean into a flag.

I don't agree with this in tor-netdoc, where we are using a boolean
to decide how many fields to skip in a given document format.  So
for this case, I decided to clean up the code a little by renaming
"skip" to "n_skip", and changing the boolean to use an enum instead.
2022-09-30 09:00:42 -04:00
Ian Jackson 94329cf8fb Merge branch 'bridge-apis-are-experimental' into 'main'
Mark all bridge and pt features as experimental for now.

Closes #588

See merge request tpo/core/arti!748
2022-09-29 15:32:13 +00:00
Nick Mathewson b146dacf1d Mark all bridge and pt features as experimental for now.
Also, document the features.

Closes #588.
2022-09-29 10:59:19 -04:00
Nick Mathewson af99979689 Implement client-side SOCKS handshake 2022-09-28 09:29:56 -04:00
Ian Jackson c9b6cf2e2e Merge branch 'pt-name' into 'main'
pt: Introduce PtTransportName

See merge request tpo/core/arti!743
2022-09-27 16:52:04 +00:00
Nick Mathewson d06dcefd7b Make "SocksRequest::new" public.
Also, have it enforce more correctness properties.
2022-09-27 12:38:48 -04:00
Nick Mathewson 4b992cbd89 New ErrorKind::LocalProtocolFailed.
This type is by analogy to `RemoteProtocolFailed`; we'll use it for
cases when the Socks proxy refuses to talk to us.
2022-09-27 12:30:20 -04:00
Ian Jackson 278425321d pt: Reject a pluggable transport named Bridge
https://gitlab.torproject.org/tpo/core/torspec/-/merge_requests/91
2022-09-27 17:30:00 +01:00
Ian Jackson 102a663907 Remove docsrs thing which is in wrong place? 2022-09-27 17:30:00 +01:00
Ian Jackson 9b55cc012e pt: Try to fix docsrs problem 2022-09-27 17:29:38 +01:00
Ian Jackson 3e5be3ddd6 pt: Use PtTransportName in PtTarget 2022-09-27 17:29:38 +01:00
Ian Jackson fdfbdf082a pt: Use PtTransportName in TransportId 2022-09-27 17:29:38 +01:00
Ian Jackson 0dab3e0c08 pt: PtTransportName: Provide TryFrom, into_inner, AsRef
This seems a minimal API for such a thing.
2022-09-27 17:29:38 +01:00
Ian Jackson 9980338a9d pt: tor-linkspec: Shorten some names with use
This repetition was getting repetitive.
2022-09-27 17:29:38 +01:00
Nick Mathewson b08073c2d4 socksproto: Rename SocksHandshake to SocksProxyHandshake.
Retain "SocksHandshake" as a deprecated synonym.

Also, make an (on-by-default) feature for SocksProxyHandshake.

(There is about to be a SocksClientHandshake as well.)
2022-09-27 08:28:47 -04:00
Ian Jackson bee40d3954 pt: Introduce PtTransportName
The config parsing wants this.  Also there are some anomalies in the
types here that ought to be tidied up.
2022-09-27 12:44:23 +01:00
Ian Jackson 85dfe9d1ec Merge branch 'always_safelog_on_console' into 'main'
Enforce SafeLogging on the console.

Closes #553

See merge request tpo/core/arti!742
2022-09-26 16:33:58 +00:00
Nick Mathewson 1b53544ee8 Merge branch 'pt-client-api-part-2' into 'main'
Remaining bridge-and-pt APIs

Closes #543

See merge request tpo/core/arti!741
2022-09-26 15:46:44 +00:00
Nick Mathewson 8ddc1a4b36 Enforce SafeLogging on the console.
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.
2022-09-26 11:36:18 -04:00
Nick Mathewson 3272c6fb04 Add the necessary APIs for bridge-based circuit construction. 2022-09-26 11:23:21 -04:00
Nick Mathewson 1196e1b680 GuardMgr/DirMgr: Add APIs for bridge descriptor lists 2022-09-26 11:23:21 -04:00
Nick Mathewson 571e7f9556 Make RouterDesc implement Clone and Debug.
Their omission was an oversight.
2022-09-26 11:23:21 -04:00
Nick Mathewson ab5dd6cbc3 GuardMgr: Add TODOs for bridge support.
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.
2022-09-26 11:23:21 -04:00
Nick Mathewson e097d64417 A basic configuration type for a bridge.
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.
2022-09-26 11:23:21 -04:00
Ian Jackson 0154d82522 Merge branch 'cell-introduce2' into 'main'
Implement Introduce2 tor cell

See merge request tpo/core/arti!736
2022-09-26 12:07:33 +00:00
Nick Mathewson 893be16146 Merge branch 'pt-client-api-part-1' into 'main'
Add sketched-out pluggable transport APIs (part 1)

See merge request tpo/core/arti!740
2022-09-23 18:49:30 +00:00
Nick Mathewson 52ca64fe0d Add a few comments based on review. 2022-09-23 14:08:53 -04:00
Nick Mathewson 4f93eee67b Clarify and combine PtTargetAddr constructors. 2022-09-23 14:08:53 -04:00
Nick Mathewson 141afbbf61 Rename various Transport* types to Pt*.
This clarifies that the types apply to pluggable transports only,
and not (typically) to the default plain-old-TCP transport.
2022-09-23 14:08:53 -04:00
Ian Jackson 9df8ea215a Clarify note on "none" transport ID. 2022-09-23 14:08:36 -04:00
Nick Mathewson e412d7400c Add the skeleton of a tor-ptmgr crate
When complete, this crate will handle launching and using pluggable
transports on demand.
2022-09-23 14:08:24 -04:00
Nick Mathewson bd627c2e15 ChanMgr: new (unimplemented) APIs for pluggable transports 2022-09-23 14:08:24 -04:00
Nick Mathewson cd88e8cb0b Add a HasChanMethods trait, with a bunch of open TODO questions.
We'll need to sort these out as we implement pluggable transports.
2022-09-23 14:08:24 -04:00