ClientTransportPlugin exec path cannot contain spaces
There does not seem to be a away to set a ClientTransportPlugin
exec path for PTs whose path (absolute or relative) includes a space character. I may be wrong here, in which case this issue should be moved to the appropriate repo and the documentation/tor man page should be updated. An initial look into the tor source seems to suggest we're just splitting the entire conf line on the space character and handling each arg positionally.
I ran into this issue while integrating PTs into Ricochet-Refresh. The default_torrc
file is saved in the user's profile directory (along with other ricochet and generated tor data files) while the binaries are saved in per-platform installation location (eg C:/Program Files/Ricochet Refresh/blah/blah
on Windows, /Applications/Ricochet Refresh.app/blah/blah
on macOS, etc). We also support portable installations, so have no control over whether the PTs are deployed to paths containing spaces.
To work around this issue, we create a symlink on app launch that gives us a safe relative path in the user's working directory to the PTs absolute installation path.