Denis Vlasenko wrote:
1. On Windows, if the the service wrapper has started some openvpn
processes before our gui agent is started, how should find out about
those processes?

I can think of the following ways:

1a. Ask the service wrapper via the socket interface that I'm working
on right now. This will require the service wrapper not only start the
processes, but keep a table over running processes.

I think it's an important point worth some discussion on whether to (a)
put all the "intelligence" in the GUI applet and have the service
wrapper just be a basic proxy to an admin-privileged CreateProcess, or
(b) write a portable service wrapper that's designed to run on all the
OSes which OpenVPN currently supports, and which would do all the
"under-the-hood" work in starting/stopping/managing of different
OpenVPN processes, and the GUI applet would do nothing more than export
the control interface of the portable service wrapper to a
platform-specific, lightweight GUI.


(b) already exists. It's daemontools. (Does not exist on NT, though).
Daemontools' license is not open enough, but there is a opensource clone
at http://smarden.org/runit/.



I actually don't see why we should add this external dependency to openvpn or its graphical frontend. The daemontools are just another layer which would just take us half the way to a gui, we would then still need to control the daemontools itself (starting/stopping openvpn via the respective command or grabbing the status from the tools).

Basically, the only feature we really need is to start or stop some privileged process, that's all. Coding this into a service wrapper for openvpn takes as much effort as handling something like daemontools itself - both with respect to development time (a few hours up to a day) and to code size. Handling the status information of openvpn is so specific in any way, that daemontools cannot help us here.

But hey, I guess you will never need that wrapper anyhow, because its only purpose will be to enable running the gui. There will be likely no impact on the openvpn core itself besides an extended status interface (probably via stdout only).

Jan

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to