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 :)
--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list