APR::IpSubnet - Perl API for accessing APRs ip_subnet structures
use APR::IpSubnet ();
my $ipsub = APR::IpSubnet->new($pool, "127.0.0.1"); $ok = $ipsub->test($sock_addr);
APR::IpSubnet object represents a range of IP addresses (IPv4/IPv6). A socket connection can be matched against this range to test whether the IP its coming from is inside or outside of this range.
APR::IpSubnet provides the following functions and/or methods:
Create an IP subnet represenation object
$ipsubnet = APR::IpSubnet->new($pool, $ip); $ipsubnet = APR::IpSubnet->new($pool, $ip, $mask_or_numbits);
obj: APR::IpSubnet (class name) arg1: $pool ( APR::Pool object ) arg2: $ip ( string ) IP address in one of the two formats: IPv4 (e.g. 127.0.0.1) or IPv6 (e.g. ::1). IPv6 addresses are accepted only if APR has the IPv6 support enabled. opt arg3: $mask_or_numbits ( string ) An optional IP mask (e.g. 255.0.0.0) or number of bits (e.g. 15).
If none provided, the default is not to mask off.
ret: $ret ( APR::IpSubnet object ) The IP-subnet object excpt: APR::Error since: 2.0.00
Test the IP address in the socket address object against a pre-built ip-subnet representation.
$ret = $ipsub->test($sockaddr);
This method is used for testing whether or not an address is within a subnet. Its used by module mod_access to check whether the client IP fits into the IP range, supplied by Allow/Deny directives.
obj: $ipsub ( APR::IpSubnet object ) The ip-subnet representation arg1: $sockaddr ( APR::SockAddr object ) The socket address to test ret: $ret ( boolean ) true if the socket address is within the subnet, false otherwise since: 2.0.00
Allow accesses only from the localhost (IPv4):
use APR::IpSubnet (); use Apache2::Connection (); use Apache2::RequestRec (); my $ipsub = APR::IpSubnet->new($r->pool, "127.0.0.1"); ok $ipsub->test($r->connection->remote_addr);
mod_perl 2.0 documentation.
mod_perl 2.0 and its core modules are copyrighted under The Apache Software License, Version 2.0.
The mod_perl development team and numerous contributors.
|perl v5.8.8||docs::api::APR::IpSubnet (3)||2007-11-12|