home *** CD-ROM | disk | FTP | other *** search
- #
- # /*
- # * *********** WARNING **************
- # * This file generated by ModPerl::WrapXS/0.01
- # * Any changes made here will be lost
- # * ***********************************
- # * 01: lib/ModPerl/Code.pm:701
- # * 02: O:\147xampp\sources\mod_perl-1.99_16\blib\lib/ModPerl/WrapXS.pm:584
- # * 03: O:\147xampp\sources\mod_perl-1.99_16\blib\lib/ModPerl/WrapXS.pm:1100
- # * 04: Makefile.PL:335
- # * 05: Makefile.PL:283
- # * 06: Makefile.PL:51
- # */
- #
-
-
- package APR::IpSubnet;
-
- use strict;
- use warnings FATAL => 'all';
-
-
- use APR ();
- use APR::XSLoader ();
- our $VERSION = '0.01';
- APR::XSLoader::load __PACKAGE__;
-
-
-
- 1;
- __END__
-
- =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: 1.99_15
-
- =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: 1.99_15
-
- =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 Apache::Connection ();
- use Apache::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
-
-