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

Re: [libvirt] [PATCH v2 1/2] Qemu/Gluster: Add Gluster protocol as supported network disk formats.

I chose to check for only ':' to decide if its a IPv6 addr because it
doesnt make sense to be partial towards '.' What if someone specifies a host name like 12:12;12,12 or 23:23,23,23 ? A '.' in an IPv6 addr is as
bad as any other invalid char.

'.' is valid in IPv6 addr.  But yes, ':' is mandatory in IPv6, and
forbidden in IPv4, so it makes a good distinguishing test between the
two families.

So, are you suggesting to validate IPv4 only and that too based on the
absence of ':' and presence of '.'? Does that really suffice to validate
an IPv4 since any other special character is also an invalid separator
for IPv4 ?

Ultimately, you want to accept both types of IP addresses.  I was just
replying to your quote about '.' not being valid in IPv6 as being an
incorrect statement; I don't really know what the best separator
character is that you want to be using in this context, because I
haven't been following the original conversation closely enough.  You
should also realize that hostnames cannot contain ':' or ';' (I'm not
sure about ','), so your question about someone setting a hostname to
'12:12;12,12' to confuse the parser is not worth worrying about.

Ok, I understand that IPv6 can have a '.' though ':' is mandatory in IPv6, and the current code should work for IPv6 addresses with a . as well. However, I am not sure if we need to validate the user provided hostname/IPv4/IPv6 addresses if it contains an invalid separator.

Also, the parsing code for IPv4 should work for hostnames as well. By talking about IP address with diff separators, I just meant to say that presence of . and absence of : doesnt necessarily mean a valid IPv4 address since presence of other invalid separator would also mean an invalid IPv4 address.

I didn't knew '.' is allowed in IPv6, if thats the case, then i take back my suggestion here :)

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