Subject: EPERM on IPV6_JOIN_GROUP on gif?
To: None <tech-net@netbsd.org>
From: Greg Troxel <gdt@ir.bbn.com>
List: tech-net
Date: 07/01/2004 15:24:58
On 1.6 stable from last week (i386), I have gif tunnel (works fine for
v4 traffic) and I'm trying to run quagga's ripngd.
I was getting EPERM on the setsockopt call in ripngd/ripng_interface.c:

    ret = setsockopt (ripng->sock, IPPROTO_IPV6, IPV6_JOIN_GROUP,
		      (char *) &mreq, sizeof (mreq));

Tracing from netinet/ip6_output.c, I see a call to gif_ioctl, which
has a suser() check.  Making the call as root succeeded.

Is this just a bug in gif?  Is there some reason why only root should
be able to join multicast groups?