MINI SHELL

Server : Apache/2.2.2 (Fedora)
System : Linux App1.pathumtani.go.th 2.6.20-1.2320.fc5smp #1 SMP Tue Jun 12 19:40:16 EDT 2007 i686
User : apache ( 48)
PHP Version : 5.2.9
Disable Function : NONE
Directory :  /proc/self/root/usr/share/doc/mod_perl-2.0.2/docs/api/APR/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/self/root/usr/share/doc/mod_perl-2.0.2/docs/api/APR/IpSubnet.pod
=head1 NAME

APR::IpSubnet - Perl API for accessing APRs ip_subnet structures




=head1 Synopsis

  use APR::IpSubnet ();
  
  my $ipsub = APR::IpSubnet->new($pool, "127.0.0.1");
  $ok = $ipsub->test($sock_addr);





=head1 Description

C<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.




=head1 API

C<APR::IpSubnet> provides the following functions and/or methods:



=head2 C<new>

Create an IP subnet represenation object

  $ipsubnet = APR::IpSubnet->new($pool, $ip);
  $ipsubnet = APR::IpSubnet->new($pool, $ip, $mask_or_numbits);

=over 4

=item obj: C<APR::IpSubnet> (class name)

=item arg1: C<$pool>
( C<L<APR::Pool object|docs::2.0::api::APR::Pool>> )

=item arg2: C<$ip> ( string )

IP address in one of the two formats: IPv4 (e.g. I<"127.0.0.1">) or
IPv6 (e.g. I<"::1">). IPv6 addresses are accepted only if APR has the
IPv6 support enabled.

=item opt arg3: C<$mask_or_numbits> ( string )

An optional IP mask (e.g. I<"255.0.0.0">) or number of bits
(e.g. I<"15">).

If none provided, the default is not to mask off.

=item ret: C<$ret>
( C<L<APR::IpSubnet object|docs::2.0::api::APR::IpSubnet>> )

The IP-subnet object

=item excpt: C<L<APR::Error|docs::2.0::api::APR::Error>>

=item since: 2.0.00

=back


=head2 C<test>

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

  $ret = $ipsub->test($sockaddr);

=over 4

=item obj: C<$ipsub>
( C<L<APR::IpSubnet object|docs::2.0::api::APR::IpSubnet>> )

The ip-subnet representation

=item arg1: C<$sockaddr>
( C<L<APR::SockAddr object|docs::2.0::api::APR::SockAddr>> )

The socket address to test

=item ret: C<$ret> ( boolean )

true if the socket address is within the subnet, false otherwise

=item since: 2.0.00

=back

This method is used for testing whether or not an address is within a
subnet. It's used by module C<mod_access> to check whether the client
IP fits into the IP range, supplied by C<Allow>/C<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);







=head1 See Also

L<mod_perl 2.0 documentation|docs::2.0::index>.




=head1 Copyright

mod_perl 2.0 and its core modules are copyrighted under
The Apache Software License, Version 2.0.




=head1 Authors

L<The mod_perl development team and numerous
contributors|about::contributors::people>.

=cut


Anon7 - 2021