source: TI12-security/trunk/documentation/epydoc/ndg.security.common.X509.X509Stack-class.html @ 4245

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/TI12-security/trunk/documentation/epydoc/ndg.security.common.X509.X509Stack-class.html@4245
Revision 4245, 22.0 KB checked in by pjkersha, 11 years ago (diff)

Working unit tests for WSGI based Attribute Authority.

  • Altered so that all Attribute Config is picked up from the Paste ini file. Separate cfg or xml based config file is still supported.

TODO:

  • Simplify unit test config for client.
Line 
1<?xml version="1.0" encoding="ascii"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3          "DTD/xhtml1-transitional.dtd">
4<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5<head>
6  <title>ndg.security.common.X509.X509Stack</title>
7  <link rel="stylesheet" href="epydoc.css" type="text/css" />
8  <script type="text/javascript" src="epydoc.js"></script>
9</head>
10
11<body bgcolor="white" text="black" link="blue" vlink="#204080"
12      alink="#204080">
13<!-- ==================== NAVIGATION BAR ==================== -->
14<table class="navbar" border="0" width="100%" cellpadding="0"
15       bgcolor="#a0c0ff" cellspacing="0">
16  <tr valign="middle">
17  <!-- Home link -->
18      <th>&nbsp;&nbsp;&nbsp;<a
19        href="ndg-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
20
21  <!-- Tree link -->
22      <th>&nbsp;&nbsp;&nbsp;<a
23        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
24
25  <!-- Index link -->
26      <th>&nbsp;&nbsp;&nbsp;<a
27        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
28
29  <!-- Help link -->
30      <th>&nbsp;&nbsp;&nbsp;<a
31        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
32
33  <!-- Project homepage -->
34      <th class="navbar" align="right" width="100%">
35        <table border="0" cellpadding="0" cellspacing="0">
36          <tr><th class="navbar" align="center"
37            >NDG Security</th>
38          </tr></table></th>
39  </tr>
40</table>
41<table width="100%" cellpadding="0" cellspacing="0">
42  <tr valign="top">
43    <td width="100%">
44      <span class="breadcrumbs">
45        <a href="ndg-module.html">Package&nbsp;ndg</a> ::
46        <a href="ndg.security-module.html">Package&nbsp;security</a> ::
47        <a href="ndg.security.common-module.html">Package&nbsp;common</a> ::
48        <a href="ndg.security.common.X509-module.html">Module&nbsp;X509</a> ::
49        Class&nbsp;X509Stack
50      </span>
51    </td>
52    <td>
53      <table cellpadding="0" cellspacing="0">
54        <!-- hide/show private -->
55        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
56    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
57      </table>
58    </td>
59  </tr>
60</table>
61<!-- ==================== CLASS DESCRIPTION ==================== -->
62<h1 class="epydoc">Class X509Stack</h1><p class="nomargin-top"><span class="codelink"><a href="ndg.security.common.X509-pysrc.html#X509Stack">source&nbsp;code</a></span></p>
63<center>
64<center>  <map id="uml_class_diagram_for_ndg_secu_80" name="uml_class_diagram_for_ndg_secu_80">
65<area shape="rect" href="ndg.security.common.X509.X509Stack&#45;class.html#__init__" title="Initialise from an M2Crypto stack object" alt="" coords="17,36,553,54"/>
66<area shape="rect" href="ndg.security.common.X509.X509Stack&#45;class.html#__len__" title="Returns: &#160;length of stack" alt="" coords="17,54,553,73"/>
67<area shape="rect" href="ndg.security.common.X509.X509Stack&#45;class.html#__getitem__" title="Index stack as an array" alt="" coords="17,73,553,92"/>
68<area shape="rect" href="ndg.security.common.X509.X509Stack&#45;class.html#__iter__" title="Returns: &#160;stack iterator" alt="" coords="17,92,553,110"/>
69<area shape="rect" href="ndg.security.common.X509.X509Stack&#45;class.html#push" title="Push an X509 certificate onto the stack." alt="" coords="17,110,553,129"/>
70<area shape="rect" href="ndg.security.common.X509.X509Stack&#45;class.html#pop" title="Pop a certificate from the stack." alt="" coords="17,129,553,148"/>
71<area shape="rect" href="ndg.security.common.X509.X509Stack&#45;class.html#asDER" title="Return the stack as a DER encoded string" alt="" coords="17,148,553,166"/>
72<area shape="rect" href="ndg.security.common.X509.X509Stack&#45;class.html#verifyCertChain" title="Treat stack as a list of certificates in a chain of trust." alt="" coords="17,166,553,185"/>
73<area shape="rect" href="ndg.security.common.X509.X509Stack&#45;class.html" title="Wrapper for M2Crypto X509_Stack" alt="" coords="16,10,555,186"/>
74</map>
75  <img src="uml_class_diagram_for_ndg_secu_80.gif" alt='' usemap="#uml_class_diagram_for_ndg_secu_80" ismap="ismap" class="graph-without-title" />
76</center>
77</center>
78<hr />
79<p>Wrapper for M2Crypto X509_Stack</p>
80
81<!-- ==================== INSTANCE METHODS ==================== -->
82<a name="section-InstanceMethods"></a>
83<table class="summary" border="1" cellpadding="3"
84       cellspacing="0" width="100%" bgcolor="white">
85<tr bgcolor="#70b0f0" class="table-header">
86  <td colspan="2" class="table-header">
87    <table border="0" cellpadding="0" cellspacing="0" width="100%">
88      <tr valign="top">
89        <td align="left"><span class="table-header">Instance Methods</span></td>
90        <td align="right" valign="top"
91         ><span class="options">[<a href="#section-InstanceMethods"
92         class="privatelink" onclick="toggle_private();"
93         >hide private</a>]</span></td>
94      </tr>
95    </table>
96  </td>
97</tr>
98<tr>
99    <td width="15%" align="right" valign="top" class="summary">
100      <span class="summary-type">&nbsp;</span>
101    </td><td class="summary">
102      <table width="100%" cellpadding="0" cellspacing="0" border="0">
103        <tr>
104          <td><span class="summary-sig"><a href="ndg.security.common.X509.X509Stack-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
105        <span class="summary-sig-arg">m2X509Stack</span>=<span class="summary-sig-default">None</span>)</span><br />
106      Initialise from an M2Crypto stack object</td>
107          <td align="right" valign="top">
108            <span class="codelink"><a href="ndg.security.common.X509-pysrc.html#X509Stack.__init__">source&nbsp;code</a></span>
109           
110          </td>
111        </tr>
112      </table>
113     
114    </td>
115  </tr>
116<tr>
117    <td width="15%" align="right" valign="top" class="summary">
118      <span class="summary-type">int</span>
119    </td><td class="summary">
120      <table width="100%" cellpadding="0" cellspacing="0" border="0">
121        <tr>
122          <td><span class="summary-sig"><a href="ndg.security.common.X509.X509Stack-class.html#__len__" class="summary-sig-name">__len__</a>(<span class="summary-sig-arg">self</span>)</span><br />
123      Returns:
124      length of stack</td>
125          <td align="right" valign="top">
126            <span class="codelink"><a href="ndg.security.common.X509-pysrc.html#X509Stack.__len__">source&nbsp;code</a></span>
127           
128          </td>
129        </tr>
130      </table>
131     
132    </td>
133  </tr>
134<tr>
135    <td width="15%" align="right" valign="top" class="summary">
136      <span class="summary-type">ndg.security.common.X509.X509Cert</span>
137    </td><td class="summary">
138      <table width="100%" cellpadding="0" cellspacing="0" border="0">
139        <tr>
140          <td><span class="summary-sig"><a href="ndg.security.common.X509.X509Stack-class.html#__getitem__" class="summary-sig-name">__getitem__</a>(<span class="summary-sig-arg">self</span>,
141        <span class="summary-sig-arg">idx</span>)</span><br />
142      Index stack as an array</td>
143          <td align="right" valign="top">
144            <span class="codelink"><a href="ndg.security.common.X509-pysrc.html#X509Stack.__getitem__">source&nbsp;code</a></span>
145           
146          </td>
147        </tr>
148      </table>
149     
150    </td>
151  </tr>
152<tr>
153    <td width="15%" align="right" valign="top" class="summary">
154      <span class="summary-type">listiterator</span>
155    </td><td class="summary">
156      <table width="100%" cellpadding="0" cellspacing="0" border="0">
157        <tr>
158          <td><span class="summary-sig"><a href="ndg.security.common.X509.X509Stack-class.html#__iter__" class="summary-sig-name">__iter__</a>(<span class="summary-sig-arg">self</span>)</span><br />
159      Returns:
160      stack iterator</td>
161          <td align="right" valign="top">
162            <span class="codelink"><a href="ndg.security.common.X509-pysrc.html#X509Stack.__iter__">source&nbsp;code</a></span>
163           
164          </td>
165        </tr>
166      </table>
167     
168    </td>
169  </tr>
170<tr>
171    <td width="15%" align="right" valign="top" class="summary">
172      <span class="summary-type">int</span>
173    </td><td class="summary">
174      <table width="100%" cellpadding="0" cellspacing="0" border="0">
175        <tr>
176          <td><span class="summary-sig"><a href="ndg.security.common.X509.X509Stack-class.html#push" class="summary-sig-name">push</a>(<span class="summary-sig-arg">self</span>,
177        <span class="summary-sig-arg">x509Cert</span>)</span><br />
178      Push an X509 certificate onto the stack.</td>
179          <td align="right" valign="top">
180            <span class="codelink"><a href="ndg.security.common.X509-pysrc.html#X509Stack.push">source&nbsp;code</a></span>
181           
182          </td>
183        </tr>
184      </table>
185     
186    </td>
187  </tr>
188<tr>
189    <td width="15%" align="right" valign="top" class="summary">
190      <span class="summary-type">ndg.security.common.X509.X509Cert</span>
191    </td><td class="summary">
192      <table width="100%" cellpadding="0" cellspacing="0" border="0">
193        <tr>
194          <td><span class="summary-sig"><a href="ndg.security.common.X509.X509Stack-class.html#pop" class="summary-sig-name">pop</a>(<span class="summary-sig-arg">self</span>)</span><br />
195      Pop a certificate from the stack.</td>
196          <td align="right" valign="top">
197            <span class="codelink"><a href="ndg.security.common.X509-pysrc.html#X509Stack.pop">source&nbsp;code</a></span>
198           
199          </td>
200        </tr>
201      </table>
202     
203    </td>
204  </tr>
205<tr>
206    <td width="15%" align="right" valign="top" class="summary">
207      <span class="summary-type">string</span>
208    </td><td class="summary">
209      <table width="100%" cellpadding="0" cellspacing="0" border="0">
210        <tr>
211          <td><span class="summary-sig"><a href="ndg.security.common.X509.X509Stack-class.html#asDER" class="summary-sig-name">asDER</a>(<span class="summary-sig-arg">self</span>)</span><br />
212      Return the stack as a DER encoded string</td>
213          <td align="right" valign="top">
214            <span class="codelink"><a href="ndg.security.common.X509-pysrc.html#X509Stack.asDER">source&nbsp;code</a></span>
215           
216          </td>
217        </tr>
218      </table>
219     
220    </td>
221  </tr>
222<tr>
223    <td width="15%" align="right" valign="top" class="summary">
224      <span class="summary-type">&nbsp;</span>
225    </td><td class="summary">
226      <table width="100%" cellpadding="0" cellspacing="0" border="0">
227        <tr>
228          <td><span class="summary-sig"><a href="ndg.security.common.X509.X509Stack-class.html#verifyCertChain" class="summary-sig-name">verifyCertChain</a>(<span class="summary-sig-arg">self</span>,
229        <span class="summary-sig-arg">x509Cert2Verify</span>=<span class="summary-sig-default">None</span>,
230        <span class="summary-sig-arg">caX509Stack</span>=<span class="summary-sig-default">[]</span>,
231        <span class="summary-sig-arg">rejectSelfSignedCert</span>=<span class="summary-sig-default">True</span>)</span><br />
232      Treat stack as a list of certificates in a chain of trust.</td>
233          <td align="right" valign="top">
234            <span class="codelink"><a href="ndg.security.common.X509-pysrc.html#X509Stack.verifyCertChain">source&nbsp;code</a></span>
235           
236          </td>
237        </tr>
238      </table>
239     
240    </td>
241  </tr>
242  <tr>
243    <td colspan="2" class="summary">
244    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
245      <code>__delattr__</code>,
246      <code>__getattribute__</code>,
247      <code>__hash__</code>,
248      <code>__new__</code>,
249      <code>__reduce__</code>,
250      <code>__reduce_ex__</code>,
251      <code>__repr__</code>,
252      <code>__setattr__</code>,
253      <code>__str__</code>
254      </p>
255    </td>
256  </tr>
257</table>
258<!-- ==================== PROPERTIES ==================== -->
259<a name="section-Properties"></a>
260<table class="summary" border="1" cellpadding="3"
261       cellspacing="0" width="100%" bgcolor="white">
262<tr bgcolor="#70b0f0" class="table-header">
263  <td colspan="2" class="table-header">
264    <table border="0" cellpadding="0" cellspacing="0" width="100%">
265      <tr valign="top">
266        <td align="left"><span class="table-header">Properties</span></td>
267        <td align="right" valign="top"
268         ><span class="options">[<a href="#section-Properties"
269         class="privatelink" onclick="toggle_private();"
270         >hide private</a>]</span></td>
271      </tr>
272    </table>
273  </td>
274</tr>
275  <tr>
276    <td colspan="2" class="summary">
277    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
278      <code>__class__</code>
279      </p>
280    </td>
281  </tr>
282</table>
283<!-- ==================== METHOD DETAILS ==================== -->
284<a name="section-MethodDetails"></a>
285<table class="details" border="1" cellpadding="3"
286       cellspacing="0" width="100%" bgcolor="white">
287<tr bgcolor="#70b0f0" class="table-header">
288  <td colspan="2" class="table-header">
289    <table border="0" cellpadding="0" cellspacing="0" width="100%">
290      <tr valign="top">
291        <td align="left"><span class="table-header">Method Details</span></td>
292        <td align="right" valign="top"
293         ><span class="options">[<a href="#section-MethodDetails"
294         class="privatelink" onclick="toggle_private();"
295         >hide private</a>]</span></td>
296      </tr>
297    </table>
298  </td>
299</tr>
300</table>
301<a name="__init__"></a>
302<div>
303<table class="details" border="1" cellpadding="3"
304       cellspacing="0" width="100%" bgcolor="white">
305<tr><td>
306  <table width="100%" cellpadding="0" cellspacing="0" border="0">
307  <tr valign="top"><td>
308  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
309        <span class="sig-arg">m2X509Stack</span>=<span class="sig-default">None</span>)</span>
310    <br /><em class="fname">(Constructor)</em>
311  </h3>
312  </td><td align="right" valign="top"
313    ><span class="codelink"><a href="ndg.security.common.X509-pysrc.html#X509Stack.__init__">source&nbsp;code</a></span>&nbsp;
314    </td>
315  </tr></table>
316 
317  <p>Initialise from an M2Crypto stack object</p>
318  <dl class="fields">
319    <dt>Parameters:</dt>
320    <dd><ul class="nomargin-top">
321        <li><strong class="pname"><code>m2X509Stack</code></strong> (M2Crypto.X509.X509_Stack) - M2Crypto X.509 stack object</li>
322    </ul></dd>
323    <dt>Overrides:
324        object.__init__
325    </dt>
326  </dl>
327</td></tr></table>
328</div>
329<a name="__len__"></a>
330<div>
331<table class="details" border="1" cellpadding="3"
332       cellspacing="0" width="100%" bgcolor="white">
333<tr><td>
334  <table width="100%" cellpadding="0" cellspacing="0" border="0">
335  <tr valign="top"><td>
336  <h3 class="epydoc"><span class="sig"><span class="sig-name">__len__</span>(<span class="sig-arg">self</span>)</span>
337    <br /><em class="fname">(Length operator)</em>
338  </h3>
339  </td><td align="right" valign="top"
340    ><span class="codelink"><a href="ndg.security.common.X509-pysrc.html#X509Stack.__len__">source&nbsp;code</a></span>&nbsp;
341    </td>
342  </tr></table>
343 
344 
345  <dl class="fields">
346    <dt>Returns: int</dt>
347        <dd>length of stack</dd>
348  </dl>
349</td></tr></table>
350</div>
351<a name="__getitem__"></a>
352<div>
353<table class="details" border="1" cellpadding="3"
354       cellspacing="0" width="100%" bgcolor="white">
355<tr><td>
356  <table width="100%" cellpadding="0" cellspacing="0" border="0">
357  <tr valign="top"><td>
358  <h3 class="epydoc"><span class="sig"><span class="sig-name">__getitem__</span>(<span class="sig-arg">self</span>,
359        <span class="sig-arg">idx</span>)</span>
360    <br /><em class="fname">(Indexing operator)</em>
361  </h3>
362  </td><td align="right" valign="top"
363    ><span class="codelink"><a href="ndg.security.common.X509-pysrc.html#X509Stack.__getitem__">source&nbsp;code</a></span>&nbsp;
364    </td>
365  </tr></table>
366 
367  <p>Index stack as an array</p>
368  <dl class="fields">
369    <dt>Parameters:</dt>
370    <dd><ul class="nomargin-top">
371        <li><strong class="pname"><code>idx</code></strong> (int) - stack index</li>
372    </ul></dd>
373    <dt>Returns: ndg.security.common.X509.X509Cert</dt>
374        <dd>X.509 cert object</dd>
375  </dl>
376</td></tr></table>
377</div>
378<a name="__iter__"></a>
379<div>
380<table class="details" border="1" cellpadding="3"
381       cellspacing="0" width="100%" bgcolor="white">
382<tr><td>
383  <table width="100%" cellpadding="0" cellspacing="0" border="0">
384  <tr valign="top"><td>
385  <h3 class="epydoc"><span class="sig"><span class="sig-name">__iter__</span>(<span class="sig-arg">self</span>)</span>
386  </h3>
387  </td><td align="right" valign="top"
388    ><span class="codelink"><a href="ndg.security.common.X509-pysrc.html#X509Stack.__iter__">source&nbsp;code</a></span>&nbsp;
389    </td>
390  </tr></table>
391 
392 
393  <dl class="fields">
394    <dt>Returns: listiterator</dt>
395        <dd>stack iterator</dd>
396  </dl>
397</td></tr></table>
398</div>
399<a name="push"></a>
400<div>
401<table class="details" border="1" cellpadding="3"
402       cellspacing="0" width="100%" bgcolor="white">
403<tr><td>
404  <table width="100%" cellpadding="0" cellspacing="0" border="0">
405  <tr valign="top"><td>
406  <h3 class="epydoc"><span class="sig"><span class="sig-name">push</span>(<span class="sig-arg">self</span>,
407        <span class="sig-arg">x509Cert</span>)</span>
408  </h3>
409  </td><td align="right" valign="top"
410    ><span class="codelink"><a href="ndg.security.common.X509-pysrc.html#X509Stack.push">source&nbsp;code</a></span>&nbsp;
411    </td>
412  </tr></table>
413 
414  <p>Push an X509 certificate onto the stack.</p>
415  <dl class="fields">
416    <dt>Parameters:</dt>
417    <dd><ul class="nomargin-top">
418        <li><strong class="pname"><code>x509Cert</code></strong> (M2Crypto.X509.X509, ndg.security.common.X509.X509Cert or
419          basestring) - X509 object.</li>
420    </ul></dd>
421    <dt>Returns: int</dt>
422        <dd>The number of X509 objects currently on the stack.</dd>
423  </dl>
424</td></tr></table>
425</div>
426<a name="pop"></a>
427<div>
428<table class="details" border="1" cellpadding="3"
429       cellspacing="0" width="100%" bgcolor="white">
430<tr><td>
431  <table width="100%" cellpadding="0" cellspacing="0" border="0">
432  <tr valign="top"><td>
433  <h3 class="epydoc"><span class="sig"><span class="sig-name">pop</span>(<span class="sig-arg">self</span>)</span>
434  </h3>
435  </td><td align="right" valign="top"
436    ><span class="codelink"><a href="ndg.security.common.X509-pysrc.html#X509Stack.pop">source&nbsp;code</a></span>&nbsp;
437    </td>
438  </tr></table>
439 
440  <p>Pop a certificate from the stack.</p>
441  <dl class="fields">
442    <dt>Returns: ndg.security.common.X509.X509Cert</dt>
443        <dd>X509 object that was popped, or None if there is nothing to pop.</dd>
444  </dl>
445</td></tr></table>
446</div>
447<a name="asDER"></a>
448<div>
449<table class="details" border="1" cellpadding="3"
450       cellspacing="0" width="100%" bgcolor="white">
451<tr><td>
452  <table width="100%" cellpadding="0" cellspacing="0" border="0">
453  <tr valign="top"><td>
454  <h3 class="epydoc"><span class="sig"><span class="sig-name">asDER</span>(<span class="sig-arg">self</span>)</span>
455  </h3>
456  </td><td align="right" valign="top"
457    ><span class="codelink"><a href="ndg.security.common.X509-pysrc.html#X509Stack.asDER">source&nbsp;code</a></span>&nbsp;
458    </td>
459  </tr></table>
460 
461  <p>Return the stack as a DER encoded string</p>
462  <dl class="fields">
463    <dt>Returns: string</dt>
464        <dd>DER string</dd>
465  </dl>
466</td></tr></table>
467</div>
468<a name="verifyCertChain"></a>
469<div>
470<table class="details" border="1" cellpadding="3"
471       cellspacing="0" width="100%" bgcolor="white">
472<tr><td>
473  <table width="100%" cellpadding="0" cellspacing="0" border="0">
474  <tr valign="top"><td>
475  <h3 class="epydoc"><span class="sig"><span class="sig-name">verifyCertChain</span>(<span class="sig-arg">self</span>,
476        <span class="sig-arg">x509Cert2Verify</span>=<span class="sig-default">None</span>,
477        <span class="sig-arg">caX509Stack</span>=<span class="sig-default">[]</span>,
478        <span class="sig-arg">rejectSelfSignedCert</span>=<span class="sig-default">True</span>)</span>
479  </h3>
480  </td><td align="right" valign="top"
481    ><span class="codelink"><a href="ndg.security.common.X509-pysrc.html#X509Stack.verifyCertChain">source&nbsp;code</a></span>&nbsp;
482    </td>
483  </tr></table>
484 
485  <p>Treat stack as a list of certificates in a chain of trust.  Validate
486  the signatures through to a single root issuer.</p>
487  <dl class="fields">
488    <dt>Parameters:</dt>
489    <dd><ul class="nomargin-top">
490        <li><strong class="pname"><code>x509Cert2Verify</code></strong> (X509Cert) - X.509 certificate to be verified default is last in the stack</li>
491        <li><strong class="pname"><code>caX509Stack</code></strong> (X509Stack) - X.509 stack containing CA certificates that are trusted.</li>
492        <li><strong class="pname"><code>rejectSelfSignedCert</code></strong> (bool) - Set to True (default) to raise an SelfSignedCert exception if a
493          certificate in self's stack is self-signed.</li>
494    </ul></dd>
495  </dl>
496</td></tr></table>
497</div>
498<br />
499<!-- ==================== NAVIGATION BAR ==================== -->
500<table class="navbar" border="0" width="100%" cellpadding="0"
501       bgcolor="#a0c0ff" cellspacing="0">
502  <tr valign="middle">
503  <!-- Home link -->
504      <th>&nbsp;&nbsp;&nbsp;<a
505        href="ndg-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
506
507  <!-- Tree link -->
508      <th>&nbsp;&nbsp;&nbsp;<a
509        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
510
511  <!-- Index link -->
512      <th>&nbsp;&nbsp;&nbsp;<a
513        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
514
515  <!-- Help link -->
516      <th>&nbsp;&nbsp;&nbsp;<a
517        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
518
519  <!-- Project homepage -->
520      <th class="navbar" align="right" width="100%">
521        <table border="0" cellpadding="0" cellspacing="0">
522          <tr><th class="navbar" align="center"
523            >NDG Security</th>
524          </tr></table></th>
525  </tr>
526</table>
527<table border="0" cellpadding="0" cellspacing="0" width="100%%">
528  <tr>
529    <td align="left" class="footer">
530    <a href="epydoc-log.html">Generated by Epydoc
531    3.0.1 on Thu Sep  4 09:37:45 2008</a>
532    </td>
533    <td align="right" class="footer">
534      <a target="mainFrame" href="http://epydoc.sourceforge.net"
535        >http://epydoc.sourceforge.net</a>
536    </td>
537  </tr>
538</table>
539
540<script type="text/javascript">
541  <!--
542  // Private objects are initially displayed (because if
543  // javascript is turned off then we want them to be
544  // visible); but by default, we want to hide them.  So hide
545  // them unless we have a cookie that says to show them.
546  checkCookie();
547  // -->
548</script>
549</body>
550</html>
Note: See TracBrowser for help on using the repository browser.