/usr/lib/x86_64-linux-gnu/perl5/5.26/APR/IpSubnet.pm is in libapache2-mod-perl2 2.0.10-2ubuntu3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 | #
# /*
# * *********** WARNING **************
# * This file generated by ModPerl::WrapXS/0.01
# * Any changes made here will be lost
# * ***********************************
# * 01: lib/ModPerl/Code.pm:716
# * 02: lib/ModPerl/WrapXS.pm:635
# * 03: lib/ModPerl/WrapXS.pm:1186
# * 04: Makefile.PL:435
# * 05: Makefile.PL:333
# * 06: Makefile.PL:59
# */
#
package APR::IpSubnet;
use strict;
use warnings FATAL => 'all';
use APR ();
use APR::XSLoader ();
our $VERSION = '0.009000';
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: 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
|