source: NonGTP/Xerces/xerces/doc/html/apiDocs/classSecurityManager.html @ 358

Revision 358, 20.9 KB checked in by bittner, 19 years ago (diff)

xerces added

Line 
1<HTML><HEAD><SCRIPT language="JavaScript" src="../resources/script.js" type="text/javascript"></SCRIPT><TITLE>SecurityManager class Reference</TITLE><link href="XercesApi.css" rel="stylesheet" type="text/css"></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" width="135"><IMG border="0" height="60" hspace="0" src="../resources/logo.gif" vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" valign="top" width="456"><IMG border="0" height="5" hspace="0" src="../resources/line.gif" vspace="0" width="456"></TD><TD align="left" height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" hspace="0" src="../resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" width="456"><IMG alt="" border="0" height="35" hspace="0" src="../graphics/api-header.jpg" vspace="0" width="456"></TD></TR><TR><TD align="left" height="20" valign="top" width="168"><IMG border="0" height="20" hspace="0" src="../resources/bottom.gif" vspace="0" width="168"></TD><TD align="left" height="20" valign="top" width="96"><A href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');" onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/" border="0" height="20" hspace="0" name="xml" onLoad="rolloverLoad('xml','../resources/button-xml-hi.gif','../resources/button-xml-lo.gif');" src="../resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.apache.org/" onMouseOut="rolloverOff('asf');" onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/" border="0" height="20" hspace="0" name="asf" onLoad="rolloverLoad('asf','../resources/button-asf-hi.gif','../resources/button-asf-lo.gif');" src="../resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/" onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0" name="w3c" onLoad="rolloverLoad('w3c','../resources/button-w3c-hi.gif','../resources/button-w3c-lo.gif');" src="../resources/button-w3c-lo.gif" vspace="0" width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG border="0" height="14" hspace="0" src="../resources/join.gif" vspace="0" width="120"><BR>
2  <A href="../../index.html" onMouseOut="rolloverOff('side-ext-2');" onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" hspace="0" name="side-ext-2" onLoad="rolloverLoad('side-ext-2','../graphics/ext-2-label-2.jpg','../graphics/ext-2-label-3.jpg');" src="../graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
3
4  <IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
5
6  <A href="../index.html" onMouseOut="rolloverOff('side-index');" onMouseOver="rolloverOn('side-index');"><IMG alt="Readme" border="0" height="12" hspace="0" name="side-index" onLoad="rolloverLoad('side-index','../graphics/index-label-2.jpg','../graphics/index-label-3.jpg');" src="../graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
7  <A href="../releases.html" onMouseOut="rolloverOff('side-releases');" onMouseOver="rolloverOn('side-releases');"><IMG alt="Release Info" border="0" height="12" hspace="0" name="side-releases" onLoad="rolloverLoad('side-releases','../graphics/releases-label-2.jpg','../graphics/releases-label-3.jpg');" src="../graphics/releases-label-3.jpg" vspace="0" width="120"></A><BR>
8  <IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
9  <A href="../install.html" onMouseOut="rolloverOff('side-install');" onMouseOver="rolloverOn('side-install');"><IMG alt="Installation" border="0" height="12" hspace="0" name="side-install" onLoad="rolloverLoad('side-install','../graphics/install-label-2.jpg','../graphics/install-label-3.jpg');" src="../graphics/install-label-3.jpg" vspace="0" width="120"></A><BR>
10  <A href="http://xml.apache.org/dist/xerces-c/" onMouseOut="rolloverOff('side-ext-18');" onMouseOver="rolloverOn('side-ext-18');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-ext-18" onLoad="rolloverLoad('side-ext-18','../graphics/ext-18-label-2.jpg','../graphics/ext-18-label-3.jpg');" src="../graphics/ext-18-label-3.jpg" vspace="0" width="120"></A><BR>
11  <A href="../build.html" onMouseOut="rolloverOff('side-build');" onMouseOver="rolloverOn('side-build');"><IMG alt="Build" border="0" height="12" hspace="0" name="side-build" onLoad="rolloverLoad('side-build','../graphics/build-label-2.jpg','../graphics/build-label-3.jpg');" src="../graphics/build-label-3.jpg" vspace="0" width="120"></A><BR>
12
13  <IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
14  <A href="../faqs.html" onMouseOut="rolloverOff('side-faqs');" onMouseOver="rolloverOn('side-faqs');"><IMG alt="FAQs" border="0" height="12" hspace="0" name="side-faqs" onLoad="rolloverLoad('side-faqs','../graphics/faqs-label-2.jpg','../graphics/faqs-label-3.jpg');" src="../graphics/faqs-label-3.jpg" vspace="0" width="120"></A><BR> 
15  <A href="../samples.html" onMouseOut="rolloverOff('side-samples');" onMouseOver="rolloverOn('side-samples');"><IMG alt="Samples" border="0" height="12" hspace="0" name="side-samples" onLoad="rolloverLoad('side-samples','../graphics/samples-label-2.jpg','../graphics/samples-label-3.jpg');" src="../graphics/samples-label-3.jpg" vspace="0" width="120"></A><BR>
16  <A href="../api.html" onMouseOut="rolloverOff('side-api');" onMouseOver="rolloverOn('side-api');"><IMG alt="API Docs" border="0" height="12" hspace="0" name="side-api" onLoad="rolloverLoad('side-api','../graphics/api-label-2.jpg','../graphics/api-label-3.jpg');" src="../graphics/api-label-3.jpg" vspace="0" width="120"></A><BR> 
17
18  <IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR> 
19  <A href="../ApacheDOMC++Binding.html" onMouseOut="rolloverOff('side-ext-68');" onMouseOver="rolloverOn('side-ext-68');"><IMG alt="DOM C++ Binding" border="0" height="12" hspace="0" name="side-ext-68" onLoad="rolloverLoad('side-ext-68','../graphics/ext-68-label-2.jpg','../graphics/ext-68-label-3.jpg');" src="../graphics/ext-68-label-3.jpg" vspace="0" width="120"></A><BR>
20
21  <A href="../program.html" onMouseOut="rolloverOff('side-program');" onMouseOver="rolloverOn('side-program');"><IMG alt="Programming" border="0" height="12" hspace="0" name="side-program" onLoad="rolloverLoad('side-program','../graphics/program-label-2.jpg','../graphics/program-label-3.jpg');" src="../graphics/program-label-3.jpg" vspace="0" width="120"></A><BR>
22  <A href="../migrate.html" onMouseOut="rolloverOff('side-migrate');" onMouseOver="rolloverOn('side-migrate');"><IMG alt="Migration Guide" border="0" height="12" hspace="0" name="side-migrate" onLoad="rolloverLoad('side-migrate','../graphics/migrate-label-2.jpg','../graphics/migrate-label-3.jpg');" src="../graphics/migrate-label-3.jpg" vspace="0" width="120"></A><BR>
23
24  <IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
25
26  <A href="../feedback.html" onMouseOut="rolloverOff('side-feedback');" onMouseOver="rolloverOn('side-feedback');"><IMG alt="Feedback" border="0" height="12" hspace="0" name="side-feedback" onLoad="rolloverLoad('side-feedback','../graphics/feedback-label-2.jpg','../graphics/feedback-label-3.jpg');" src="../graphics/feedback-label-3.jpg" vspace="0" width="120"></A><BR>
27  <A href="../bug-report.html" onMouseOut="rolloverOff('side-bug-report');" onMouseOver="rolloverOn('side-bug-report');"><IMG alt="Bug-Reporting" border="0" height="12" hspace="0" name="side-bug-report" onLoad="rolloverLoad('side-bug-report','../graphics/bug-report-label-2.jpg','../graphics/bug-report-label-3.jpg');" src="../graphics/bug-report-label-3.jpg" vspace="0" width="120"></A><BR> 
28  <A href="../pdf.html" onMouseOut="rolloverOff('side-pdf');" onMouseOver="rolloverOn('side-pdf');"><IMG alt="PDF Document" border="0" height="12" hspace="0" name="side-pdf" onLoad="rolloverLoad('side-pdf','../graphics/pdf-label-2.jpg','../graphics/pdf-label-3.jpg');" src="../graphics/pdf-label-3.jpg" vspace="0" width="120"></A><BR>
29
30  <IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
31
32  <A href="http://xml.apache.org/websrc/cvsweb.cgi/xml-xerces/c/" onMouseOut="rolloverOff('side-ext-100');" onMouseOver="rolloverOn('side-ext-100');"><IMG alt="CVS Repository" border="0" height="12" hspace="0" name="side-ext-100" onLoad="rolloverLoad('side-ext-100','../graphics/ext-100-label-2.jpg','../graphics/ext-100-label-3.jpg');" src="../graphics/ext-100-label-3.jpg" vspace="0" width="120"></A><BR>
33
34  <A href="http://marc.theaimsgroup.com/?l=xerces-c-dev" onMouseOut="rolloverOff('side-ext-102');" onMouseOver="rolloverOn('side-ext-102');"><IMG alt="Mail Archive" border="0" height="12" hspace="0" name="side-ext-102" onLoad="rolloverLoad('side-ext-102','../graphics/ext-102-label-2.jpg','../graphics/ext-102-label-3.jpg');" src="../graphics/ext-102-label-3.jpg" vspace="0" width="120"></A><BR>
35
36
37<IMG border="0" height="14" hspace="0" src="../resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD>
38    <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#FFFFFF" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="../resources/void.gif" vspace="0" width="2"><B>API Docs for SAX and DOM</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
39
40            <P>
41<!-- Generated by Doxygen 1.2.14 -->
42<center>
43<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
44<hr><h1>SecurityManager  Class Reference</h1>Allow application to force the parser to behave in a security-conscious way.
45<a href="#_details">More...</a>
46<p>
47<a href="classSecurityManager-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
48<tr><td colspan=2><br><h2>Public Types</h2></td></tr>
49<tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom>{ <a class="el" href="classSecurityManager.html#s1s0">ENTITY_EXPANSION_LIMIT</a> =  50000
50 }</td></tr>
51<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
52<tr><td colspan="2"><div class="groupHeader">default Constructors</div></td></tr>
53<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classSecurityManager.html#z501_0">SecurityManager</a> ()</td></tr>
54<tr><td>&nbsp;</td><td><font size=-1><em>Default constructor.</em> <a href="#z501_0">More...</a><em></em></font><br><br></td></tr>
55<tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classSecurityManager.html#z501_1">~SecurityManager</a> ()</td></tr>
56<tr><td>&nbsp;</td><td><font size=-1><em>Destructor.</em> <a href="#z501_1">More...</a><em></em></font><br><br></td></tr>
57<tr><td colspan="2"><div class="groupHeader">The Security Manager</div></td></tr>
58<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classSecurityManager.html#z502_0">setEntityExpansionLimit</a> (unsigned int newLimit)</td></tr>
59<tr><td>&nbsp;</td><td><font size=-1><em>An application should call this method when it wishes to specify a particular limit to the number of entity expansions the parser will permit in a particular document.</em> <a href="#z502_0">More...</a><em></em></font><br><br></td></tr>
60<tr><td nowrap align=right valign=top>virtual unsigned int&nbsp;</td><td valign=bottom><a class="el" href="classSecurityManager.html#z502_1">getEntityExpansionLimit</a> () const</td></tr>
61<tr><td>&nbsp;</td><td><font size=-1><em>Permits the application or a parser component to query the current limit for entity expansions.</em> <a href="#z502_1">More...</a><em></em></font><br><br></td></tr>
62<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
63<tr><td nowrap align=right valign=top>unsigned int&nbsp;</td><td valign=bottom><a class="el" href="classSecurityManager.html#n0">fEntityExpansionLimit</a></td></tr>
64</table>
65<hr><a name="_details"></a><h2>Detailed Description</h2>
66Allow application to force the parser to behave in a security-conscious way.
67<p>
68
69<p>
70 There are cases in which an XML- or XmL-schema- conformant processor can be presented with documents the processing of which can involve the consumption of prohibitive amounts of system resources. Applications can attach instances of this class to parsers that they've created, via the <a href="http://apache.org/xml/properties/security-manager">http://apache.org/xml/properties/security-manager</a> property. 
71<p>
72
73<p>
74 Defaults will be provided for all known security holes. Setter methods will be provided on this class to ensure that an application can customize each limit as it chooses. Components that are vulnerable to any given hole need to be written to act appropriately when an instance of this class has been set on the calling parser. 
75<p>
76<hr><h2>Member Enumeration Documentation</h2>
77<a name="s1" doxytag="SecurityManager::@3"></a><p>
78<table width="100%" cellpadding="2" cellspacing="0" border="0">
79  <tr>
80    <td class="md">
81      <table cellpadding="0" cellspacing="0" border="0">
82        <tr>
83          <td class="md" nowrap valign="top"> anonymous enum
84      </table>
85    </td>
86  </tr>
87</table>
88<table cellspacing=5 cellpadding=0 border=0>
89  <tr>
90    <td>
91      &nbsp;
92    </td>
93    <td>
94
95<p>
96<dl compact><dt><b>
97Enumeration values:</b><dd>
98<table border=0 cellspacing=2 cellpadding=0>
99<tr><td valign=top><em><a name="s1s0" doxytag="ENTITY_EXPANSION_LIMIT"></a><em>ENTITY_EXPANSION_LIMIT</em></em>&nbsp;</td><td>
100</td></tr>
101</table>
102</dl>
103    </td>
104  </tr>
105</table>
106<hr><h2>Constructor &amp; Destructor Documentation</h2>
107<a name="z501_0" doxytag="SecurityManager::SecurityManager"></a><p>
108<table width="100%" cellpadding="2" cellspacing="0" border="0">
109  <tr>
110    <td class="md">
111      <table cellpadding="0" cellspacing="0" border="0">
112        <tr>
113          <td class="md" nowrap valign="top"> SecurityManager::SecurityManager </td>
114          <td class="md" valign="top">(&nbsp;</td>
115          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
116          <td class="md" valign="top">)&nbsp;</td>
117          <td class="md" nowrap></td>
118        </tr>
119
120      </table>
121    </td>
122  </tr>
123</table>
124<table cellspacing=5 cellpadding=0 border=0>
125  <tr>
126    <td>
127      &nbsp;
128    </td>
129    <td>
130
131<p>
132Default constructor.
133<p>
134    </td>
135  </tr>
136</table>
137<a name="z501_1" doxytag="SecurityManager::~SecurityManager"></a><p>
138<table width="100%" cellpadding="2" cellspacing="0" border="0">
139  <tr>
140    <td class="md">
141      <table cellpadding="0" cellspacing="0" border="0">
142        <tr>
143          <td class="md" nowrap valign="top"> virtual SecurityManager::~SecurityManager </td>
144          <td class="md" valign="top">(&nbsp;</td>
145          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
146          <td class="md" valign="top">)&nbsp;</td>
147          <td class="md" nowrap><code> [virtual]</code></td>
148        </tr>
149
150      </table>
151    </td>
152  </tr>
153</table>
154<table cellspacing=5 cellpadding=0 border=0>
155  <tr>
156    <td>
157      &nbsp;
158    </td>
159    <td>
160
161<p>
162Destructor.
163<p>
164    </td>
165  </tr>
166</table>
167<hr><h2>Member Function Documentation</h2>
168<a name="z502_1" doxytag="SecurityManager::getEntityExpansionLimit"></a><p>
169<table width="100%" cellpadding="2" cellspacing="0" border="0">
170  <tr>
171    <td class="md">
172      <table cellpadding="0" cellspacing="0" border="0">
173        <tr>
174          <td class="md" nowrap valign="top"> virtual unsigned int SecurityManager::getEntityExpansionLimit </td>
175          <td class="md" valign="top">(&nbsp;</td>
176          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
177          <td class="md" valign="top">)&nbsp;</td>
178          <td class="md" nowrap> const<code> [virtual]</code></td>
179        </tr>
180
181      </table>
182    </td>
183  </tr>
184</table>
185<table cellspacing=5 cellpadding=0 border=0>
186  <tr>
187    <td>
188      &nbsp;
189    </td>
190    <td>
191
192<p>
193Permits the application or a parser component to query the current limit for entity expansions.
194<p>
195<dl compact><dt><b>
196Returns: </b><dd>
197the current setting of the entity expansion limit </dl>    </td>
198  </tr>
199</table>
200<a name="z502_0" doxytag="SecurityManager::setEntityExpansionLimit"></a><p>
201<table width="100%" cellpadding="2" cellspacing="0" border="0">
202  <tr>
203    <td class="md">
204      <table cellpadding="0" cellspacing="0" border="0">
205        <tr>
206          <td class="md" nowrap valign="top"> virtual void SecurityManager::setEntityExpansionLimit </td>
207          <td class="md" valign="top">(&nbsp;</td>
208          <td class="md" nowrap valign="top">unsigned int&nbsp;</td>
209          <td class="mdname1" valign="top" nowrap>&nbsp; <em>newLimit</em>          </td>
210          <td class="md" valign="top">)&nbsp;</td>
211          <td class="md" nowrap><code> [virtual]</code></td>
212        </tr>
213
214      </table>
215    </td>
216  </tr>
217</table>
218<table cellspacing=5 cellpadding=0 border=0>
219  <tr>
220    <td>
221      &nbsp;
222    </td>
223    <td>
224
225<p>
226An application should call this method when it wishes to specify a particular limit to the number of entity expansions the parser will permit in a particular document.
227<p>
228The default behaviour should allow the parser to validate nearly all XML non-malicious XML documents; if an application knows that it is operating in a domain where entities are uncommon, for instance, it may wish to provide a limit lower than the parser's default.<dl compact><dt><b>
229Parameters: </b><dd>
230<table border=0 cellspacing=2 cellpadding=0>
231<tr><td valign=top><em>newLimit</em>&nbsp;</td><td>
232the new entity expansion limit </td></tr>
233</table>
234</dl>    </td>
235  </tr>
236</table>
237<hr><h2>Member Data Documentation</h2>
238<a name="n0" doxytag="SecurityManager::fEntityExpansionLimit"></a><p>
239<table width="100%" cellpadding="2" cellspacing="0" border="0">
240  <tr>
241    <td class="md">
242      <table cellpadding="0" cellspacing="0" border="0">
243        <tr>
244          <td class="md" nowrap valign="top"> unsigned int SecurityManager::fEntityExpansionLimit<code> [protected]</code>
245      </table>
246    </td>
247  </tr>
248</table>
249<table cellspacing=5 cellpadding=0 border=0>
250  <tr>
251    <td>
252      &nbsp;
253    </td>
254    <td>
255
256<p>
257    </td>
258  </tr>
259</table>
260<hr>The documentation for this class was generated from the following file:<ul>
261<li><a class="el" href="SecurityManager_8hpp-source.html">SecurityManager.hpp</a></ul>
262    </FONT></TD></TR></TABLE><BR>
263</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1" alt=""></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
264              Copyright &copy; 1994-2004 The Apache Software Foundation.
265              All Rights Reserved.
266            </I></FONT></TD></TR></TABLE></BODY></HTML>
Note: See TracBrowser for help on using the repository browser.