ping ?

On Wed, Sep 18, 2013 at 11:01 AM, Loganaden Velvindron
<lo...@elandsys.com> wrote:
> On Tue, Aug 27, 2013 at 10:37:30AM +0200, Martin Pieuchot wrote:
>> On 22/08/13(Thu) 23:31, Claudio Jeker wrote:
>> > On Wed, Aug 21, 2013 at 09:59:56AM -0700, Loganaden Velvindron wrote:
>> > > I'm not sure if applies to OpenBSD as well, but NetBSD
>> > > also disallowed SIOCSIFDSTADDR for ioctl.
>> > > [...]
>> > >
>> > > Index: sys/netinet6/in6.c
>> > > ===================================================================
>> > > RCS file: /cvs/src/sys/netinet6/in6.c,v
>> > > retrieving revision 1.117
>> > > diff -u -p -r1.117 in6.c
>> > > --- sys/netinet6/in6.c    13 Aug 2013 05:52:25 -0000      1.117
>> > > +++ sys/netinet6/in6.c    21 Aug 2013 15:50:00 -0000
>> > > @@ -429,8 +429,9 @@ in6_control(struct socket *so, u_long cm
>> > >           sa6 = &ifr->ifr_addr;
>> > >           break;
>> > >   case SIOCSIFADDR:
>> > > + case SIOCSIFDSTADDR:
>> > >           /*
>> > > -          * Do not pass this ioctl to driver handler since it is not
>> > > +          * Do not pass those ioctl to driver handler since they are not
>> > >            * properly setup. Instead just error out.
>> > >            */
>> > >           return (EOPNOTSUPP);
>> >
>> > Are any of our driver ioctl handlers handling SIOCSIFDSTADDR? I don't
>> > think so but I think this could be just extra safety and should therefor
>> > be commited.
>>
>> Only tun(4) seems to have some code for it, but I don't think it is
>> correct.  And if it is, we should probably use SIOCGIFDSTADDR_IN6
>> anyway.
>>
>> Maybe a small cleanup can be done?
>>
>> So I'm also in favor of this supplementary safety check, and I
>> would even add SIOCSIFBRDADDR to this list.
>
> And SIOCSIFNETMASK as well to be safe ?
>
> Index: in6.c
> ===================================================================
> RCS file: /cvs/src/sys/netinet6/in6.c,v
> retrieving revision 1.118
> diff -u -p -r1.118 in6.c
> --- in6.c       26 Aug 2013 07:15:58 -0000      1.118
> +++ in6.c       18 Sep 2013 06:54:13 -0000
> @@ -426,8 +426,11 @@ in6_control(struct socket *so, u_long cm
>                 sa6 = &ifr->ifr_addr;
>                 break;
>         case SIOCSIFADDR:
> +       case SIOCSIFDSTADDR:
> +       case SIOCSIFBRDADDR:
> +       case SIOCSIFNETMASK:
>                 /*
> -                * Do not pass this ioctl to driver handler since it is not
> +                * Do not pass those ioctl to driver handler since they are 
> not
>                  * properly setup. Instead just error out.
>                  */
>                 return (EOPNOTSUPP);
>>
>> M.
>>
>



-- 
This message is strictly personal and the opinions expressed do not
represent those of my employers, either past or present.

Reply via email to