<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-ptmgr/src/config.rs, branch arti-v1.2.2</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.2.2</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.2.2'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2024-04-02T16:38:29Z</updated>
<entry>
<title>ptmgr: Use impl_standard_builder for TransportConfig</title>
<updated>2024-04-02T16:38:29Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-03-27T14:54:56Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=04938eb46d26c3c2bd2f3e4c094506545771a4f5'/>
<id>urn:sha1:04938eb46d26c3c2bd2f3e4c094506545771a4f5</id>
<content type='text'>
(This is !Default, since there is no default TransportConfig.)
</content>
</entry>
<entry>
<title>tor-ptmgr: Comment fixes</title>
<updated>2024-03-14T20:02:46Z</updated>
<author>
<name>gabi-250</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-03-14T20:02:00Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=04cd2efd9f887c1f50e5465994d30cf727325985'/>
<id>urn:sha1:04cd2efd9f887c1f50e5465994d30cf727325985</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Clean up parts of the ptmgr docs that assume managed pts</title>
<updated>2024-03-14T20:02:46Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-03-14T14:03:50Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0c91ae07ef589d1687f540866bbf96f4e58ed9b9'/>
<id>urn:sha1:0c91ae07ef589d1687f540866bbf96f4e58ed9b9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Teach get_cmethod_for_transport to handle unmanaged transports.</title>
<updated>2024-03-14T20:02:46Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-03-14T13:55:54Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=66d98d2d33daa3bdb882b569b2b6709c48f33072'/>
<id>urn:sha1:66d98d2d33daa3bdb882b569b2b6709c48f33072</id>
<content type='text'>
This will suffice to bypass the reactor when we're dealing with
an unmanaged pluggable transport.

Closes #755.
</content>
</entry>
<entry>
<title>Adapt TransportConfig to support unmanaged transports.</title>
<updated>2024-03-14T20:02:46Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-03-14T13:07:55Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d1619d10efe3953d204f90a30a15a04d7c46ed27'/>
<id>urn:sha1:d1619d10efe3953d204f90a30a15a04d7c46ed27</id>
<content type='text'>
This is based on an original branch by Trinity. Instead of its
original approach, which used an enum in the configuration to
distinguish managed from unmanaged transports, this branch uses
builder validation function to ensure that incompatible options
aren't used together.  Doing the lets us generate better error
messages.

Thanks: trinity-1686a &lt;trinity@deuxfleurs.fr&gt;
</content>
</entry>
<entry>
<title>Rename ManagedTransportConfig to TransportConfig.</title>
<updated>2024-03-14T20:02:46Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-03-14T12:38:31Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d63d966d79f0f988522c76c729a5189d16275b27'/>
<id>urn:sha1:d63d966d79f0f988522c76c729a5189d16275b27</id>
<content type='text'>
We're going to start using this type for _every_ kind of transport.
</content>
</entry>
<entry>
<title>tor-guardmgr: bridges: fix typo in getter doc</title>
<updated>2023-07-21T09:48:16Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-07-21T09:48:16Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=cfbff212d413a6ad06542aa5c489b9037c49a983'/>
<id>urn:sha1:cfbff212d413a6ad06542aa5c489b9037c49a983</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-guardmgr: bridges: getter for ManagedTransportConfigBuilder.protocols</title>
<updated>2023-07-20T15:42:03Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-07-20T15:41:24Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b5e6af9f5c7b31990689e735fb0704c8328b4b0e'/>
<id>urn:sha1:b5e6af9f5c7b31990689e735fb0704c8328b4b0e</id>
<content type='text'>
It's a bit of a wart that tor-ptmgr calls these "protocols" and
tor-guardmgr calls these "transport names".
</content>
</entry>
<entry>
<title>Additional documentation around bridges/PT configuration</title>
<updated>2023-07-03T17:00:25Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-07-03T16:51:06Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=19b1d3bba58a95934fce5230a75f0adbbef1cf95'/>
<id>urn:sha1:19b1d3bba58a95934fce5230a75f0adbbef1cf95</id>
<content type='text'>
This tries to flesh out some of the details for users who may be new
to bridges and PTs.

Closes #706.
</content>
</entry>
<entry>
<title>Draft: Pluggable transport manager</title>
<updated>2022-11-28T18:52:21Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2022-11-22T16:24:15Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=3b41c78d6fc5eceac3b45ea9ef1540b72f9b4004'/>
<id>urn:sha1:3b41c78d6fc5eceac3b45ea9ef1540b72f9b4004</id>
<content type='text'>
This commit implements `PtMgr`, a pluggable transport manager
responsible for keeping track of spawned PTs and spawning them to
satisfy client requests on demand.

It does this in two parts: the `PtMgr` type exported to the rest of the
code, and the background `PtReactor` that actually does the spawning;
this design ensures that only one attempt to spawn a PT is active at a
time, and will prove useful later for implementing e.g. timeouts.

A few changes were necessary to the rest of the code in order to make
this all work out. Namely:
- `TransportRegistry`'s API didn't make any sense for two reasons:
  - It wasn't feasible for implementors to implement `ChannelFactory`,
    since that'd require constructing a `ChanBuilder` (which requires a
    bootstrap reporting event sender).
  - Treating the PT manager as a registry is over-general; it's only
    necessary for it to spawn pluggable transports, so saddling it with
    other concerns didn't make any sense.
  - (It's possible to get extensibility for arbitrary user customization
    by just letting the user swap in a new `ChannelFactory`, anyway.)
- Therefore, the `PtMgr` implements the new `AbstractPtMgr` trait, which
  is far more narrowly focused; this only exists to solve a dependency
  loop, and is documented as such.
  - This provides a `TransportHelper` instead of a `ChannelFactory`.
</content>
</entry>
</feed>
