Alexander Bluhm(alexander.bl...@gmx.net) on 2019.11.18 16:31:05 +0100:
> On Thu, Nov 14, 2019 at 11:14:45PM +0100, Sebastian Benoit wrote:
> > The alternative is to not allow netmask for ipv6 and only /<prefixlen> and 
> > prefixlen
> > <prefixlen>. Why support such a crazy way of specifying the mask?
> 
> We can also do it the other way around and forbid ifconfig inet6
> netmask.

sorry, thats what i meant.
 
> > In route we removed a few quirks like that with notice in current.html , 
> > why not here?
> 
> route(8) still accepts netmask.

Yes, i  wrote too fast. The quirks were problematic ordering of arguments.

> route add -inet6 1234:: -netmask ffff:: ::1
> 
> Ignoring options silently is bad.  So either use or reject netmask.
> If ifconfig(8) uses it, it would be consistent to route(8).

Right. Probably better to be consistent and not break peoples configs then.

ok for both diffs with a preference for the first ;)

> 
> bluhm
> 
> Index: sbin/ifconfig/ifconfig.8
> ===================================================================
> RCS file: /data/mirror/openbsd/cvs/src/sbin/ifconfig/ifconfig.8,v
> retrieving revision 1.343
> diff -u -p -r1.343 ifconfig.8
> --- sbin/ifconfig/ifconfig.8  10 Nov 2019 09:10:44 -0000      1.343
> +++ sbin/ifconfig/ifconfig.8  18 Nov 2019 13:57:18 -0000
> @@ -429,7 +429,7 @@ output from
>  .Cm hwfeatures
>  shows the maximum supported MTU.
>  .It Cm netmask Ar mask
> -(inet and inet6 only)
> +(inet only)
>  Specify how much of the address to reserve for subdividing
>  networks into subnetworks.
>  The mask includes the network part of the local address
> Index: sbin/ifconfig/ifconfig.c
> ===================================================================
> RCS file: /data/mirror/openbsd/cvs/src/sbin/ifconfig/ifconfig.c,v
> retrieving revision 1.414
> diff -u -p -r1.414 ifconfig.c
> --- sbin/ifconfig/ifconfig.c  24 Oct 2019 18:54:10 -0000      1.414
> +++ sbin/ifconfig/ifconfig.c  18 Nov 2019 13:56:31 -0000
> @@ -6151,6 +6151,9 @@ in6_getaddr(const char *s, int which)
>       char buf[HOST_NAME_MAX+1 + sizeof("/128")], *pfxlen;
>       int error;
> 
> +     if (which == MASK)
> +             errx(1, "inet6 needs prefixlen, not netmask");
> +
>       memset(&hints, 0, sizeof(hints));
>       hints.ai_family = AF_INET6;
>       hints.ai_socktype = SOCK_DGRAM; /*dummy*/
> 

Reply via email to