/usr/share/doc/libapache2-mod-perl2-doc/docs/2.0/api/APR/IpSubnet.html is in libapache2-mod-perl2-doc 2.0.8+httpd24-r1449661-6ubuntu2.
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 | <?xml version="1.0" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rev="made" href="mailto:root@localhost" />
</head>
<body style="background-color: white">
<ul id="index">
<li><a href="#NAME">NAME</a></li>
<li><a href="#Synopsis">Synopsis</a></li>
<li><a href="#Description">Description</a></li>
<li><a href="#API">API</a>
<ul>
<li><a href="#new">new</a></li>
<li><a href="#test">test</a></li>
</ul>
</li>
<li><a href="#See-Also">See Also</a></li>
<li><a href="#Copyright">Copyright</a></li>
<li><a href="#Authors">Authors</a></li>
</ul>
<h1 id="NAME">NAME</h1>
<p>APR::IpSubnet - Perl API for accessing APRs ip_subnet structures</p>
<h1 id="Synopsis">Synopsis</h1>
<pre><code> use APR::IpSubnet ();
my $ipsub = APR::IpSubnet->new($pool, "127.0.0.1");
$ok = $ipsub->test($sock_addr);</code></pre>
<h1 id="Description">Description</h1>
<p><code>APR::IpSubnet</code> 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.</p>
<h1 id="API">API</h1>
<p><code>APR::IpSubnet</code> provides the following functions and/or methods:</p>
<h2 id="new"><code>new</code></h2>
<p>Create an IP subnet represenation object</p>
<pre><code> $ipsubnet = APR::IpSubnet->new($pool, $ip);
$ipsubnet = APR::IpSubnet->new($pool, $ip, $mask_or_numbits);</code></pre>
<dl>
<dt id="obj:-APR::IpSubnet-class-name">obj: <code>APR::IpSubnet</code> (class name)</dt>
<dd>
</dd>
<dt id="arg1:-pool-APR::Pool-object">arg1: <code>$pool</code> ( <code><a>APR::Pool object</a></code> )</dt>
<dd>
</dd>
<dt id="arg2:-ip-string">arg2: <code>$ip</code> ( string )</dt>
<dd>
<p>IP address in one of the two formats: IPv4 (e.g. <i>"127.0.0.1"</i>) or IPv6 (e.g. <i>"::1"</i>). IPv6 addresses are accepted only if APR has the IPv6 support enabled.</p>
</dd>
<dt id="opt-arg3:-mask_or_numbits-string">opt arg3: <code>$mask_or_numbits</code> ( string )</dt>
<dd>
<p>An optional IP mask (e.g. <i>"255.0.0.0"</i>) or number of bits (e.g. <i>"15"</i>).</p>
<p>If none provided, the default is not to mask off.</p>
</dd>
<dt id="ret:-ret-APR::IpSubnet-object">ret: <code>$ret</code> ( <code><a>APR::IpSubnet object</a></code> )</dt>
<dd>
<p>The IP-subnet object</p>
</dd>
<dt id="excpt:-APR::Error">excpt: <code><a>APR::Error</a></code></dt>
<dd>
</dd>
<dt id="since:-2.0.00">since: 2.0.00</dt>
<dd>
</dd>
</dl>
<h2 id="test"><code>test</code></h2>
<p>Test the IP address in the socket address object against a pre-built ip-subnet representation.</p>
<pre><code> $ret = $ipsub->test($sockaddr);</code></pre>
<dl>
<dt id="obj:-ipsub-APR::IpSubnet-object">obj: <code>$ipsub</code> ( <code><a>APR::IpSubnet object</a></code> )</dt>
<dd>
<p>The ip-subnet representation</p>
</dd>
<dt id="arg1:-sockaddr-APR::SockAddr-object">arg1: <code>$sockaddr</code> ( <code><a>APR::SockAddr object</a></code> )</dt>
<dd>
<p>The socket address to test</p>
</dd>
<dt id="ret:-ret-boolean">ret: <code>$ret</code> ( boolean )</dt>
<dd>
<p>true if the socket address is within the subnet, false otherwise</p>
</dd>
<dt id="since:-2.0.001">since: 2.0.00</dt>
<dd>
</dd>
</dl>
<p>This method is used for testing whether or not an address is within a subnet. It's used by module <code>mod_access</code> to check whether the client IP fits into the IP range, supplied by <code>Allow</code>/<code>Deny</code> directives.</p>
<p>Example:</p>
<p>Allow accesses only from the localhost (IPv4):</p>
<pre><code> 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);</code></pre>
<h1 id="See-Also">See Also</h1>
<p><a>mod_perl 2.0 documentation</a>.</p>
<h1 id="Copyright">Copyright</h1>
<p>mod_perl 2.0 and its core modules are copyrighted under The Apache Software License, Version 2.0.</p>
<h1 id="Authors">Authors</h1>
<p><a>The mod_perl development team and numerous contributors</a>.</p>
</body>
</html>
|