mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-03-24 20:07:33 +00:00
BUILD: lua: build failed on FreeBSD.
s6_addr* fields are not available in the userland on BSD systems in general. bug reported by David Carlier needs backport to 1.7.x
This commit is contained in:
parent
f27cddcf7d
commit
de6925eccf
@ -1016,14 +1016,16 @@ int hlua_match_addr(lua_State *L)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (((addr1->addr.v6.ip.s6_addr32[0] & addr2->addr.v6.mask.s6_addr32[0]) ==
|
int i;
|
||||||
(addr2->addr.v6.ip.s6_addr32[0] & addr1->addr.v6.mask.s6_addr32[0])) &&
|
|
||||||
((addr1->addr.v6.ip.s6_addr32[1] & addr2->addr.v6.mask.s6_addr32[1]) ==
|
for (i = 0; i < 16; i += 4) {
|
||||||
(addr2->addr.v6.ip.s6_addr32[1] & addr1->addr.v6.mask.s6_addr32[1])) &&
|
if ((*(uint32_t *)&addr1->addr.v6.ip.s6_addr[i] &
|
||||||
((addr1->addr.v6.ip.s6_addr32[2] & addr2->addr.v6.mask.s6_addr32[2]) ==
|
*(uint32_t *)&addr2->addr.v6.mask.s6_addr[i]) !=
|
||||||
(addr2->addr.v6.ip.s6_addr32[2] & addr1->addr.v6.mask.s6_addr32[2])) &&
|
(*(uint32_t *)&addr2->addr.v6.ip.s6_addr[i] &
|
||||||
((addr1->addr.v6.ip.s6_addr32[3] & addr2->addr.v6.mask.s6_addr32[3]) ==
|
*(uint32_t *)&addr1->addr.v6.mask.s6_addr[i]))
|
||||||
(addr2->addr.v6.ip.s6_addr32[3] & addr1->addr.v6.mask.s6_addr32[3]))) {
|
break;
|
||||||
|
}
|
||||||
|
if (i == 16) {
|
||||||
lua_pushboolean(L, 1);
|
lua_pushboolean(L, 1);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user