-class IPClass {
- var $addr;
- var $mask;
-
- function IPClass($ipset)
- {
- //split
- $elem = split("/", $ipset, 2);
- $addr = $elem[0];
- $mask = (int)$elem[1];
-
- //convert mask
-
- $this->mask = ((1<<($mask))-1) << (32 - $mask);
- $this->addr = ip2long($addr) & $this->mask;
-
- fprintf(STDERR, "New ipclass: %x (%x)\n", $this->addr, $this->mask);
- }
-
- function match($ip)
- {
- fprintf(STDERR, "IP: %x, ADDR: %x, MASK: %x -> (%d)\n",
- $ip, $this->addr, $this->mask, ((ip2long($ip) & $this->mask) == $this->addr));
- return (($ip & $this->mask) == $this->addr);
- }
-}
-