Software /
code /
prosody
Changeset
6926:d96b2aa7a11d
util.ip: Improve comparison, == doesn't necessarily handle IPv6 addresses correctly if they aren't normalized (case, ::, etc.)
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Sun, 22 Nov 2015 15:30:27 +0000 |
parents | 6924:c37ad3e1fdd9 |
children | 6927:566e1cfcb814 |
files | util/ip.lua |
diffstat | 1 files changed, 1 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/util/ip.lua Tue Nov 17 17:04:04 2015 +0000 +++ b/util/ip.lua Sun Nov 22 15:30:27 2015 +0000 @@ -229,13 +229,10 @@ local function match(ipA, ipB, bits) local common_bits = commonPrefixLength(ipA, ipB); - if not bits then - return ipA == ipB; - end if bits and ipB.proto == "IPv4" then common_bits = common_bits - 96; -- v6 mapped addresses always share these bits end - return common_bits >= bits; + return common_bits >= (bits or 128); end return {new_ip = new_ip,