NT Service installation does not handle "-f" flag
Aplin, Justin M
jmaplin at ufl.edu
Tue Jun 15 07:53:45 UTC 2010
Just wanted to throw this out and see if I'm missing something obvious
before I file a bug report.
I'm trying to install Tor as an NT Service using a custom location for
the torrc. I can test whether Tor is using my custom torrc or default
values by trying to connect through the ControlPort I configured. I
figured I could do so with either one of the following commands:
> tor --service install -f "C:\CustomLocation\torrc"
> tor -install -f "C:\CustomLocation\torrc"
And when I do this I indeed get the following messages, as well as
seeing a tor.exe in the Task Manager:
> Done with CreateService.
> Service installed successfully
> Service started successfully
> [warn] Failed to parse/validate config: Unknown option 'service'.
> Failing.
> [err] Reading config failed--see warnings above.
However, being unable to connect to the ControlPort, I suspect that the
service is ignoring my "-f" option and using the default location for
the torrc, and clearly not finding it. This is made clear when I restart
the service on the command line and receive the following:
> [notice] Configuration file "C:\Documents and
> Settings\MyUserName\Application Data\tor\torrc" not present, using
> reasonable defaults.
> [warn] Failed to parse/validate config: Unknown option 'service'.
> Failing.
> [err] Reading config failed--see warnings above.
Despite these errors, a tor.exe can be seen plugging along quite happily
in the Task Manager. There seem to be two issues here. The first is that
the service installation is not incorporating command-line flags into
the start parameters of the service, forcing it to revert to defaults.
The second (and I'm speculating here) is that Tor is not exiting cleanly
after it invokes CreateService and/or ControlService, causing the log
warnings. I have no idea if this second issue is a big deal or not.
For the record, there are no issues with Tor itself running as a
service, as the following command works perfectly on the command-line.
But I need it running in the pre-logon environment and across user
sessions, so unless I can get my custom flags to take, I'm looking at
mucking around with NTFS symlinks, which is really more than I want to
deal with today.
> tor --nt-service -f "C:\CustomLocation\torrc"
Thoughts?
~Justin Aplin
More information about the tor-relays
mailing list