Skip to content

PT STATUS messages require TRANSPORT; fails with current standard that uses STATUS TYPE

torspec!63 (merged) change pluggable transports STATUS messages to remove the required key TRANSPORT and add the required key TYPE. tor!820 (closed) is the corresponding change in C-tor. Arti still implements the old STATUS TRANSPORT message (tor#28181 (closed)), and apparently even terminates pluggable transport processes that send STATUS without TRANSPORT (as transport that comply with the current version of pt-spec.txt do), whereas old version of C-tor just emit a warning. This is the line where the error is raised: https://gitlab.torproject.org/tpo/core/arti/-/blob/fbce28a8377a14ca3e50117b35eb065e275aefe2/crates/tor-ptmgr/src/ipc.rs#L350

Here's a user reporting a failure to use lyrebird with Arti since tpo/anti-censorship/pluggable-transports/lyrebird@f56896ff started reporting the version number with STATUS TYPE=version (tpo/anti-censorship/pluggable-transports/lyrebird#40018 (closed)).

https://ntc.party/t/gitlab-lyrebird-buildrun-error/8010

с какого то момента после git pull перестали работать obfs4 мосты через lyrebird
причем я не настолько понимаю в git/go чтобы понять что сломалось

через obfs4proxy или “старый” lyrebird как и раньше без проблем.
вот так только собирается/запускается

C:\GitHub\lyrebird>git branch
* (HEAD detached from lyrebird-0.2.0)
  fix_dependency_redirect
  main

а вот это “последняя” версия == main

2024/07/01 17:22:35 [NOTICE]: devel - launched
2024/07/01 17:22:35 [INFO]: lyrebird-64.exe - initializing client transport listeners
2024/07/01 17:22:35 [INFO]: obfs4 - registered listener: 127.0.0.1:50532
2024/07/01 17:22:35 [INFO]: lyrebird-64.exe - accepting connections
2024/07/01 17:22:35 [NOTICE]: Stdin is closed or unreadable: <nil>
2024/07/01 17:22:35 [NOTICE]: lyrebird-64.exe - terminated
2024-07-01T14:36:20Z  WARN tor_ptmgr: Spawning PT for [PtTransportName("obfs4")] failed: Couldn't parse IPC line "STATUS TYPE=version IMPLEMENTATION="lyrebird" VERSION="devel"": no TRANSPORT in STATUS
2024-07-01T14:36:20Z  WARN tor_ptmgr: PT for obfs4 failed to launch: Couldn't parse IPC line "STATUS TYPE=version IMPLEMENTATION="lyrebird" VERSION="devel"": no TRANSPORT in STATUS

At some point after Git Pull, OBFS4 bridges over Lyrebird stopped working And I don't understand Git/Go enough to understand what broke

Via obfs4proxy or the "old" Lyrebird as before without problems. This is how it is only assembled/launched

...

And this is the "latest" version == main

...