GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
work::mod_perl-2.0.13::docs::api::APR::IpSubnet(3) User Contributed Perl Documentation work::mod_perl-2.0.13::docs::api::APR::IpSubnet(3)

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 it's 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);
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.
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.

The IP-subnet object

Test the IP address in the socket address object against a pre-built ip-subnet representation.

  $ret = $ipsub->test($sockaddr);
The ip-subnet representation
The socket address to test
true if the socket address is within the subnet, false otherwise

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);

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.

2023-10-21 perl v5.40.2

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.