Search Linux Wireless

Re: [PATCH net-next v1 4/7] tools/net/ynl: accept IP string inputs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 4 Dec 2024 at 02:07, Jakub Kicinski <kuba@xxxxxxxxxx> wrote:
>
> On Tue,  3 Dec 2024 13:06:52 +0000 Donald Hunter wrote:
> > +    def _from_string(self, string, display_hint, type):
>
> Any reason not to pass attr_spec instead of the members one by one?

I thought it would be better to keep the low-level helpers decoupled
from attr_spec and mostly just following existing helpers that only
have the display_hint parameter.

> > +        if display_hint in ['ipv4', 'ipv6']:
> > +            ip = ipaddress.ip_address(string)
> > +            if type == 'binary':
> > +                raw = ip.packed
> > +            else:
> > +                raw = int(ip)
> > +        else:
>
> I wonder if we should raise in this case?
> Especially if type is binary passing the string back will just blow up
> later, right? We could instead rise with a nice clear error message
> here.

It's actually a bit misleading that the attr is called 'string'
because it could be a binary input if it was supplied from python
code, i.e. not parsed from JSON on the command-line.

But you highlight the bigger point that our input validation is quite
weak and will need to be improved. In this case it would be desirable
to defensively check if the input is already binary before checking
for a display-hint. Then for input that can't be handled, we can raise
an error message.




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux