Subject: Re: OpenVPN
To: Sanjay Shridhar <email@example.com>
From: Bill Studenmund <firstname.lastname@example.org>
Date: 05/11/2006 12:49:11
Content-Type: text/plain; charset=us-ascii
On Thu, May 11, 2006 at 10:42:40AM -0700, Sanjay Shridhar wrote:
> > -----Original Message-----
> > From: tech-net-owner@NetBSD.org=20
> > [mailto:tech-net-owner@NetBSD.org] On Behalf Of der Mouse
> > Sent: Thursday, May 11, 2006 6:52 AM
> > To: tech-net@NetBSD.org
> > Subject: Re: OpenVPN
> > >> There is no nonportability here unless they care about portability=
> > >> across the silent API change (which is unlikely) or unless=20
> > Linux does=20
> > >> it gratuitously differently (which is reasonably likely, actually).
> > > The struct msghdr and function arguments are identical. However,=20
> > > 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...
> > Depends on how OpenVPN uses it. But, looking at the code for=20
> > SIGPIPE generation, it looks as though this would be dead=20
> > easy to add to NetBSD. sendit(), in uipc_syscalls.c, is the=20
> > only place that I think needs to be touched:
> > - if (error =3D=3D EPIPE)
> > - psignal(p, SIGPIPE);
> > + if ((error =3D=3D EPIPE) && !(flags & MSG_NOSIGNAL))
> > + psignal(p, SIGPIPE);
> If you do this, you would have version compatibility issues. Maybe a nice
> additional feature, but increases the burden on the app space to be
> compatible between versions that do and don't support this.
How would adding support for MSG_NOSIGNAL to NetBSD cause compat issues?=20
OpenVPN isn't compatible with NetBSD without this; the app isn't burdened=
with supporting NetBSD w/o this feature.
This feature is also small-enough that it could probably get pulled into=20
the 3.X branch and probably the 2.X branch too.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (NetBSD)
-----END PGP SIGNATURE-----