📄 classpipaccesscontrollist.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>PIpAccessControlList class Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.2.18 --><center><a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> </center><hr><h1>PIpAccessControlList Class Reference</h1><code>#include <<a class="el" href="ipacl_8h-source.html">ipacl.h</a>></code><p><a href="classPIpAccessControlList-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0><tr><td></td></tr><tr><td colspan=2><br><h2>Public Methods</h2></td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classPIpAccessControlList.html#a0">PIpAccessControlList</a> (BOOL <a class="el" href="classPIpAccessControlList.html#n0">defaultAllowance</a>=TRUE)</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPIpAccessControlList.html#a1">LoadHostsAccess</a> (const char *daemonName=NULL)</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPIpAccessControlList.html#a2">Load</a> (<a class="el" href="classPConfig.html">PConfig</a> &cfg)</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPIpAccessControlList.html#a3">Load</a> (<a class="el" href="classPConfig.html">PConfig</a> &cfg, const <a class="el" href="classPString.html">PString</a> &baseName)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPIpAccessControlList.html#a4">Save</a> (<a class="el" href="classPConfig.html">PConfig</a> &cfg)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPIpAccessControlList.html#a5">Save</a> (<a class="el" href="classPConfig.html">PConfig</a> &cfg, const <a class="el" href="classPString.html">PString</a> &baseName)</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPIpAccessControlList.html#a6">Add</a> (<a class="el" href="classPIpAccessControlEntry.html">PIpAccessControlEntry</a> *entry)</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPIpAccessControlList.html#a7">Add</a> (const <a class="el" href="classPString.html">PString</a> &description)</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPIpAccessControlList.html#a8">Add</a> (<a class="el" href="classPIPSocket_1_1Address.html">PIPSocket::Address</a> address, <a class="el" href="classPIPSocket_1_1Address.html">PIPSocket::Address</a> mask, BOOL allow)</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPIpAccessControlList.html#a9">Remove</a> (const <a class="el" href="classPString.html">PString</a> &description)</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPIpAccessControlList.html#a10">Remove</a> (<a class="el" href="classPIPSocket_1_1Address.html">PIPSocket::Address</a> address, <a class="el" href="classPIPSocket_1_1Address.html">PIPSocket::Address</a> mask)</td></tr><tr><td nowrap align=right valign=top>virtual <a class="el" href="classPIpAccessControlEntry.html">PIpAccessControlEntry</a> * </td><td valign=bottom><a class="el" href="classPIpAccessControlList.html#a11">CreateControlEntry</a> (const <a class="el" href="classPString.html">PString</a> &description)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPIpAccessControlEntry.html">PIpAccessControlEntry</a> * </td><td valign=bottom><a class="el" href="classPIpAccessControlList.html#a12">Find</a> (<a class="el" href="classPIPSocket_1_1Address.html">PIPSocket::Address</a> address) const</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPIpAccessControlList.html#a13">IsAllowed</a> (<a class="el" href="classPTCPSocket.html">PTCPSocket</a> &socket) const</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPIpAccessControlList.html#a14">IsAllowed</a> (<a class="el" href="classPIPSocket_1_1Address.html">PIPSocket::Address</a> address) const</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPIpAccessControlList.html#a15">GetDefaultAllowance</a> () const</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPIpAccessControlList.html#a16">SetDefaultAllowance</a> (BOOL defAllow)</td></tr><tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPIpAccessControlList.html#n0">defaultAllowance</a></td></tr></table><hr><a name="_details"></a><h2>Detailed Description</h2>This class is a list of IP address mask specifications used to validate if an address may or may not be used in a connection.<p>The list may be totally internal to the application, or may use system wide files commonly use under Linux (hosts.allow and hosts.deny file). These will be used regardless of the platform.<p>When a search is done using <a class="el" href="classPIpAccessControlList.html#a13">IsAllowed()</a> function, the first entry that matches the specified IP address is found, and its allow flag returned. The list sorted so that the most specific IP number specification is first and the broadest onse later. The entry with the value having a mask of zero, that is the match all entry, is always last. <p><hr><h2>Constructor & Destructor Documentation</h2><a name="a0" doxytag="PIpAccessControlList::PIpAccessControlList"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> PIpAccessControlList::PIpAccessControlList </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">BOOL </td> <td class="mdname1" valign="top" nowrap> <em>defaultAllowance</em> = TRUE </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Create a new, empty, access control list. </td> </tr></table><hr><h2>Member Function Documentation</h2><a name="a8" doxytag="PIpAccessControlList::Add"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> BOOL PIpAccessControlList::Add </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="classPIPSocket_1_1Address.html">PIPSocket::Address</a> </td> <td class="mdname" nowrap> <em>address</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="classPIPSocket_1_1Address.html">PIPSocket::Address</a> </td> <td class="mdname" nowrap> <em>mask</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>BOOL </td> <td class="mdname" nowrap> <em>allow</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p> </td> </tr></table><a name="a7" doxytag="PIpAccessControlList::Add"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> BOOL PIpAccessControlList::Add </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="classPString.html">PString</a> & </td> <td class="mdname1" valign="top" nowrap> <em>description</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p> </td> </tr></table><a name="a6" doxytag="PIpAccessControlList::Add"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> BOOL PIpAccessControlList::Add </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="classPIpAccessControlEntry.html">PIpAccessControlEntry</a> * </td> <td class="mdname1" valign="top" nowrap> <em>entry</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Add the specified entry into the list. See the <a class="el" href="classPIpAccessControlEntry.html">PIpAccessControlEntry</a> class for more details on the format of the <code>description</code> field.<p><dl compact><dt><b>Returns: </b></dt><dd> TRUE if the entries was successfully added. </dl> </td> </tr></table><a name="a11" doxytag="PIpAccessControlList::CreateControlEntry"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> virtual <a class="el" href="classPIpAccessControlEntry.html">PIpAccessControlEntry</a>* PIpAccessControlList::CreateControlEntry </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="classPString.html">PString</a> & </td> <td class="mdname1" valign="top" nowrap> <em>description</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [virtual]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Create a new PIpAccessControl specification entry object. This may be used by an application to create descendents of <a class="el" href="classPIpAccessControlEntry.html">PIpAccessControlEntry</a> when extra information/functionality is required.<p>The default behaviour creates a <a class="el" href="classPIpAccessControlEntry.html">PIpAccessControlEntry</a>. </td> </tr></table><a name="a12" doxytag="PIpAccessControlList::Find"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="classPIpAccessControlEntry.html">PIpAccessControlEntry</a>* PIpAccessControlList::Find </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="classPIPSocket_1_1Address.html">PIPSocket::Address</a> </td> <td class="mdname1" valign="top" nowrap> <em>address</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> const</td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Find the PIpAccessControl specification for the address. </td> </tr></table><a name="a15" doxytag="PIpAccessControlList::GetDefaultAllowance"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> BOOL PIpAccessControlList::GetDefaultAllowance </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> const<code> [inline]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Get the default state for allowed access if the list is empty. </td> </tr></table><a name="a14" doxytag="PIpAccessControlList::IsAllowed"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> BOOL PIpAccessControlList::IsAllowed </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="classPIPSocket_1_1Address.html">PIPSocket::Address</a> </td> <td class="mdname1" valign="top" nowrap> <em>address</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> const</td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p> </td> </tr></table><a name="a13" doxytag="PIpAccessControlList::IsAllowed"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> BOOL PIpAccessControlList::IsAllowed </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="classPTCPSocket.html">PTCPSocket</a> & </td> <td class="mdname1" valign="top" nowrap> <em>socket</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> const</td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -