Changeset 3652


Ignore:
Timestamp:
19/03/08 16:45:01 (11 years ago)
Author:
pjkersha
Message:
  • Added sso Pylons project to security stack consisting of LoginService? extracted from the NDG Browse stack
  • Fixes to Attribute Authority, Credential Wallet and Session Manager to enable explicit setting of exclusive namespace settings for WS-Security via config files.
Location:
TI12-security/trunk
Files:
85 added
13 deleted
29 edited
3 moved

Legend:

Unmodified
Added
Removed
  • TI12-security/trunk/documentation/epydoc/epydoc-log.html

    r3153 r3652  
    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>Epydoc Log</title> 
    7   <link rel="stylesheet" href="epydoc.css" type="text/css" /> 
    8 </head> 
    9  
    10 <body bgcolor="white" text="black" link="blue" vlink="#204080" 
    11       alink="#204080"> 
    12 <h1 class="epydoc">Epydoc Log</h1> 
    13 <p class="log">Epydoc started at Mon Dec 17 09:22:23 2007</p><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.test/ndg/security/test/SecurityCGItest.py: 
    14 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    15 ImportError: No module named Session (line 20)</div> 
    16 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.test/ndg/security/test/gatekeeper/TestGatekeeperResrc.py: 
    17 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    18 ImportError: No module named NDG.Gatekeeper (line 15)</div> 
    19 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.test/ndg/security/test/Log/LogTest.py: 
    20 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    21 NoSectionError: No section: 'formatters' (line 24)</div> 
    22 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.server/ndg/security/server/initCredReposDb.py: 
    23 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    24 ImportError: No module named Session (line 25)</div> 
    25 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.client/ndg/security/client/GatekeeperClient.py: 
    26 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    27 ImportError: No module named NDG.AttCert (line 20)</div> 
    28 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.client/ndg/security/client/SimpleCAClient.py: 
    29 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    30 ImportError: No module named CertReq (line 19)</div> 
    31 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.client/ndg/security/client/LogClient.py: 
    32 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    33 ImportError: No module named LogIO (line 25)</div> 
    34 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.client/ndg/security/client/ndgSessionClient.py: 
    35 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    36 ImportError: No module named SecurityClient (line 29)</div> 
    37 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/SecurityCGI.py: 
    38 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    39 ImportError: No module named NDG.SecurityClient (line 26)</div> 
    40 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/SQLObject.py: 
    41 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    42 ImportError: No module named sqlobject (line 16)</div> 
    43 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/logService/log_services_server.py: 
    44 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    45 ImportError: No module named Log (line 22)</div> 
    46 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.test/ndg/security/test/SecurityCGItest.py: 
    47 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    48 ImportError: No module named Session (line 20)</div> 
    49 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.test/ndg/security/test/gatekeeper/TestGatekeeperResrc.py: 
    50 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    51 ImportError: No module named NDG.Gatekeeper (line 15)</div> 
    52 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.test/ndg/security/test/Log/LogTest.py: 
    53 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    54 NoSectionError: No section: 'formatters' (line 24)</div> 
    55 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.server/ndg/security/server/initCredReposDb.py: 
    56 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    57 ImportError: No module named Session (line 25)</div> 
    58 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.client/ndg/security/client/GatekeeperClient.py: 
    59 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    60 ImportError: No module named NDG.AttCert (line 20)</div> 
    61 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.client/ndg/security/client/SimpleCAClient.py: 
    62 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    63 ImportError: No module named CertReq (line 19)</div> 
    64 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.client/ndg/security/client/LogClient.py: 
    65 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    66 ImportError: No module named LogIO (line 25)</div> 
    67 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.client/ndg/security/client/ndgSessionClient.py: 
    68 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    69 ImportError: No module named SecurityClient (line 29)</div> 
    70 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/SecurityCGI.py: 
    71 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    72 ImportError: No module named NDG.SecurityClient (line 26)</div> 
    73 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/SQLObject.py: 
    74 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    75 ImportError: No module named sqlobject (line 16)</div> 
    76 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/logService/log_services_server.py: 
    77 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    78 ImportError: No module named Log (line 22)</div> 
    79 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.test/ndg/security/test/SecurityCGItest.py: 
    80 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    81 ImportError: No module named Session (line 20)</div> 
    82 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.test/ndg/security/test/gatekeeper/TestGatekeeperResrc.py: 
    83 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    84 ImportError: No module named NDG.Gatekeeper (line 15)</div> 
    85 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.test/ndg/security/test/Log/LogTest.py: 
    86 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    87 NoSectionError: No section: 'formatters' (line 24)</div> 
    88 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.server/ndg/security/server/initCredReposDb.py: 
    89 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    90 ImportError: No module named Session (line 25)</div> 
    91 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.client/ndg/security/client/GatekeeperClient.py: 
    92 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    93 ImportError: No module named NDG.AttCert (line 20)</div> 
    94 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.client/ndg/security/client/SimpleCAClient.py: 
    95 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    96 ImportError: No module named CertReq (line 19)</div> 
    97 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.client/ndg/security/client/LogClient.py: 
    98 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    99 ImportError: No module named LogIO (line 25)</div> 
    100 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.client/ndg/security/client/ndgSessionClient.py: 
    101 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    102 ImportError: No module named SecurityClient (line 29)</div> 
    103 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/SecurityCGI.py: 
    104 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    105 ImportError: No module named NDG.SecurityClient (line 26)</div> 
    106 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/SQLObject.py: 
    107 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    108 ImportError: No module named sqlobject (line 16)</div> 
    109 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/logService/log_services_server.py: 
    110 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    111 ImportError: No module named Log (line 22)</div> 
    112 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.test/ndg/security/test/SecurityCGItest.py: 
    113 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    114 ImportError: No module named Session (line 20)</div> 
    115 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.test/ndg/security/test/gatekeeper/TestGatekeeperResrc.py: 
    116 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    117 ImportError: No module named NDG.Gatekeeper (line 15)</div> 
    118 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.test/ndg/security/test/Log/LogTest.py: 
    119 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    120 NoSectionError: No section: 'formatters' (line 24)</div> 
    121 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.server/ndg/security/server/initCredReposDb.py: 
    122 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    123 ImportError: No module named Session (line 25)</div> 
    124 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.client/ndg/security/client/GatekeeperClient.py: 
    125 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    126 ImportError: No module named NDG.AttCert (line 20)</div> 
    127 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.client/ndg/security/client/SimpleCAClient.py: 
    128 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    129 ImportError: No module named CertReq (line 19)</div> 
    130 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.client/ndg/security/client/LogClient.py: 
    131 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    132 ImportError: No module named LogIO (line 25)</div> 
    133 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.client/ndg/security/client/ndgSessionClient.py: 
    134 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    135 ImportError: No module named SecurityClient (line 29)</div> 
    136 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/SecurityCGI.py: 
    137 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    138 ImportError: No module named NDG.SecurityClient (line 26)</div> 
    139 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/SQLObject.py: 
    140 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    141 ImportError: No module named sqlobject (line 16)</div> 
    142 </div><div class="log-block"><h2 class="log-hdr">In /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/logService/log_services_server.py: 
    143 Import failed (but source code parsing was successful).</h2><div class="log-error"><b>Error</b>:  
    144 ImportError: No module named Log (line 22)</div> 
    145 </div><div class="log-error"><b>Error</b>:  
    146 Two of the specified items, './ndg.security.client/ndg' and './ndg.security.common/ndg', have the same canonical name (&quot;ndg&quot;).  This may mean that you specified two different files that both use the same module name.  Ignoring the second item ('./ndg.security.client/ndg')</div> 
    147 <div class="log-error"><b>Error</b>:  
    148 Two of the specified items, './ndg.security.client/ndg' and './ndg.security.server/ndg', have the same canonical name (&quot;ndg&quot;).  This may mean that you specified two different files that both use the same module name.  Ignoring the second item ('./ndg.security.client/ndg')</div> 
    149 <div class="log-error"><b>Error</b>:  
    150 Two of the specified items, './ndg.security.client/ndg' and './ndg.security.test/ndg', have the same canonical name (&quot;ndg&quot;).  This may mean that you specified two different files that both use the same module name.  Ignoring the second item ('./ndg.security.client/ndg')</div> 
    151 <div class="log-block"><h2 class="log-hdr">File /usr/local/lib/python2.5/site-packages/ZSI-2.0_rc3-py2.5.egg/ZSI/ServiceContainer.py, line 156, in ZSI.ServiceContainer.ServiceInterface</h2><div class="log-warning"><b>Docstring Warning</b>:  
    152 Lines 159, 160, 165, 166, 168: Improper paragraph indentation.</div> 
    153 </div><div class="log-block"><h2 class="log-hdr">File /usr/local/lib/python2.5/site-packages/ZSI-2.0_rc3-py2.5.egg/ZSI/TC.py, line 69, in ZSI.TC.TypeCode.__init__</h2><div class="log-warning"><b>Docstring Warning</b>:  
    154 Lines 71, 73, 74: Improper paragraph indentation.</div> 
    155 </div><div class="log-block"><h2 class="log-hdr">File /usr/local/lib/python2.5/site-packages/ZSI-2.0_rc3-py2.5.egg/ZSI/TC.py, line 47, in ZSI.TC.TypeCode</h2><div class="log-warning"><b>Docstring Warning</b>:  
    156 Lines 49, 51, 54, 56, 57, 58, 59, 60: Improper paragraph indentation.</div> 
    157 </div><div class="log-block"><h2 class="log-hdr">File /usr/local/lib/python2.5/site-packages/ZSI-2.0_rc3-py2.5.egg/ZSI/TC.py, line 141, in ZSI.TC.TypeCode.SimpleHREF</h2><div class="log-warning"><b>Docstring Warning</b>:  
    158 Line 143: Improper paragraph indentation.</div> 
    159 </div><div class="log-block"><h2 class="log-hdr">File /usr/local/lib/python2.5/site-packages/ZSI-2.0_rc3-py2.5.egg/ZSI/TC.py, line 171, in ZSI.TC.TypeCode.checkname</h2><div class="log-warning"><b>Docstring Warning</b>:  
    160 Line 174: Improper paragraph indentation.</div> 
    161 </div><div class="log-block"><h2 class="log-hdr">File /usr/local/lib/python2.5/site-packages/ZSI-2.0_rc3-py2.5.egg/ZSI/TC.py, line 200, in ZSI.TC.TypeCode.checktype</h2><div class="log-warning"><b>Docstring Warning</b>:  
    162 Line 203: Improper paragraph indentation.</div> 
    163 </div><div class="log-block"><h2 class="log-hdr">File /usr/local/lib/python2.5/site-packages/ZSI-2.0_rc3-py2.5.egg/ZSI/TC.py, line 375, in ZSI.TC.TypeCode.get_name</h2><div class="log-warning"><b>Docstring Warning</b>:  
    164 Line 377: Improper paragraph indentation.</div> 
    165 </div><div class="log-block"><h2 class="log-hdr">File /usr/local/lib/python2.5/site-packages/ZSI-2.0_rc3-py2.5.egg/ZSI/TC.py, line 228, in ZSI.TC.TypeCode.name_match</h2><div class="log-warning"><b>Docstring Warning</b>:  
    166 Line 230: Improper paragraph indentation.</div> 
    167 </div><div class="log-block"><h2 class="log-hdr">File /usr/local/lib/python2.5/site-packages/ZSI-2.0_rc3-py2.5.egg/ZSI/TC.py, line 236, in ZSI.TC.TypeCode.nilled</h2><div class="log-warning"><b>Docstring Warning</b>:  
    168 Line 238: Improper paragraph indentation.</div> 
    169 </div><div class="log-block"><h2 class="log-hdr">File /usr/local/lib/python2.5/site-packages/ZSI-2.0_rc3-py2.5.egg/ZSI/TC.py, line 107, in ZSI.TC.TypeCode.parse</h2><div class="log-warning"><b>Docstring Warning</b>:  
    170 Line 109: Improper paragraph indentation.</div> 
    171 </div><div class="log-block"><h2 class="log-hdr">File /usr/local/lib/python2.5/site-packages/ZSI-2.0_rc3-py2.5.egg/ZSI/TC.py, line 272, in ZSI.TC.TypeCode.parse_attributes</h2><div class="log-warning"><b>Docstring Warning</b>:  
    172 Line 276: Improper paragraph indentation.</div> 
    173 </div><div class="log-block"><h2 class="log-hdr">File /usr/local/lib/python2.5/site-packages/ZSI-2.0_rc3-py2.5.egg/ZSI/TC.py, line 115, in ZSI.TC.TypeCode.serialize</h2><div class="log-warning"><b>Docstring Warning</b>:  
    174 Line 117: Improper paragraph indentation.</div> 
    175 </div><div class="log-block"><h2 class="log-hdr">File /usr/local/lib/python2.5/site-packages/ZSI-2.0_rc3-py2.5.egg/ZSI/TC.py, line 134, in ZSI.TC.TypeCode.serialize_as_nil</h2><div class="log-warning"><b>Docstring Warning</b>:  
    176 Line 136: Improper paragraph indentation.</div> 
    177 </div><div class="log-block"><h2 class="log-hdr">File /usr/local/lib/python2.5/site-packages/ZSI-2.0_rc3-py2.5.egg/ZSI/TC.py, line 358, in ZSI.TC.TypeCode.set_attribute_href</h2><div class="log-warning"><b>Docstring Warning</b>:  
    178 Line 360: Improper paragraph indentation.</div> 
    179 </div><div class="log-block"><h2 class="log-hdr">File /usr/local/lib/python2.5/site-packages/ZSI-2.0_rc3-py2.5.egg/ZSI/TC.py, line 366, in ZSI.TC.TypeCode.set_attribute_id</h2><div class="log-warning"><b>Docstring Warning</b>:  
    180 Line 368: Improper paragraph indentation.</div> 
    181 </div><div class="log-block"><h2 class="log-hdr">File /usr/local/lib/python2.5/site-packages/ZSI-2.0_rc3-py2.5.egg/ZSI/TC.py, line 347, in ZSI.TC.TypeCode.set_attribute_xsi_type</h2><div class="log-warning"><b>Docstring Warning</b>:  
    182 Line 349: Improper paragraph indentation.</div> 
    183 </div><div class="log-block"><h2 class="log-hdr">File /usr/local/lib/python2.5/site-packages/ZSI-2.0_rc3-py2.5.egg/ZSI/TC.py, line 298, in ZSI.TC.TypeCode.set_attributes</h2><div class="log-warning"><b>Docstring Warning</b>:  
    184 Line 303: Improper paragraph indentation.</div> 
    185 </div><div class="log-block"><h2 class="log-hdr">File /usr/local/lib/python2.5/site-packages/ZSI-2.0_rc3-py2.5.egg/ZSI/TC.py, line 248, in ZSI.TC.TypeCode.simple_value</h2><div class="log-warning"><b>Docstring Warning</b>:  
    186 Line 250: Improper paragraph indentation.</div> 
    187 </div><div class="log-block"><h2 class="log-hdr">File /usr/local/lib/python2.5/site-packages/ZSI-2.0_rc3-py2.5.egg/ZSI/TC.py, line 125, in ZSI.TC.TypeCode.text_to_data</h2><div class="log-warning"><b>Docstring Warning</b>:  
    188 Line 127: Improper paragraph indentation.</div> 
    189 </div><div class="log-block"><h2 class="log-hdr">File /usr/local/lib/python2.5/site-packages/ZSI-2.0_rc3-py2.5.egg/ZSI/TCcompound.py, line 459, in ZSI.TCcompound.Struct</h2><div class="log-warning"><b>Docstring Warning</b>:  
    190 Lines 460, 464, 465, 466, 470: Improper paragraph indentation.</div> 
    191 </div><div class="log-block"><h2 class="log-hdr">File /usr/local/lib/python2.5/site-packages/ZSI-2.0_rc3-py2.5.egg/ZSI/schema.py, line 55, in ZSI.schema.SchemaInstanceType</h2><div class="log-warning"><b>Docstring Warning</b>:  
    192 Lines 60, 61, 62, 63, 64, 65: Improper paragraph indentation.</div> 
    193 </div><div class="log-block"><h2 class="log-hdr">File /usr/local/lib/python2.5/site-packages/ZSI-2.0_rc3-py2.5.egg/ZSI/schema.py, line 117, in ZSI.schema.SchemaInstanceType.getElementDeclaration</h2><div class="log-warning"><b>Docstring Warning</b>:  
    194 Line 123: Improper paragraph indentation.</div> 
    195 </div><div class="log-block"><h2 class="log-hdr">File /usr/local/lib/python2.5/site-packages/ZSI-2.0_rc3-py2.5.egg/ZSI/schema.py, line 103, in ZSI.schema.SchemaInstanceType.getTypeDefinition</h2><div class="log-warning"><b>Docstring Warning</b>:  
    196 Line 107: Improper paragraph indentation.</div> 
    197 </div><div class="log-block"><h2 class="log-hdr">File /usr/local/lib/python2.5/site-packages/ZSI-2.0_rc3-py2.5.egg/ZSI/schema.py, line 170, in ZSI.schema.TypeDefinition.getSubstituteType</h2><div class="log-warning"><b>Docstring Warning</b>:  
    198 Line 176: Improper paragraph indentation.</div> 
    199 </div><div class="log-block"><h2 class="log-hdr">File /usr/local/lib/python2.5/cgi.py, line 427, in cgi.FieldStorage.__init__</h2><div class="log-warning"><b>Docstring Warning</b>:  
    200 Lines 432, 435, 438, 443, 450: Improper paragraph indentation.</div> 
    201 </div><div class="log-block"><h2 class="log-hdr">File /usr/local/lib/python2.5/cgi.py, line 384, in cgi.FieldStorage</h2><div class="log-warning"><b>Docstring Warning</b>:  
    202 Lines 396, 400, 403, 408, 415: Improper paragraph indentation.</div> 
    203 </div><div class="log-block"><h2 class="log-hdr">File /usr/local/lib/python2.5/cgi.py, line 766, in cgi.FieldStorage.make_file</h2><div class="log-warning"><b>Docstring Warning</b>:  
    204 Line 769: Lists must be indented.</div> 
    205 </div><div class="log-block"><h2 class="log-hdr">File /usr/local/lib/python2.5/httplib.py, line 731, in httplib.HTTPConnection.putrequest</h2><div class="log-warning"><b>Docstring Warning</b>:  
    206 Line 737: Improper paragraph indentation.</div> 
    207 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.client/ndg/security/client/GatekeeperClient.py, line 38, in ndg.security.client.GatekeeperClient.GatekeeperClient.__init__</h2><div class="log-warning"><b>Docstring Warning</b>:  
    208 Lines 40, 42: Improper paragraph indentation.</div> 
    209 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.client/ndg/security/client/LogClient.py, line 86, in ndg.security.client.LogClient.LogClient.__init__</h2><div class="log-warning"><b>Docstring Warning</b>:  
    210 Lines 88, 90: Improper paragraph indentation.</div> 
    211 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.client/ndg/security/client/SimpleCAClient.py, line 50, in ndg.security.client.SimpleCAClient.SimpleCAClient.__init__</h2><div class="log-warning"><b>Docstring Warning</b>:  
    212 Lines 54, 56: Improper paragraph indentation.</div> 
    213 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/AttAuthority/__init__.py, line 396, in ndg.security.common.AttAuthority.AttAuthorityClient.getAttCert</h2><div class="log-warning"><b>Docstring Warning</b>:  
    214 Lines 423, 424: Possible mal-formatted field item.</div> 
    215 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/AttCert.py, line 106, in ndg.security.common.AttCert.AttCert.__init__</h2><div class="log-warning"><b>Docstring Warning</b>:  
    216 @param for unknown parameter &quot;**xmlSecDocKw&quot;</div> 
    217 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/AttCert.py, line 192, in ndg.security.common.AttCert.AttCert.__getitem__</h2><div class="log-warning"><b>Docstring Warning</b>:  
    218 @param for unknown parameter &quot;item&quot;</div> 
    219 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/AttCert.py, line 823, in ndg.security.common.AttCert.AttCert.applyEnvelopedSignature</h2><div class="log-warning"><b>Docstring Warning</b>:  
    220 @param for unknown parameter &quot;**xmlSecDocKw&quot;</div> 
    221 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/AttCert.py, line 1034, in ndg.security.common.AttCert.AttCert.isValid</h2><div class="log-warning"><b>Docstring Warning</b>:  
    222 Line 1036: Lists must be indented.</div> 
    223 <div class="log-warning"><b>Docstring Warning</b>:  
    224 Line 1047: Possible mal-formatted field item.</div> 
    225 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/AttCert.py, line 171, in ndg.security.common.AttCert.AttCert.toString</h2><div class="log-warning"><b>Docstring Warning</b>:  
    226 @param for unknown parameter &quot;**kw&quot;</div> 
    227 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/CredWallet.py, line 1188, in ndg.security.common.CredWallet.CredRepos.__init__</h2><div class="log-warning"><b>Docstring Warning</b>:  
    228 @param for unknown parameter &quot;**prop&quot;</div> 
    229 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/CredWallet.py, line 1222, in ndg.security.common.CredWallet.CredRepos.auditCredentials</h2><div class="log-warning"><b>Docstring Warning</b>:  
    230 Line 1228: Improper paragraph indentation.</div> 
    231 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/CredWallet.py, line 579, in ndg.security.common.CredWallet.CredWallet.__getAA</h2><div class="log-warning"><b>Docstring Warning</b>:  
    232 @param for unknown parameter &quot;aaClnt&quot;</div> 
    233 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/CredWallet.py, line 545, in ndg.security.common.CredWallet.CredWallet.__getAAclnt</h2><div class="log-warning"><b>Docstring Warning</b>:  
    234 @param for unknown parameter &quot;aaClnt&quot;</div> 
    235 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/CredWallet.py, line 450, in ndg.security.common.CredWallet.CredWallet.__getCAcertFilePathList</h2><div class="log-warning"><b>Docstring Warning</b>:  
    236 u'rtype' did not expect an argument</div> 
    237 <div class="log-warning"><b>Docstring Warning</b>:  
    238 u'return' did not expect an argument</div> 
    239 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/CredWallet.py, line 353, in ndg.security.common.CredWallet.CredWallet.__setCert</h2><div class="log-warning"><b>Docstring Warning</b>:  
    240 Lines 363, 364: Possible mal-formatted field item.</div> 
    241 <div class="log-warning"><b>Docstring Warning</b>:  
    242 u'type' expected a single argument</div> 
    243 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/CredWallet.py, line 857, in ndg.security.common.CredWallet.CredWallet.getAttCert</h2><div class="log-warning"><b>Docstring Warning</b>:  
    244 Line 864: Improper paragraph indentation.</div> 
    245 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/CredWallet.py, line 591, in ndg.security.common.CredWallet.CredWallet.isValid</h2><div class="log-warning"><b>Docstring Warning</b>:  
    246 @param for unknown parameter &quot;**x509CertKeys&quot;</div> 
    247 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/CredWallet.py, line 95, in ndg.security.common.CredWallet.CredWalletAttributeRequestDenied.__init__</h2><div class="log-warning"><b>Docstring Warning</b>:  
    248 @param for unknown parameter &quot;extAttCertList&quot;</div> 
    249 <div class="log-warning"><b>Docstring Warning</b>:  
    250 @param for unknown parameter &quot;trustedHostInfo&quot;</div> 
    251 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/SQLObject.py, line 78, in ndg.security.common.SQLObject.CredRepos.__setConnection</h2><div class="log-warning"><b>Docstring Warning</b>:  
    252 Line 89: Lists must be indented.</div> 
    253 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/SQLObject.py, line 219, in ndg.security.common.SQLObject.CredRepos.auditCredentials</h2><div class="log-warning"><b>Docstring Warning</b>:  
    254 Lines 223, 225: Improper paragraph indentation.</div> 
    255 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/SecurityCGI.py, line 706, in ndg.security.common.SecurityCGI.IdentityProviderSecurityCGI.__init__</h2><div class="log-warning"><b>Docstring Warning</b>:  
    256 Lines 707, 709, 711, 714: Improper paragraph indentation.</div> 
    257 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/SecurityCGI.py, line 893, in ndg.security.common.SecurityCGI.IdentityProviderSecurityCGI._authenticate</h2><div class="log-warning"><b>Docstring Warning</b>:  
    258 Line 897: Improper paragraph indentation.</div> 
    259 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/SecurityCGI.py, line 814, in ndg.security.common.SecurityCGI.IdentityProviderSecurityCGI._returnCredsResponse</h2><div class="log-warning"><b>Docstring Warning</b>:  
    260 Lines 821, 823, 825: Improper paragraph indentation.</div> 
    261 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/SecurityCGI.py, line 341, in ndg.security.common.SecurityCGI.ServiceProviderSecurityCGI.__init__</h2><div class="log-warning"><b>Docstring Warning</b>:  
    262 Lines 342, 346, 350, 352, 355, 358, 361, 363: Improper paragraph indentation.</div> 
    263 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/SecurityCGI.py, line 630, in ndg.security.common.SecurityCGI.ServiceProviderSecurityCGI._requestCreds</h2><div class="log-warning"><b>Docstring Warning</b>:  
    264 Lines 633, 637, 639: Improper paragraph indentation.</div> 
    265 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/SecurityCGI.py, line 519, in ndg.security.common.SecurityCGI.ServiceProviderSecurityCGI.onCredsSet</h2><div class="log-warning"><b>Docstring Warning</b>:  
    266 Line 543: Improper paragraph indentation.</div> 
    267 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/SecurityCGI.py, line 92, in ndg.security.common.SecurityCGI._SecurityCGI.__init__</h2><div class="log-warning"><b>Docstring Warning</b>:  
    268 Lines 93, 95, 101, 103: Improper paragraph indentation.</div> 
    269 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/SecurityCGI.py, line 59, in ndg.security.common.SecurityCGI._SecurityCGI</h2><div class="log-warning"><b>Docstring Warning</b>:  
    270 Line 64: Improper paragraph indentation.</div> 
    271 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/SecurityCGI.py, line 168, in ndg.security.common.SecurityCGI._SecurityCGI._getAttCert</h2><div class="log-warning"><b>Docstring Warning</b>:  
    272 Line 173: Improper paragraph indentation.</div> 
    273 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/SecurityCGI.py, line 250, in ndg.security.common.SecurityCGI._SecurityCGI.onAttCertDenied</h2><div class="log-warning"><b>Docstring Warning</b>:  
    274 Lines 255, 264: Improper paragraph indentation.</div> 
    275 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/SessionCookie.pyc, in ndg.security.common.SessionCookie.SessionCookie.__setCert</h2><div class="log-warning"><b>Docstring Warning</b>:  
    276 Possible mal-formatted field item.</div> 
    277 <div class="log-warning"><b>Docstring Warning</b>:  
    278 u'type' expected a single argument</div> 
    279 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/SessionCookie.pyc, in ndg.security.common.SessionCookie.SessionCookie.parse</h2><div class="log-warning"><b>Docstring Warning</b>:  
    280 Possible mal-formatted field item.</div> 
    281 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/SessionMgr/__init__.py, line 61, in ndg.security.common.SessionMgr.AttributeRequestDenied.__init__</h2><div class="log-warning"><b>Docstring Warning</b>:  
    282 @param for unknown parameter &quot;extAttCertList&quot;</div> 
    283 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/SessionMgr/__init__.py, line 380, in ndg.security.common.SessionMgr.SessionMgrClient.getSessionStatus</h2><div class="log-warning"><b>Docstring Warning</b>:  
    284 @param for unknown parameter &quot;userCert&quot;</div> 
    285 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/X509.py, line 588, in ndg.security.common.X509.X500DN.__init__</h2><div class="log-warning"><b>Docstring Warning</b>:  
    286 Line 593: Improper paragraph indentation.</div> 
    287 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/X509.py, line 321, in ndg.security.common.X509.X509Cert.verify</h2><div class="log-warning"><b>Docstring Warning</b>:  
    288 @param for unknown parameter &quot;**kw&quot;</div> 
    289 <div class="log-warning"><b>Docstring Warning</b>:  
    290 u'type' expected a single argument</div> 
    291 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/XMLSec.py, line 72, in ndg.security.common.XMLSec.XMLSecDoc</h2><div class="log-warning"><b>Docstring Warning</b>:  
    292 @param for unknown parameter &quot;__beginCert&quot;</div> 
    293 <div class="log-warning"><b>Docstring Warning</b>:  
    294 u'cvar' expected an argument</div> 
    295 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/XMLSec.py, line 352, in ndg.security.common.XMLSec.XMLSecDoc.applyEnvelopedSignature</h2><div class="log-warning"><b>Docstring Warning</b>:  
    296 Lines 363, 363: Lists must be indented.</div> 
    297 <div class="log-warning"><b>Docstring Warning</b>:  
    298 Line 367: Improper paragraph indentation.</div> 
    299 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/ca/__init__.py, line 52, in ndg.security.common.ca.CertificateAuthorityClient.__init__</h2><div class="log-warning"><b>Docstring Warning</b>:  
    300 @param for unknown parameter &quot;**signatureHandlerKw&quot;</div> 
    301 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/ca/__init__.py, line 38, in ndg.security.common.ca.CertificateAuthorityClient</h2><div class="log-warning"><b>Docstring Warning</b>:  
    302 Unknown field tag u'ctype'</div> 
    303 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/ca/__init__.py, line 314, in ndg.security.common.ca.CertificateAuthorityClient.getCRL</h2><div class="log-warning"><b>Docstring Warning</b>:  
    304 Lines 316, 317: Possible mal-formatted field item.</div> 
    305 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/ca/__init__.py, line 256, in ndg.security.common.ca.CertificateAuthorityClient.issueCert</h2><div class="log-warning"><b>Docstring Warning</b>:  
    306 @param for unknown parameter &quot;**createCertReqKw&quot;</div> 
    307 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/gatekeeper.py, line 282, in ndg.security.common.gatekeeper.GatekeeperResrc.getPermissions</h2><div class="log-warning"><b>Docstring Warning</b>:  
    308 Line 286: Improper paragraph indentation.</div> 
    309 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/gatekeeper.py, line 346, in ndg.security.common.gatekeeper.PullModelHandler.__init__</h2><div class="log-warning"><b>Docstring Warning</b>:  
    310 Line 356: Improper paragraph indentation.</div> 
    311 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/gatekeeper.py, line 380, in ndg.security.common.gatekeeper.PullModelHandler.checkAccess</h2><div class="log-warning"><b>Docstring Warning</b>:  
    312 Line 390: Improper paragraph indentation.</div> 
    313 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/logService/log_services.py, line 42, in ndg.security.common.logService.log_services.logBindingSOAP.debug</h2><div class="log-warning"><b>Docstring Warning</b>:  
    314 u'param' expected an argument</div> 
    315 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/logService/log_services.py, line 63, in ndg.security.common.logService.log_services.logBindingSOAP.error</h2><div class="log-warning"><b>Docstring Warning</b>:  
    316 u'param' expected an argument</div> 
    317 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/logService/log_services.py, line 84, in ndg.security.common.logService.log_services.logBindingSOAP.info</h2><div class="log-warning"><b>Docstring Warning</b>:  
    318 u'param' expected an argument</div> 
    319 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/logService/log_services.py, line 105, in ndg.security.common.logService.log_services.logBindingSOAP.warning</h2><div class="log-warning"><b>Docstring Warning</b>:  
    320 u'param' expected an argument</div> 
    321 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/openssl.py, line 130, in ndg.security.common.openssl.OpenSSLConfig.__getCADir</h2><div class="log-warning"><b>Docstring Warning</b>:  
    322 u'rtype' did not expect an argument</div> 
    323 <div class="log-warning"><b>Docstring Warning</b>:  
    324 u'return' did not expect an argument</div> 
    325 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/openssl.py, line 141, in ndg.security.common.openssl.OpenSSLConfig.__getReqDN</h2><div class="log-warning"><b>Docstring Warning</b>:  
    326 u'rtype' did not expect an argument</div> 
    327 <div class="log-warning"><b>Docstring Warning</b>:  
    328 u'return' did not expect an argument</div> 
    329 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/sessionCookie.py, line 85, in ndg.security.common.sessionCookie.SessionCookie.__setCert</h2><div class="log-warning"><b>Docstring Warning</b>:  
    330 Lines 91, 92: Possible mal-formatted field item.</div> 
    331 <div class="log-warning"><b>Docstring Warning</b>:  
    332 u'type' expected a single argument</div> 
    333 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/sessionCookie.py, line 223, in ndg.security.common.sessionCookie.SessionCookie.parse</h2><div class="log-warning"><b>Docstring Warning</b>:  
    334 Lines 225, 226: Possible mal-formatted field item.</div> 
    335 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/wsSecurity.py, line 149, in ndg.security.common.wsSecurity.SignatureHandler.__init__</h2><div class="log-warning"><b>Docstring Warning</b>:  
    336 Unknown field tag u'reqbinsectokvaltype'</div> 
    337 <div class="log-warning"><b>Docstring Warning</b>:  
    338 @type for unknown parameter &quot;binSecTokValType&quot;</div> 
    339 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/wsSecurity.py, line 94, in ndg.security.common.wsSecurity.SignatureHandler</h2><div class="log-warning"><b>Docstring Warning</b>:  
    340 @param for unknown parameter &quot;__beginCert&quot;</div> 
    341 <div class="log-warning"><b>Docstring Warning</b>:  
    342 u'cvar' expected an argument</div> 
    343 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/wsSecurity.py, line 382, in ndg.security.common.wsSecurity.SignatureHandler.__getVerifyingCert</h2><div class="log-warning"><b>Docstring Warning</b>:  
    344 Line 385: Improper paragraph indentation.</div> 
    345 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.common/ndg/security/common/wsSecurity.py, line 350, in ndg.security.common.wsSecurity.SignatureHandler.__setCert</h2><div class="log-warning"><b>Docstring Warning</b>:  
    346 Lines 360, 361: Possible mal-formatted field item.</div> 
    347 <div class="log-warning"><b>Docstring Warning</b>:  
    348 u'type' expected a single argument</div> 
    349 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.server/ndg/security/server/AttAuthority/__init__.py, line 345, in ndg.security.server.AttAuthority.AttAuthority.getAttCert</h2><div class="log-warning"><b>Docstring Warning</b>:  
    350 Line 348: Improper paragraph indentation.</div> 
    351 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.server/ndg/security/server/AttAuthority/__init__.py, line 871, in ndg.security.server.AttAuthority.AttAuthority.getRoles</h2><div class="log-warning"><b>Docstring Warning</b>:  
    352 @param for unknown parameter &quot;dn&quot;</div> 
    353 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.server/ndg/security/server/AttAuthority/__init__.py, line 605, in ndg.security.server.AttAuthority.AttAuthority.readProperties</h2><div class="log-warning"><b>Docstring Warning</b>:  
    354 @param for unknown parameter &quot;propFilePath&quot;</div> 
    355 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.server/ndg/security/server/MyProxy.py, line 247, in ndg.security.server.MyProxy.MyProxyClient.__init__</h2><div class="log-warning"><b>Docstring Warning</b>:  
    356 @param for unknown parameter &quot;**prop&quot;</div> 
    357 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.server/ndg/security/server/MyProxy.py, line 529, in ndg.security.server.MyProxy.MyProxyClient._deserializeCerts</h2><div class="log-warning"><b>Docstring Warning</b>:  
    358 Line 535: Possible mal-formatted field item.</div> 
    359 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.server/ndg/security/server/MyProxy.py, line 855, in ndg.security.server.MyProxy.MyProxyClient.logon</h2><div class="log-warning"><b>Docstring Warning</b>:  
    360 u'return' did not expect an argument</div> 
    361 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.server/ndg/security/server/MyProxy.py, line 751, in ndg.security.server.MyProxy.MyProxyClient.store</h2><div class="log-warning"><b>Docstring Warning</b>:  
    362 @type for unknown parameter &quot;Force&quot;</div> 
    363 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.server/ndg/security/server/SessionMgr/__init__.py, line 372, in ndg.security.server.SessionMgr.SessionMgr.__init__</h2><div class="log-warning"><b>Docstring Warning</b>:  
    364 Lines 376, 378: Improper paragraph indentation.</div> 
    365 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.server/ndg/security/server/SessionMgr/__init__.py, line 1204, in ndg.security.server.SessionMgr.SessionMgr.__redirectAttCertReq</h2><div class="log-warning"><b>Docstring Warning</b>:  
    366 @param for unknown parameter &quot;**kw&quot;</div> 
    367 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.server/ndg/security/server/SessionMgr/__init__.py, line 727, in ndg.security.server.SessionMgr.SessionMgr.addUser</h2><div class="log-warning"><b>Docstring Warning</b>:  
    368 Lines 730, 735, 740, 746: Improper paragraph indentation.</div> 
    369 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.server/ndg/security/server/SessionMgr/__init__.py, line 822, in ndg.security.server.SessionMgr.SessionMgr.connect</h2><div class="log-warning"><b>Docstring Warning</b>:  
    370 Line 825: Improper paragraph indentation.</div> 
    371 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.server/ndg/security/server/SessionMgr/__init__.py, line 1132, in ndg.security.server.SessionMgr.SessionMgr.getAttCert</h2><div class="log-warning"><b>Docstring Warning</b>:  
    372 @param for unknown parameter &quot;**credWalletKw&quot;</div> 
    373 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.server/ndg/security/server/ca/__init__.py, line 1, in ndg.security.server.ca</h2><div class="log-warning"><b>Docstring Warning</b>:  
    374 Line 3: Lists must be indented.</div> 
    375 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.server/ndg/security/server/ca/__init__.py, line 106, in ndg.security.server.ca.SimpleCA.__init__</h2><div class="log-warning"><b>Docstring Warning</b>:  
    376 Line 109: Improper paragraph indentation.</div> 
    377 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.server/ndg/security/server/ca/__init__.py, line 526, in ndg.security.server.ca.SimpleCA.sign</h2><div class="log-warning"><b>Docstring Warning</b>:  
    378 @param for unknown parameter &quot;**createCertReqKw&quot;</div> 
    379 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.server/ndg/security/server/twisted.py, line 39, in ndg.security.server.twisted.WSSecurityHandler.processRequest</h2><div class="log-warning"><b>Docstring Warning</b>:  
    380 u'return' did not expect an argument</div> 
    381 <div class="log-warning"><b>Docstring Warning</b>:  
    382 u'rtype' did not expect an argument</div> 
    383 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.server/ndg/security/server/twisted.py, line 53, in ndg.security.server.twisted.WSSecurityHandler.processResponse</h2><div class="log-warning"><b>Docstring Warning</b>:  
    384 @param for unknown parameter &quot;ps&quot;</div> 
    385 <div class="log-warning"><b>Docstring Warning</b>:  
    386 u'return' did not expect an argument</div> 
    387 <div class="log-warning"><b>Docstring Warning</b>:  
    388 u'rtype' did not expect an argument</div> 
    389 </div><div class="log-block"><h2 class="log-hdr">File /home/pjkershaw/security/python/ndg.security.test/ndg/security/test/gatekeeper/TestGatekeeperResrc.py, line 40, in ndg.security.test.gatekeeper.TestGatekeeperResrc.TestGatekeeperResrc.getPermissions</h2><div class="log-warning"><b>Docstring Warning</b>:  
    390 Line 44: Improper paragraph indentation.</div> 
    391 </div><div class="log-block"><h2 class="log-hdr">File /usr/local/lib/python2.5/site-packages/PyXML-0.8.4-py2.5-linux-i686.egg/_xmlplus/ns.py, line 92, in xml.ns.ENCRYPTION</h2><div class="log-warning"><b>Docstring Warning</b>:  
    392 Line 96: Improper paragraph indentation.</div> 
    393 </div><div class="log-warning"><b>Warning</b>:  
    394 <pre class="log">Graphviz dot warning(s): 
    395 Warning: Not built with libexpat. Table formatting is not available. 
    396 in label of node node1 
    397 in label of node node0 
    398 Warning: node node1, port body unrecognized 
    399 Warning: node node0, port body unrecognized 
    400 </pre></div> 
    401 <div class="log-warning"><b>Warning</b>:  
    402 <pre class="log">Graphviz dot warning(s): 
    403 Warning: Not built with libexpat. Table formatting is not available. 
    404 in label of node node4 
    405 in label of node node3 
    406 in label of node node5 
    407 in label of node node2 
    408 Warning: node node4, port body unrecognized 
    409 Warning: node node3, port body unrecognized 
    410 Warning: node node3, port body unrecognized 
    411 Warning: node node2, port body unrecognized 
    412 Warning: node node5, port body unrecognized 
    413 Warning: node node4, port body unrecognized 
    414 </pre></div> 
    415 <div class="log-warning"><b>Warning</b>:  
    416 <pre class="log">Graphviz dot warning(s): 
    417 Warning: Not built with libexpat. Table formatting is not available. 
    418 in label of node node6 
    419 </pre></div> 
    420 <div class="log-warning"><b>Warning</b>:  
    421 <pre class="log">Graphviz dot warning(s): 
    422 Warning: Not built with libexpat. Table formatting is not available. 
    423 in label of node node8 
    424 in label of node node9 
    425 in label of node node7 
    426 Warning: node node8, port body unrecognized 
    427 Warning: node node7, port body unrecognized 
    428 Warning: node node9, port body unrecognized 
    429 Warning: node node8, port body unrecognized 
    430 </pre></div> 
    431 <div class="log-warning"><b>Warning</b>:  
    432 <pre class="log">Graphviz dot warning(s): 
    433 Warning: Not built with libexpat. Table formatting is not available. 
    434 in label of node node10 
    435 </pre></div> 
    436 <div class="log-warning"><b>Warning</b>:  
    437 <pre class="log">Graphviz dot warning(s): 
    438 Warning: Not built with libexpat. Table formatting is not available. 
    439 in label of node node12 
    440 in label of node node13 
    441 in label of node node11 
    442 Warning: node node12, port body unrecognized 
    443 Warning: node node11, port body unrecognized 
    444 Warning: node node13, port body unrecognized 
    445 Warning: node node12, port body unrecognized 
    446 </pre></div> 
    447 <div class="log-warning"><b>Warning</b>:  
    448 <pre class="log">Graphviz dot warning(s): 
    449 Warning: Not built with libexpat. Table formatting is not available. 
    450 in label of node node15 
    451 in label of node node14 
    452 Warning: node node15, port body unrecognized 
    453 Warning: node node14, port body unrecognized 
    454 </pre></div> 
    455 <div class="log-warning"><b>Warning</b>:  
    456 <pre class="log">Graphviz dot warning(s): 
    457 Warning: Not built with libexpat. Table formatting is not available. 
    458 in label of node node17 
    459 in label of node node16 
    460 Warning: node node17, port body unrecognized 
    461 Warning: node node16, port body unrecognized 
    462 </pre></div> 
    463 <div class="log-warning"><b>Warning</b>:  
    464 <pre class="log">Graphviz dot warning(s): 
    465 Warning: Not built with libexpat. Table formatting is not available. 
    466 in label of node node19 
    467 in label of node node20 
    468 in label of node node18 
    469 Warning: node node19, port body unrecognized 
    470 Warning: node node18, port body unrecognized 
    471 Warning: node node20, port body unrecognized 
    472 Warning: node node19, port body unrecognized 
    473 </pre></div> 
    474 <div class="log-warning"><b>Warning</b>:  
    475 <pre class="log">Graphviz dot warning(s): 
    476 Warning: Not built with libexpat. Table formatting is not available. 
    477 in label of node node21 
    478 </pre></div> 
    479 <div class="log-warning"><b>Warning</b>:  
    480 <pre class="log">Graphviz dot warning(s): 
    481 Warning: Not built with libexpat. Table formatting is not available. 
    482 in label of node node23 
    483 in label of node node24 
    484 in label of node node22 
    485 in label of node node26 
    486 in label of node node25 
    487 Warning: node node23, port body unrecognized 
    488 Warning: node node22, port body unrecognized 
    489 Warning: node node24, port body unrecognized 
    490 Warning: node node23, port body unrecognized 
    491 Warning: node node22, port body unrecognized 
    492 Warning: node node26, port body unrecognized 
    493 Warning: node node22, port body unrecognized 
    494 Warning: node node25, port body unrecognized 
    495 </pre></div> 
    496 <div class="log-warning"><b>Warning</b>:  
    497 <pre class="log">Graphviz dot warning(s): 
    498 Warning: Not built with libexpat. Table formatting is not available. 
    499 in label of node node28 
    500 in label of node node29 
    501 in label of node node27 
    502 in label of node node30 
    503 Warning: node node28, port body unrecognized 
    504 Warning: node node27, port body unrecognized 
    505 Warning: node node29, port body unrecognized 
    506 Warning: node node28, port body unrecognized 
    507 Warning: node node30, port body unrecognized 
    508 Warning: node node27, port body unrecognized 
    509 </pre></div> 
    510 <div class="log-warning"><b>Warning</b>:  
    511 <pre class="log">Graphviz dot warning(s): 
    512 Warning: Not built with libexpat. Table formatting is not available. 
    513 in label of node node34 
    514 in label of node node32 
    515 in label of node node33 
    516 in label of node node31 
    517 Warning: node node34, port body unrecognized 
    518 Warning: node node31, port body unrecognized 
    519 Warning: node node32, port body unrecognized 
    520 Warning: node node31, port body unrecognized 
    521 Warning: node node33, port body unrecognized 
    522 Warning: node node32, port body unrecognized 
    523 </pre></div> 
    524 <div class="log-warning"><b>Warning</b>:  
    525 <pre class="log">Graphviz dot warning(s): 
    526 Warning: Not built with libexpat. Table formatting is not available. 
    527 in label of node node38 
    528 in label of node node36 
    529 in label of node node37 
    530 in label of node node35 
    531 Warning: node node38, port body unrecognized 
    532 Warning: node node35, port body unrecognized 
    533 Warning: node node36, port body unrecognized 
    534 Warning: node node35, port body unrecognized 
    535 Warning: node node37, port body unrecognized 
    536 Warning: node node36, port body unrecognized 
    537 </pre></div> 
    538 <div class="log-warning"><b>Warning</b>:  
    539 <pre class="log">Graphviz dot warning(s): 
    540 Warning: Not built with libexpat. Table formatting is not available. 
    541 in label of node node42 
    542 in label of node node40 
    543 in label of node node41 
    544 in label of node node39 
    545 Warning: node node42, port body unrecognized 
    546 Warning: node node39, port body unrecognized 
    547 Warning: node node40, port body unrecognized 
    548 Warning: node node39, port body unrecognized 
    549 Warning: node node41, port body unrecognized 
    550 Warning: node node40, port body unrecognized 
    551 </pre></div> 
    552 <div class="log-warning"><b>Warning</b>:  
    553 <pre class="log">Graphviz dot warning(s): 
    554 Warning: Not built with libexpat. Table formatting is not available. 
    555 in label of node node46 
    556 in label of node node44 
    557 in label of node node45 
    558 in label of node node43 
    559 Warning: node node46, port body unrecognized 
    560 Warning: node node43, port body unrecognized 
    561 Warning: node node44, port body unrecognized 
    562 Warning: node node43, port body unrecognized 
    563 Warning: node node45, port body unrecognized 
    564 Warning: node node44, port body unrecognized 
    565 </pre></div> 
    566 <div class="log-warning"><b>Warning</b>:  
    567 <pre class="log">Graphviz dot warning(s): 
    568 Warning: Not built with libexpat. Table formatting is not available. 
    569 in label of node node50 
    570 in label of node node48 
    571 in label of node node49 
    572 in label of node node47 
    573 Warning: node node50, port body unrecognized 
    574 Warning: node node47, port body unrecognized 
    575 Warning: node node48, port body unrecognized 
    576 Warning: node node47, port body unrecognized 
    577 Warning: node node49, port body unrecognized 
    578 Warning: node node48, port body unrecognized 
    579 </pre></div> 
    580 <div class="log-warning"><b>Warning</b>:  
    581 <pre class="log">Graphviz dot warning(s): 
    582 Warning: Not built with libexpat. Table formatting is not available. 
    583 in label of node node54 
    584 in label of node node52 
    585 in label of node node53 
    586 in label of node node51 
    587 Warning: node node54, port body unrecognized 
    588 Warning: node node51, port body unrecognized 
    589 Warning: node node52, port body unrecognized 
    590 Warning: node node51, port body unrecognized 
    591 Warning: node node53, port body unrecognized 
    592 Warning: node node52, port body unrecognized 
    593 </pre></div> 
    594 <div class="log-warning"><b>Warning</b>:  
    595 <pre class="log">Graphviz dot warning(s): 
    596 Warning: Not built with libexpat. Table formatting is not available. 
    597 in label of node node58 
    598 in label of node node56 
    599 in label of node node57 
    600 in label of node node55 
    601 Warning: node node58, port body unrecognized 
    602 Warning: node node55, port body unrecognized 
    603 Warning: node node56, port body unrecognized 
    604 Warning: node node55, port body unrecognized 
    605 Warning: node node57, port body unrecognized 
    606 Warning: node node56, port body unrecognized 
    607 </pre></div> 
    608 <div class="log-warning"><b>Warning</b>:  
    609 <pre class="log">Graphviz dot warning(s): 
    610 Warning: Not built with libexpat. Table formatting is not available. 
    611 in label of node node62 
    612 in label of node node60 
    613 in label of node node61 
    614 in label of node node59 
    615 Warning: node node62, port body unrecognized 
    616 Warning: node node59, port body unrecognized 
    617 Warning: node node60, port body unrecognized 
    618 Warning: node node59, port body unrecognized 
    619 Warning: node node61, port body unrecognized 
    620 Warning: node node60, port body unrecognized 
    621 </pre></div> 
    622 <div class="log-warning"><b>Warning</b>:  
    623 <pre class="log">Graphviz dot warning(s): 
    624 Warning: Not built with libexpat. Table formatting is not available. 
    625 in label of node node66 
    626 in label of node node64 
    627 in label of node node65 
    628 in label of node node63 
    629 Warning: node node66, port body unrecognized 
    630 Warning: node node63, port body unrecognized 
    631 Warning: node node64, port body unrecognized 
    632 Warning: node node63, port body unrecognized 
    633 Warning: node node65, port body unrecognized 
    634 Warning: node node64, port body unrecognized 
    635 </pre></div> 
    636 <div class="log-warning"><b>Warning</b>:  
    637 <pre class="log">Graphviz dot warning(s): 
    638 Warning: Not built with libexpat. Table formatting is not available. 
    639 in label of node node70 
    640 in label of node node68 
    641 in label of node node69 
    642 in label of node node67 
    643 Warning: node node70, port body unrecognized 
    644 Warning: node node67, port body unrecognized 
    645 Warning: node node68, port body unrecognized 
    646 Warning: node node67, port body unrecognized 
    647 Warning: node node69, port body unrecognized 
    648 Warning: node node68, port body unrecognized 
    649 </pre></div> 
    650 <div class="log-warning"><b>Warning</b>:  
    651 <pre class="log">Graphviz dot warning(s): 
    652 Warning: Not built with libexpat. Table formatting is not available. 
    653 in label of node node72 
    654 in label of node node73 
    655 in label of node node71 
    656 Warning: node node72, port body unrecognized 
    657 Warning: node node71, port body unrecognized 
    658 Warning: node node73, port body unrecognized 
    659 Warning: node node72, port body unrecognized 
    660 </pre></div> 
    661 <div class="log-warning"><b>Warning</b>:  
    662 <pre class="log">Graphviz dot warning(s): 
    663 Warning: Not built with libexpat. Table formatting is not available. 
    664 in label of node node76 
    665 in label of node node75 
    666 in label of node node77 
    667 in label of node node74 
    668 Warning: node node76, port body unrecognized 
    669 Warning: node node75, port body unrecognized 
    670 Warning: node node75, port body unrecognized 
    671 Warning: node node74, port body unrecognized 
    672 Warning: node node77, port body unrecognized 
    673 Warning: node node76, port body unrecognized 
    674 </pre></div> 
    675 <div class="log-warning"><b>Warning</b>:  
    676 <pre class="log">Graphviz dot warning(s): 
    677 Warning: Not built with libexpat. Table formatting is not available. 
    678 in label of node node80 
    679 in label of node node79 
    680 in label of node node81 
    681 in label of node node78 
    682 Warning: node node80, port body unrecognized 
    683 Warning: node node79, port body unrecognized 
    684 Warning: node node79, port body unrecognized 
    685 Warning: node node78, port body unrecognized 
    686 Warning: node node81, port body unrecognized 
    687 Warning: node node80, port body unrecognized 
    688 </pre></div> 
    689 <div class="log-warning"><b>Warning</b>:  
    690 <pre class="log">Graphviz dot warning(s): 
    691 Warning: Not built with libexpat. Table formatting is not available. 
    692 in label of node node83 
    693 in label of node node82 
    694 in label of node node84 
    695 Warning: node node83, port body unrecognized 
    696 Warning: node node82, port body unrecognized 
    697 Warning: node node84, port body unrecognized 
    698 Warning: node node82, port body unrecognized 
    699 </pre></div> 
    700 <div class="log-warning"><b>Warning</b>:  
    701 <pre class="log">Graphviz dot warning(s): 
    702 Warning: Not built with libexpat. Table formatting is not available. 
    703 in label of node node86 
    704 in label of node node87 
    705 in label of node node85 
    706 Warning: node node86, port body unrecognized 
    707 Warning: node node85, port body unrecognized 
    708 Warning: node node87, port body unrecognized 
    709 Warning: node node86, port body unrecognized 
    710 </pre></div> 
    711 <div class="log-warning"><b>Warning</b>:  
    712 <pre class="log">Graphviz dot warning(s): 
    713 Warning: Not built with libexpat. Table formatting is not available. 
    714 in label of node node89 
    715 in label of node node88 
    716 Warning: node node89, port body unrecognized 
    717 Warning: node node88, port body unrecognized 
    718 </pre></div> 
    719 <div class="log-warning"><b>Warning</b>:  
    720 <pre class="log">Graphviz dot warning(s): 
    721 Warning: Not built with libexpat. Table formatting is not available. 
    722 in label of node node91 
    723 in label of node node90 
    724 Warning: node node91, port body unrecognized 
    725 Warning: node node90, port body unrecognized 
    726 </pre></div> 
    727 <div class="log-warning"><b>Warning</b>:  
    728 <pre class="log">Graphviz dot warning(s): 
    729 Warning: Not built with libexpat. Table formatting is not available. 
    730 in label of node node93 
    731 in label of node node92 
    732 Warning: node node92, port body unrecognized 
    733 Warning: node node93, port body unrecognized 
    734 </pre></div> 
    735 <div class="log-warning"><b>Warning</b>:  
    736 <pre class="log">Graphviz dot warning(s): 
    737 Warning: Not built with libexpat. Table formatting is not available. 
    738 in label of node node96 
    739 in label of node node95 
    740 in label of node node97 
    741 in label of node node94 
    742 Warning: node node96, port body unrecognized 
    743 Warning: node node95, port body unrecognized 
    744 Warning: node node95, port body unrecognized 
    745 Warning: node node94, port body unrecognized 
    746 Warning: node node97, port body unrecognized 
    747 Warning: node node96, port body unrecognized 
    748 </pre></div> 
    749 <div class="log-warning"><b>Warning</b>:  
    750 <pre class="log">Graphviz dot warning(s): 
    751 Warning: Not built with libexpat. Table formatting is not available. 
    752 in label of node node98 
    753 </pre></div> 
    754 <div class="log-warning"><b>Warning</b>:  
    755 <pre class="log">Graphviz dot warning(s): 
    756 Warning: Not built with libexpat. Table formatting is not available. 
    757 in label of node node102 
    758 in label of node node100 
    759 in label of node node103 
    760 in label of node node99 
    761 in label of node node101 
    762 Warning: node node102, port body unrecognized 
    763 Warning: node node101, port body unrecognized 
    764 Warning: node node100, port body unrecognized 
    765 Warning: node node99, port body unrecognized 
    766 Warning: node node103, port body unrecognized 
    767 Warning: node node102, port body unrecognized 
    768 Warning: node node101, port body unrecognized 
    769 Warning: node node100, port body unrecognized 
    770 </pre></div> 
    771 <div class="log-warning"><b>Warning</b>:  
    772 <pre class="log">Graphviz dot warning(s): 
    773 Warning: Not built with libexpat. Table formatting is not available. 
    774 in label of node node106 
    775 in label of node node105 
    776 in label of node node107 
    777 in label of node node104 
    778 in label of node node108 
    779 Warning: node node106, port body unrecognized 
    780 Warning: node node105, port body unrecognized 
    781 Warning: node node105, port body unrecognized 
    782 Warning: node node104, port body unrecognized 
    783 Warning: node node107, port body unrecognized 
    784 Warning: node node106, port body unrecognized 
    785 Warning: node node104, port body unrecognized 
    786 Warning: node node108, port body unrecognized 
    787 </pre></div> 
    788 <div class="log-warning"><b>Warning</b>:  
    789 <pre class="log">Graphviz dot warning(s): 
    790 Warning: Not built with libexpat. Table formatting is not available. 
    791 in label of node node110 
    792 in label of node node109 
    793 Warning: node node110, port body unrecognized 
    794 Warning: node node109, port body unrecognized 
    795 </pre></div> 
    796 <div class="log-warning"><b>Warning</b>:  
    797 <pre class="log">Graphviz dot warning(s): 
    798 Warning: Not built with libexpat. Table formatting is not available. 
    799 in label of node node115 
    800 in label of node node113 
    801 in label of node node116 
    802 in label of node node114 
    803 in label of node node111 
    804 in label of node node112 
    805 Warning: node node115, port body unrecognized 
    806 Warning: node node116, port body unrecognized 
    807 Warning: node node113, port body unrecognized 
    808 Warning: node node112, port body unrecognized 
    809 Warning: node node111, port body unrecognized 
    810 Warning: node node115, port body unrecognized 
    811 Warning: node node111, port body unrecognized 
    812 Warning: node node114, port body unrecognized 
    813 Warning: node node112, port body unrecognized 
    814 Warning: node node111, port body unrecognized 
    815 </pre></div> 
    816 <div class="log-warning"><b>Warning</b>:  
    817 <pre class="log">Graphviz dot warning(s): 
    818 Warning: Not built with libexpat. Table formatting is not available. 
    819 in label of node node118 
    820 in label of node node117 
    821 Warning: node node118, port body unrecognized 
    822 Warning: node node117, port body unrecognized 
    823 </pre></div> 
    824 <div class="log-warning"><b>Warning</b>:  
    825 <pre class="log">Graphviz dot warning(s): 
    826 Warning: Not built with libexpat. Table formatting is not available. 
    827 in label of node node120 
    828 in label of node node119 
    829 Warning: node node120, port body unrecognized 
    830 Warning: node node119, port body unrecognized 
    831 </pre></div> 
    832 <div class="log-warning"><b>Warning</b>:  
    833 <pre class="log">Graphviz dot warning(s): 
    834 Warning: Not built with libexpat. Table formatting is not available. 
    835 in label of node node122 
    836 in label of node node121 
    837 Warning: node node122, port body unrecognized 
    838 Warning: node node121, port body unrecognized 
    839 </pre></div> 
    840 <div class="log-warning"><b>Warning</b>:  
    841 <pre class="log">Graphviz dot warning(s): 
    842 Warning: Not built with libexpat. Table formatting is not available. 
    843 in label of node node124 
    844 in label of node node123 
    845 Warning: node node124, port body unrecognized 
    846 Warning: node node123, port body unrecognized 
    847 </pre></div> 
    848 <div class="log-warning"><b>Warning</b>:  
    849 <pre class="log">Graphviz dot warning(s): 
    850 Warning: Not built with libexpat. Table formatting is not available. 
    851 in label of node node126 
    852 in label of node node125 
    853 in label of node node127 
    854 Warning: node node126, port body unrecognized 
    855 Warning: node node125, port body unrecognized 
    856 Warning: node node127, port body unrecognized 
    857 Warning: node node126, port body unrecognized 
    858 </pre></div> 
    859 <div class="log-warning"><b>Warning</b>:  
    860 <pre class="log">Graphviz dot warning(s): 
    861 Warning: Not built with libexpat. Table formatting is not available. 
    862 in label of node node129 
    863 in label of node node130 
    864 in label of node node128 
    865 Warning: node node129, port body unrecognized 
    866 Warning: node node128, port body unrecognized 
    867 Warning: node node130, port body unrecognized 
    868 Warning: node node129, port body unrecognized 
    869 </pre></div> 
    870 <div class="log-warning"><b>Warning</b>:  
    871 <pre class="log">Graphviz dot warning(s): 
    872 Warning: Not built with libexpat. Table formatting is not available. 
    873 in label of node node132 
    874 in label of node node131 
    875 in label of node node133 
    876 Warning: node node132, port body unrecognized 
    877 Warning: node node131, port body unrecognized 
    878 Warning: node node133, port body unrecognized 
    879 Warning: node node132, port body unrecognized 
    880 </pre></div> 
    881 <div class="log-warning"><b>Warning</b>:  
    882 <pre class="log">Graphviz dot warning(s): 
    883 Warning: Not built with libexpat. Table formatting is not available. 
    884 in label of node node135 
    885 in label of node node134 
    886 Warning: node node135, port body unrecognized 
    887 Warning: node node134, port body unrecognized 
    888 </pre></div> 
    889 <div class="log-warning"><b>Warning</b>:  
    890 <pre class="log">Graphviz dot warning(s): 
    891 Warning: Not built with libexpat. Table formatting is not available. 
    892 in label of node node136 
    893 </pre></div> 
    894 <div class="log-warning"><b>Warning</b>:  
    895 <pre class="log">Graphviz dot warning(s): 
    896 Warning: Not built with libexpat. Table formatting is not available. 
    897 in label of node node138 
    898 in label of node node139 
    899 in label of node node137 
    900 Warning: node node138, port body unrecognized 
    901 Warning: node node137, port body unrecognized 
    902 Warning: node node139, port body unrecognized 
    903 Warning: node node138, port body unrecognized 
    904 </pre></div> 
    905 <div class="log-warning"><b>Warning</b>:  
    906 <pre class="log">Graphviz dot warning(s): 
    907 Warning: Not built with libexpat. Table formatting is not available. 
    908 in label of node node141 
    909 in label of node node140 
    910 Warning: node node141, port body unrecognized 
    911 Warning: node node140, port body unrecognized 
    912 </pre></div> 
    913 <div class="log-warning"><b>Warning</b>:  
    914 <pre class="log">Graphviz dot warning(s): 
    915 Warning: Not built with libexpat. Table formatting is not available. 
    916 in label of node node144 
    917 in label of node node143 
    918 in label of node node145 
    919 in label of node node142 
    920 Warning: node node144, port body unrecognized 
    921 Warning: node node143, port body unrecognized 
    922 Warning: node node143, port body unrecognized 
    923 Warning: node node142, port body unrecognized 
    924 Warning: node node145, port body unrecognized 
    925 Warning: node node144, port body unrecognized 
    926 </pre></div> 
    927 <div class="log-warning"><b>Warning</b>:  
    928 <pre class="log">Graphviz dot warning(s): 
    929 Warning: Not built with libexpat. Table formatting is not available. 
    930 in label of node node148 
    931 in label of node node147 
    932 in label of node node149 
    933 in label of node node146 
    934 Warning: node node148, port body unrecognized 
    935 Warning: node node147, port body unrecognized 
    936 Warning: node node147, port body unrecognized 
    937 Warning: node node146, port body unrecognized 
    938 Warning: node node149, port body unrecognized 
    939 Warning: node node148, port body unrecognized 
    940 </pre></div> 
    941 <div class="log-warning"><b>Warning</b>:  
    942 <pre class="log">Graphviz dot warning(s): 
    943 Warning: Not built with libexpat. Table formatting is not available. 
    944 in label of node node152 
    945 in label of node node151 
    946 in label of node node153 
    947 in label of node node150 
    948 Warning: node node152, port body unrecognized 
    949 Warning: node node151, port body unrecognized 
    950 Warning: node node151, port body unrecognized 
    951 Warning: node node150, port body unrecognized 
    952 Warning: node node153, port body unrecognized 
    953 Warning: node node152, port body unrecognized 
    954 </pre></div> 
    955 <div class="log-warning"><b>Warning</b>:  
    956 <pre class="log">Graphviz dot warning(s): 
    957 Warning: Not built with libexpat. Table formatting is not available. 
    958 in label of node node156 
    959 in label of node node155 
    960 in label of node node157 
    961 in label of node node154 
    962 Warning: node node156, port body unrecognized 
    963 Warning: node node155, port body unrecognized 
    964 Warning: node node155, port body unrecognized 
    965 Warning: node node154, port body unrecognized 
    966 Warning: node node157, port body unrecognized 
    967 Warning: node node156, port body unrecognized 
    968 </pre></div> 
    969 <div class="log-warning"><b>Warning</b>:  
    970 <pre class="log">Graphviz dot warning(s): 
    971 Warning: Not built with libexpat. Table formatting is not available. 
    972 in label of node node158 
    973 </pre></div> 
    974 <div class="log-warning"><b>Warning</b>:  
    975 <pre class="log">Graphviz dot warning(s): 
    976 Warning: Not built with libexpat. Table formatting is not available. 
    977 in label of node node162 
    978 in label of node node164 
    979 in label of node node163 
    980 in label of node node161 
    981 in label of node node159 
    982 in label of node node166 
    983 in label of node node165 
    984 in label of node node160 
    985 Warning: node node161, port body unrecognized 
    986 Warning: node node160, port body unrecognized 
    987 Warning: node node159, port body unrecognized 
    988 Warning: node node162, port body unrecognized 
    989 Warning: node node159, port body unrecognized 
    990 Warning: node node164, port body unrecognized 
    991 Warning: node node159, port body unrecognized 
    992 Warning: node node163, port body unrecognized 
    993 Warning: node node159, port body unrecognized 
    994 Warning: node node166, port body unrecognized 
    995 Warning: node node159, port body unrecognized 
    996 Warning: node node165, port body unrecognized 
    997 Warning: node node160, port body unrecognized 
    998 Warning: node node159, port body unrecognized 
    999 </pre></div> 
    1000 <div class="log-warning"><b>Warning</b>:  
    1001 <pre class="log">Graphviz dot warning(s): 
    1002 Warning: Not built with libexpat. Table formatting is not available. 
    1003 in label of node node170 
    1004 in label of node node168 
    1005 in label of node node169 
    1006 in label of node node167 
    1007 Warning: node node170, port body unrecognized 
    1008 Warning: node node167, port body unrecognized 
    1009 Warning: node node168, port body unrecognized 
    1010 Warning: node node167, port body unrecognized 
    1011 Warning: node node169, port body unrecognized 
    1012 Warning: node node168, port body unrecognized 
    1013 </pre></div> 
    1014 <div class="log-warning"><b>Warning</b>:  
    1015 <pre class="log">Graphviz dot warning(s): 
    1016 Warning: Not built with libexpat. Table formatting is not available. 
    1017 in label of node node174 
    1018 in label of node node172 
    1019 in label of node node173 
    1020 in label of node node171 
    1021 Warning: node node174, port body unrecognized 
    1022 Warning: node node171, port body unrecognized 
    1023 Warning: node node172, port body unrecognized 
    1024 Warning: node node171, port body unrecognized 
    1025 Warning: node node173, port body unrecognized 
    1026 Warning: node node172, port body unrecognized 
    1027 </pre></div> 
    1028 <div class="log-warning"><b>Warning</b>:  
    1029 <pre class="log">Graphviz dot warning(s): 
    1030 Warning: Not built with libexpat. Table formatting is not available. 
    1031 in label of node node178 
    1032 in label of node node176 
    1033 in label of node node177 
    1034 in label of node node175 
    1035 Warning: node node178, port body unrecognized 
    1036 Warning: node node175, port body unrecognized 
    1037 Warning: node node176, port body unrecognized 
    1038 Warning: node node175, port body unrecognized 
    1039 Warning: node node177, port body unrecognized 
    1040 Warning: node node176, port body unrecognized 
    1041 </pre></div> 
    1042 <div class="log-warning"><b>Warning</b>:  
    1043 <pre class="log">Graphviz dot warning(s): 
    1044 Warning: Not built with libexpat. Table formatting is not available. 
    1045 in label of node node182 
    1046 in label of node node180 
    1047 in label of node node181 
    1048 in label of node node179 
    1049 Warning: node node182, port body unrecognized 
    1050 Warning: node node179, port body unrecognized 
    1051 Warning: node node180, port body unrecognized 
    1052 Warning: node node179, port body unrecognized 
    1053 Warning: node node181, port body unrecognized 
    1054 Warning: node node180, port body unrecognized 
    1055 </pre></div> 
    1056 <div class="log-warning"><b>Warning</b>:  
    1057 <pre class="log">Graphviz dot warning(s): 
    1058 Warning: Not built with libexpat. Table formatting is not available. 
    1059 in label of node node186 
    1060 in label of node node184 
    1061 in label of node node185 
    1062 in label of node node183 
    1063 Warning: node node186, port body unrecognized 
    1064 Warning: node node183, port body unrecognized 
    1065 Warning: node node184, port body unrecognized 
    1066 Warning: node node183, port body unrecognized 
    1067 Warning: node node185, port body unrecognized 
    1068 Warning: node node184, port body unrecognized 
    1069 </pre></div> 
    1070 <div class="log-warning"><b>Warning</b>:  
    1071 <pre class="log">Graphviz dot warning(s): 
    1072 Warning: Not built with libexpat. Table formatting is not available. 
    1073 in label of node node190 
    1074 in label of node node188 
    1075 in label of node node189 
    1076 in label of node node187 
    1077 Warning: node node190, port body unrecognized 
    1078 Warning: node node187, port body unrecognized 
    1079 Warning: node node188, port body unrecognized 
    1080 Warning: node node187, port body unrecognized 
    1081 Warning: node node189, port body unrecognized 
    1082 Warning: node node188, port body unrecognized 
    1083 </pre></div> 
    1084 <div class="log-warning"><b>Warning</b>:  
    1085 <pre class="log">Graphviz dot warning(s): 
    1086 Warning: Not built with libexpat. Table formatting is not available. 
    1087 in label of node node194 
    1088 in label of node node192 
    1089 in label of node node193 
    1090 in label of node node191 
    1091 Warning: node node194, port body unrecognized 
    1092 Warning: node node191, port body unrecognized 
    1093 Warning: node node192, port body unrecognized 
    1094 Warning: node node191, port body unrecognized 
    1095 Warning: node node193, port body unrecognized 
    1096 Warning: node node192, port body unrecognized 
    1097 </pre></div> 
    1098 <div class="log-warning"><b>Warning</b>:  
    1099 <pre class="log">Graphviz dot warning(s): 
    1100 Warning: Not built with libexpat. Table formatting is not available. 
    1101 in label of node node198 
    1102 in label of node node196 
    1103 in label of node node197 
    1104 in label of node node195 
    1105 Warning: node node198, port body unrecognized 
    1106 Warning: node node195, port body unrecognized 
    1107 Warning: node node196, port body unrecognized 
    1108 Warning: node node195, port body unrecognized 
    1109 Warning: node node197, port body unrecognized 
    1110 Warning: node node196, port body unrecognized 
    1111 </pre></div> 
    1112 <div class="log-warning"><b>Warning</b>:  
    1113 <pre class="log">Graphviz dot warning(s): 
    1114 Warning: Not built with libexpat. Table formatting is not available. 
    1115 in label of node node202 
    1116 in label of node node200 
    1117 in label of node node201 
    1118 in label of node node199 
    1119 Warning: node node202, port body unrecognized 
    1120 Warning: node node199, port body unrecognized 
    1121 Warning: node node200, port body unrecognized 
    1122 Warning: node node199, port body unrecognized 
    1123 Warning: node node201, port body unrecognized 
    1124 Warning: node node200, port body unrecognized 
    1125 </pre></div> 
    1126 <div class="log-warning"><b>Warning</b>:  
    1127 <pre class="log">Graphviz dot warning(s): 
    1128 Warning: Not built with libexpat. Table formatting is not available. 
    1129 in label of node node206 
    1130 in label of node node204 
    1131 in label of node node205 
    1132 in label of node node203 
    1133 Warning: node node206, port body unrecognized 
    1134 Warning: node node203, port body unrecognized 
    1135 Warning: node node204, port body unrecognized 
    1136 Warning: node node203, port body unrecognized 
    1137 Warning: node node205, port body unrecognized 
    1138 Warning: node node204, port body unrecognized 
    1139 </pre></div> 
    1140 <div class="log-warning"><b>Warning</b>:  
    1141 <pre class="log">Graphviz dot warning(s): 
    1142 Warning: Not built with libexpat. Table formatting is not available. 
    1143 in label of node node209 
    1144 in label of node node208 
    1145 in label of node node210 
    1146 in label of node node207 
    1147 Warning: node node209, port body unrecognized 
    1148 Warning: node node208, port body unrecognized 
    1149 Warning: node node208, port body unrecognized 
    1150 Warning: node node207, port body unrecognized 
    1151 Warning: node node210, port body unrecognized 
    1152 Warning: node node209, port body unrecognized 
    1153 </pre></div> 
    1154 <div class="log-warning"><b>Warning</b>:  
    1155 <pre class="log">Graphviz dot warning(s): 
    1156 Warning: Not built with libexpat. Table formatting is not available. 
    1157 in label of node node213 
    1158 in label of node node212 
    1159 in label of node node214 
    1160 in label of node node211 
    1161 Warning: node node213, port body unrecognized 
    1162 Warning: node node212, port body unrecognized 
    1163 Warning: node node212, port body unrecognized 
    1164 Warning: node node211, port body unrecognized 
    1165 Warning: node node214, port body unrecognized 
    1166 Warning: node node213, port body unrecognized 
    1167 </pre></div> 
    1168 <div class="log-warning"><b>Warning</b>:  
    1169 <pre class="log">Graphviz dot warning(s): 
    1170 Warning: Not built with libexpat. Table formatting is not available. 
    1171 in label of node node217 
    1172 in label of node node216 
    1173 in label of node node218 
    1174 in label of node node215 
    1175 Warning: node node217, port body unrecognized 
    1176 Warning: node node216, port body unrecognized 
    1177 Warning: node node216, port body unrecognized 
    1178 Warning: node node215, port body unrecognized 
    1179 Warning: node node218, port body unrecognized 
    1180 Warning: node node217, port body unrecognized 
    1181 </pre></div> 
    1182 <div class="log-warning"><b>Warning</b>:  
    1183 <pre class="log">Graphviz dot warning(s): 
    1184 Warning: Not built with libexpat. Table formatting is not available. 
    1185 in label of node node220 
    1186 in label of node node219 
    1187 Warning: node node220, port body unrecognized 
    1188 Warning: node node219, port body unrecognized 
    1189 </pre></div> 
    1190 <div class="log-warning"><b>Warning</b>:  
    1191 <pre class="log">Graphviz dot warning(s): 
    1192 Warning: Not built with libexpat. Table formatting is not available. 
    1193 in label of node node222 
    1194 in label of node node223 
    1195 in label of node node221 
    1196 Warning: node node222, port body unrecognized 
    1197 Warning: node node221, port body unrecognized 
    1198 Warning: node node223, port body unrecognized 
    1199 Warning: node node222, port body unrecognized 
    1200 </pre></div> 
    1201 <div class="log-warning"><b>Warning</b>:  
    1202 <pre class="log">Graphviz dot warning(s): 
    1203 Warning: Not built with libexpat. Table formatting is not available. 
    1204 in label of node node224 
    1205 </pre></div> 
    1206 <div class="log-warning"><b>Warning</b>:  
    1207 <pre class="log">Graphviz dot warning(s): 
    1208 Warning: Not built with libexpat. Table formatting is not available. 
    1209 in label of node node228 
    1210 in label of node node226 
    1211 in label of node node227 
    1212 in label of node node225 
    1213 in label of node node229 
    1214 Warning: node node226, port body unrecognized 
    1215 Warning: node node225, port body unrecognized 
    1216 Warning: node node227, port body unrecognized 
    1217 Warning: node node226, port body unrecognized 
    1218 Warning: node node225, port body unrecognized 
    1219 Warning: node node228, port body unrecognized 
    1220 Warning: node node225, port body unrecognized 
    1221 Warning: node node229, port body unrecognized 
    1222 </pre></div> 
    1223 <div class="log-warning"><b>Warning</b>:  
    1224 <pre class="log">Graphviz dot warning(s): 
    1225 Warning: Not built with libexpat. Table formatting is not available. 
    1226 in label of node node232 
    1227 in label of node node231 
    1228 in label of node node233 
    1229 in label of node node230 
    1230 Warning: node node232, port body unrecognized 
    1231 Warning: node node231, port body unrecognized 
    1232 Warning: node node231, port body unrecognized 
    1233 Warning: node node230, port body unrecognized 
    1234 Warning: node node233, port body unrecognized 
    1235 Warning: node node232, port body unrecognized 
    1236 </pre></div> 
    1237 <div class="log-warning"><b>Warning</b>:  
    1238 <pre class="log">Graphviz dot warning(s): 
    1239 Warning: Not built with libexpat. Table formatting is not available. 
    1240 in label of node node236 
    1241 in label of node node235 
    1242 in label of node node237 
    1243 in label of node node234 
    1244 Warning: node node236, port body unrecognized 
    1245 Warning: node node235, port body unrecognized 
    1246 Warning: node node235, port body unrecognized 
    1247 Warning: node node234, port body unrecognized 
    1248 Warning: node node237, port body unrecognized 
    1249 Warning: node node236, port body unrecognized 
    1250 </pre></div> 
    1251 <div class="log-warning"><b>Warning</b>:  
    1252 <pre class="log">Graphviz dot warning(s): 
    1253 Warning: Not built with libexpat. Table formatting is not available. 
    1254 in label of node node238 
    1255 </pre></div> 
    1256 <div class="log-warning"><b>Warning</b>:  
    1257 <pre class="log">Graphviz dot warning(s): 
    1258 Warning: Not built with libexpat. Table formatting is not available. 
    1259 in label of node node240 
    1260 in label of node node241 
    1261 in label of node node239 
    1262 in label of node node243 
    1263 in label of node node242 
    1264 Warning: node node240, port body unrecognized 
    1265 Warning: node node239, port body unrecognized 
    1266 Warning: node node241, port body unrecognized 
    1267 Warning: node node240, port body unrecognized 
    1268 Warning: node node239, port body unrecognized 
    1269 Warning: node node243, port body unrecognized 
    1270 Warning: node node239, port body unrecognized 
    1271 Warning: node node242, port body unrecognized 
    1272 </pre></div> 
    1273 <div class="log-warning"><b>Warning</b>:  
    1274 <pre class="log">Graphviz dot warning(s): 
    1275 Warning: Not built with libexpat. Table formatting is not available. 
    1276 in label of node node245 
    1277 in label of node node246 
    1278 in label of node node244 
    1279 Warning: node node245, port body unrecognized 
    1280 Warning: node node244, port body unrecognized 
    1281 Warning: node node246, port body unrecognized 
    1282 Warning: node node245, port body unrecognized 
    1283 </pre></div> 
    1284 <div class="log-warning"><b>Warning</b>:  
    1285 <pre class="log">Graphviz dot warning(s): 
    1286 Warning: Not built with libexpat. Table formatting is not available. 
    1287 in label of node node248 
    1288 in label of node node249 
    1289 in label of node node247 
    1290 Warning: node node248, port body unrecognized 
    1291 Warning: node node247, port body unrecognized 
    1292 Warning: node node249, port body unrecognized 
    1293 Warning: node node248, port body unrecognized 
    1294 </pre></div> 
    1295 <div class="log-warning"><b>Warning</b>:  
    1296 <pre class="log">Graphviz dot warning(s): 
    1297 Warning: Not built with libexpat. Table formatting is not available. 
    1298 in label of node node251 
    1299 in label of node node252 
    1300 in label of node node250 
    1301 Warning: node node251, port body unrecognized 
    1302 Warning: node node250, port body unrecognized 
    1303 Warning: node node252, port body unrecognized 
    1304 Warning: node node251, port body unrecognized 
    1305 </pre></div> 
    1306 <div class="log-warning"><b>Warning</b>:  
    1307 <pre class="log">Graphviz dot warning(s): 
    1308 Warning: Not built with libexpat. Table formatting is not available. 
    1309 in label of node node254 
    1310 in label of node node253 
    1311 Warning: node node253, port body unrecognized 
    1312 Warning: node node254, port body unrecognized 
    1313 </pre></div> 
    1314 <div class="log-warning"><b>Warning</b>:  
    1315 <pre class="log">Graphviz dot warning(s): 
    1316 Warning: Not built with libexpat. Table formatting is not available. 
    1317 in label of node node256 
    1318 in label of node node257 
    1319 in label of node node255 
    1320 Warning: node node256, port body unrecognized 
    1321 Warning: node node255, port body unrecognized 
    1322 Warning: node node257, port body unrecognized 
    1323 Warning: node node256, port body unrecognized 
    1324 </pre></div> 
    1325 <div class="log-warning"><b>Warning</b>:  
    1326 <pre class="log">Graphviz dot warning(s): 
    1327 Warning: Not built with libexpat. Table formatting is not available. 
    1328 in label of node node258 
    1329 </pre></div> 
    1330 <div class="log-warning"><b>Warning</b>:  
    1331 <pre class="log">Graphviz dot warning(s): 
    1332 Warning: Not built with libexpat. Table formatting is not available. 
    1333 in label of node node260 
    1334 in label of node node261 
    1335 in label of node node259 
    1336 Warning: node node260, port body unrecognized 
    1337 Warning: node node259, port body unrecognized 
    1338 Warning: node node261, port body unrecognized 
    1339 Warning: node node260, port body unrecognized 
    1340 </pre></div> 
    1341 <div class="log-warning"><b>Warning</b>:  
    1342 <pre class="log">Graphviz dot warning(s): 
    1343 Warning: Not built with libexpat. Table formatting is not available. 
    1344 in label of node node265 
    1345 in label of node node263 
    1346 in label of node node264 
    1347 in label of node node262 
    1348 Warning: node node265, port body unrecognized 
    1349 Warning: node node262, port body unrecognized 
    1350 Warning: node node263, port body unrecognized 
    1351 Warning: node node262, port body unrecognized 
    1352 Warning: node node264, port body unrecognized 
    1353 Warning: node node263, port body unrecognized 
    1354 </pre></div> 
    1355 <div class="log-warning"><b>Warning</b>:  
    1356 <pre class="log">Graphviz dot warning(s): 
    1357 Warning: Not built with libexpat. Table formatting is not available. 
    1358 in label of node node269 
    1359 in label of node node267 
    1360 in label of node node268 
    1361 in label of node node266 
    1362 Warning: node node269, port body unrecognized 
    1363 Warning: node node266, port body unrecognized 
    1364 Warning: node node267, port body unrecognized 
    1365 Warning: node node266, port body unrecognized 
    1366 Warning: node node268, port body unrecognized 
    1367 Warning: node node267, port body unrecognized 
    1368 </pre></div> 
    1369 <div class="log-warning"><b>Warning</b>:  
    1370 <pre class="log">Graphviz dot warning(s): 
    1371 Warning: Not built with libexpat. Table formatting is not available. 
    1372 in label of node node273 
    1373 in label of node node271 
    1374 in label of node node272 
    1375 in label of node node270 
    1376 Warning: node node273, port body unrecognized 
    1377 Warning: node node270, port body unrecognized 
    1378 Warning: node node271, port body unrecognized 
    1379 Warning: node node270, port body unrecognized 
    1380 Warning: node node272, port body unrecognized 
    1381 Warning: node node271, port body unrecognized 
    1382 </pre></div> 
    1383 <div class="log-warning"><b>Warning</b>:  
    1384 <pre class="log">Graphviz dot warning(s): 
    1385 Warning: Not built with libexpat. Table formatting is not available. 
    1386 in label of node node277 
    1387 in label of node node275 
    1388 in label of node node276 
    1389 in label of node node274 
    1390 Warning: node node277, port body unrecognized 
    1391 Warning: node node274, port body unrecognized 
    1392 Warning: node node275, port body unrecognized 
    1393 Warning: node node274, port body unrecognized 
    1394 Warning: node node276, port body unrecognized 
    1395 Warning: node node275, port body unrecognized 
    1396 </pre></div> 
    1397 <div class="log-warning"><b>Warning</b>:  
    1398 <pre class="log">Graphviz dot warning(s): 
    1399 Warning: Not built with libexpat. Table formatting is not available. 
    1400 in label of node node281 
    1401 in label of node node279 
    1402 in label of node node280 
    1403 in label of node node278 
    1404 Warning: node node281, port body unrecognized 
    1405 Warning: node node278, port body unrecognized 
    1406 Warning: node node279, port body unrecognized 
    1407 Warning: node node278, port body unrecognized 
    1408 Warning: node node280, port body unrecognized 
    1409 Warning: node node279, port body unrecognized 
    1410 </pre></div> 
    1411 <div class="log-warning"><b>Warning</b>:  
    1412 <pre class="log">Graphviz dot warning(s): 
    1413 Warning: Not built with libexpat. Table formatting is not available. 
    1414 in label of node node285 
    1415 in label of node node283 
    1416 in label of node node284 
    1417 in label of node node282 
    1418 Warning: node node285, port body unrecognized 
    1419 Warning: node node282, port body unrecognized 
    1420 Warning: node node283, port body unrecognized 
    1421 Warning: node node282, port body unrecognized 
    1422 Warning: node node284, port body unrecognized 
    1423 Warning: node node283, port body unrecognized 
    1424 </pre></div> 
    1425 <div class="log-warning"><b>Warning</b>:  
    1426 <pre class="log">Graphviz dot warning(s): 
    1427 Warning: Not built with libexpat. Table formatting is not available. 
    1428 in label of node node286 
    1429 </pre></div> 
    1430 <div class="log-warning"><b>Warning</b>:  
    1431 <pre class="log">Graphviz dot warning(s): 
    1432 Warning: Not built with libexpat. Table formatting is not available. 
    1433 in label of node node288 
    1434 in label of node node290 
    1435 in label of node node289 
    1436 in label of node node287 
    1437 Warning: node node288, port body unrecognized 
    1438 Warning: node node287, port body unrecognized 
    1439 Warning: node node289, port body unrecognized 
    1440 Warning: node node288, port body unrecognized 
    1441 Warning: node node287, port body unrecognized 
    1442 Warning: node node290, port body unrecognized 
    1443 </pre></div> 
    1444 <div class="log-warning"><b>Warning</b>:  
    1445 <pre class="log">Graphviz dot warning(s): 
    1446 Warning: Not built with libexpat. Table formatting is not available. 
    1447 in label of node node293 
    1448 in label of node node292 
    1449 in label of node node294 
    1450 in label of node node291 
    1451 Warning: node node293, port body unrecognized 
    1452 Warning: node node292, port body unrecognized 
    1453 Warning: node node292, port body unrecognized 
    1454 Warning: node node291, port body unrecognized 
    1455 Warning: node node294, port body unrecognized 
    1456 Warning: node node293, port body unrecognized 
    1457 </pre></div> 
    1458 <div class="log-warning"><b>Warning</b>:  
    1459 <pre class="log">Graphviz dot warning(s): 
    1460 Warning: Not built with libexpat. Table formatting is not available. 
    1461 in label of node node295 
    1462 </pre></div> 
    1463 <div class="log-warning"><b>Warning</b>:  
    1464 <pre class="log">Graphviz dot warning(s): 
    1465 Warning: Not built with libexpat. Table formatting is not available. 
    1466 in label of node node296 
    1467 </pre></div> 
    1468 <div class="log-warning"><b>Warning</b>:  
    1469 <pre class="log">Graphviz dot warning(s): 
    1470 Warning: Not built with libexpat. Table formatting is not available. 
    1471 in label of node node298 
    1472 in label of node node299 
    1473 in label of node node297 
    1474 Warning: node node298, port body unrecognized 
    1475 Warning: node node297, port body unrecognized 
    1476 Warning: node node299, port body unrecognized 
    1477 Warning: node node298, port body unrecognized 
    1478 </pre></div> 
    1479 <div class="log-warning"><b>Warning</b>:  
    1480 <pre class="log">Graphviz dot warning(s): 
    1481 Warning: Not built with libexpat. Table formatting is not available. 
    1482 in label of node node301 
    1483 in label of node node302 
    1484 in label of node node300 
    1485 Warning: node node301, port body unrecognized 
    1486 Warning: node node300, port body unrecognized 
    1487 Warning: node node302, port body unrecognized 
    1488 Warning: node node301, port body unrecognized 
    1489 </pre></div> 
    1490 <div class="log-warning"><b>Warning</b>:  
    1491 <pre class="log">Graphviz dot warning(s): 
    1492 Warning: Not built with libexpat. Table formatting is not available. 
    1493 in label of node node304 
    1494 in label of node node306 
    1495 in label of node node303 
    1496 in label of node node305 
    1497 in label of node node307 
    1498 Warning: node node304, port body unrecognized 
    1499 Warning: node node303, port body unrecognized 
    1500 Warning: node node306, port body unrecognized 
    1501 Warning: node node305, port body unrecognized 
    1502 Warning: node node303, port body unrecognized 
    1503 Warning: node node307, port body unrecognized 
    1504 Warning: node node305, port body unrecognized 
    1505 Warning: node node304, port body unrecognized 
    1506 </pre></div> 
    1507 <div class="log-warning"><b>Warning</b>:  
    1508 <pre class="log">Graphviz dot warning(s): 
    1509 Warning: Not built with libexpat. Table formatting is not available. 
    1510 in label of node node312 
    1511 in label of node node309 
    1512 in label of node node310 
    1513 in label of node node308 
    1514 in label of node node311 
    1515 Warning: node node312, port body unrecognized 
    1516 Warning: node node311, port body unrecognized 
    1517 Warning: node node309, port body unrecognized 
    1518 Warning: node node308, port body unrecognized 
    1519 Warning: node node310, port body unrecognized 
    1520 Warning: node node309, port body unrecognized 
    1521 Warning: node node311, port body unrecognized 
    1522 Warning: node node310, port body unrecognized 
    1523 </pre></div> 
    1524 <div class="log-warning"><b>Warning</b>:  
    1525 <pre class="log">Graphviz dot warning(s): 
    1526 Warning: Not built with libexpat. Table formatting is not available. 
    1527 in label of node node314 
    1528 in label of node node316 
    1529 in label of node node313 
    1530 in label of node node315 
    1531 in label of node node317 
    1532 Warning: node node314, port body unrecognized 
    1533 Warning: node node313, port body unrecognized 
    1534 Warning: node node316, port body unrecognized 
    1535 Warning: node node315, port body unrecognized 
    1536 Warning: node node313, port body unrecognized 
    1537 Warning: node node317, port body unrecognized 
    1538 Warning: node node315, port body unrecognized 
    1539 Warning: node node314, port body unrecognized 
    1540 </pre></div> 
    1541 <div class="log-warning"><b>Warning</b>:  
    1542 <pre class="log">Graphviz dot warning(s): 
    1543 Warning: Not built with libexpat. Table formatting is not available. 
    1544 in label of node node322 
    1545 in label of node node319 
    1546 in label of node node320 
    1547 in label of node node318 
    1548 in label of node node321 
    1549 Warning: node node322, port body unrecognized 
    1550 Warning: node node321, port body unrecognized 
    1551 Warning: node node319, port body unrecognized 
    1552 Warning: node node318, port body unrecognized 
    1553 Warning: node node320, port body unrecognized 
    1554 Warning: node node319, port body unrecognized 
    1555 Warning: node node321, port body unrecognized 
    1556 Warning: node node320, port body unrecognized 
    1557 </pre></div> 
    1558 <div class="log-warning"><b>Warning</b>:  
    1559 <pre class="log">Graphviz dot warning(s): 
    1560 Warning: Not built with libexpat. Table formatting is not available. 
    1561 in label of node node324 
    1562 in label of node node327 
    1563 in label of node node326 
    1564 in label of node node323 
    1565 in label of node node325 
    1566 Warning: node node324, port body unrecognized 
    1567 Warning: node node323, port body unrecognized 
    1568 Warning: node node326, port body unrecognized 
    1569 Warning: node node325, port body unrecognized 
    1570 Warning: node node323, port body unrecognized 
    1571 Warning: node node327, port body unrecognized 
    1572 Warning: node node325, port body unrecognized 
    1573 Warning: node node324, port body unrecognized 
    1574 </pre></div> 
    1575 <div class="log-warning"><b>Warning</b>:  
    1576 <pre class="log">Graphviz dot warning(s): 
    1577 Warning: Not built with libexpat. Table formatting is not available. 
    1578 in label of node node332 
    1579 in label of node node329 
    1580 in label of node node330 
    1581 in label of node node328 
    1582 in label of node node331 
    1583 Warning: node node332, port body unrecognized 
    1584 Warning: node node331, port body unrecognized 
    1585 Warning: node node329, port body unrecognized 
    1586 Warning: node node328, port body unrecognized 
    1587 Warning: node node330, port body unrecognized 
    1588 Warning: node node329, port body unrecognized 
    1589 Warning: node node331, port body unrecognized 
    1590 Warning: node node330, port body unrecognized 
    1591 </pre></div> 
    1592 <div class="log-warning"><b>Warning</b>:  
    1593 <pre class="log">Graphviz dot warning(s): 
    1594 Warning: Not built with libexpat. Table formatting is not available. 
    1595 in label of node node334 
    1596 in label of node node337 
    1597 in label of node node336 
    1598 in label of node node333 
    1599 in label of node node335 
    1600 Warning: node node334, port body unrecognized 
    1601 Warning: node node333, port body unrecognized 
    1602 Warning: node node336, port body unrecognized 
    1603 Warning: node node335, port body unrecognized 
    1604 Warning: node node333, port body unrecognized 
    1605 Warning: node node337, port body unrecognized 
    1606 Warning: node node335, port body unrecognized 
    1607 Warning: node node334, port body unrecognized 
    1608 </pre></div> 
    1609 <div class="log-warning"><b>Warning</b>:  
    1610 <pre class="log">Graphviz dot warning(s): 
    1611 Warning: Not built with libexpat. Table formatting is not available. 
    1612 in label of node node342 
    1613 in label of node node339 
    1614 in label of node node340 
    1615 in label of node node338 
    1616 in label of node node341 
    1617 Warning: node node342, port body unrecognized 
    1618 Warning: node node341, port body unrecognized 
    1619 Warning: node node339, port body unrecognized 
    1620 Warning: node node338, port body unrecognized 
    1621 Warning: node node340, port body unrecognized 
    1622 Warning: node node339, port body unrecognized 
    1623 Warning: node node341, port body unrecognized 
    1624 Warning: node node340, port body unrecognized 
    1625 </pre></div> 
    1626 <div class="log-warning"><b>Warning</b>:  
    1627 <pre class="log">Graphviz dot warning(s): 
    1628 Warning: Not built with libexpat. Table formatting is not available. 
    1629 in label of node node344 
    1630 in label of node node346 
    1631 in label of node node343 
    1632 in label of node node345 
    1633 in label of node node347 
    1634 Warning: node node344, port body unrecognized 
    1635 Warning: node node343, port body unrecognized 
    1636 Warning: node node346, port body unrecognized 
    1637 Warning: node node345, port body unrecognized 
    1638 Warning: node node343, port body unrecognized 
    1639 Warning: node node347, port body unrecognized 
    1640 Warning: node node345, port body unrecognized 
    1641 Warning: node node344, port body unrecognized 
    1642 </pre></div> 
    1643 <div class="log-warning"><b>Warning</b>:  
    1644 <pre class="log">Graphviz dot warning(s): 
    1645 Warning: Not built with libexpat. Table formatting is not available. 
    1646 in label of node node352 
    1647 in label of node node349 
    1648 in label of node node350 
    1649 in label of node node348 
    1650 in label of node node351 
    1651 Warning: node node352, port body unrecognized 
    1652 Warning: node node351, port body unrecognized 
    1653 Warning: node node349, port body unrecognized 
    1654 Warning: node node348, port body unrecognized 
    1655 Warning: node node350, port body unrecognized 
    1656 Warning: node node349, port body unrecognized 
    1657 Warning: node node351, port body unrecognized 
    1658 Warning: node node350, port body unrecognized 
    1659 </pre></div> 
    1660 <div class="log-warning"><b>Warning</b>:  
    1661 <pre class="log">Graphviz dot warning(s): 
    1662 Warning: Not built with libexpat. Table formatting is not available. 
    1663 in label of node node354 
    1664 in label of node node356 
    1665 in label of node node353 
    1666 in label of node node355 
    1667 in label of node node357 
    1668 Warning: node node354, port body unrecognized 
    1669 Warning: node node353, port body unrecognized 
    1670 Warning: node node356, port body unrecognized 
    1671 Warning: node node355, port body unrecognized 
    1672 Warning: node node353, port body unrecognized 
    1673 Warning: node node357, port body unrecognized 
    1674 Warning: node node355, port body unrecognized 
    1675 Warning: node node354, port body unrecognized 
    1676 </pre></div> 
    1677 <div class="log-warning"><b>Warning</b>:  
    1678 <pre class="log">Graphviz dot warning(s): 
    1679 Warning: Not built with libexpat. Table formatting is not available. 
    1680 in label of node node362 
    1681 in label of node node359 
    1682 in label of node node360 
    1683 in label of node node358 
    1684 in label of node node361 
    1685 Warning: node node362, port body unrecognized 
    1686 Warning: node node361, port body unrecognized 
    1687 Warning: node node359, port body unrecognized 
    1688 Warning: node node358, port body unrecognized 
    1689 Warning: node node360, port body unrecognized 
    1690 Warning: node node359, port body unrecognized 
    1691 Warning: node node361, port body unrecognized 
    1692 Warning: node node360, port body unrecognized 
    1693 </pre></div> 
    1694 <div class="log-warning"><b>Warning</b>:  
    1695 <pre class="log">Graphviz dot warning(s): 
    1696 Warning: Not built with libexpat. Table formatting is not available. 
    1697 in label of node node364 
    1698 in label of node node363 
    1699 Warning: node node363, port body unrecognized 
    1700 Warning: node node364, port body unrecognized 
    1701 </pre></div> 
    1702 <div class="log-warning"><b>Warning</b>:  
    1703 <pre class="log">Graphviz dot warning(s): 
    1704 Warning: Not built with libexpat. Table formatting is not available. 
    1705 in label of node node366 
    1706 in label of node node365 
    1707 Warning: node node366, port body unrecognized 
    1708 Warning: node node365, port body unrecognized 
    1709 </pre></div> 
    1710 <div class="log-warning"><b>Warning</b>:  
    1711 <pre class="log">Graphviz dot warning(s): 
    1712 Warning: Not built with libexpat. Table formatting is not available. 
    1713 in label of node node368 
    1714 in label of node node371 
    1715 in label of node node370 
    1716 in label of node node367 
    1717 in label of node node369 
    1718 Warning: node node368, port body unrecognized 
    1719 Warning: node node367, port body unrecognized 
    1720 Warning: node node370, port body unrecognized 
    1721 Warning: node node369, port body unrecognized 
    1722 Warning: node node367, port body unrecognized 
    1723 Warning: node node371, port body unrecognized 
    1724 Warning: node node369, port body unrecognized 
    1725 Warning: node node368, port body unrecognized 
    1726 </pre></div> 
    1727 <div class="log-warning"><b>Warning</b>:  
    1728 <pre class="log">Graphviz dot warning(s): 
    1729 Warning: Not built with libexpat. Table formatting is not available. 
    1730 in label of node node376 
    1731 in label of node node373 
    1732 in label of node node374 
    1733 in label of node node372 
    1734 in label of node node375 
    1735 Warning: node node376, port body unrecognized 
    1736 Warning: node node375, port body unrecognized 
    1737 Warning: node node373, port body unrecognized 
    1738 Warning: node node372, port body unrecognized 
    1739 Warning: node node374, port body unrecognized 
    1740 Warning: node node373, port body unrecognized 
    1741 Warning: node node375, port body unrecognized 
    1742 Warning: node node374, port body unrecognized 
    1743 </pre></div> 
    1744 <div class="log-warning"><b>Warning</b>:  
    1745 <pre class="log">Graphviz dot warning(s): 
    1746 Warning: Not built with libexpat. Table formatting is not available. 
    1747 in label of node node378 
    1748 in label of node node381 
    1749 in label of node node380 
    1750 in label of node node377 
    1751 in label of node node379 
    1752 Warning: node node378, port body unrecognized 
    1753 Warning: node node377, port body unrecognized 
    1754 Warning: node node380, port body unrecognized 
    1755 Warning: node node379, port body unrecognized 
    1756 Warning: node node377, port body unrecognized 
    1757 Warning: node node381, port body unrecognized 
    1758 Warning: node node379, port body unrecognized 
    1759 Warning: node node378, port body unrecognized 
    1760 </pre></div> 
    1761 <div class="log-warning"><b>Warning</b>:  
    1762 <pre class="log">Graphviz dot warning(s): 
    1763 Warning: Not built with libexpat. Table formatting is not available. 
    1764 in label of node node386 
    1765 in label of node node383 
    1766 in label of node node384 
    1767 in label of node node382 
    1768 in label of node node385 
    1769 Warning: node node386, port body unrecognized 
    1770 Warning: node node385, port body unrecognized 
    1771 Warning: node node383, port body unrecognized 
    1772 Warning: node node382, port body unrecognized 
    1773 Warning: node node384, port body unrecognized 
    1774 Warning: node node383, port body unrecognized 
    1775 Warning: node node385, port body unrecognized 
    1776 Warning: node node384, port body unrecognized 
    1777 </pre></div> 
    1778 <div class="log-warning"><b>Warning</b>:  
    1779 <pre class="log">Graphviz dot warning(s): 
    1780 Warning: Not built with libexpat. Table formatting is not available. 
    1781 in label of node node388 
    1782 in label of node node387 
    1783 in label of node node389 
    1784 Warning: node node388, port body unrecognized 
    1785 Warning: node node387, port body unrecognized 
    1786 Warning: node node389, port body unrecognized 
    1787 Warning: node node388, port body unrecognized 
    1788 </pre></div> 
    1789 <div class="log-warning"><b>Warning</b>:  
    1790 <pre class="log">Graphviz dot warning(s): 
    1791 Warning: Not built with libexpat. Table formatting is not available. 
    1792 in label of node node391 
    1793 in label of node node390 
    1794 in label of node node392 
    1795 Warning: node node391, port body unrecognized 
    1796 Warning: node node390, port body unrecognized 
    1797 Warning: node node392, port body unrecognized 
    1798 Warning: node node391, port body unrecognized 
    1799 </pre></div> 
    1800 <div class="log-warning"><b>Warning</b>:  
    1801 <pre class="log">Graphviz dot warning(s): 
    1802 Warning: Not built with libexpat. Table formatting is not available. 
    1803 in label of node node394 
    1804 in label of node node393 
    1805 Warning: node node394, port body unrecognized 
    1806 Warning: node node393, port body unrecognized 
    1807 </pre></div> 
    1808 <div class="log-warning"><b>Warning</b>:  
    1809 <pre class="log">Graphviz dot warning(s): 
    1810 Warning: Not built with libexpat. Table formatting is not available. 
    1811 in label of node node397 
    1812 in label of node node396 
    1813 in label of node node398 
    1814 in label of node node395 
    1815 Warning: node node397, port body unrecognized 
    1816 Warning: node node396, port body unrecognized 
    1817 Warning: node node396, port body unrecognized 
    1818 Warning: node node395, port body unrecognized 
    1819 Warning: node node398, port body unrecognized 
    1820 Warning: node node397, port body unrecognized 
    1821 </pre></div> 
    1822 <div class="log-warning"><b>Warning</b>:  
    1823 <pre class="log">Graphviz dot warning(s): 
    1824 Warning: Not built with libexpat. Table formatting is not available. 
    1825 in label of node node401 
    1826 in label of node node400 
    1827 in label of node node402 
    1828 in label of node node399 
    1829 Warning: node node401, port body unrecognized 
    1830 Warning: node node400, port body unrecognized 
    1831 Warning: node node400, port body unrecognized 
    1832 Warning: node node399, port body unrecognized 
    1833 Warning: node node402, port body unrecognized 
    1834 Warning: node node401, port body unrecognized 
    1835 </pre></div> 
    1836 <div class="log-warning"><b>Warning</b>:  
    1837 <pre class="log">Graphviz dot warning(s): 
    1838 Warning: Not built with libexpat. Table formatting is not available. 
    1839 in label of node node404 
    1840 in label of node node403 
    1841 in label of node node405 
    1842 in label of node node406 
    1843 Warning: node node404, port body unrecognized 
    1844 Warning: node node403, port body unrecognized 
    1845 Warning: node node405, port body unrecognized 
    1846 Warning: node node404, port body unrecognized 
    1847 Warning: node node406, port body unrecognized 
    1848 Warning: node node405, port body unrecognized 
    1849 </pre></div> 
    1850 <div class="log-warning"><b>Warning</b>:  
    1851 <pre class="log">Graphviz dot warning(s): 
    1852 Warning: Not built with libexpat. Table formatting is not available. 
    1853 in label of node node408 
    1854 in label of node node409 
    1855 in label of node node407 
    1856 Warning: node node408, port body unrecognized 
    1857 Warning: node node407, port body unrecognized 
    1858 Warning: node node409, port body unrecognized 
    1859 Warning: node node408, port body unrecognized 
    1860 </pre></div> 
    1861 <div class="log-warning"><b>Warning</b>:  
    1862 <pre class="log">Graphviz dot warning(s): 
    1863 Warning: Not built with libexpat. Table formatting is not available. 
    1864 in label of node node410 
    1865 </pre></div> 
    1866 <div class="log-warning"><b>Warning</b>:  
    1867 <pre class="log">Graphviz dot warning(s): 
    1868 Warning: Not built with libexpat. Table formatting is not available. 
    1869 in label of node node412 
    1870 in label of node node413 
    1871 in label of node node411 
    1872 Warning: node node412, port body unrecognized 
    1873 Warning: node node411, port body unrecognized 
    1874 Warning: node node413, port body unrecognized 
    1875 Warning: node node412, port body unrecognized 
    1876 </pre></div> 
    1877 <div class="log-warning"><b>Warning</b>:  
    1878 <pre class="log">Graphviz dot warning(s): 
    1879 Warning: Not built with libexpat. Table formatting is not available. 
    1880 in label of node node415 
    1881 in label of node node414 
    1882 Warning: node node415, port body unrecognized 
    1883 Warning: node node414, port body unrecognized 
    1884 </pre></div> 
    1885 <div class="log-warning"><b>Warning</b>:  
    1886 <pre class="log">Graphviz dot warning(s): 
    1887 Warning: Not built with libexpat. Table formatting is not available. 
    1888 in label of node node417 
    1889 in label of node node418 
    1890 in label of node node416 
    1891 Warning: node node417, port body unrecognized 
    1892 Warning: node node416, port body unrecognized 
    1893 Warning: node node418, port body unrecognized 
    1894 Warning: node node417, port body unrecognized 
    1895 </pre></div> 
    1896 <div class="log-warning"><b>Warning</b>:  
    1897 <pre class="log">Graphviz dot warning(s): 
    1898 Warning: Not built with libexpat. Table formatting is not available. 
    1899 in label of node node420 
    1900 in label of node node421 
    1901 in label of node node419 
    1902 Warning: node node420, port body unrecognized 
    1903 Warning: node node419, port body unrecognized 
    1904 Warning: node node421, port body unrecognized 
    1905 Warning: node node420, port body unrecognized 
    1906 </pre></div> 
    1907 <div class="log-warning"><b>Warning</b>:  
    1908 <pre class="log">Graphviz dot warning(s): 
    1909 Warning: Not built with libexpat. Table formatting is not available. 
    1910 in label of node node422 
    1911 </pre></div> 
    1912 <div class="log-warning"><b>Warning</b>:  
    1913 <pre class="log">Graphviz dot warning(s): 
    1914 Warning: Not built with libexpat. Table formatting is not available. 
    1915 in label of node node424 
    1916 in label of node node425 
    1917 in label of node node423 
    1918 Warning: node node424, port body unrecognized 
    1919 Warning: node node423, port body unrecognized 
    1920 Warning: node node425, port body unrecognized 
    1921 Warning: node node424, port body unrecognized 
    1922 </pre></div> 
    1923 <div class="log-warning"><b>Warning</b>:  
    1924 <pre class="log">Graphviz dot warning(s): 
    1925 Warning: Not built with libexpat. Table formatting is not available. 
    1926 in label of node node427 
    1927 in label of node node428 
    1928 in label of node node426 
    1929 Warning: node node427, port body unrecognized 
    1930 Warning: node node426, port body unrecognized 
    1931 Warning: node node428, port body unrecognized 
    1932 Warning: node node427, port body unrecognized 
    1933 </pre></div> 
    1934 <div class="log-warning"><b>Warning</b>:  
    1935 <pre class="log">Graphviz dot warning(s): 
    1936 Warning: Not built with libexpat. Table formatting is not available. 
    1937 in label of node node430 
    1938 in label of node node431 
    1939 in label of node node429 
    1940 Warning: node node430, port body unrecognized 
    1941 Warning: node node429, port body unrecognized 
    1942 Warning: node node431, port body unrecognized 
    1943 Warning: node node430, port body unrecognized 
    1944 </pre></div> 
    1945 <div class="log-warning"><b>Warning</b>:  
    1946 <pre class="log">Graphviz dot warning(s): 
    1947 Warning: Not built with libexpat. Table formatting is not available. 
    1948 in label of node node432 
    1949 </pre></div> 
    1950 <div class="log-warning"><b>Warning</b>:  
    1951 <pre class="log">Graphviz dot warning(s): 
    1952 Warning: Not built with libexpat. Table formatting is not available. 
    1953 in label of node node434 
    1954 in label of node node435 
    1955 in label of node node433 
    1956 Warning: node node434, port body unrecognized 
    1957 Warning: node node433, port body unrecognized 
    1958 Warning: node node435, port body unrecognized 
    1959 Warning: node node434, port body unrecognized 
    1960 </pre></div> 
    1961 <div class="log-warning"><b>Warning</b>:  
    1962 <pre class="log">Graphviz dot warning(s): 
    1963 Warning: Not built with libexpat. Table formatting is not available. 
    1964 in label of node node437 
    1965 in label of node node438 
    1966 in label of node node436 
    1967 Warning: node node437, port body unrecognized 
    1968 Warning: node node436, port body unrecognized 
    1969 Warning: node node438, port body unrecognized 
    1970 Warning: node node437, port body unrecognized 
    1971 </pre></div> 
    1972 <div class="log-warning"><b>Warning</b>:  
    1973 <pre class="log">Graphviz dot warning(s): 
    1974 Warning: Not built with libexpat. Table formatting is not available. 
    1975 in label of node node440 
    1976 in label of node node439 
    1977 Warning: node node440, port body unrecognized 
    1978 Warning: node node439, port body unrecognized 
    1979 </pre></div> 
    1980 <div class="log-warning"><b>Warning</b>:  
    1981 <pre class="log">Graphviz dot warning(s): 
    1982 Warning: Not built with libexpat. Table formatting is not available. 
    1983 in label of node node442 
    1984 in label of node node441 
    1985 Warning: node node442, port body unrecognized 
    1986 Warning: node node441, port body unrecognized 
    1987 </pre></div> 
    1988 <div class="log-warning"><b>Warning</b>:  
    1989 <pre class="log">Graphviz dot warning(s): 
    1990 Warning: Not built with libexpat. Table formatting is not available. 
    1991 in label of node node444 
    1992 in label of node node443 
    1993 in label of node node445 
    1994 in label of node node446 
    1995 Warning: node node443, port body unrecognized 
    1996 Warning: node node444, port body unrecognized 
    1997 Warning: node node443, port body unrecognized 
    1998 Warning: node node445, port body unrecognized 
    1999 Warning: node node443, port body unrecognized 
    2000 Warning: node node446, port body unrecognized 
    2001 </pre></div> 
    2002 <div class="log-warning"><b>Warning</b>:  
    2003 <pre class="log">Graphviz dot warning(s): 
    2004 Warning: Not built with libexpat. Table formatting is not available. 
    2005 in label of node node448 
    2006 in label of node node449 
    2007 in label of node node447 
    2008 Warning: node node448, port body unrecognized 
    2009 Warning: node node447, port body unrecognized 
    2010 Warning: node node449, port body unrecognized 
    2011 Warning: node node448, port body unrecognized 
    2012 </pre></div> 
    2013 <div class="log-warning"><b>Warning</b>:  
    2014 <pre class="log">Graphviz dot warning(s): 
    2015 Warning: Not built with libexpat. Table formatting is not available. 
    2016 in label of node node451 
    2017 in label of node node450 
    2018 Warning: node node451, port body unrecognized 
    2019 Warning: node node450, port body unrecognized 
    2020 </pre></div> 
    2021 <div class="log-warning"><b>Warning</b>:  
    2022 <pre class="log">Graphviz dot warning(s): 
    2023 Warning: Not built with libexpat. Table formatting is not available. 
    2024 in label of node node454 
    2025 in label of node node453 
    2026 in label of node node455 
    2027 in label of node node452 
    2028 Warning: node node454, port body unrecognized 
    2029 Warning: node node453, port body unrecognized 
    2030 Warning: node node453, port body unrecognized 
    2031 Warning: node node452, port body unrecognized 
    2032 Warning: node node455, port body unrecognized 
    2033 Warning: node node454, port body unrecognized 
    2034 </pre></div> 
    2035 <div class="log-warning"><b>Warning</b>:  
    2036 <pre class="log">Graphviz dot warning(s): 
    2037 Warning: Not built with libexpat. Table formatting is not available. 
    2038 in label of node node461 
    2039 in label of node node459 
    2040 in label of node node458 
    2041 in label of node node460 
    2042 in label of node node456 
    2043 in label of node node457 
    2044 Warning: node node458, port body unrecognized 
    2045 Warning: node node457, port body unrecognized 
    2046 Warning: node node456, port body unrecognized 
    2047 Warning: node node461, port body unrecognized 
    2048 Warning: node node456, port body unrecognized 
    2049 Warning: node node459, port body unrecognized 
    2050 Warning: node node456, port body unrecognized 
    2051 Warning: node node460, port body unrecognized 
    2052 Warning: node node457, port body unrecognized 
    2053 Warning: node node456, port body unrecognized 
    2054 </pre></div> 
    2055 <div class="log-warning"><b>Warning</b>:  
    2056 <pre class="log">Graphviz dot warning(s): 
    2057 Warning: Not built with libexpat. Table formatting is not available. 
    2058 in label of node node464 
    2059 in label of node node463 
    2060 in label of node node465 
    2061 in label of node node462 
    2062 Warning: node node464, port body unrecognized 
    2063 Warning: node node463, port body unrecognized 
    2064 Warning: node node463, port body unrecognized 
    2065 Warning: node node462, port body unrecognized 
    2066 Warning: node node465, port body unrecognized 
    2067 Warning: node node464, port body unrecognized 
    2068 </pre></div> 
    2069 <div class="log-warning"><b>Warning</b>:  
    2070 <pre class="log">Graphviz dot warning(s): 
    2071 Warning: Not built with libexpat. Table formatting is not available. 
    2072 in label of node node468 
    2073 in label of node node467 
    2074 in label of node node469 
    2075 in label of node node466 
    2076 Warning: node node468, port body unrecognized 
    2077 Warning: node node467, port body unrecognized 
    2078 Warning: node node467, port body unrecognized 
    2079 Warning: node node466, port body unrecognized 
    2080 Warning: node node469, port body unrecognized 
    2081 Warning: node node468, port body unrecognized 
    2082 </pre></div> 
    2083 <div class="log-warning"><b>Warning</b>:  
    2084 <pre class="log">Graphviz dot warning(s): 
    2085 Warning: Not built with libexpat. Table formatting is not available. 
    2086 in label of node node471 
    2087 in label of node node470 
    2088 in label of node node472 
    2089 Warning: node node471, port body unrecognized 
    2090 Warning: node node470, port body unrecognized 
    2091 Warning: node node472, port body unrecognized 
    2092 Warning: node node471, port body unrecognized 
    2093 </pre></div> 
    2094 <div class="log-warning"><b>Warning</b>:  
    2095 <pre class="log">Graphviz dot warning(s): 
    2096 Warning: Not built with libexpat. Table formatting is not available. 
    2097 in label of node node474 
    2098 in label of node node473 
    2099 in label of node node475 
    2100 Warning: node node474, port body unrecognized 
    2101 Warning: node node473, port body unrecognized 
    2102 Warning: node node475, port body unrecognized 
    2103 Warning: node node474, port body unrecognized 
    2104 </pre></div> 
    2105 <div class="log-warning"><b>Warning</b>:  
    2106 <pre class="log">Graphviz dot warning(s): 
    2107 Warning: Not built with libexpat. Table formatting is not available. 
    2108 in label of node node477 
    2109 in label of node node476 
    2110 in label of node node478 
    2111 Warning: node node477, port body unrecognized 
    2112 Warning: node node476, port body unrecognized 
    2113 Warning: node node478, port body unrecognized 
    2114 Warning: node node477, port body unrecognized 
    2115 </pre></div> 
    2116 <div class="log-warning"><b>Warning</b>:  
    2117 <pre class="log">Graphviz dot warning(s): 
    2118 Warning: Not built with libexpat. Table formatting is not available. 
    2119 in label of node node480 
    2120 in label of node node481 
    2121 in label of node node479 
    2122 Warning: node node480, port body unrecognized 
    2123 Warning: node node479, port body unrecognized 
    2124 Warning: node node481, port body unrecognized 
    2125 Warning: node node480, port body unrecognized 
    2126 </pre></div> 
    2127 <div class="log-warning"><b>Warning</b>:  
    2128 <pre class="log">Graphviz dot warning(s): 
    2129 Warning: Not built with libexpat. Table formatting is not available. 
    2130 in label of node node482 
    2131 </pre></div> 
    2132 <div class="log-warning"><b>Warning</b>:  
    2133 <pre class="log">Graphviz dot warning(s): 
    2134 Warning: Not built with libexpat. Table formatting is not available. 
    2135 in label of node node484 
    2136 in label of node node485 
    2137 in label of node node483 
    2138 Warning: node node484, port body unrecognized 
    2139 Warning: node node483, port body unrecognized 
    2140 Warning: node node485, port body unrecognized 
    2141 Warning: node node484, port body unrecognized 
    2142 </pre></div> 
    2143 <div class="log-warning"><b>Warning</b>:  
    2144 <pre class="log">Graphviz dot warning(s): 
    2145 Warning: Not built with libexpat. Table formatting is not available. 
    2146 in label of node node487 
    2147 in label of node node488 
    2148 in label of node node486 
    2149 Warning: node node487, port body unrecognized 
    2150 Warning: node node486, port body unrecognized 
    2151 Warning: node node488, port body unrecognized 
    2152 Warning: node node487, port body unrecognized 
    2153 </pre></div> 
    2154 <div class="log-warning"><b>Warning</b>:  
    2155 <pre class="log">Graphviz dot warning(s): 
    2156 Warning: Not built with libexpat. Table formatting is not available. 
    2157 in label of node node489 
    2158 </pre></div> 
    2159 <div class="log-warning"><b>Warning</b>:  
    2160 <pre class="log">Graphviz dot warning(s): 
    2161 Warning: Not built with libexpat. Table formatting is not available. 
    2162 in label of node node491 
    2163 in label of node node492 
    2164 in label of node node490 
    2165 Warning: node node491, port body unrecognized 
    2166 Warning: node node490, port body unrecognized 
    2167 Warning: node node492, port body unrecognized 
    2168 Warning: node node491, port body unrecognized 
    2169 </pre></div> 
    2170 <div class="log-warning"><b>Warning</b>:  
    2171 <pre class="log">Graphviz dot warning(s): 
    2172 Warning: Not built with libexpat. Table formatting is not available. 
    2173 in label of node node494 
    2174 in label of node node495 
    2175 in label of node node493 
    2176 Warning: node node494, port body unrecognized 
    2177 Warning: node node493, port body unrecognized 
    2178 Warning: node node495, port body unrecognized 
    2179 Warning: node node494, port body unrecognized 
    2180 </pre></div> 
    2181 <div class="log-warning"><b>Warning</b>:  
    2182 <pre class="log">Graphviz dot warning(s): 
    2183 Warning: Not built with libexpat. Table formatting is not available. 
    2184 in label of node node497 
    2185 in label of node node496 
    2186 Warning: node node497, port body unrecognized 
    2187 Warning: node node496, port body unrecognized 
    2188 </pre></div> 
    2189 <div class="log-warning"><b>Warning</b>:  
    2190 <pre class="log">Graphviz dot warning(s): 
    2191 Warning: Not built with libexpat. Table formatting is not available. 
    2192 in label of node node501 
    2193 in label of node node499 
    2194 in label of node node500 
    2195 in label of node node502 
    2196 in label of node node498 
    2197 Warning: node node501, port body unrecognized 
    2198 Warning: node node500, port body unrecognized 
    2199 Warning: node node499, port body unrecognized 
    2200 Warning: node node498, port body unrecognized 
    2201 Warning: node node500, port body unrecognized 
    2202 Warning: node node499, port body unrecognized 
    2203 Warning: node node502, port body unrecognized 
    2204 Warning: node node501, port body unrecognized 
    2205 </pre></div> 
    2206 <div class="log-warning"><b>Warning</b>:  
    2207 <pre class="log">Graphviz dot warning(s): 
    2208 Warning: Not built with libexpat. Table formatting is not available. 
    2209 in label of node node504 
    2210 in label of node node503 
    2211 Warning: node node504, port body unrecognized 
    2212 Warning: node node503, port body unrecognized 
    2213 </pre></div> 
    2214 <div class="log-warning"><b>Warning</b>:  
    2215 <pre class="log">Graphviz dot warning(s): 
    2216 Warning: Not built with libexpat. Table formatting is not available. 
    2217 in label of node node507 
    2218 in label of node node506 
    2219 in label of node node508 
    2220 in label of node node505 
    2221 in label of node node509 
    2222 Warning: node node507, port body unrecognized 
    2223 Warning: node node506, port body unrecognized 
    2224 Warning: node node506, port body unrecognized 
    2225 Warning: node node505, port body unrecognized 
    2226 Warning: node node508, port body unrecognized 
    2227 Warning: node node507, port body unrecognized 
    2228 Warning: node node505, port body unrecognized 
    2229 Warning: node node509, port body unrecognized 
    2230 </pre></div> 
    2231 <div class="log-warning"><b>Warning</b>:  
    2232 <pre class="log">Graphviz dot warning(s): 
    2233 Warning: Not built with libexpat. Table formatting is not available. 
    2234 in label of node node511 
    2235 in label of node node510 
    2236 in label of node node512 
    2237 Warning: node node511, port body unrecognized 
    2238 Warning: node node510, port body unrecognized 
    2239 Warning: node node512, port body unrecognized 
    2240 Warning: node node511, port body unrecognized 
    2241 </pre></div> 
    2242 <div class="log-warning"><b>Warning</b>:  
    2243 <pre class="log">Graphviz dot warning(s): 
    2244 Warning: Not built with libexpat. Table formatting is not available. 
    2245 in label of node node516 
    2246 in label of node node514 
    2247 in label of node node515 
    2248 in label of node node517 
    2249 in label of node node513 
    2250 Warning: node node516, port body unrecognized 
    2251 Warning: node node515, port body unrecognized 
    2252 Warning: node node514, port body unrecognized 
    2253 Warning: node node513, port body unrecognized 
    2254 Warning: node node515, port body unrecognized 
    2255 Warning: node node514, port body unrecognized 
    2256 Warning: node node517, port body unrecognized 
    2257 Warning: node node516, port body unrecognized 
    2258 </pre></div> 
    2259 <div class="log-warning"><b>Warning</b>:  
    2260 <pre class="log">Graphviz dot warning(s): 
    2261 Warning: Not built with libexpat. Table formatting is not available. 
    2262 in label of node node518 
    2263 </pre></div> 
    2264 <div class="log-warning"><b>Warning</b>:  
    2265 <pre class="log">Graphviz dot warning(s): 
    2266 Warning: Not built with libexpat. Table formatting is not available. 
    2267 in label of node node524 
    2268 in label of node node525 
    2269 in label of node node520 
    2270 in label of node node523 
    2271 in label of node node522 
    2272 in label of node node519 
    2273 in label of node node521 
    2274 Warning: node node520, port body unrecognized 
    2275 Warning: node node519, port body unrecognized 
    2276 Warning: node node522, port body unrecognized 
    2277 Warning: node node521, port body unrecognized 
    2278 Warning: node node519, port body unrecognized 
    2279 Warning: node node524, port body unrecognized 
    2280 Warning: node node519, port body unrecognized 
    2281 Warning: node node525, port body unrecognized 
    2282 Warning: node node519, port body unrecognized 
    2283 Warning: node node523, port body unrecognized 
    2284 Warning: node node521, port body unrecognized 
    2285 Warning: node node520, port body unrecognized 
    2286 </pre></div> 
    2287 <div class="log-warning"><b>Warning</b>:  
    2288 <pre class="log">Graphviz dot warning(s): 
    2289 Warning: Not built with libexpat. Table formatting is not available. 
    2290 in label of node node529 
    2291 in label of node node527 
    2292 in label of node node528 
    2293 in label of node node530 
    2294 in label of node node526 
    2295 Warning: node node529, port body unrecognized 
    2296 Warning: node node528, port body unrecognized 
    2297 Warning: node node527, port body unrecognized 
    2298 Warning: node node526, port body unrecognized 
    2299 Warning: node node528, port body unrecognized 
    2300 Warning: node node527, port body unrecognized 
    2301 Warning: node node530, port body unrecognized 
    2302 Warning: node node529, port body unrecognized 
    2303 </pre></div> 
    2304 <div class="log-warning"><b>Warning</b>:  
    2305 <pre class="log">Graphviz dot warning(s): 
    2306 Warning: Not built with libexpat. Table formatting is not available. 
    2307 in label of node node534 
    2308 in label of node node532 
    2309 in label of node node533 
    2310 in label of node node535 
    2311 in label of node node531 
    2312 Warning: node node534, port body unrecognized 
    2313 Warning: node node533, port body unrecognized 
    2314 Warning: node node532, port body unrecognized 
    2315 Warning: node node531, port body unrecognized 
    2316 Warning: node node533, port body unrecognized 
    2317 Warning: node node532, port body unrecognized 
    2318 Warning: node node535, port body unrecognized 
    2319 Warning: node node534, port body unrecognized 
    2320 </pre></div> 
    2321 <div class="log-warning"><b>Warning</b>:  
    2322 <pre class="log">Graphviz dot warning(s): 
    2323 Warning: Not built with libexpat. Table formatting is not available. 
    2324 in label of node node542 
    2325 in label of node node543 
    2326 in label of node node541 
    2327 in label of node node536 
    2328 in label of node node540 
    2329 in label of node node538 
    2330 in label of node node539 
    2331 in label of node node544 
    2332 in label of node node537 
    2333 Warning: node node536, port body unrecognized 
    2334 Warning: node node540, port body unrecognized 
    2335 Warning: node node536, port body unrecognized 
    2336 Warning: node node539, port body unrecognized 
    2337 Warning: node node540, port body unrecognized 
    2338 Warning: node node544, port body unrecognized 
    2339 Warning: node node538, port body unrecognized 
    2340 Warning: node node537, port body unrecognized 
    2341 Warning: node node539, port body unrecognized 
    2342 Warning: node node542, port body unrecognized 
    2343 Warning: node node539, port body unrecognized 
    2344 Warning: node node543, port body unrecognized 
    2345 Warning: node node539, port body unrecognized 
    2346 Warning: node node541, port body unrecognized 
    2347 Warning: node node537, port body unrecognized 
    2348 Warning: node node536, port body unrecognized 
    2349 </pre></div> 
    2350 <div class="log-warning"><b>Warning</b>:  
    2351 <pre class="log">Graphviz dot warning(s): 
    2352 Warning: Not built with libexpat. Table formatting is not available. 
    2353 in label of node node546 
    2354 in label of node node545 
    2355 in label of node node547 
    2356 Warning: node node546, port body unrecognized 
    2357 Warning: node node545, port body unrecognized 
    2358 Warning: node node547, port body unrecognized 
    2359 Warning: node node546, port body unrecognized 
    2360 </pre></div> 
    2361 <div class="log-warning"><b>Warning</b>:  
    2362 <pre class="log">Graphviz dot warning(s): 
    2363 Warning: Not built with libexpat. Table formatting is not available. 
    2364 in label of node node549 
    2365 in label of node node548 
    2366 Warning: node node549, port body unrecognized 
    2367 Warning: node node548, port body unrecognized 
    2368 </pre></div> 
    2369 <div class="log-warning"><b>Warning</b>:  
    2370 <pre class="log">Graphviz dot warning(s): 
    2371 Warning: Not built with libexpat. Table formatting is not available. 
    2372 in label of node node551 
    2373 in label of node node552 
    2374 in label of node node550 
    2375 in label of node node553 
    2376 Warning: node node551, port body unrecognized 
    2377 Warning: node node550, port body unrecognized 
    2378 Warning: node node552, port body unrecognized 
    2379 Warning: node node551, port body unrecognized 
    2380 Warning: node node550, port body unrecognized 
    2381 Warning: node node553, port body unrecognized 
    2382 </pre></div> 
    2383 <div class="log-warning"><b>Warning</b>:  
    2384 <pre class="log">Graphviz dot warning(s): 
    2385 Warning: Not built with libexpat. Table formatting is not available. 
    2386 in label of node node556 
    2387 in label of node node555 
    2388 in label of node node557 
    2389 in label of node node554 
    2390 Warning: node node556, port body unrecognized 
    2391 Warning: node node555, port body unrecognized 
    2392 Warning: node node555, port body unrecognized 
    2393 Warning: node node554, port body unrecognized 
    2394 Warning: node node557, port body unrecognized 
    2395 Warning: node node556, port body unrecognized 
    2396 </pre></div> 
    2397 <div class="log-warning"><b>Warning</b>:  
    2398 <pre class="log">Graphviz dot warning(s): 
    2399 Warning: Not built with libexpat. Table formatting is not available. 
    2400 in label of node node559 
    2401 in label of node node558 
    2402 Warning: node node559, port body unrecognized 
    2403 Warning: node node558, port body unrecognized 
    2404 </pre></div> 
    2405 <div class="log-warning"><b>Warning</b>:  
    2406 <pre class="log">Graphviz dot warning(s): 
    2407 Warning: Not built with libexpat. Table formatting is not available. 
    2408 in label of node node561 
    2409 in label of node node560 
    2410 Warning: node node561, port body unrecognized 
    2411 Warning: node node560, port body unrecognized 
    2412 </pre></div> 
    2413 <div class="log-warning"><b>Warning</b>:  
    2414 <pre class="log">Graphviz dot warning(s): 
    2415 Warning: Not built with libexpat. Table formatting is not available. 
    2416 in label of node node563 
    2417 in label of node node562 
    2418 Warning: node node563, port body unrecognized 
    2419 Warning: node node562, port body unrecognized 
    2420 </pre></div> 
    2421 <div class="log-warning"><b>Warning</b>:  
    2422 <pre class="log">Graphviz dot warning(s): 
    2423 Warning: Not built with libexpat. Table formatting is not available. 
    2424 in label of node node565 
    2425 in label of node node564 
    2426 Warning: node node565, port body unrecognized 
    2427 Warning: node node564, port body unrecognized 
    2428 </pre></div> 
    2429 <div class="log-warning"><b>Warning</b>:  
    2430 <pre class="log">Graphviz dot warning(s): 
    2431 Warning: Not built with libexpat. Table formatting is not available. 
    2432 in label of node node567 
    2433 in label of node node566 
    2434 Warning: node node567, port body unrecognized 
    2435 Warning: node node566, port body unrecognized 
    2436 </pre></div> 
    2437 <div class="log-warning"><b>Warning</b>:  
    2438 <pre class="log">Graphviz dot warning(s): 
    2439 Warning: Not built with libexpat. Table formatting is not available. 
    2440 in label of node node569 
    2441 in label of node node568 
    2442 Warning: node node569, port body unrecognized 
    2443 Warning: node node568, port body unrecognized 
    2444 </pre></div> 
    2445 <div class="log-warning"><b>Warning</b>:  
    2446 <pre class="log">Graphviz dot warning(s): 
    2447 Warning: Not built with libexpat. Table formatting is not available. 
    2448 in label of node node571 
    2449 in label of node node570 
    2450 Warning: node node571, port body unrecognized 
    2451 Warning: node node570, port body unrecognized 
    2452 </pre></div> 
    2453 <div class="log-warning"><b>Warning</b>:  
    2454 <pre class="log">Graphviz dot warning(s): 
    2455 Warning: Not built with libexpat. Table formatting is not available. 
    2456 in label of node node573 
    2457 in label of node node572 
    2458 Warning: node node573, port body unrecognized 
    2459 Warning: node node572, port body unrecognized 
    2460 </pre></div> 
    2461 <div class="log-warning"><b>Warning</b>:  
    2462 <pre class="log">Graphviz dot warning(s): 
    2463 Warning: Not built with libexpat. Table formatting is not available. 
    2464 in label of node node575 
    2465 in label of node node574 
    2466 Warning: node node575, port body unrecognized 
    2467 Warning: node node574, port body unrecognized 
    2468 </pre></div> 
    2469 <div class="log-warning"><b>Warning</b>:  
    2470 <pre class="log">Graphviz dot warning(s): 
    2471 Warning: Not built with libexpat. Table formatting is not available. 
    2472 in label of node node577 
    2473 in label of node node576 
    2474 Warning: node node577, port body unrecognized 
    2475 Warning: node node576, port body unrecognized 
    2476 </pre></div> 
    2477 <div class="log-warning"><b>Warning</b>:  
    2478 <pre class="log">Graphviz dot warning(s): 
    2479 Warning: Not built with libexpat. Table formatting is not available. 
    2480 in label of node node579 
    2481 in label of node node578 
    2482 Warning: node node579, port body unrecognized 
    2483 Warning: node node578, port body unrecognized 
    2484 </pre></div> 
    2485 <div class="log-warning"><b>Warning</b>:  
    2486 <pre class="log">Graphviz dot warning(s): 
    2487 Warning: Not built with libexpat. Table formatting is not available. 
    2488 in label of node node581 
    2489 in label of node node580 
    2490 Warning: node node581, port body unrecognized 
    2491 Warning: node node580, port body unrecognized 
    2492 </pre></div> 
    2493 <div class="log-warning"><b>Warning</b>:  
    2494 <pre class="log">Graphviz dot warning(s): 
    2495 Warning: Not built with libexpat. Table formatting is not available. 
    2496 in label of node node583 
    2497 in label of node node582 
    2498 Warning: node node583, port body unrecognized 
    2499 Warning: node node582, port body unrecognized 
    2500 </pre></div> 
    2501 <div class="log-warning"><b>Warning</b>:  
    2502 <pre class="log">Graphviz dot warning(s): 
    2503 Warning: Not built with libexpat. Table formatting is not available. 
    2504 in label of node node585 
    2505 in label of node node584 
    2506 Warning: node node585, port body unrecognized 
    2507 Warning: node node584, port body unrecognized 
    2508 </pre></div> 
    2509 <div class="log-warning"><b>Warning</b>:  
    2510 <pre class="log">Graphviz dot warning(s): 
    2511 Warning: Not built with libexpat. Table formatting is not available. 
    2512 in label of node node587 
    2513 in label of node node586 
    2514 Warning: node node587, port body unrecognized 
    2515 Warning: node node586, port body unrecognized 
    2516 </pre></div> 
    2517 <div class="log-warning"><b>Warning</b>:  
    2518 <pre class="log">Graphviz dot warning(s): 
    2519 Warning: Not built with libexpat. Table formatting is not available. 
    2520 in label of node node589 
    2521 in label of node node588 
    2522 Warning: node node589, port body unrecognized 
    2523 Warning: node node588, port body unrecognized 
    2524 </pre></div> 
    2525 <div class="log-warning"><b>Warning</b>:  
    2526 <pre class="log">Graphviz dot warning(s): 
    2527 Warning: Not built with libexpat. Table formatting is not available. 
    2528 in label of node node591 
    2529 in label of node node590 
    2530 Warning: node node591, port body unrecognized 
    2531 Warning: node node590, port body unrecognized 
    2532 </pre></div> 
    2533 <div class="log-warning"><b>Warning</b>:  
    2534 <pre class="log">Graphviz dot warning(s): 
    2535 Warning: Not built with libexpat. Table formatting is not available. 
    2536 in label of node node593 
    2537 in label of node node592 
    2538 Warning: node node593, port body unrecognized 
    2539 Warning: node node592, port body unrecognized 
    2540 </pre></div> 
    2541 <div class="log-warning"><b>Warning</b>:  
    2542 <pre class="log">Graphviz dot warning(s): 
    2543 Warning: Not built with libexpat. Table formatting is not available. 
    2544 in label of node node595 
    2545 in label of node node594 
    2546 Warning: node node595, port body unrecognized 
    2547 Warning: node node594, port body unrecognized 
    2548 </pre></div> 
    2549 <div class="log-warning"><b>Warning</b>:  
    2550 <pre class="log">Graphviz dot warning(s): 
    2551 Warning: Not built with libexpat. Table formatting is not available. 
    2552 in label of node node597 
    2553 in label of node node596 
    2554 Warning: node node597, port body unrecognized 
    2555 Warning: node node596, port body unrecognized 
    2556 </pre></div> 
    2557 <div class="log-warning"><b>Warning</b>:  
    2558 <pre class="log">Graphviz dot warning(s): 
    2559 Warning: Not built with libexpat. Table formatting is not available. 
    2560 in label of node node599 
    2561 in label of node node598 
    2562 Warning: node node599, port body unrecognized 
    2563 Warning: node node598, port body unrecognized 
    2564 </pre></div> 
    2565 <div class="log-warning"><b>Warning</b>:  
    2566 <pre class="log">Graphviz dot warning(s): 
    2567 Warning: Not built with libexpat. Table formatting is not available. 
    2568 in label of node node601 
    2569 in label of node node600 
    2570 Warning: node node601, port body unrecognized 
    2571 Warning: node node600, port body unrecognized 
    2572 </pre></div> 
    2573 <div class="log-warning"><b>Warning</b>:  
    2574 <pre class="log">Graphviz dot warning(s): 
    2575 Warning: Not built with libexpat. Table formatting is not available. 
    2576 in label of node node603 
    2577 in label of node node602 
    2578 Warning: node node603, port body unrecognized 
    2579 Warning: node node602, port body unrecognized 
    2580 </pre></div> 
    2581 <div class="log-warning"><b>Warning</b>:  
    2582 <pre class="log">Graphviz dot warning(s): 
    2583 Warning: Not built with libexpat. Table formatting is not available. 
    2584 in label of node node605 
    2585 in label of node node604 
    2586 Warning: node node605, port body unrecognized 
    2587 Warning: node node604, port body unrecognized 
    2588 </pre></div> 
    2589 <div class="log-warning"><b>Warning</b>:  
    2590 <pre class="log">Graphviz dot warning(s): 
    2591 Warning: Not built with libexpat. Table formatting is not available. 
    2592 in label of node node607 
    2593 in label of node node606 
    2594 Warning: node node607, port body unrecognized 
    2595 Warning: node node606, port body unrecognized 
    2596 </pre></div> 
    2597 <div class="log-warning"><b>Warning</b>:  
    2598 <pre class="log">Graphviz dot warning(s): 
    2599 Warning: Not built with libexpat. Table formatting is not available. 
    2600 in label of node node609 
    2601 in label of node node608 
    2602 Warning: node node609, port body unrecognized 
    2603 Warning: node node608, port body unrecognized 
    2604 </pre></div> 
    2605 <div class="log-warning"><b>Warning</b>:  
    2606 <pre class="log">Graphviz dot warning(s): 
    2607 Warning: Not built with libexpat. Table formatting is not available. 
    2608 in label of node node611 
    2609 in label of node node610 
    2610 Warning: node node611, port body unrecognized 
    2611 Warning: node node610, port body unrecognized 
    2612 </pre></div> 
    2613 <div class="log-warning"><b>Warning</b>:  
    2614 <pre class="log">Graphviz dot warning(s): 
    2615 Warning: Not built with libexpat. Table formatting is not available. 
    2616 in label of node node613 
    2617 in label of node node612 
    2618 Warning: node node613, port body unrecognized 
    2619 Warning: node node612, port body unrecognized 
    2620 </pre></div> 
    2621 <div class="log-warning"><b>Warning</b>:  
    2622 <pre class="log">Graphviz dot warning(s): 
    2623 Warning: Not built with libexpat. Table formatting is not available. 
    2624 in label of node node617 
    2625 in label of node node615 
    2626 in label of node node614 
    2627 in label of node node616 
    2628 Warning: node node615, port body unrecognized 
    2629 Warning: node node614, port body unrecognized 
    2630 Warning: node node614, port body unrecognized 
    2631 Warning: node node617, port body unrecognized 
    2632 Warning: node node616, port body unrecognized 
    2633 Warning: node node615, port body unrecognized 
    2634 </pre></div> 
    2635 <div class="log-warning"><b>Warning</b>:  
    2636 <pre class="log">Graphviz dot warning(s): 
    2637 Warning: Not built with libexpat. Table formatting is not available. 
    2638 in label of node node621 
    2639 in label of node node619 
    2640 in label of node node620 
    2641 in label of node node618 
    2642 Warning: node node621, port body unrecognized 
    2643 Warning: node node618, port body unrecognized 
    2644 Warning: node node619, port body unrecognized 
    2645 Warning: node node618, port body unrecognized 
    2646 Warning: node node620, port body unrecognized 
    2647 Warning: node node619, port body unrecognized 
    2648 </pre></div> 
    2649 <div class="log-warning"><b>Warning</b>:  
    2650 <pre class="log">Graphviz dot warning(s): 
    2651 Warning: Not built with libexpat. Table formatting is not available. 
    2652 in label of node node625 
    2653 in label of node node623 
    2654 in label of node node624 
    2655 in label of node node622 
    2656 Warning: node node625, port body unrecognized 
    2657 Warning: node node622, port body unrecognized 
    2658 Warning: node node623, port body unrecognized 
    2659 Warning: node node622, port body unrecognized 
    2660 Warning: node node624, port body unrecognized 
    2661 Warning: node node623, port body unrecognized 
    2662 </pre></div> 
    2663 <div class="log-warning"><b>Warning</b>:  
    2664 <pre class="log">Graphviz dot warning(s): 
    2665 Warning: Not built with libexpat. Table formatting is not available. 
    2666 in label of node node627 
    2667 in label of node node629 
    2668 in label of node node626 
    2669 in label of node node628 
    2670 Warning: node node627, port body unrecognized 
    2671 Warning: node node626, port body unrecognized 
    2672 Warning: node node629, port body unrecognized 
    2673 Warning: node node628, port body unrecognized 
    2674 Warning: node node628, port body unrecognized 
    2675 Warning: node node627, port body unrecognized 
    2676 </pre></div> 
    2677 <div class="log-block"><h2 class="log-hdr">Epydoc Options</h2><div class="log-info"> 
    2678 <table border="0" cellpadding="0" cellspacing="0"> 
    2679 <tr valign="top" class="opt-changed"><td valign="top">graphs</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>['classtree', 'umlclasstree']</tt></td></tr><tr valign="top" class="opt-changed"><td valign="top">include_log</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>True</tt></td></tr><tr valign="top" class="opt-changed"><td valign="top">names</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>['./ndg.security.client/ndg', './ndg.security.common/ndg', './ndg.security.server/ndg', './ndg.security.test/ndg']</tt></td></tr><tr valign="top" class="opt-changed"><td valign="top">prj_name</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>'NDG Security'</tt></td></tr><tr valign="top" class="opt-changed"><td valign="top">show_frames</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>False</tt></td></tr><tr valign="top" class="opt-changed"><td valign="top">target</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>'../documentation/epydoc'</tt></td></tr><tr valign="top" class="opt-changed"><td valign="top">verbose</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>1</tt></td></tr><tr valign="top" class="opt-changed"><td valign="top">verbosity</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>1</tt></td></tr><tr valign="top" class="opt-default"><td valign="top">action</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>'html'</tt></td></tr><tr valign="top" class="opt-default"><td valign="top">configfiles</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>None</tt></td></tr><tr valign="top" class="opt-default"><td valign="top">css</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>None</tt></td></tr><tr valign="top" class="opt-default"><td valign="top">debug</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>False</tt></td></tr><tr valign="top" class="opt-default"><td valign="top">docformat</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>'epytext'</tt></td></tr><tr valign="top" class="opt-default"><td valign="top">dotpath</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>None</tt></td></tr><tr valign="top" class="opt-default"><td valign="top">exclude</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>[]</tt></td></tr><tr valign="top" class="opt-default"><td valign="top">exclude_introspect</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>[]</tt></td></tr><tr valign="top" class="opt-default"><td valign="top">exclude_parse</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>[]</tt></td></tr><tr valign="top" class="opt-default"><td valign="top">external_api</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>[]</tt></td></tr><tr valign="top" class="opt-default"><td valign="top">external_api_file</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>[]</tt></td></tr><tr valign="top" class="opt-default"><td valign="top">external_api_root</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>[]</tt></td></tr><tr valign="top" class="opt-default"><td valign="top">fail_on</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>None</tt></td></tr><tr valign="top" class="opt-default"><td valign="top">graph_font</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>None</tt></td></tr><tr valign="top" class="opt-default"><td valign="top">graph_font_size</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>None</tt></td></tr><tr valign="top" class="opt-default"><td valign="top">help_file</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>None</tt></td></tr><tr valign="top" class="opt-default"><td valign="top">include_source_code</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>True</tt></td></tr><tr valign="top" class="opt-default"><td valign="top">inheritance</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>'listed'</tt></td></tr><tr valign="top" class="opt-default"><td valign="top">introspect</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>True</tt></td></tr><tr valign="top" class="opt-default"><td valign="top">list_classes_separately</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>False</tt></td></tr><tr valign="top" class="opt-default"><td valign="top">load_pickle</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>False</tt></td></tr><tr valign="top" class="opt-default"><td valign="top">parse</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>True</tt></td></tr><tr valign="top" class="opt-default"><td valign="top">prj_link</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>None</tt></td></tr><tr valign="top" class="opt-default"><td valign="top">prj_url</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>None</tt></td></tr><tr valign="top" class="opt-default"><td valign="top">profile</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>False</tt></td></tr><tr valign="top" class="opt-default"><td valign="top">pstat_files</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>[]</tt></td></tr><tr valign="top" class="opt-default"><td valign="top">quiet</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>0</tt></td></tr><tr valign="top" class="opt-default"><td valign="top">show_imports</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>False</tt></td></tr><tr valign="top" class="opt-default"><td valign="top">show_private</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>True</tt></td></tr><tr valign="top" class="opt-default"><td valign="top">simple_term</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>False</tt></td></tr><tr valign="top" class="opt-default"><td valign="top">top_page</td><td valign="top"><tt>&nbsp;=&nbsp;</tt></td><td valign="top"><tt>None</tt></td></tr></table> 
    2680 </div> 
    2681 </div><p class="log">Epydoc finished at Mon Dec 17 09:22:58 2007</p> 
    2682 <p class="log">(Elapsed time: 35 seconds)</p></body> 
    2683 </html> 
  • TI12-security/trunk/python/ndg.security.common/ndg/security/common/CredWallet.py

    r3139 r3652  
    215215                 mapFromTrustedHosts=False, 
    216216                 rtnExtAttCertList=True, 
    217                  attCertRefreshElapse=7200): 
     217                 attCertRefreshElapse=7200, 
     218                 wssSignatureHandlerKw={}): 
    218219        """Create store of user credentials for their current session 
    219220 
     
    269270        the existing one has less than attCertRefreshElapse time in seconds 
    270271        left before expiry then replace it. 
     272         
     273        @type wssSignatureHandlerKw: dict 
     274        @param wssSignatureHandlerKw: keywords to WS-Security SignatureHandler 
     275        used for Credential Wallet's SOAP interface to Attribute Authorities 
    271276        """ 
    272277 
     
    288293        self.__rtnExtAttCertList = rtnExtAttCertList 
    289294         
     295        self.wssSignatureHandlerKw = wssSignatureHandlerKw 
    290296         
    291297        # Get the distinguished name from the user certificate 
     
    498504        log.debug('CredWallet.__createAAClnt for service: "%s"' % aaURI) 
    499505         
    500         if self.__issuingCert is not None: 
    501             # Initialise WS-Security signature handling to pass  
    502             # BinarySecurityToken containing user cert and cert for user cert  
    503             # issuer  
    504             reqBinSecTokValType=SignatureHandler.binSecTokValType["X509PKIPathv1"] 
    505             certChain = (self.__issuingCert, self.__userCert) 
    506             signingCert = None 
    507         else: 
    508             # Pass user cert only - no need to pass a cert chain.  This type  
    509             # of token is more likely to be supported by the various 
    510             # WS-Security toolkits 
    511             reqBinSecTokValType=SignatureHandler.binSecTokValType["X509v3"]             
    512             certChain = None 
    513             signingCert = self.__userCert 
    514          
     506        # Check for WS-Security settings made in self.wssSignatureHandlerKw  
     507        # dict. If not set, then pick up defaults from wallet credentials 
     508        if 'signingCert' and 'signingCertFilePath' and 'signingCertChain' \ 
     509           not in self.wssSignatureHandlerKw: 
     510             
     511            # Use user certificate for signing messages 
     512            if self.__issuingCert is not None: 
     513                # Initialise WS-Security signature handling to pass  
     514                # BinarySecurityToken containing user cert and cert for user cert  
     515                # issuer  
     516                self.wssSignatureHandlerKw['reqBinSecTokValType'] = \ 
     517                            SignatureHandler.binSecTokValType["X509PKIPathv1"] 
     518                self.wssSignatureHandlerKw['signingCertChain'] = \ 
     519                                        (self.__issuingCert, self.__userCert) 
     520                 
     521            else: 
     522                # Pass user cert only - no need to pass a cert chain.   
     523                # This type of token is more likely to be supported by the  
     524                # various WS-Security toolkits 
     525                self.wssSignatureHandlerKw['reqBinSecTokValType'] = \ 
     526                                    SignatureHandler.binSecTokValType["X509v3"] 
     527                self.wssSignatureHandlerKw['signingCert'] = self.__userCert 
     528 
     529            self.wssSignatureHandlerKw['signingPriKey'] = self.__userPriKey 
     530 
     531        if 'caCertFilePathList' not in self.wssSignatureHandlerKw: 
     532            self.wssSignatureHandlerKw['caCertFilePathList'] = \ 
     533                                                    self.__caCertFilePathList 
     534 
    515535        aaClnt = AttAuthorityClient(uri=aaURI, 
    516                             reqBinSecTokValType=reqBinSecTokValType,  
    517                             signingCertChain=certChain, 
    518                             signingCert=self.__userCert, 
    519                             signingPriKey=self.__userPriKey, 
    520                             caCertFilePathList=self.__caCertFilePathList, 
    521                             sslCACertFilePathList=self.__caCertFilePathList) 
     536                            sslCACertFilePathList=self.__caCertFilePathList, 
     537                            **self.wssSignatureHandlerKw) 
    522538        return aaClnt 
    523539 
  • TI12-security/trunk/python/ndg.security.common/ndg/security/common/wsSecurity.py

    r2927 r3652  
    7171    nameList = isinstance(nameList, basestring) and [nameList] or nameList 
    7272    return [n for n in node.childNodes if str(n.localName) in nameList] 
     73 
     74 
     75def getChildNodes(node, nodeList=None): 
     76    if nodeList is None: 
     77        nodeList = [node]  
     78    return _getChildNodes(node, nodeList) 
     79            
     80def _getChildNodes(node, nodeList): 
     81 
     82    if node.attributes is not None: 
     83        nodeList += node.attributes.values()  
     84    nodeList += node.childNodes 
     85    for childNode in node.childNodes: 
     86        _getChildNodes(childNode, nodeList) 
     87    return nodeList 
     88 
    7389 
    7490 
     
    329345    def __refC14nIsExcl(self): 
    330346        return isinstance(self.__refC14nKw, dict) and \ 
    331                self.__refC14nKw.get('unsuppressedPrefixes') and \ 
    332                len(self.__refC14nKw['unsuppressedPrefixes']) > 0 
     347               isinstance(self.__refC14nKw.get('unsuppressedPrefixes'), list) 
    333348                
    334349    refC14nIsExcl = property(fget=__refC14nIsExcl, 
     
    339354    def __signedInfoC14nIsExcl(self): 
    340355        return isinstance(self.__signedInfoC14nKw, dict) and \ 
    341                self.__signedInfoC14nKw.get('unsuppressedPrefixes') and \ 
    342                len(self.__signedInfoC14nKw['unsuppressedPrefixes']) > 0 
     356        isinstance(self.__signedInfoC14nKw.get('unsuppressedPrefixes'), list) 
    343357                
    344358    signedInfoC14nIsExcl = property(fget=__signedInfoC14nIsExcl, 
     
    642656        # Add X.509 cert as binary security token 
    643657        if self.__reqBinSecTokValType==self.binSecTokValType['X509PKIPathv1']: 
    644             binSecTokVal=base64.encodestring(self.__signingCertChain.asDER()) 
     658            binSecTokVal = base64.encodestring(self.__signingCertChain.asDER()) 
    645659        else: 
    646660            # Assume X.509 / X.509 vers 3 
     
    651665        soapWriter._header.setNamespaceAttribute('ds', DSIG.BASE) 
    652666         
    653         if self.refC14nIsExcl or self.signedInfoC14nIsExcl: 
    654             soapWriter._header.setNamespaceAttribute('ec', DSIG.C14N_EXCL) 
     667        try: 
     668            refC14nPfxSet = len(self.__refC14nKw['unsuppressedPrefixes']) > 0 
     669        except KeyError: 
     670            refC14nPfxSet = False 
     671 
     672        try: 
     673            signedInfoC14nPfxSet = \ 
     674                len(self.__signedInfoC14nKw['unsuppressedPrefixes']) > 0 
     675        except KeyError: 
     676            signedInfoC14nPfxSet = False 
     677                 
     678        if refC14nPfxSet or refC14nPfxSet: 
     679           soapWriter._header.setNamespaceAttribute('ec', DSIG.C14N_EXCL) 
    655680         
    656681        # Check <wsse:security> isn't already present in header 
     
    704729        # Set based on 'signedInfoIsExcl' property 
    705730        c14nAlgOpt = (DSIG.C14N, DSIG.C14N_EXCL) 
    706         signedInfoC14nAlg = c14nAlgOpt[self.signedInfoC14nIsExcl] 
     731        signedInfoC14nAlg = c14nAlgOpt[int(self.signedInfoC14nIsExcl)] 
    707732         
    708733        c14nMethodElem.node.setAttribute('Algorithm', signedInfoC14nAlg) 
    709734         
    710         if self.signedInfoC14nIsExcl: 
     735        if signedInfoC14nPfxSet: 
    711736            c14nInclNamespacesElem = c14nMethodElem.createAppendElement(\ 
    712737                                                    signedInfoC14nAlg, 
     
    746771                                  contextNode=docNode,  
    747772                                  context=ctxt) 
    748          
     773 
    749774        # Set based on 'signedInfoIsExcl' property 
    750775        refC14nAlg = c14nAlgOpt[self.refC14nIsExcl] 
     
    760785             
    761786            # Canonicalize reference 
    762             refC14n = Canonicalize(refNode, **self.__refC14nKw) 
     787#            refC14n = Canonicalize(refNode, **self.__refC14nKw) 
     788             
     789            #refNode.prefix = 'soapenv' 
     790            refSubsetList = getChildNodes(refNode) 
     791            refC14n = Canonicalize(docNode,  
     792                                   None,  
     793                                   subset=refSubsetList, 
     794                                   **self.__refC14nKw) 
    763795             
    764796            # Calculate digest for reference and base 64 encode 
     
    781813            # Set Canonicalization algorithm type 
    782814            transformElem.node.setAttribute('Algorithm', refC14nAlg) 
    783             if self.refC14nIsExcl: 
     815            if refC14nPfxSet: 
    784816                # Exclusive C14N requires inclusive namespace elements 
    785817                inclNamespacesElem = transformElem.createAppendElement(\ 
     
    803835        #         
    804836        # Canonicalize the signedInfo node 
    805         c14nSignedInfo = Canonicalize(signedInfoElem.node,  
     837#        c14nSignedInfo = Canonicalize(signedInfoElem.node,  
     838#                                      **self.__signedInfoC14nKw) 
     839             
     840#        signedInfoSubsetList = getChildNodes(signedInfoElem.node) 
     841#        c14nSignedInfo = Canonicalize(soapWriter._header.node,  
     842#                                      None,  
     843#                                      subset=signedInfoSubsetList, 
     844#                                      **self.__signedInfoC14nKw) 
     845 
     846        docNode = Reader().fromString(str(soapWriter)) 
     847        ctxt = Context(docNode, processorNss=processorNss) 
     848        signedInfoNode = xpath.Evaluate('//ds:SignedInfo',  
     849                                          contextNode=docNode,  
     850                                          context=ctxt)[0] 
     851 
     852        signedInfoSubsetList = getChildNodes(signedInfoNode) 
     853        c14nSignedInfo = Canonicalize(docNode,  
     854                                      None,  
     855                                      subset=signedInfoSubsetList, 
    806856                                      **self.__signedInfoC14nKw) 
    807857 
     
    881931            if refAlgorithm == DSIG.C14N_EXCL: 
    882932                try: 
     933                    # Check for no inclusive namespaces set 
    883934                    inclusiveNS = getElements(transforms[0],  
    884                                               "InclusiveNamespaces") 
    885                      
    886                     # Allow for no inclusive namespaces set - this is  
    887                     # not expected and is likely to cause problems with the 
    888                     # canonicalization later. 
     935                                              "InclusiveNamespaces")                     
    889936                    if inclusiveNS: 
    890937                        pfxListAttNode = \ 
     
    893940                        refC14nKw['unsuppressedPrefixes'] = \ 
    894941                                                pfxListAttNode.value.split() 
    895                 except: 
    896                     raise VerifyError, \ 
    897                 'failed to handle transform (%s) in <ds:Reference URI="%s">'%\ 
    898                         (transforms[0], refURI) 
     942                    else: 
     943                        # Set to empty list to ensure Exclusive C14N is set for 
     944                        # Canonicalize call 
     945                        refC14nKw['unsuppressedPrefixes'] = [] 
     946                except Exception, e: 
     947                    raise VerifyError( 
     948            'failed to handle transform (%s) in <ds:Reference URI="%s">: %s' %\ 
     949                        (transforms[0], refURI, e)) 
    899950         
    900951            # Canonicalize the reference data and calculate the digest 
     
    909960                                     context=ctxt)[0] 
    910961 
    911             refC14n = Canonicalize(uriNode, **refC14nKw) 
     962#            refC14n = Canonicalize(uriNode, **refC14nKw) 
     963            refSubsetList = getChildNodes(uriNode) 
     964            refC14n = Canonicalize(parsedSOAP.dom, 
     965                                   None,  
     966                                   subset=refSubsetList, 
     967                                   **refC14nKw) 
    912968            digestValue = base64.encodestring(sha(refC14n).digest()).strip() 
    913969             
     
    933989        if signedInfoC14nAlg == DSIG.C14N_EXCL: 
    934990            try: 
    935                 # Allow for no inclusive namespaces set - this is  
    936                 # not expected and is likely to cause problems with the 
    937                 # canonicalization later. 
    938                 if inclusiveNS: 
    939                     inclusiveNS = getElements(c14nMethodNode, 
    940                                               "InclusiveNamespaces") 
    941                      
     991                # Check for inclusive namespaces 
     992                inclusiveNS = c14nMethodNode.getElementsByTagName( 
     993                                                        "InclusiveNamespaces") 
     994                if inclusiveNS:                     
    942995                    pfxListAttNode = inclusiveNS[0].getAttributeNode(\ 
    943996                                                                 'PrefixList') 
    944997                    signedInfoC14nKw['unsuppressedPrefixes'] = \ 
    945998                                                pfxListAttNode.value.split() 
    946                                                        
     999                else: 
     1000                    # Must default to [] otherwise exclusive C14N is not 
     1001                    # triggered 
     1002                    signedInfoC14nKw['unsuppressedPrefixes'] = [] 
    9471003            except Exception, e: 
    9481004                raise VerifyError, \ 
     
    9511007 
    9521008        # Canonicalize the SignedInfo node and take digest 
    953         c14nSignedInfo = Canonicalize(signedInfoNode, **signedInfoC14nKw)  
    954         hdrNode = Reader().fromString(Canonicalize(parsedSOAP.header)) 
    955         hdrCtxt = Context(hdrNode, processorNss=processorNss) 
    956         signedInfoNode2 = xpath.Evaluate('//ds:SignedInfo', 
    957                                         contextNode=hdrNode,  
    958                                         context=hdrCtxt)[0] 
    959         c14nSignedInfo2 = Canonicalize(signedInfoNode, **signedInfoC14nKw) 
    960         signedInfoDigestValue2 = sha(c14nSignedInfo2).digest() 
     1009        #c14nSignedInfo = Canonicalize(signedInfoNode, **signedInfoC14nKw) 
     1010        signedInfoSubsetList = getChildNodes(signedInfoNode) 
     1011        c14nSignedInfo = Canonicalize(parsedSOAP.dom,  
     1012                                      None,  
     1013                                      subset=signedInfoSubsetList, 
     1014                                      **signedInfoC14nKw) 
    9611015                               
    9621016        signedInfoDigestValue = sha(c14nSignedInfo).digest() 
     
    9891043            pass  
    9901044         
    991         #import pdb;pdb.set_trace() 
    9921045        if binSecTokNode: 
    9931046            try: 
    994                 x509CertTxt=str(binSecTokNode.childNodes[0]._get_nodeValue()) 
     1047                x509CertTxt=str(binSecTokNode.childNodes[0].nodeValue) 
    9951048                 
    9961049                valueType = binSecTokNode.getAttributeNode("ValueType").value 
    9971050                if valueType in (self.__class__.binSecTokValType['X509v3'], 
    9981051                                 self.__class__.binSecTokValType['X509']): 
    999                  
    1000                     # Convert parsed cert text into PEM form that can be read 
    1001                     # by X.509 string parser 
    1002                     # 
    1003                     # Check for line breaks at 64th byte as expected for PEM  
    1004                     # encoding 
    1005                     if x509CertTxt[64] != "\n": 
    1006                         # Check for other whitespace and reomve  
    1007                         # Expecting cert split into lines of length 64 bytes 
    1008                         x509CertTxt = re.sub('\s', '', x509CertTxt) 
    1009                          
    1010                         # Split into lines of length 64 
    1011                         x509CertSpl = re.split('(.{64})', x509CertTxt) 
    1012                         x509CertTxt = '\n'.join([i for i in x509CertSpl if i]) 
    1013                          
    1014                     b64EncX509Cert = self.__class__.__beginCert+x509CertTxt+\ 
    1015                              self.__class__.__endCert 
    1016                     self.__setVerifyingCert(b64EncX509Cert) 
     1052                    # Remove base 64 encoding 
     1053                    derString = base64.decodestring(x509CertTxt) 
     1054                     
     1055                    # Load from DER format into M2Crypto.X509 
     1056                    m2X509Cert = X509.load_cert_string(derString, 
     1057                                                       format=X509.FORMAT_DER) 
     1058                    self.__setVerifyingCert(m2X509Cert) 
    10171059                     
    10181060                    x509Stack = X509Stack() 
  • TI12-security/trunk/python/ndg.security.server/ndg/security/server/AttAuthority/__init__.py

    r3135 r3652  
    105105                    'keyFile':             '', 
    106106                    'keyPwd':              '', 
     107                    'wssRefInclNS':        [], 
     108                    'wssSignedInfoInclNS': [], 
    107109                    'caCertFileList':      [], 
    108110                    'clntCertFile':        '', 
     
    638640                    # Make sure to leave password element contents unchanged 
    639641                    if isinstance(AttAuthority.__validKeys[elem.tag], list): 
    640                         self.__prop[elem.tag] = \ 
    641                             [os.path.expandvars(subElem.text.strip()) \ 
    642                              for subElem in elem] 
     642                        if len(elem) == 0 and elem.text is not None: 
     643                            # Treat as a list of space separated elements 
     644                            self.__prop[elem.tag] = elem.text.split() 
     645                        else: 
     646                            # Parse from a list of sub-elements 
     647                            self.__prop[elem.tag] = \ 
     648                                [os.path.expandvars(subElem.text.strip()) \ 
     649                                 for subElem in elem] 
    643650                             
    644651                    elif 'eyPwd' not in elem.tag and elem.text:  
     
    654661                "Error parsing tag \"%s\" in properties file \"%s\": %s" % \ 
    655662                (elem.tag, self.__propFilePath, e) 
    656   
     663 
    657664        if invalidKeys != []: 
    658665            raise AttAuthorityError, "The following properties file " + \ 
     
    668675        self.__prop['portNum'] = int(self.__prop['portNum']) 
    669676        self.__prop['attCertFileLogCnt']=int(self.__prop['attCertFileLogCnt']) 
    670          
     677 
    671678        # Check directory path 
    672679        try: 
  • TI12-security/trunk/python/ndg.security.server/ndg/security/server/LoginService/loginservice/config/environment.py

    r2918 r3652  
    11import os 
    22 
    3 import pylons.config 
     3from pylons import config 
    44import webhelpers 
    55 
     6import loginservice.lib.helpers 
     7import loginservice.lib.app_globals as app_globals 
    68from loginservice.config.routing import make_map 
    79 
    810def load_environment(global_conf={}, app_conf={}): 
    911    map = make_map(global_conf, app_conf) 
     12     
     13    # ~Advice from deprecation warning... 
     14    config['routes.map'] = map 
     15     
    1016    # Setup our paths 
    11     root_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 
    12     paths = {'root_path': root_path, 
    13              'controllers': os.path.join(root_path, 'controllers'), 
    14              'templates': [os.path.join(root_path, path) for path in \ 
    15                            ('components', 'templates')], 
    16              'static_files': os.path.join(root_path, 'public') 
    17              } 
     17    root = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 
     18    paths = dict(root=root, 
     19                 controllers=os.path.join(root, 'controllers'), 
     20                 static_files=os.path.join(root, 'public'), 
     21                 templates=[os.path.join(root, path) for path in \ 
     22                           ('components', 'templates')]) 
     23#    paths = {'root_path': root_path, 
     24#             'controllers': os.path.join(root_path, 'controllers'), 
     25#             'templates': [os.path.join(root_path, path) for path in \ 
     26#                           ('components', 'templates')], 
     27#             'static_files': os.path.join(root_path, 'public') 
     28#             } 
     29 
     30    # Initialize config with the basic options 
     31    config.init_app(global_conf, app_conf, package='loginservice', 
     32                    template_engine='myghty', paths=paths) 
     33 
     34    config['routes.map'] = make_map() 
     35    config['pylons.g'] = app_globals.Globals() 
     36    config['pylons.h'] = loginservice.lib.helpers 
     37 
     38    # Customize templating options via this variable 
     39    tmpl_options = config['buffet.template_options'] 
     40 
     41    # CONFIGURATION OPTIONS HERE (note: all config options will override 
     42    # any Pylons config options) 
    1843     
    19     # The following template options are passed to your template engines 
    20     tmpl_options = {} 
    2144    tmpl_options['myghty.log_errors'] = True 
    2245    tmpl_options['myghty.escapes'] = dict(l=webhelpers.auto_link, s=webhelpers.simple_format) 
    2346     
    24     # Add your own template options config options here, note that all config options will override 
    25     # any Pylons config options 
    26      
    2747    # Return our loaded config object 
    28     return pylons.config.Config(tmpl_options, map, paths) 
     48    #return config.Config(tmpl_options, map, paths) 
  • TI12-security/trunk/python/ndg.security.server/ndg/security/server/LoginService/loginservice/config/middleware.py

    r2918 r3652  
    66from paste.deploy.converters import asbool 
    77 
     8from pylons import config 
    89from pylons.error import error_template 
    910from pylons.middleware import ErrorHandler, ErrorDocuments, StaticJavascripts, error_mapper 
    10 import pylons.wsgiapp 
     11from pylons.wsgiapp import PylonsApp 
    1112 
    1213from loginservice.config.environment import load_environment 
    13 import loginservice.lib.helpers 
    14 import loginservice.lib.app_globals as app_globals 
    1514from loginservice.config.ndgMiddleware import ndgMiddleware 
     15 
    1616 
    1717def make_app(global_conf, full_stack=True, **app_conf): 
     
    2323     
    2424    """ 
    25     # Setup the Paste CONFIG object, adding app_conf/global_conf for legacy code 
    26     conf = global_conf.copy() 
    27     conf.update(app_conf) 
    28     conf.update(dict(app_conf=app_conf, global_conf=global_conf)) 
    29     CONFIG.push_process_config(conf) 
    30  
     25  
    3126    # Load our Pylons configuration defaults 
    32     config = load_environment(global_conf, app_conf) 
    33     config.init_app(global_conf, app_conf, package='loginservice', 
    34                     template_engine='kid') 
     27    load_environment(global_conf, app_conf) 
    3528         
    3629    # Load our default Pylons WSGI app and make g available 
    37     app = pylons.wsgiapp.PylonsApp(config, helpers=loginservice.lib.helpers, 
    38                                    g=app_globals.Globals) 
     30    app = PylonsApp() 
    3931    g = app.globals 
    4032    app = ConfigMiddleware(app, conf) 
     
    4436    # handling middleware underneath 
    4537 
    46     app = ndgMiddleware(app, g) 
     38    app = ndgMiddleware(app,g) 
    4739    g=app.globals 
     40     
     41    # Configure logging 
     42    #logging.basicConfig(format='%(thread)s %(name)s %(levelname)s %(message)s') 
    4843     
    4944    # If errror handling and exception catching will be handled by middleware 
     
    5550     
    5651        # Error Handling 
    57         app = ErrorHandler(app, global_conf, error_template=error_template, **config.errorware) 
     52        app = ErrorHandler(app, global_conf, error_template=error_template, **config['pylons.errorware']) 
    5853     
    5954        # Display error documents for 401, 403, 404 status codes (if debug is disabled also 
    6055        # intercepts 500) 
    61         app = ErrorDocuments(app, global_conf, mapper=error_mapper, **app_conf) 
     56        #app = ErrorDocuments(app, global_conf, mapper=error_mapper, **app_conf) 
    6257     
    6358    # Establish the Registry for this application 
    6459    app = RegistryManager(app) 
    6560     
    66     static_app = StaticURLParser(config.paths['static_files']) 
     61    # Allow static files from outside the egg too ... g.htdocs defined in ndgDiscovery.config 
     62    if g.htdocs: 
     63        static_paths = [g.htdocs,config['pylons.paths']['static_files']] 
     64    else: static_paths= [config['pylons.paths']['static_files']] 
     65    static_app = [StaticURLParser(path) for path in static_paths] 
    6766    javascripts_app = StaticJavascripts() 
    68     app = Cascade([static_app, javascripts_app, app]) 
     67    app = Cascade(static_app +[javascripts_app, app]) 
    6968    return app 
  • TI12-security/trunk/python/ndg.security.server/ndg/security/server/LoginService/loginservice/controllers/login.py

    r2926 r3652  
    11import sys,cgi 
    2 from urlparse import urlparse 
     2from urlparse import urlsplit, urlunsplit 
    33import base64 
    44 
    5 from loginservice.lib.base import * 
    6 from loginservice.lib.security_util import setSecuritySession, \ 
    7                                             LoginServiceQuery 
    8  
     5from ows_server.lib.base import * 
     6from ows_server.lib.security_util import setSecuritySession, SecuritySession,\ 
     7                                         LoginServiceQuery 
     8from ows_common.exception_report import OwsError 
    99from paste.request import parse_querystring 
    1010import logging 
     
    1414from ndg.security.common.SessionMgr import SessionMgrClient, SessionExpired, \ 
    1515    AttributeRequestDenied 
    16  
    17 class LoginControllerError(Exception): 
    18     """Handle exceptions from LoginController""" 
    19      
     16from ndg.security.common.m2CryptoSSLUtility import HTTPSConnection, \ 
     17    HostCheck, InvalidCertSignature, InvalidCertDN 
     18 
     19 
    2020class LoginController(BaseController): 
    2121    ''' Provides the pylons controller for local login ''' 
    2222     
    23     def __setup(self): 
    24         """Get 'r' return to URL argument from current URL query string""" 
    25         c.returnTo=request.params.get('r','') 
    26  
    27     def __securitySetup(self): 
    28         '''PKI settings for Attribute Authority and Session Manager''' 
    29          
    30         self.ndgCfg = request.environ['ndgConfig'] 
    31  
    32         tracefileExpr = self.ndgCfg.get('NDG_SECURITY', 'tracefile') 
    33         if tracefileExpr: 
    34             self.tracefile = eval(tracefileExpr) 
    35          
    36         # ... for SSL connections to security web services 
    37         try: 
    38             self.sslCACertFilePathList = \ 
    39             self.ndgCfg.get('NDG_SECURITY', 'sslCACertFilePathList').split() 
    40                  
    41         except AttributeError: 
    42             raise LoginControllerError, 'No "sslCACertFilePathList" security setting' 
    43  
    44         self.sslPeerCertCN = self.ndgCfg.get('NDG_SECURITY', 'sslPeerCertCN') 
    45  
    46         # ...and for WS-Security digital signature 
    47         self.wssCertFilePath = self.ndgCfg.get('NDG_SECURITY',  
    48                                                'wssCertFilePath') 
    49         self.wssPriKeyFilePath = self.ndgCfg.get('NDG_SECURITY',  
    50                                                  'wssKeyFilePath') 
    51         self.wssPriKeyPwd = self.ndgCfg.get('NDG_SECURITY', 'wssKeyPwd') 
    52  
    53         try: 
    54             self.wssCACertFilePathList = \ 
    55             self.ndgCfg.get('NDG_SECURITY', 'wssCACertFilePathList').split() 
    56                  
    57         except AttributeError: 
    58             raise LoginControllerError, 'No "wssCACertFilePathList" security setting' 
    59  
     23    def __before__(self, action):  
     24        """For each action, get 'r' return to URL argument from current URL  
     25        query string.  c.returnTo is used in some of the .kid files""" 
     26        c.returnTo = request.params.get('r', '') 
     27         
     28        # Check return to address - getCredentials should NOT be returned to 
     29        # with its query args intact 
     30        b64decReturnTo = base64.urlsafe_b64decode(c.returnTo) 
     31        scheme, netloc, pathInfo, query, frag = urlsplit(b64decReturnTo) 
     32        if 'getCredentials' in pathInfo: 
     33            # Swap to discovery and remove sensitive creds query args 
     34            # 
     35            # TODO: re-write to be more robust and modular.  Nb.  
     36            # BaseController.__call__ should filter out 'getCredentials' 
     37            # calls from c.requestURL so this code should never need to be  
     38            # executed. 
     39            filteredReturnTo = urlunsplit((scheme,netloc,'/discovery','','')) 
     40            c.returnTo = base64.urlsafe_b64encode(filteredReturnTo) 
     41         
     42        # Check return to address - getCredentials should NOT be returned to 
     43        # with its query args intact 
     44        log.debug("LoginController.__before__: Decoded c.returnTo = %s" % \ 
     45                                      base64.urlsafe_b64decode(c.returnTo)) 
     46     
    6047     
    6148    def index(self): 
    62         '''Present login''' 
    63         if 'ndgSec' in session:  
     49        ''' Ok, you really want to login here ''' 
     50        log.debug("LoginController.index ...")    
     51 
     52        if 'ndgSec' not in session:  
     53            log.debug('No security session details found - offering login...') 
     54            return render('login') 
     55         
     56        # Session is set in this domain - check it  
     57        try:     
     58            smClnt = SessionMgrClient(uri=session['ndgSec']['h'], 
     59                    sslCACertFilePathList=g.securityCfg.sslCACertFilePathList, 
     60                    sslPeerCertCN=g.securityCfg.sslPeerCertCN, 
     61                    signingCertFilePath=g.securityCfg.wssCertFilePath, 
     62                    signingPriKeyFilePath=g.securityCfg.wssPriKeyFilePath, 
     63                    signingPriKeyPwd=g.securityCfg.wssPriKeyPwd, 
     64                    caCertFilePathList=g.securityCfg.wssCACertFilePathList, 
     65                    tracefile=g.securityCfg.tracefile) 
     66                                 
     67        except Exception, e: 
     68            c.xml='Error establishing security context.  Please report ' + \ 
     69                  'the error to your site administrator' 
     70            log.error("Initialising SessionMgrClient for " + \ 
     71                      "getSessionStatus call: %s" % e) 
     72            SecuritySession.delete() 
     73            response.status_code = 400 
     74            return render('content') 
     75         
     76        # Check session status 
     77        log.debug('Calling Session Manager "%s" getSessionStatus ' % \ 
     78                  session['ndgSec']['h'] + 'for user "%s" with sid="%s" ...'%\ 
     79                  (session['ndgSec']['u'], session['ndgSec']['sid'])) 
     80        try: 
     81            bSessOK = smClnt.getSessionStatus(sessID=session['ndgSec']['sid']) 
     82        except Exception, e: 
     83            c.xml = "Error checking your session details.  Please re-login" 
     84            log.error("Session Manager getSessionStatus returned: %s" % e) 
     85            SecuritySession.delete() 
     86            response.status_code = 400 
     87            return render('login') 
     88    
     89        if bSessOK: 
     90            log.debug("Session found - redirect back to site requesting " + \ 
     91                      "credentials ...") 
     92            # ... Return across http GET passing security parameters... 
    6493            return self.__doRedirect() 
    65         self.__setup() 
    66         return render_response('login') 
     94        else: 
     95            log.debug("Session wasn't found - removing security details " + \ 
     96                      "from cookie and re-displaying login...") 
     97            SecuritySession.delete() 
     98            return render('login') 
    6799 
    68100 
    69101    def getCredentials(self): 
    70102        """Authenticate user and cache user credentials in 
    71         Session Manager following user login form submit""" 
    72          
    73         try: 
    74             self.__setup() 
    75             self.__securitySetup() 
    76      
    77             smURI = self.ndgCfg.get('NDG_SECURITY', 'sessionMgrURI') 
    78      
    79             # May be better as a 'g' global set-up at start-up? 
    80             # 
    81             # tracefile could be removed for production use 
    82             smClnt = SessionMgrClient(uri=smURI, 
    83                                 sslCACertFilePathList=self.sslCACertFilePathList, 
    84                                 sslPeerCertCN=self.sslPeerCertCN, 
    85                                 signingCertFilePath=self.wssCertFilePath, 
    86                                 signingPriKeyFilePath=self.wssPriKeyFilePath, 
    87                                 signingPriKeyPwd=self.wssPriKeyPwd, 
    88                                 caCertFilePathList=self.wssCACertFilePathList, 
    89                                 tracefile=self.tracefile) 
     103        Session Manager following user login""" 
     104        log.debug("LoginController.getCredentials ...")    
     105 
     106        try:     
     107            smClnt = SessionMgrClient(uri=g.securityCfg.smURI, 
     108                    sslCACertFilePathList=g.securityCfg.sslCACertFilePathList, 
     109                    sslPeerCertCN=g.securityCfg.sslPeerCertCN, 
     110                    signingCertFilePath=g.securityCfg.wssCertFilePath, 
     111                    signingPriKeyFilePath=g.securityCfg.wssPriKeyFilePath, 
     112                    signingPriKeyPwd=g.securityCfg.wssPriKeyPwd, 
     113                    caCertFilePathList=g.securityCfg.wssCACertFilePathList, 
     114                    tracefile=g.securityCfg.tracefile) 
    90115                                 
    91116            username = request.params['username'] 
    92117            passphrase = request.params['passphrase']                      
    93118                                 
    94         except Exception,e: 
    95             c.xml='Error establishing security context [%s]'%cgi.escape(str(e)) 
    96             return Response(render('content'),code=400) 
     119        except Exception, e: 
     120            c.xml='Error establishing security context.  Please report ' + \ 
     121                  'the error to your site administrator' 
     122            log.error("Login: initialising SessionMgrClient: %s" % e) 
     123            response.status_code = 400 
     124            return render('content') 
    97125         
    98126        # Connect to Session Manager 
    99127        log.debug('Calling Session Manager "%s" connect for user "%s" ...' % \ 
    100                   (smURI, username)) 
     128                  (g.securityCfg.smURI, username)) 
    101129        try: 
    102130            sessID = smClnt.connect(username, passphrase=passphrase)[-1] 
    103131        except Exception, e: 
    104             c.xml = \ 
    105     "Error logging in.  Please check your username/pass-phrase and try again." 
     132            c.xml = "Error logging in.  Please check your username/" + \ 
     133                    "pass-phrase and try again." 
    106134            log.error("Session Manager connect returned: %s" % e) 
    107             return Response(render('login'),code=401) 
     135            response.status_code = 401 
     136            return render('login') 
    108137         
    109138        # Cache user attributes in Session Manager 
    110139        log.debug("Calling Session Manager getAttCert for user ") 
    111140        try: 
    112             # Set the Attribute Authority address for the Session Manager to 
    113             # send its attribute request to 
    114             aaURI = self.ndgCfg.get('NDG_SECURITY', 'attAuthorityURI') 
    115  
    116141            # Make request for attribute certificate 
    117             attCert = smClnt.getAttCert(sessID=sessID, attAuthorityURI=aaURI) 
     142            attCert = smClnt.getAttCert(sessID=sessID,  
     143                                        attAuthorityURI=g.securityCfg.aaURI) 
    118144        except SessionExpired, e: 
    119145            log.info("Session expired getting Attribute Certificate: %s" % e) 
    120146            c.xml = "Session has expired, please re-login" 
    121             return Response(render('login'),code=401) 
     147            response.status_code = 401 
     148            return render('login') 
    122149             
    123150        except AttributeRequestDenied, e: 
     
    125152            c.xml = "No authorisation roles are available for your " + \ 
    126153                    "account.  Please check with your site administrator." 
    127             return Response(render('login'),code=401) 
     154            response.status_code = 401 
     155            return render('login') 
    128156             
    129157        except Exception, e: 
     
    131159            c.xml = "An internal error occured.  Please report this to " + \ 
    132160                    "your site administrator." 
    133             return Response(render('login'),code=400) 
    134  
    135         log.debug('Completing login') 
    136         # Make session 
    137         # 
    138         # Security credentials - proxyCert, userCert, ProxyPriKey and sessID 
    139         # could be held in the session but how secure is 
    140          
    141         # Make a security cookie here ... 
    142         setSecuritySession(h=smURI,u=username,roles=attCert.roles,sid=sessID) 
    143         session['panelView']='History' 
     161            response.status_code = 400 
     162            return render('login') 
     163 
     164        log.debug('Completing login...') 
     165         
     166        # Make security session details 
     167        setSecuritySession(h=g.securityCfg.smURI, 
     168                           u=username, 
     169                           org=attCert.issuerName, 
     170                           roles=attCert.roles, 
     171                           sid=sessID) 
    144172        session.save() 
    145173 
     
    151179    def wayf(self): 
    152180        ''' NDG equivalent to Shibboleth WAYF ''' 
    153          
    154         self.__setup() 
    155         self.__securitySetup() 
    156          
    157         aaURI = self.ndgCfg.get('NDG_SECURITY', 'attAuthorityURI') 
     181        log.debug("LoginController.wayf ...")    
    158182 
    159183        # May be better as a 'g' global set-up at start-up? 
    160184        # 
    161185        # tracefile could be removed for production use 
    162         aaClnt = AttAuthorityClient(uri=aaURI, 
    163                                 signingCertFilePath=self.wssCertFilePath, 
    164                                 signingPriKeyFilePath=self.wssPriKeyFilePath, 
    165                                 signingPriKeyPwd=self.wssPriKeyPwd, 
    166                                 caCertFilePathList=self.wssCACertFilePathList, 
    167                                 tracefile=self.tracefile) 
     186        aaClnt = AttAuthorityClient(uri=g.securityCfg.aaURI, 
     187                    signingCertFilePath=g.securityCfg.wssCertFilePath, 
     188                    signingPriKeyFilePath=g.securityCfg.wssPriKeyFilePath, 
     189                    signingPriKeyPwd=g.securityCfg.wssPriKeyPwd, 
     190                    caCertFilePathList=g.securityCfg.wssCACertFilePathList, 
     191                    tracefile=g.securityCfg.tracefile) 
    168192 
    169193        # Get list of login uris for trusted sites including THIS one 
    170194        log.debug("Calling Attribute Authority getTrustedHostInfo and " + \ 
    171195                  "getHostInfo for wayf") 
    172         trustedHosts = aaClnt.getTrustedHostInfo() 
    173         thisHost = aaClnt.getHostInfo() 
    174          
    175         try: 
    176             trustedHosts[thisHost.keys()[0]] = thisHost.values()[0] 
    177         except TypeError: 
    178             raise LoginControllerError, \ 
    179                         "thisHost returned from Attribute Authority is empty"  
    180              
    181         c.providers=dict([(k,v['loginURI']) for k,v in trustedHosts.items()]) 
    182          
    183         if 'panelView' in session: del session['panelView'] 
     196 
     197        hosts = aaClnt.getAllHostsInfo()     
     198        c.providers=dict([(k, v['loginURI']) for k, v in hosts.items()]) 
     199         
    184200        session.save() 
    185         return render_response('wayf') 
     201         
     202        return render('wayf') 
     203         
    186204         
    187205    def __doRedirect(self): 
    188          
    189         # Need to pass security creds back to requestor so that they can make 
    190         # a cookie.  If the requestor is in the same domain as the login then 
    191         # this is not necessary. 
     206        """Pass security creds back to requestor so that they can make 
     207        a cookie.  If the requestor is in the same domain as the login then 
     208        this is not necessary.""" 
     209         
    192210        # and now go back to whence we had come 
    193211        if c.returnTo!='': 
     
    202220            log.debug('Login redirect to [%s]' % cc) 
    203221 
    204             returnToHostname = urlparse(cc)[1] 
    205  
    206             if thisHostname not in returnToHostname: 
     222            returnToHostname = urlsplit(cc)[1] 
     223#            returnToHostname = 'localhost' 
     224#            if thisHostname not in returnToHostname: 
     225            if True: 
    207226                # Returning to a different domain - copy the security session 
    208227                # details into the URL query string 
     
    211230                else: 
    212231                    cc+='?%s' % LoginServiceQuery() 
    213  
     232             
     233            # Check return-to address by examining peer cert 
     234            log.debug("Checking return-to URL for valid SSL peer cert. ...") 
     235             
     236            # Look-up list of Cert DNs for trusted requestors 
     237            aaClnt = AttAuthorityClient(uri=g.securityCfg.aaURI, 
     238                    signingCertFilePath=g.securityCfg.wssCertFilePath, 
     239                    signingPriKeyFilePath=g.securityCfg.wssPriKeyFilePath, 
     240                    signingPriKeyPwd=g.securityCfg.wssPriKeyPwd, 
     241                    caCertFilePathList=g.securityCfg.wssCACertFilePathList, 
     242                    tracefile=g.securityCfg.tracefile) 
     243             
     244            HostInfo = aaClnt.getAllHostsInfo() 
     245            requestServerDN = [val['loginRequestServerDN'] \ 
     246                               for val in HostInfo.values()] 
     247            log.debug("Expecting DN for SSL peer one of: %s"%requestServerDN) 
     248            hostCheck=HostCheck(acceptedDNs=requestServerDN, 
     249                    caCertFilePathList=g.securityCfg.sslCACertFilePathList)             
     250            testConnection = HTTPSConnection(returnToHostname,  
     251                                             None,  
     252                                             postConnectionCheck=hostCheck) 
     253 
     254            log.debug('Testing connection to "%s"' % returnToHostname) 
     255            try: 
     256                try: 
     257                    testConnection.connect() 
     258                except (InvalidCertSignature, InvalidCertDN), e: 
     259                    log.error("Login: requestor SSL certificate: %s" % e) 
     260                    c.xml = """Request to redirect back to %s with your  
     261credentials refused: there is a problem with the SSL certificate of this site. 
     262  Please report this to your site administrator.""" % returnToHostname 
     263                    response.status_code = 400 
     264                    return render('login') 
     265            finally:     
     266                testConnection.close() 
     267 
     268            log.debug("SSL peer cert. is OK - redirecting to [%s] ..." % cc) 
    214269            h.redirect_to(cc) 
    215270        else: 
    216271            c.xml='<p> Logged in </p>' 
    217             return render_response('content') 
     272            return render('content') 
  • TI12-security/trunk/python/ndg.security.server/ndg/security/server/LoginService/loginservice/lib/app_globals.py

    r2918 r3652  
     1"""The application's Globals object""" 
     2from pylons import config 
     3 
    14class Globals(object): 
     5    """Globals acts as a container for objects available throughout the 
     6    life of the application 
     7    """ 
    28 
    3     def __init__(self, global_conf, app_conf, **extra): 
    4         """ 
    5         Globals acts as a container for objects available throughout 
    6         the life of the application. 
    7  
    8         One instance of Globals is created by Pylons during 
    9         application initialization and is available during requests 
    10         via the 'g' variable. 
    11          
    12         ``global_conf`` 
    13             The same variable used throughout ``config/middleware.py`` 
    14             namely, the variables from the ``[DEFAULT]`` section of the 
    15             configuration file. 
    16              
    17         ``app_conf`` 
    18             The same ``kw`` dictionary used throughout 
    19             ``config/middleware.py`` namely, the variables from the 
    20             section in the config file for your application. 
    21              
    22         ``extra`` 
    23             The configuration returned from ``load_config`` in  
    24             ``config/middleware.py`` which may be of use in the setup of 
    25             your global variables. 
    26              
     9    def __init__(self): 
     10        """One instance of Globals is created during application 
     11        initialization and is available during requests via the 'g' 
     12        variable 
    2713        """ 
    2814        pass 
    29          
    30     def __del__(self): 
    31         """ 
    32         Put any cleanup code to be run when the application finally exits  
    33         here. 
    34         """ 
    35         pass 
  • TI12-security/trunk/python/ndg.security.server/ndg/security/server/LoginService/loginservice/lib/helpers.py

    r2918 r3652  
    55""" 
    66from webhelpers import * 
    7 from pylons.helpers import log 
     7from pylons.controllers.util import log 
    88from pylons.i18n import get_lang, set_lang 
  • TI12-security/trunk/python/ndg.security.server/ndg/security/server/SessionMgr/__init__.py

    r3153 r3652  
    354354        'keyPwd':                 None, 
    355355        'clntCertFile':           None, 
     356        'wssRefInclNS':           [], 
     357        'wssSignedInfoInclNS':    [], 
    356358        'sessMgrEncrKey':         None,  
    357359        'sessMgrURI':             None, 
     
    658660                    # trailing white space 
    659661                    if isinstance(self.__validElem[elem.tag], list): 
    660                         self.__prop[elem.tag] = [filtElemTxt(subElem) \ 
    661                                                  for subElem in elem] 
     662                        if len(elem) == 0 and elem.text is not None: 
     663                            # Treat as a list of space separated elements 
     664                            self.__prop[elem.tag] = elem.text.split() 
     665                        else: 
     666                            # Parse from a list of sub-elements 
     667                            self.__prop[elem.tag] = [filtElemTxt(subElem) \ 
     668                                                     for subElem in elem] 
    662669                         
    663670                    elif elem.text is not None and elem.tag != 'keyPwd':                         
     
    932939            # and session ID 
    933940            # 
    934             # Nb. Client pub/pri key info to allow message level  
    935             # encryption for responses from Attribute Authority WS 
     941            wssSignatureHandlerKw = { 
     942            'refC14nKw': {'unsuppressedPrefixes': self.__prop['wssRefInclNS']}, 
     943            'signedInfoC14nKw':{'unsuppressedPrefixes': 
     944                                self.__prop['wssSignedInfoInclNS']}} 
     945 
    936946            try:    
    937947                userSess = UserSession(credRepos=self.__credRepos,  
    938948                             caCertFilePathList=self.__prop['caCertFileList'], 
     949                             wssSignatureHandlerKw=wssSignatureHandlerKw, 
    939950                             *creds)       
    940951            except Exception, e: 
  • TI12-security/trunk/python/ndg.security.server/ndg/security/server/conf/attAuthority.tac

    r3135 r3652  
    247247    # Initialise WS-Security signature handler passing Attribute Authority 
    248248    # public and private keys 
     249     
     250    # Inclusive namespaces for Exclusive C14N 
     251    refC14nKw = {'unsuppressedPrefixes': srv.aa['wssRefInclNS']} 
     252    signedInfoC14nKw = {'unsuppressedPrefixes': 
     253                        srv.aa['wssSignedInfoInclNS']} 
     254     
    249255    WSSecurityHandler.signatureHandler = SignatureHandler(\ 
    250                                 verifyingCertFilePath=srv.aa['clntCertFile'], 
    251                                 signingCertFilePath=srv.aa['certFile'], 
    252                                 signingPriKeyFilePath=srv.aa['keyFile'], 
    253                                 signingPriKeyPwd=srv.aa['keyPwd'], 
    254                                 caCertFilePathList=srv.aa.get('caCertFileList')) 
     256                                        verifyingCertFilePath=srv.aa['clntCertFile'], 
     257                                        signingCertFilePath=srv.aa['certFile'], 
     258                                        signingPriKeyFilePath=srv.aa['keyFile'], 
     259                                        signingPriKeyPwd=srv.aa['keyPwd'], 
     260                                        caCertFilePathList=srv.aa.get('caCertFileList'), 
     261                                        refC14nKw=refC14nKw, 
     262                                        signedInfoC14nKw=signedInfoC14nKw) 
    255263 
    256264# Add Service to Attribute Authority branch 
  • TI12-security/trunk/python/ndg.security.server/ndg/security/server/conf/attAuthorityProperties.xml

    r3199 r3652  
    1919    <sslCACertDir>$NDGSEC_DIR/conf/certs/ca</sslCACertDir> 
    2020    <!-- 
    21     PKI settings for signature of outbound SOAP messages 
     21    WS-Security settings for signature of outbound SOAP messages 
    2222    --> 
    2323    <useSignatureHandler>Yes</useSignatureHandler> <!-- leave blank for no signature --> 
     
    2525    <keyFile>$NDGSEC_DIR/conf/certs/aa-key.pem</keyFile> 
    2626    <keyPwd></keyPwd> 
     27        <!--  
     28        Inclusive namespace prefixes for reference and SignedInfo sections of 
     29        WS-Security digital signature 
     30        --> 
     31        <wssRefInclNS></wssRefInclNS> 
     32        <wssSignedInfoInclNS></wssSignedInfoInclNS> 
    2733    <!--  
    2834    CA Certificates used to verify X.509 certs used in peer SOAP messages, 
  • TI12-security/trunk/python/ndg.security.server/ndg/security/server/conf/sessionMgr.tac

    r3145 r3652  
    216216        # Initialise WS-Security signature handler passing Session Manager 
    217217        # public and private keys 
     218     
     219    # Inclusive namespaces for Exclusive C14N 
     220        refC14nKw = {'unsuppressedPrefixes': srv.sm['wssRefInclNS']} 
     221        signedInfoC14nKw = {'unsuppressedPrefixes': 
     222                                            srv.sm['wssSignedInfoInclNS']} 
     223 
    218224        WSSecurityHandler.signatureHandler = SignatureHandler(\ 
    219225                                                        verifyingCertFilePath=srv.sm['clntCertFile'], 
     
    221227                            signingPriKeyFilePath=srv.sm['keyFile'], 
    222228                            signingPriKeyPwd=srv.sm['keyPwd'], 
    223                             caCertFilePathList=srv.sm.get('caCertFileList')) 
     229                            caCertFilePathList=srv.sm.get('caCertFileList'), 
     230                                        refC14nKw=refC14nKw, 
     231                                        signedInfoC14nKw=signedInfoC14nKw) 
    224232 
    225233# Add Service to Session Manager branch 
  • TI12-security/trunk/python/ndg.security.server/ndg/security/server/conf/sessionMgrProperties.xml

    r3199 r3652  
    2626    <!-- Password protecting private key file - leave blank if none set --> 
    2727    <keyPwd></keyPwd> 
     28        <wssRefInclNS></wssRefInclNS> 
     29        <wssSignedInfoInclNS></wssSignedInfoInclNS> 
    2830    <!--  
    2931    CA Certificates used to verify X.509 certs used in peer SOAP messages, 
  • TI12-security/trunk/python/ndg.security.server/ndg/security/server/conf/simpleCAProperties.xml

    r2148 r3652  
    99    <keyFile></keyFile> 
    1010    <keyPwd></keyPwd> 
     11        <wssRefInclNS></wssRefInclNS> 
     12        <wssSignedInfoInclNS></wssSignedInfoInclNS> 
    1113    <!--  
    1214    Set the certificate used to verify the signature of messages from the  
  • TI12-security/trunk/python/ndg.security.test/ndg/security/test/attAuthority/AttAuthorityClientTest.py

    r3189 r3652  
    106106            signingCertChain = None 
    107107            signingCertFilePath = clntCertFilePath 
     108 
     109        # Inclusive namespace prefixes for Exclusive C14N 
     110        try: 
     111            refC14nKw = {'unsuppressedPrefixes': 
     112                         self.cfg['setUp']['wssrefinclns'].split()}            
     113        except KeyError: 
     114            refC14nKw = {'unsuppressedPrefixes':[]} 
     115 
     116        try: 
     117            signedInfoC14nKw = {'unsuppressedPrefixes': 
     118                            self.cfg['setUp']['wsssignedinfoinclns'].split()}           
     119        except KeyError: 
     120            signedInfoC14nKw = {'unsuppressedPrefixes':[]} 
    108121                 
    109122        setSignatureHandler = eval(self.cfg['setUp']['setsignaturehandler']) 
     
    111124        # Instantiate WS proxy 
    112125        self.clnt = AttAuthorityClient(uri=self.cfg['setUp']['uri'], 
    113             sslPeerCertCN=self.cfg['setUp'].get('sslpeercertcn'), 
    114             sslCACertList=sslCACertList, 
    115             setSignatureHandler=setSignatureHandler, 
    116             reqBinSecTokValType=reqBinSecTokValType, 
    117             signingCertFilePath=signingCertFilePath, 
    118             signingCertChain=signingCertChain, 
    119             signingPriKeyFilePath=clntPriKeyFilePath, 
    120             signingPriKeyPwd=self.clntPriKeyPwd, 
    121             caCertFilePathList=caCertFilePathList, 
    122             tracefile=sys.stderr) 
     126                        sslPeerCertCN=self.cfg['setUp'].get('sslpeercertcn'), 
     127                        sslCACertList=sslCACertList, 
     128                        setSignatureHandler=setSignatureHandler, 
     129                        reqBinSecTokValType=reqBinSecTokValType, 
     130                        signingCertFilePath=signingCertFilePath, 
     131                        signingCertChain=signingCertChain, 
     132                        signingPriKeyFilePath=clntPriKeyFilePath, 
     133                        signingPriKeyPwd=self.clntPriKeyPwd, 
     134                        caCertFilePathList=caCertFilePathList, 
     135                        refC14nKw=refC14nKw, 
     136                        signedInfoC14nKw=signedInfoC14nKw, 
     137                        tracefile=sys.stderr) 
    123138             
    124139     
  • TI12-security/trunk/python/ndg.security.test/ndg/security/test/attAuthority/attAuthorityClientTest.cfg

    r3189 r3652  
    6464# in message signature / peer cert in SSL connection 
    6565cacertfilepathlist = $NDGSEC_AACLNT_UNITTEST_DIR/ca/ndg-test-ca.crt 
     66 
     67# Inclusive namespaces for Exclusive C14N 
     68#wssRefInclNS: xmlns xsi xsd SOAP-ENV wsu wsse ns1 
     69#wssSignedInfoInclNS: xsi xsd SOAP-ENV ds wsse ec 
     70wssRefInclNS:  
     71wssSignedInfoInclNS:  
    6672 
    6773[test3GetTrustedHostInfo] 
  • TI12-security/trunk/python/ndg.security.test/ndg/security/test/attAuthority/siteAAttAuthorityProperties.xml

    r3192 r3652  
    1212    --> 
    1313    <sslCACertDir>$NDGSEC_AACLNT_UNITTEST_DIR/ca</sslCACertDir> 
    14     <!-- leave blank for no signature --> 
     14    <!--  
     15        WS-Security settings leave 'useSignatureHandler' blank for no  
     16        signature  
     17        --> 
    1518    <useSignatureHandler>Yes</useSignatureHandler>  
    1619    <certFile>$NDGSEC_AACLNT_UNITTEST_DIR/siteA-aa.crt</certFile> 
    1720    <keyFile>$NDGSEC_AACLNT_UNITTEST_DIR/siteA-aa.key</keyFile> 
    1821    <keyPwd></keyPwd> 
     22        <wssRefInclNS></wssRefInclNS> 
     23        <wssSignedInfoInclNS></wssSignedInfoInclNS> 
    1924    <caCertFileList> 
    2025        <caCertFile>$NDGSEC_AACLNT_UNITTEST_DIR/ca/ndg-test-ca.crt</caCertFile> 
  • TI12-security/trunk/python/ndg.security.test/ndg/security/test/attAuthority/siteBAttAuthorityProperties.xml

    r3192 r3652  
    1111    --> 
    1212    <sslCACertDir>$NDGSEC_AACLNT_UNITTEST_DIR/ca</sslCACertDir> 
     13        <!-- WS-Security settings --> 
    1314    <useSignatureHandler>Yes</useSignatureHandler> <!-- leave blank for no signature --> 
    1415    <certFile>$NDGSEC_AACLNT_UNITTEST_DIR/siteB-aa.crt</certFile> 
     
    2425    <keyFile>$NDGSEC_AACLNT_UNITTEST_DIR/siteB-aa.key</keyFile> 
    2526    <keyPwd></keyPwd> 
     27        <wssRefInclNS></wssRefInclNS> 
     28        <wssSignedInfoInclNS></wssSignedInfoInclNS> 
    2629    <!--  
    2730    Set the certificate used to verify the signature of messages from the  
  • TI12-security/trunk/python/ndg.security.test/ndg/security/test/sessionMgr/sessionMgrProperties.xml

    r3192 r3652  
    1212    <sslCACertDir>$NDGSEC_SM_UNITTEST_DIR/ca</sslCACertDir> 
    1313    <!-- 
    14     PKI settings for signature of outbound SOAP messages 
     14    WS-Security settings for signature of outbound SOAP messages 
    1515    --> 
    1616    <useSignatureHandler>Yes</useSignatureHandler> <!-- leave blank for no signature --> 
     
    2525    <keyFile>$NDGSEC_SM_UNITTEST_DIR/sm.key</keyFile> 
    2626    <keyPwd/> 
     27        <!--  
     28        Inclusive namespace prefixes for reference and SignedInfo sections of 
     29        WS-Security digital signature 
     30        --> 
     31        <wssRefInclNS></wssRefInclNS> 
     32        <wssSignedInfoInclNS></wssSignedInfoInclNS> 
    2733    <!--  
    2834    Set the certificate used to verify the signature of messages from the  
  • TI12-security/trunk/python/ndg.security.test/ndg/security/test/sessionMgrClient/SessionMgrClientTest.py

    r3203 r3652  
    110110            signingCertChain = None 
    111111            signingCertFilePath = clntCertFilePath 
     112 
     113        # Inclusive namespace prefixes for Exclusive C14N 
     114        try: 
     115            refC14nKw = {'unsuppressedPrefixes': 
     116                         self.cfg['setUp']['wssrefinclns'].split()}            
     117        except KeyError: 
     118            refC14nKw = {'unsuppressedPrefixes':[]} 
     119 
     120        try: 
     121            signedInfoC14nKw = {'unsuppressedPrefixes': 
     122                            self.cfg['setUp']['wsssignedinfoinclns'].split()}           
     123        except KeyError: 
     124            signedInfoC14nKw = {'unsuppressedPrefixes':[]} 
    112125                 
    113126        setSignatureHandler = eval(self.cfg['setUp']['setsignaturehandler']) 
     
    125138                        signingPriKeyPwd=clntPriKeyPwd, 
    126139                        caCertFilePathList=caCertFilePathList, 
     140                        refC14nKw=refC14nKw, 
     141                        signedInfoC14nKw=signedInfoC14nKw, 
    127142                        tracefile=sys.stderr)  
    128143         
  • TI12-security/trunk/python/ndg.security.test/ndg/security/test/sessionMgrClient/sessionMgrClientTest.cfg

    r3196 r3652  
    6464cacertfilepathlist = $NDGSEC_SMCLNT_UNITTEST_DIR/ca/ndg-test-ca.crt 
    6565 
     66# Inclusive namespaces for Exclusive C14N 
     67#wssRefInclNS: xmlns xsi xsd SOAP-ENV wsu wsse ns1 
     68#wssSignedInfoInclNS: xsi xsd SOAP-ENV ds wsse ec 
     69wssRefInclNS:  
     70wssSignedInfoInclNS:  
     71 
    6672[test1Connect]  
    6773username = testuser 
  • TI12-security/trunk/python/ndg.security.test/ndg/security/test/sessionMgrClient/sessionMgrProperties.xml

    r3199 r3652  
    3434    <keyFile>$NDGSEC_SMCLNT_UNITTEST_DIR/sm.key</keyFile> 
    3535    <keyPwd/> 
     36        <!--  
     37        Inclusive namespace prefixes for reference and SignedInfo sections of 
     38        WS-Security digital signature 
     39        --> 
     40        <wssRefInclNS></wssRefInclNS> 
     41        <wssSignedInfoInclNS></wssSignedInfoInclNS> 
    3642    <!--  
    3743    Set the certificate used to verify the signature of messages from the  
  • TI12-security/trunk/python/ndg.security.test/ndg/security/test/wsSecurity/client/echoClientTest.cfg

    r3195 r3652  
    88# version 1.0 or later. 
    99[setUp] 
    10 uri = http://localhost:7000/Echo 
     10#uri = http://localhost:7100/Echo 
     11uri = http://localhost:7200/Echo 
    1112signingPriKeyFilePath = $NDGSEC_WSSECLNT_UNITTEST_DIR/clnt.key 
    1213signingPriKeyPwd =  
  • TI12-security/trunk/python/ndg.security.test/ndg/security/test/wsSecurity/client/echoClientTest.py

    r3195 r3652  
    4949                                 signingPriKeyPwd=signingPriKeyPwd, 
    5050                                 signingCertFilePath=signingCertFilePath, 
    51                                  caCertFilePathList=caCertFilePathList) 
     51                                 caCertFilePathList=caCertFilePathList, 
     52                                 refC14nKw={'unsuppressedPrefixes':[]}, 
     53                                 signedInfoC14nKw={'unsuppressedPrefixes':[]}) 
    5254 
    5355        locator = EchoServiceLocator() 
  • TI12-security/trunk/python/ndg.security.test/ndg/security/test/wsSecurity/echo.wsdl

    r3123 r3652  
    5757  <service name="EchoService"> 
    5858    <port name="Echo" binding="tns:EchoBinding"> 
    59       <soap:address location="http://localhost:7100"/> 
     59      <soap:address location="http://localhost:7100/Echo"/> 
    6060    </port> 
    6161  </service> 
  • TI12-security/trunk/python/ndg.security.test/ndg/security/test/wsSecurity/server/echoServer.cfg

    r3195 r3652  
    99[setUp] 
    1010hostname = localhost 
    11 port = 7000 
     11#port = 7000 
     12port = 7100 
    1213path = /Echo 
    1314signingPriKeyFilePath = $NDGSEC_WSSESRV_UNITTEST_DIR/server.key 
  • TI12-security/trunk/python/ndg.security.test/ndg/security/test/wsSecurity/server/echoServer.py

    r3195 r3652  
    6161                            self.request.EchoIn 
    6262        return response 
     63     
     64     
     65    def authorize(self, auth_info, post, action): 
     66        '''Override default simply in order to display client request info''' 
     67        ctx = GetSOAPContext() 
     68        print "-"*80 
     69        print dir(ctx) 
     70        print "Container: ", ctx.connection 
     71        print "Parsed SOAP: ", ctx.parsedsoap 
     72        print "Container: ", ctx.container 
     73        print "HTTP Headers:\n", ctx.httpheaders 
     74        print "-"*80 
     75        print "Client Request:\n", ctx.xmldata 
     76        return 1 
    6377 
    6478    
     
    88102     
    89103    # Create the Inherited version of the server 
    90     echo = EchoService(tracefile=sys.stdout) 
     104    echo = EchoService() 
    91105    echo.signatureHandler = wsSecurity.SignatureHandler(\ 
    92106                                signingCertFilePath=signingCertFilePath, 
    93107                                signingPriKeyFilePath=signingPriKeyFilePath, 
    94108                                signingPriKeyPwd=signingPriKeyPwd, 
    95                                 caCertFilePathList=caCertFilePathList) 
     109                                caCertFilePathList=caCertFilePathList, 
     110                                refC14nKw={'unsuppressedPrefixes':[]}, 
     111                                signedInfoC14nKw={'unsuppressedPrefixes':[]}) 
     112#                                refC14nKw={'unsuppressedPrefixes':  
     113#                                           ['xmlns',  
     114#                                            'xsi',  
     115#                                            'xsd',  
     116#                                            'SOAP-ENV', 
     117#                                            'soapenv',  
     118#                                            'wsu',  
     119#                                            'wsse',  
     120#                                            'ns1']}, 
     121#                                signedInfoC14nKw={'unsuppressedPrefixes':  
     122#                                                  ['xsi',  
     123#                                                   'xsd',  
     124#                                                   'SOAP-ENV', 
     125#                                                   'soapenv',  
     126#                                                   'ds',  
     127#                                                   'wsse',  
     128#                                                   'ec']}) 
    96129 
    97130    serviceContainer.setNode(echo, url=path) 
Note: See TracChangeset for help on using the changeset viewer.