you are viewing a single comment's thread
view the rest of the comments
[–] 3 points 2 years ago* (3 children)

Definitely, tho if you store it as a u32 that is fixed magically. Because 1.2.3.4 and 1.02.003.04 both map to the same number.

What I mean by storing it as a u32 is to convert it to a number, similar to how the IP gets sent over the wire, so for v4:

octet[3] | octet[2] << 8 | octet[1] << 16 | octet[0] << 24

or in more human terms:

(fourth octet) + (third octet * 256) + (second octet * 256^2) + (first octet * 256^3)
  • source
  • parent
  • hideshow 6 child comments
  • [–] 2 points 2 years ago (1 child)

    Because 1.2.3.4 and 1.02.003.04 both map to the same number.

    But 10.20.30.40 and 010.020.030.040 map to different numbers. It's often best to reject IPv4 addresses with leading zeroes to avoid the decimal vs. octal ambiguity.

  • source
  • parent
  • hideshow 2 child comments