Changes between Initial Version and Version 1 of org/meetings/2018Rome/Notes/PT

Mar 12, 2018, 3:28:25 PM (17 months ago)



  • org/meetings/2018Rome/Notes/PT

    v1 v1  
     2Pluggable Transport session
     5Session: #1
     6Date: 2018/03/12
     7Time: 14:30:00
     9Host: John
     10Note taker: Alex
     12John starts out by introducing the concept of pluggable transport
     13and transport obfuscation to the meeting participants. We talk shortly
     14about what people are expecting from the session and try to figure out
     15who understands what in the world of PT's.
     17John talks about their obfuscation PT, marionette, that makes the
     18transport look like traditional HTTP and HTML. We discuss how the system
     19is impacted by different kinds of overhead of transport size.
     21John mentions that the documentation of integrating PT's on the Tor
     22website could be better. John is interested in figuring out how to turn
     23his obfuscation tool into an actual PT -- currently it is a binary that
     24exposes a socks proxy port. Alex explains how that is good start and
     25there is a "small" handshake that has to be done before Tor will start
     26using the exposed socks port.
     28OONI have a need for PT's to be available on mobile to test and measure
     29which types of PT are available and working in different countries.
     30Adelita mentions that they are probing their PT servers, in different
     31countries, but they have a problem figuring out if the servers are
     32actually in the countries where they are claimed to be.
     34Hans from the Guardian project explains the Android integration problems
     35and the group discusses the problem with running multiple processes on
     36different platforms. This is currently a big problem on iOS and we
     37suspect it might become more and more of a problem in the future on
     40Operator Foundation is working on the PT spec and implementing PT's in
     41Apple's swift programming language for easier integration with iOS.
     43Alex goes over some of the known issues with Tor: PT's are unable to
     44signal *why* they are failing if they are failing and discusses which
     45problems that exposes.
     47We discuss whether it is possible to load a PT as shared library instead
     48of a binary. We discuss the loading of Go PT's and whether it is
     49possible with shared libraries.
     51We talk about Shapeshifter integration in Tor Browser and who should be
     52contacted for that. Nick suggests talking to Georg Koppen from the
     53browser team (GeKo).
     55Alex suggested using dynamic loading of .so files and executing a
     56specific main function for each individual PT function.
     58We talk about how far the PT spec is and how far it is from being a
     59stable release. The PT mailing list is available at:
     62Nick mentions that it's good that people are doing PT development in
     63non-C languages because the memory safety is good to have and makes it
     64easier to audit the code which is often required before other people are
     65willing to integrate the code. Nick mentions that there is a price with
     66using those languages in that it's harder to integrate for different
     67platforms such a mobile.
     69Hans mentions that Go binaries are statically linked, which means we
     70have a big runtime included for every PT that people run. Nick mentions
     71that the Tor PT architecture can handle multiple transport in a single
     72process, which will mean that the different PT implementations will have
     73to be in the same Go binary.
     75Nick explains the rationale behind the out-of-process design with PT's
     76and that it's probably a positive thing in the PT ecosystem that PT's
     77can be written in any language.
     79Nick mentions that the network team is going to look into making it
     80possible for PT's to report back to the Tor process with status
     81information in the nearer future (bidirectional communication between
     82Tor and the PT).