Subject: OpenVPN
To: None <tech-net@netbsd.org>
From: Stephen Borrill <netbsd@precedence.co.uk>
List: tech-net
Date: 05/11/2006 09:18:29
der Mouse wrote:
> > Currently only implemented on Linux, though porting to BSDs should be
> > straightforward. The reason for the non-portability is that the
> > current implementation uses sendmsg and recvmsg for passing file
> > descriptors between processes.
>
> BSD has had that since...4.3BSD, I think?
Yes, I thought I must be missing something as I couldn't see a problem.
I've not yet compiled it up.
> There is no nonportability here unless they care about portability
> across the silent API change (which is unlikely) or unless Linux does it
> gratuitously differently (which is reasonably likely, actually).
The struct msghdr and function arguments are identical. However,
OpenVPN does use a flag not defined in NetBSD:
MSG_NOSIGNAL
Requests not to send SIGPIPE on errors on stream oriented sockets
when the other end breaks the connection. The EPIPE error is
still returned.
That doesn't look like a showstopper...
--
Stephen