On Mon, 2014-04-14 at 09:19 +0200, Jan Just Keijser wrote:
> I do like the idea of not needing root access to run openvpn - esp 
> windows users could benefit from this, as they're not always allowed to 
> install the tap-win adapter. Then again, it goes against the UNIX/Linux 
> philosophy that each tool (e.g. openvpn) should do one thing and it 
> should do it well. By adding patches like this left and right we're 
> steering away from that philosophy.

I'm inclined to agree about the philosophy, but I think it's a design
decision made long ago in OpenVPN, and I wouldn't necessarily advocate
changing it.

One way of applying the UNIX philosophy in this context is to suggest
that the "one thing" that a VPN tool should do well is the transfer of
packets between an encrypted network link and a local one.

If you take a look at vpnc and openconnect, you'll see that the nasty
details of how you *configure* a network connection for every platform
under the sun was considered to be outside the scope. It was farmed out
to a separate tool, vpnc-script. Which allows us to *share* that
vpnc-script between the two clients rather than reproducing the effort.

If you look at the situation from that point of view, then yes — adding
"patches like this left and right" is definitely steering away from the
UNIX philosophy. But the "patches like this" could be seen to include
all the existing support for configuring specific platforms such as
Linux, *BSD, Solaris, Windows, OSX, Android, etc. :)

But there are good reasons why openvpn does this stuff for itself, and I
don't think it's very practical to change it. Kevin's patches are in
line with the existing design.

We have a lot of configuration cruft in openvpn, and fundamentally what
it does is give the core code a file descriptor that it can shove
packets in and out of. If Kevin offers a relatively clean way for that
file descriptor to be a UNIX dgram socket which we handed to a spawned
child process, instead of a handle to the kernel's /dev/net/tun device,
I don't see why we'd consider that a violation of the philosophy.

-- 
David Woodhouse                            Open Source Technology Centre
david.woodho...@intel.com                              Intel Corporation

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to