docs::a...pSubnet(3)
π NAME π
okay so this page is docs::a...pSubnet(3) β yes, a User Contributed Perl Documentation page β and it's all about APR::IpSubnet: the Perl API for accessing APRs ip_subnet structures. π«Ά
β¨ Synopsis β¨
use APR::IpSubnet ();
my $ipsub = APR::IpSubnet->new($pool, "127.0.0.1");
$ok = $ipsub->test($sock_addr);
π¦ Description π¦
An APR::IpSubnet object is literally a whole range of IP addresses (IPv4/IPv6). You can match a socket connection against this range to test whether the IP it's coming from is inside or outside of this range. It's giving IP vibe check, no cap. π
πΈ API πΈ
APR::IpSubnet provides the following functions and/or methods:
π "new" π
Create an IP subnet representation 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 ) β the 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" π₯
Test the IP address in the socket address object against a pre-built ip-subnet representation. π¦
$ret = $ipsub->test($sockaddr);
- obj:
$ipsub(APR::IpSubnet object) β the ip-subnet representation - arg1:
$sockaddr(APR::SockAddr object) β the socket address to test - ret:
$ret( boolean ) βtrueif the socket address is within the subnet,falseotherwise - since: 2.0.00
This method is used for testing whether or not an address is within a subnet. It's used by module "mod_access" to check whether the client IP fits into the IP range, supplied by "Allow"/"Deny" directives. π«Ά
Example:
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);
π See Also π
mod_perl 2.0 documentation.
π Copyright π
mod_perl 2.0 and its core modules are copyrighted under The Apache Software License, Version 2.0.
π Authors π
The mod_perl development team and numerous contributors.
and that's the whole page, bestie! π This was docs::a...pSubnet(3), from perl v5.42.3, dated 2023-10-21. πβ¨
π¦ where this page comes from
- nixos 26.05: mod_perl 2.0.13
- nixpkgs unstable: mod_perl 2.0.13
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms