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