Ignore:
Timestamp:
29/09/08 16:05:29 (11 years ago)
Author:
pjkersha
Message:

Working unit tests for WSGI based Attribute Authority.

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

TODO:

  • Simplify unit test config for client.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI12-security/trunk/documentation/epydoc/ndg.security.common.SQLObject-pysrc.html

    r3153 r4245  
    7272<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-string">License, version 1.0 or later."""</tt> </tt> 
    7373<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-name">__contact__</tt> <tt class="py-op">=</tt> <tt class="py-string">"P.J.Kershaw@rl.ac.uk"</tt> </tt> 
    74 <a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable ndg.__revision__=ndg-module.html#__revision__,Variable ndg.security.__revision__=ndg.security-module.html#__revision__,Variable ndg.security.client.LogClient.__revision__=ndg.security.client.LogClient-module.html#__revision__,Variable ndg.security.client.SimpleCAClient.__revision__=ndg.security.client.SimpleCAClient-module.html#__revision__,Variable ndg.security.client.__revision__=ndg.security.client-module.html#__revision__,Variable ndg.security.client.ndgSessionClient.__revision__=ndg.security.client.ndgSessionClient-module.html#__revision__,Variable ndg.security.common.AttAuthority.__revision__=ndg.security.common.AttAuthority-module.html#__revision__,Variable ndg.security.common.AttCert.__revision__=ndg.security.common.AttCert-module.html#__revision__,Variable ndg.security.common.CredWallet.__revision__=ndg.security.common.CredWallet-module.html#__revision__,Variable ndg.security.common.SQLObject.__revision__=ndg.security.common.SQLObject-module.html#__revision__,Variable ndg.security.common.SecurityCGI.__revision__=ndg.security.common.SecurityCGI-module.html#__revision__,Variable ndg.security.common.SessionCookie.__revision__=ndg.security.common.SessionCookie-module.html#__revision__,Variable ndg.security.common.SessionMgr.__revision__=ndg.security.common.SessionMgr-module.html#__revision__,Variable ndg.security.common.X509.__revision__=ndg.security.common.X509-module.html#__revision__,Variable ndg.security.common.XMLSec.__revision__=ndg.security.common.XMLSec-module.html#__revision__,Variable ndg.security.common.__revision__=ndg.security.common-module.html#__revision__,Variable ndg.security.common.ca.__revision__=ndg.security.common.ca-module.html#__revision__,Variable ndg.security.common.gatekeeper.__revision__=ndg.security.common.gatekeeper-module.html#__revision__,Variable ndg.security.common.logService.__revision__=ndg.security.common.logService-module.html#__revision__,Variable ndg.security.common.logService.log_services_server.__revision__=ndg.security.common.logService.log_services_server-module.html#__revision__,Variable ndg.security.common.m2CryptoSSLUtility.__revision__=ndg.security.common.m2CryptoSSLUtility-module.html#__revision__,Variable ndg.security.common.openssl.__revision__=ndg.security.common.openssl-module.html#__revision__,Variable ndg.security.common.sessionCookie.__revision__=ndg.security.common.sessionCookie-module.html#__revision__,Variable ndg.security.common.wsSecurity.__revision__=ndg.security.common.wsSecurity-module.html#__revision__,Variable ndg.security.server.AttAuthority.__revision__=ndg.security.server.AttAuthority-module.html#__revision__,Variable ndg.security.server.Log.__revision__=ndg.security.server.Log-module.html#__revision__,Variable ndg.security.server.MyProxy.__revision__=ndg.security.server.MyProxy-module.html#__revision__,Variable ndg.security.server.SessionMgr.__revision__=ndg.security.server.SessionMgr-module.html#__revision__,Variable ndg.security.server.__revision__=ndg.security.server-module.html#__revision__,Variable ndg.security.server.ca.__revision__=ndg.security.server.ca-module.html#__revision__,Variable ndg.security.server.conf.__revision__=ndg.security.server.conf-module.html#__revision__,Variable ndg.security.server.conf.attCertLog.__revision__=ndg.security.server.conf.attCertLog-module.html#__revision__,Variable ndg.security.server.conf.certs.__revision__=ndg.security.server.conf.certs-module.html#__revision__,Variable ndg.security.server.conf.certs.ca.__revision__=ndg.security.server.conf.certs.ca-module.html#__revision__,Variable ndg.security.server.conf.userRoles.__revision__=ndg.security.server.conf.userRoles-module.html#__revision__,Variable ndg.security.server.initCredReposDb.__revision__=ndg.security.server.initCredReposDb-module.html#__revision__,Variable ndg.security.server.log.__revision__=ndg.security.server.log-module.html#__revision__,Variable ndg.security.server.share.__revision__=ndg.security.server.share-module.html#__revision__,Variable ndg.security.server.twisted.__revision__=ndg.security.server.twisted-module.html#__revision__,Variable ndg.security.test.Log.LogTest.__revision__=ndg.security.test.Log.LogTest-module.html#__revision__,Variable ndg.security.test.Log.__revision__=ndg.security.test.Log-module.html#__revision__,Variable ndg.security.test.SecurityCGItest.__revision__=ndg.security.test.SecurityCGItest-module.html#__revision__,Variable ndg.security.test.X509.X509Test.__revision__=ndg.security.test.X509.X509Test-module.html#__revision__,Variable ndg.security.test.X509.__revision__=ndg.security.test.X509-module.html#__revision__,Variable ndg.security.test.XMLSecDoc.__revision__=ndg.security.test.XMLSecDoc-module.html#__revision__,Variable ndg.security.test.XMLSecDoc.xmlSecDocTest.__revision__=ndg.security.test.XMLSecDoc.xmlSecDocTest-module.html#__revision__,Variable ndg.security.test.__revision__=ndg.security.test-module.html#__revision__,Variable ndg.security.test.attAuthority.AttAuthorityClientTest.__revision__=ndg.security.test.attAuthority.AttAuthorityClientTest-module.html#__revision__,Variable ndg.security.test.attAuthority.__revision__=ndg.security.test.attAuthority-module.html#__revision__,Variable ndg.security.test.attAuthority.attCertLog.__revision__=ndg.security.test.attAuthority.attCertLog-module.html#__revision__,Variable ndg.security.test.attAuthority.ca.__revision__=ndg.security.test.attAuthority.ca-module.html#__revision__,Variable ndg.security.test.attAuthority.siteAUserRoles.__revision__=ndg.security.test.attAuthority.siteAUserRoles-module.html#__revision__,Variable ndg.security.test.attAuthority.siteBUserRoles.__revision__=ndg.security.test.attAuthority.siteBUserRoles-module.html#__revision__,Variable ndg.security.test.attCert.AttCertTest.__revision__=ndg.security.test.attCert.AttCertTest-module.html#__revision__,Variable ndg.security.test.attCert.__revision__=ndg.security.test.attCert-module.html#__revision__,Variable ndg.security.test.ca.__revision__=ndg.security.test.ca-module.html#__revision__,Variable ndg.security.test.ca.caClientTest.__revision__=ndg.security.test.ca.caClientTest-module.html#__revision__,Variable ndg.security.test.gatekeeper.TestGatekeeperResrc.__revision__=ndg.security.test.gatekeeper.TestGatekeeperResrc-module.html#__revision__,Variable ndg.security.test.gatekeeper.__revision__=ndg.security.test.gatekeeper-module.html#__revision__,Variable ndg.security.test.myProxy.MyProxyClientTest.__revision__=ndg.security.test.myProxy.MyProxyClientTest-module.html#__revision__,Variable ndg.security.test.myProxy.__revision__=ndg.security.test.myProxy-module.html#__revision__,Variable ndg.security.test.sessionCookie.SessionCookieTest.__revision__=ndg.security.test.sessionCookie.SessionCookieTest-module.html#__revision__,Variable ndg.security.test.sessionCookie.__revision__=ndg.security.test.sessionCookie-module.html#__revision__,Variable ndg.security.test.sessionMgr.__revision__=ndg.security.test.sessionMgr-module.html#__revision__,Variable ndg.security.test.sessionMgr.ca.__revision__=ndg.security.test.sessionMgr.ca-module.html#__revision__,Variable ndg.security.test.sessionMgr.test.__revision__=ndg.security.test.sessionMgr.test-module.html#__revision__,Variable ndg.security.test.sessionMgrClient.SessionMgrClientTest.__revision__=ndg.security.test.sessionMgrClient.SessionMgrClientTest-module.html#__revision__,Variable ndg.security.test.sessionMgrClient.__revision__=ndg.security.test.sessionMgrClient-module.html#__revision__,Variable ndg.security.test.sessionMgrClient.ca.__revision__=ndg.security.test.sessionMgrClient.ca-module.html#__revision__,Variable ndg.security.test.wsSecurity.__revision__=ndg.security.test.wsSecurity-module.html#__revision__,Variable ndg.security.test.wsSecurity.client.__revision__=ndg.security.test.wsSecurity.client-module.html#__revision__,Variable ndg.security.test.wsSecurity.server.__revision__=ndg.security.test.wsSecurity.server-module.html#__revision__"><a title="ndg.__revision__ 
     74<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable ndg.__revision__=ndg-module.html#__revision__,Variable ndg.security.__revision__=ndg.security-module.html#__revision__,Variable ndg.security.__revision__=ndg.security-module.html#__revision__,Variable ndg.security.client.LogClient.__revision__=ndg.security.client.LogClient-module.html#__revision__,Variable ndg.security.client.SimpleCAClient.__revision__=ndg.security.client.SimpleCAClient-module.html#__revision__,Variable ndg.security.client.__revision__=ndg.security.client-module.html#__revision__,Variable ndg.security.client.ndgSessionClient.__revision__=ndg.security.client.ndgSessionClient-module.html#__revision__,Variable ndg.security.common.AttAuthority.__revision__=ndg.security.common.AttAuthority-module.html#__revision__,Variable ndg.security.common.AttCert.__revision__=ndg.security.common.AttCert-module.html#__revision__,Variable ndg.security.common.CredWallet.__revision__=ndg.security.common.CredWallet-module.html#__revision__,Variable ndg.security.common.SQLObject.__revision__=ndg.security.common.SQLObject-module.html#__revision__,Variable ndg.security.common.SecurityCGI.__revision__=ndg.security.common.SecurityCGI-module.html#__revision__,Variable ndg.security.common.SessionMgr.__revision__=ndg.security.common.SessionMgr-module.html#__revision__,Variable ndg.security.common.X509.__revision__=ndg.security.common.X509-module.html#__revision__,Variable ndg.security.common.XMLSec.__revision__=ndg.security.common.XMLSec-module.html#__revision__,Variable ndg.security.common.__revision__=ndg.security.common-module.html#__revision__,Variable ndg.security.common.authz.__revision__=ndg.security.common.authz-module.html#__revision__,Variable ndg.security.common.authz.pdp.__revision__=ndg.security.common.authz.pdp-module.html#__revision__,Variable ndg.security.common.authz.pdp.browse.__revision__=ndg.security.common.authz.pdp.browse-module.html#__revision__,Variable ndg.security.common.authz.pdp.proftp.__revision__=ndg.security.common.authz.pdp.proftp-module.html#__revision__,Variable ndg.security.common.authz.pep.__revision__=ndg.security.common.authz.pep-module.html#__revision__,Variable ndg.security.common.ca.__revision__=ndg.security.common.ca-module.html#__revision__,Variable ndg.security.common.gatekeeper.__revision__=ndg.security.common.gatekeeper-module.html#__revision__,Variable ndg.security.common.logService.__revision__=ndg.security.common.logService-module.html#__revision__,Variable ndg.security.common.logService.log_services_server.__revision__=ndg.security.common.logService.log_services_server-module.html#__revision__,Variable ndg.security.common.m2CryptoSSLUtility.__revision__=ndg.security.common.m2CryptoSSLUtility-module.html#__revision__,Variable ndg.security.common.openssl.__revision__=ndg.security.common.openssl-module.html#__revision__,Variable ndg.security.common.pylons.security_util.__revision__=ndg.security.common.pylons.security_util-module.html#__revision__,Variable ndg.security.common.saml.__revision__=ndg.security.common.saml-module.html#__revision__,Variable ndg.security.common.sessionCookie.__revision__=ndg.security.common.sessionCookie-module.html#__revision__,Variable ndg.security.common.utils.ClassFactory.__revision__=ndg.security.common.utils.ClassFactory-module.html#__revision__,Variable ndg.security.common.utils.ConfigFileParsers.__revision__=ndg.security.common.utils.ConfigFileParsers-module.html#__revision__,Variable ndg.security.common.wssecurity.BaseSignatureHandler.__revision__=ndg.security.common.wssecurity.BaseSignatureHandler-module.html#__revision__,Variable ndg.security.common.wssecurity.__revision__=ndg.security.common.wssecurity-module.html#__revision__,Variable ndg.security.common.wssecurity.dom.__revision__=ndg.security.common.wssecurity.dom-module.html#__revision__,Variable ndg.security.common.wssecurity.etree.__revision__=ndg.security.common.wssecurity.etree-module.html#__revision__,Variable ndg.security.common.xmlsec.__revision__=ndg.security.common.xmlsec-module.html#__revision__,Variable ndg.security.common.xmlsec.dom.__revision__=ndg.security.common.xmlsec.dom-module.html#__revision__,Variable ndg.security.common.xmlsec.etree.__revision__=ndg.security.common.xmlsec.etree-module.html#__revision__,Variable ndg.security.common.zsi_utils.httpproxy.__revision__=ndg.security.common.zsi_utils.httpproxy-module.html#__revision__,Variable ndg.security.server.AttAuthority.__revision__=ndg.security.server.AttAuthority-module.html#__revision__,Variable ndg.security.server.Log.__revision__=ndg.security.server.Log-module.html#__revision__,Variable ndg.security.server.SessionMgr.__revision__=ndg.security.server.SessionMgr-module.html#__revision__,Variable ndg.security.server.__revision__=ndg.security.server-module.html#__revision__,Variable ndg.security.server.authenservice.MyProxy.__revision__=ndg.security.server.authenservice.MyProxy-module.html#__revision__,Variable ndg.security.server.authenservice.__revision__=ndg.security.server.authenservice-module.html#__revision__,Variable ndg.security.server.authenservice.session_mgr_my_proxy_client.__revision__=ndg.security.server.authenservice.session_mgr_my_proxy_client-module.html#__revision__,Variable ndg.security.server.ca.__revision__=ndg.security.server.ca-module.html#__revision__,Variable ndg.security.server.conf.__revision__=ndg.security.server.conf-module.html#__revision__,Variable ndg.security.server.conf.attCertLog.__revision__=ndg.security.server.conf.attCertLog-module.html#__revision__,Variable ndg.security.server.conf.certs.__revision__=ndg.security.server.conf.certs-module.html#__revision__,Variable ndg.security.server.conf.certs.ca.__revision__=ndg.security.server.conf.certs.ca-module.html#__revision__,Variable ndg.security.server.conf.userRoles.__revision__=ndg.security.server.conf.userRoles-module.html#__revision__,Variable ndg.security.server.initCredReposDb.__revision__=ndg.security.server.initCredReposDb-module.html#__revision__,Variable ndg.security.server.log.__revision__=ndg.security.server.log-module.html#__revision__,Variable ndg.security.server.pylons.container.lib.openid_provider_util.__revision__=ndg.security.server.pylons.container.lib.openid_provider_util-module.html#__revision__,Variable ndg.security.server.share.__revision__=ndg.security.server.share-module.html#__revision__,Variable ndg.security.server.twisted.__revision__=ndg.security.server.twisted-module.html#__revision__,Variable ndg.security.server.wsgi.openid_provider.__revision__=ndg.security.server.wsgi.openid_provider-module.html#__revision__,Variable ndg.security.server.wsgi.soap.__revision__=ndg.security.server.wsgi.soap-module.html#__revision__,Variable ndg.security.server.wsgi.wssecurity.__revision__=ndg.security.server.wsgi.wssecurity-module.html#__revision__,Variable ndg.security.test.Log.LogTest.__revision__=ndg.security.test.Log.LogTest-module.html#__revision__,Variable ndg.security.test.Log.__revision__=ndg.security.test.Log-module.html#__revision__,Variable ndg.security.test.X509.X509Test.__revision__=ndg.security.test.X509.X509Test-module.html#__revision__,Variable ndg.security.test.X509.__revision__=ndg.security.test.X509-module.html#__revision__,Variable ndg.security.test.XMLSecDoc.__revision__=ndg.security.test.XMLSecDoc-module.html#__revision__,Variable ndg.security.test.XMLSecDoc.xmlSecDocTest.__revision__=ndg.security.test.XMLSecDoc.xmlSecDocTest-module.html#__revision__,Variable ndg.security.test.__revision__=ndg.security.test-module.html#__revision__,Variable ndg.security.test.attAuthority.AttAuthorityClientTest.__revision__=ndg.security.test.attAuthority.AttAuthorityClientTest-module.html#__revision__,Variable ndg.security.test.attAuthority.__revision__=ndg.security.test.attAuthority-module.html#__revision__,Variable ndg.security.test.attAuthority.attCertLog.__revision__=ndg.security.test.attAuthority.attCertLog-module.html#__revision__,Variable ndg.security.test.attAuthority.ca.__revision__=ndg.security.test.attAuthority.ca-module.html#__revision__,Variable ndg.security.test.attAuthority.siteAServer.__revision__=ndg.security.test.attAuthority.siteAServer-module.html#__revision__,Variable ndg.security.test.attAuthority.siteAUserRoles.__revision__=ndg.security.test.attAuthority.siteAUserRoles-module.html#__revision__,Variable ndg.security.test.attAuthority.siteBServer.__revision__=ndg.security.test.attAuthority.siteBServer-module.html#__revision__,Variable ndg.security.test.attAuthority.siteBUserRoles.__revision__=ndg.security.test.attAuthority.siteBUserRoles-module.html#__revision__,Variable ndg.security.test.attCert.AttCertTest.__revision__=ndg.security.test.attCert.AttCertTest-module.html#__revision__,Variable ndg.security.test.attCert.__revision__=ndg.security.test.attCert-module.html#__revision__,Variable ndg.security.test.authenservice.__revision__=ndg.security.test.authenservice-module.html#__revision__,Variable ndg.security.test.authenservice.test_authen_service.__revision__=ndg.security.test.authenservice.test_authen_service-module.html#__revision__,Variable ndg.security.test.authz.pdp.testProftPDP.__revision__=ndg.security.test.authz.pdp.testProftPDP-module.html#__revision__,Variable ndg.security.test.ca.__revision__=ndg.security.test.ca-module.html#__revision__,Variable ndg.security.test.ca.caClientTest.__revision__=ndg.security.test.ca.caClientTest-module.html#__revision__,Variable ndg.security.test.myProxy.MyProxyClientTest.__revision__=ndg.security.test.myProxy.MyProxyClientTest-module.html#__revision__,Variable ndg.security.test.myProxy.__revision__=ndg.security.test.myProxy-module.html#__revision__,Variable ndg.security.test.saml.__revision__=ndg.security.test.saml-module.html#__revision__,Variable ndg.security.test.sessionCookie.SessionCookieTest.__revision__=ndg.security.test.sessionCookie.SessionCookieTest-module.html#__revision__,Variable ndg.security.test.sessionCookie.__revision__=ndg.security.test.sessionCookie-module.html#__revision__,Variable ndg.security.test.sessionMgr.__revision__=ndg.security.test.sessionMgr-module.html#__revision__,Variable ndg.security.test.sessionMgr.ca.__revision__=ndg.security.test.sessionMgr.ca-module.html#__revision__,Variable ndg.security.test.sessionMgr.test.__revision__=ndg.security.test.sessionMgr.test-module.html#__revision__,Variable ndg.security.test.sessionMgrClient.SessionMgrClientTest.__revision__=ndg.security.test.sessionMgrClient.SessionMgrClientTest-module.html#__revision__,Variable ndg.security.test.sessionMgrClient.__revision__=ndg.security.test.sessionMgrClient-module.html#__revision__,Variable ndg.security.test.sessionMgrClient.ca.__revision__=ndg.security.test.sessionMgrClient.ca-module.html#__revision__,Variable ndg.security.test.sessionMgrClient.server.__revision__=ndg.security.test.sessionMgrClient.server-module.html#__revision__,Variable ndg.security.test.wsSecurity.__revision__=ndg.security.test.wsSecurity-module.html#__revision__,Variable ndg.security.test.wsSecurity.client.__revision__=ndg.security.test.wsSecurity.client-module.html#__revision__,Variable ndg.security.test.wsSecurity.server.__revision__=ndg.security.test.wsSecurity.server-module.html#__revision__,Variable ndg.security.test.xmlsec.__revision__=ndg.security.test.xmlsec-module.html#__revision__,Variable ndg.security.test.xmlsec.dom.__revision__=ndg.security.test.xmlsec.dom-module.html#__revision__,Variable ndg.security.test.xmlsec.etree.test_etree.__revision__=ndg.security.test.xmlsec.etree.test_etree-module.html#__revision__"><a title="ndg.__revision__ 
     75ndg.security.__revision__ 
    7576ndg.security.__revision__ 
    7677ndg.security.client.LogClient.__revision__ 
     
    8384ndg.security.common.SQLObject.__revision__ 
    8485ndg.security.common.SecurityCGI.__revision__ 
    85 ndg.security.common.SessionCookie.__revision__ 
    8686ndg.security.common.SessionMgr.__revision__ 
    8787ndg.security.common.X509.__revision__ 
    8888ndg.security.common.XMLSec.__revision__ 
    8989ndg.security.common.__revision__ 
     90ndg.security.common.authz.__revision__ 
     91ndg.security.common.authz.pdp.__revision__ 
     92ndg.security.common.authz.pdp.browse.__revision__ 
     93ndg.security.common.authz.pdp.proftp.__revision__ 
     94ndg.security.common.authz.pep.__revision__ 
    9095ndg.security.common.ca.__revision__ 
    9196ndg.security.common.gatekeeper.__revision__ 
     
    9499ndg.security.common.m2CryptoSSLUtility.__revision__ 
    95100ndg.security.common.openssl.__revision__ 
     101ndg.security.common.pylons.security_util.__revision__ 
     102ndg.security.common.saml.__revision__ 
    96103ndg.security.common.sessionCookie.__revision__ 
    97 ndg.security.common.wsSecurity.__revision__ 
     104ndg.security.common.utils.ClassFactory.__revision__ 
     105ndg.security.common.utils.ConfigFileParsers.__revision__ 
     106ndg.security.common.wssecurity.BaseSignatureHandler.__revision__ 
     107ndg.security.common.wssecurity.__revision__ 
     108ndg.security.common.wssecurity.dom.__revision__ 
     109ndg.security.common.wssecurity.etree.__revision__ 
     110ndg.security.common.xmlsec.__revision__ 
     111ndg.security.common.xmlsec.dom.__revision__ 
     112ndg.security.common.xmlsec.etree.__revision__ 
     113ndg.security.common.zsi_utils.httpproxy.__revision__ 
    98114ndg.security.server.AttAuthority.__revision__ 
    99115ndg.security.server.Log.__revision__ 
    100 ndg.security.server.MyProxy.__revision__ 
    101116ndg.security.server.SessionMgr.__revision__ 
    102117ndg.security.server.__revision__ 
     118ndg.security.server.authenservice.MyProxy.__revision__ 
     119ndg.security.server.authenservice.__revision__ 
     120ndg.security.server.authenservice.session_mgr_my_proxy_client.__revision__ 
    103121ndg.security.server.ca.__revision__ 
    104122ndg.security.server.conf.__revision__ 
     
    109127ndg.security.server.initCredReposDb.__revision__ 
    110128ndg.security.server.log.__revision__ 
     129ndg.security.server.pylons.container.lib.openid_provider_util.__revision__ 
    111130ndg.security.server.share.__revision__ 
    112131ndg.security.server.twisted.__revision__ 
     132ndg.security.server.wsgi.openid_provider.__revision__ 
     133ndg.security.server.wsgi.soap.__revision__ 
     134ndg.security.server.wsgi.wssecurity.__revision__ 
    113135ndg.security.test.Log.LogTest.__revision__ 
    114136ndg.security.test.Log.__revision__ 
    115 ndg.security.test.SecurityCGItest.__revision__ 
    116137ndg.security.test.X509.X509Test.__revision__ 
    117138ndg.security.test.X509.__revision__ 
     
    123144ndg.security.test.attAuthority.attCertLog.__revision__ 
    124145ndg.security.test.attAuthority.ca.__revision__ 
     146ndg.security.test.attAuthority.siteAServer.__revision__ 
    125147ndg.security.test.attAuthority.siteAUserRoles.__revision__ 
     148ndg.security.test.attAuthority.siteBServer.__revision__ 
    126149ndg.security.test.attAuthority.siteBUserRoles.__revision__ 
    127150ndg.security.test.attCert.AttCertTest.__revision__ 
    128151ndg.security.test.attCert.__revision__ 
     152ndg.security.test.authenservice.__revision__ 
     153ndg.security.test.authenservice.test_authen_service.__revision__ 
     154ndg.security.test.authz.pdp.testProftPDP.__revision__ 
    129155ndg.security.test.ca.__revision__ 
    130156ndg.security.test.ca.caClientTest.__revision__ 
    131 ndg.security.test.gatekeeper.TestGatekeeperResrc.__revision__ 
    132 ndg.security.test.gatekeeper.__revision__ 
    133157ndg.security.test.myProxy.MyProxyClientTest.__revision__ 
    134158ndg.security.test.myProxy.__revision__ 
     159ndg.security.test.saml.__revision__ 
    135160ndg.security.test.sessionCookie.SessionCookieTest.__revision__ 
    136161ndg.security.test.sessionCookie.__revision__ 
     
    141166ndg.security.test.sessionMgrClient.__revision__ 
    142167ndg.security.test.sessionMgrClient.ca.__revision__ 
     168ndg.security.test.sessionMgrClient.server.__revision__ 
    143169ndg.security.test.wsSecurity.__revision__ 
    144170ndg.security.test.wsSecurity.client.__revision__ 
    145 ndg.security.test.wsSecurity.server.__revision__" class="py-name" href="#" onclick="return doclink('link-0', '__revision__', 'link-0');">__revision__</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'$Id: SQLObject.py 2909 2007-09-28 14:22:21Z pjkersha $'</tt> </tt> 
     171ndg.security.test.wsSecurity.server.__revision__ 
     172ndg.security.test.xmlsec.__revision__ 
     173ndg.security.test.xmlsec.dom.__revision__ 
     174ndg.security.test.xmlsec.etree.test_etree.__revision__" class="py-name" href="#" onclick="return doclink('link-0', '__revision__', 'link-0');">__revision__</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'$Id: SQLObject.py 2909 2007-09-28 14:22:21Z pjkersha $'</tt> </tt> 
    146175<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"> </tt> 
    147176<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-comment"># SQLObject Database interface</tt> </tt> 
     
    152181<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-comment"># For parsing of properties file</tt> </tt> 
    153182<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">try</tt><tt class="py-op">:</tt> <tt class="py-comment"># python 2.5</tt> </tt> 
    154 <a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">    <tt class="py-keyword">from</tt> <tt class="py-name">xml</tt><tt class="py-op">.</tt><tt class="py-name">etree</tt> <tt class="py-keyword">import</tt> <tt class="py-name">cElementTree</tt> <tt class="py-keyword">as</tt> <tt class="py-name">ElementTree</tt> </tt> 
     183<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">    <tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Variable ndg.security.test.xmlsec.etree.parsetest.xml=ndg.security.test.xmlsec.etree.parsetest-module.html#xml"><a title="ndg.security.test.xmlsec.etree.parsetest.xml" class="py-name" href="#" onclick="return doclink('link-1', 'xml', 'link-1');">xml</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module ndg.security.common.wssecurity.etree=ndg.security.common.wssecurity.etree-module.html,Module ndg.security.common.xmlsec.etree=ndg.security.common.xmlsec.etree-module.html,Package ndg.security.test.xmlsec.etree=ndg.security.test.xmlsec.etree-module.html"><a title="ndg.security.common.wssecurity.etree 
     184ndg.security.common.xmlsec.etree 
     185ndg.security.test.xmlsec.etree" class="py-name" href="#" onclick="return doclink('link-2', 'etree', 'link-2');">etree</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">cElementTree</tt> <tt class="py-keyword">as</tt> <tt class="py-name">ElementTree</tt> </tt> 
    155186<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt> 
    156187<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">    <tt class="py-comment"># if you've installed it yourself it comes this way</tt> </tt> 
    157188<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">import</tt> <tt class="py-name">cElementTree</tt> <tt class="py-keyword">as</tt> <tt class="py-name">ElementTree</tt> </tt> 
    158189<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"> </tt> 
    159 <a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Module ndg.security.common.CredWallet=ndg.security.common.CredWallet-module.html,Class ndg.security.common.CredWallet.CredWallet=ndg.security.common.CredWallet.CredWallet-class.html"><a title="ndg.security.common.CredWallet 
    160 ndg.security.common.CredWallet.CredWallet" class="py-name" href="#" onclick="return doclink('link-1', 'CredWallet', 'link-1');">CredWallet</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Class ndg.security.common.CredWallet.CredRepos=ndg.security.common.CredWallet.CredRepos-class.html,Class ndg.security.common.SQLObject.CredRepos=ndg.security.common.SQLObject.CredRepos-class.html"><a title="ndg.security.common.CredWallet.CredRepos 
    161 ndg.security.common.SQLObject.CredRepos" class="py-name" href="#" onclick="return doclink('link-2', 'CredRepos', 'link-2');">CredRepos</a></tt> <tt class="py-keyword">as</tt> <tt class="py-name">CredReposBase</tt> </tt> 
    162 <a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="ndg.security.common.CredWallet 
    163 ndg.security.common.CredWallet.CredWallet" class="py-name" href="#" onclick="return doclink('link-3', 'CredWallet', 'link-1');">CredWallet</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Class ndg.security.common.CredWallet.CredReposError=ndg.security.common.CredWallet.CredReposError-class.html"><a title="ndg.security.common.CredWallet.CredReposError" class="py-name" href="#" onclick="return doclink('link-4', 'CredReposError', 'link-4');">CredReposError</a></tt> </tt> 
     190<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name" targets="Module ndg.security.common.CredWallet=ndg.security.common.CredWallet-module.html,Class ndg.security.common.CredWallet.CredWallet=ndg.security.common.CredWallet.CredWallet-class.html"><a title="ndg.security.common.CredWallet 
     191ndg.security.common.CredWallet.CredWallet" class="py-name" href="#" onclick="return doclink('link-3', 'CredWallet', 'link-3');">CredWallet</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Class ndg.security.common.CredWallet.CredRepos=ndg.security.common.CredWallet.CredRepos-class.html,Class ndg.security.common.SQLObject.CredRepos=ndg.security.common.SQLObject.CredRepos-class.html"><a title="ndg.security.common.CredWallet.CredRepos 
     192ndg.security.common.SQLObject.CredRepos" class="py-name" href="#" onclick="return doclink('link-4', 'CredRepos', 'link-4');">CredRepos</a></tt> <tt class="py-keyword">as</tt> <tt class="py-name">CredReposBase</tt> </tt> 
     193<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-5" class="py-name"><a title="ndg.security.common.CredWallet 
     194ndg.security.common.CredWallet.CredWallet" class="py-name" href="#" onclick="return doclink('link-5', 'CredWallet', 'link-3');">CredWallet</a></tt> <tt class="py-keyword">import</tt> <tt id="link-6" class="py-name" targets="Class ndg.security.common.CredWallet.CredReposError=ndg.security.common.CredWallet.CredReposError-class.html"><a title="ndg.security.common.CredWallet.CredReposError" class="py-name" href="#" onclick="return doclink('link-6', 'CredReposError', 'link-6');">CredReposError</a></tt> </tt> 
    164195<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"> </tt> 
    165196<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"> </tt> 
     
    172203<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"> </tt> 
    173204<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">    <tt class="py-comment"># valid configuration property keywords</tt> </tt> 
    174 <a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt id="link-5" class="py-name" targets="Variable ndg.security.client.SimpleCAClient.SimpleCAClient.__validKeys=ndg.security.client.SimpleCAClient.SimpleCAClient-class.html#__validKeys,Variable ndg.security.common.SQLObject.CredRepos.__validKeys=ndg.security.common.SQLObject.CredRepos-class.html#__validKeys,Variable ndg.security.common.gatekeeper.Gatekeeper.__validKeys=ndg.security.common.gatekeeper.Gatekeeper-class.html#__validKeys,Variable ndg.security.server.AttAuthority.AttAuthority.__validKeys=ndg.security.server.AttAuthority.AttAuthority-class.html#__validKeys,Variable ndg.security.server.MyProxy.MyProxyClient.__validKeys=ndg.security.server.MyProxy.MyProxyClient-class.html#__validKeys,Variable ndg.security.server.ca.SimpleCA.__validKeys=ndg.security.server.ca.SimpleCA-class.html#__validKeys"><a title="ndg.security.client.SimpleCAClient.SimpleCAClient.__validKeys 
     205<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt id="link-7" class="py-name" targets="Variable ndg.security.client.SimpleCAClient.SimpleCAClient.__validKeys=ndg.security.client.SimpleCAClient.SimpleCAClient-class.html#__validKeys,Variable ndg.security.common.SQLObject.CredRepos.__validKeys=ndg.security.common.SQLObject.CredRepos-class.html#__validKeys,Variable ndg.security.common.gatekeeper.Gatekeeper.__validKeys=ndg.security.common.gatekeeper.Gatekeeper-class.html#__validKeys,Variable ndg.security.server.AttAuthority.AttAuthority.__validKeys=ndg.security.server.AttAuthority.AttAuthority-class.html#__validKeys,Variable ndg.security.server.SessionMgr.AbstractAutheNService.__validKeys=ndg.security.server.SessionMgr.AbstractAutheNService-class.html#__validKeys,Variable ndg.security.server.authenservice.MyProxy.MyProxyClient.__validKeys=ndg.security.server.authenservice.MyProxy.MyProxyClient-class.html#__validKeys,Variable ndg.security.server.ca.SimpleCA.__validKeys=ndg.security.server.ca.SimpleCA-class.html#__validKeys"><a title="ndg.security.client.SimpleCAClient.SimpleCAClient.__validKeys 
    175206ndg.security.common.SQLObject.CredRepos.__validKeys 
    176207ndg.security.common.gatekeeper.Gatekeeper.__validKeys 
    177208ndg.security.server.AttAuthority.AttAuthority.__validKeys 
    178 ndg.security.server.MyProxy.MyProxyClient.__validKeys 
    179 ndg.security.server.ca.SimpleCA.__validKeys" class="py-name" href="#" onclick="return doclink('link-5', '__validKeys', 'link-5');">__validKeys</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'dbURI'</tt><tt class="py-op">]</tt> </tt> 
     209ndg.security.server.SessionMgr.AbstractAutheNService.__validKeys 
     210ndg.security.server.authenservice.MyProxy.MyProxyClient.__validKeys 
     211ndg.security.server.ca.SimpleCA.__validKeys" class="py-name" href="#" onclick="return doclink('link-7', '__validKeys', 'link-7');">__validKeys</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'dbURI'</tt><tt class="py-op">]</tt> </tt> 
    180212<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">     </tt> 
    181213<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">     </tt> 
     
    196228<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__prop</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt> 
    197229<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">         </tt> 
    198 <a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-6" class="py-name" targets="Variable ndg.security.server.AttAuthority.AttAuthority.propFilePath=ndg.security.server.AttAuthority.AttAuthority-class.html#propFilePath,Variable ndg.security.server.SessionMgr.SessionMgr.propFilePath=ndg.security.server.SessionMgr.SessionMgr-class.html#propFilePath,Variable ndg.security.server.ca.SimpleCA.propFilePath=ndg.security.server.ca.SimpleCA-class.html#propFilePath"><a title="ndg.security.server.AttAuthority.AttAuthority.propFilePath 
     230<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-8" class="py-name" targets="Variable ndg.security.server.AttAuthority.AttAuthority.propFilePath=ndg.security.server.AttAuthority.AttAuthority-class.html#propFilePath,Variable ndg.security.server.SessionMgr.SessionMgr.propFilePath=ndg.security.server.SessionMgr.SessionMgr-class.html#propFilePath,Variable ndg.security.server.ca.SimpleCA.propFilePath=ndg.security.server.ca.SimpleCA-class.html#propFilePath"><a title="ndg.security.server.AttAuthority.AttAuthority.propFilePath 
    199231ndg.security.server.SessionMgr.SessionMgr.propFilePath 
    200 ndg.security.server.ca.SimpleCA.propFilePath" class="py-name" href="#" onclick="return doclink('link-6', 'propFilePath', 'link-6');">propFilePath</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt> 
     232ndg.security.server.ca.SimpleCA.propFilePath" class="py-name" href="#" onclick="return doclink('link-8', 'propFilePath', 'link-8');">propFilePath</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt> 
    201233<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">             </tt> 
    202234<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">            <tt class="py-comment"># Read database URI set in file</tt> </tt> 
    203 <a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method ndg.security.client.SimpleCAClient.SimpleCAClient.readProperties()=ndg.security.client.SimpleCAClient.SimpleCAClient-class.html#readProperties,Method ndg.security.common.SQLObject.CredRepos.readProperties()=ndg.security.common.SQLObject.CredRepos-class.html#readProperties,Method ndg.security.common.gatekeeper.Gatekeeper.readProperties()=ndg.security.common.gatekeeper.Gatekeeper-class.html#readProperties,Method ndg.security.server.AttAuthority.AttAuthority.readProperties()=ndg.security.server.AttAuthority.AttAuthority-class.html#readProperties,Method ndg.security.server.MyProxy.MyProxyClient.readProperties()=ndg.security.server.MyProxy.MyProxyClient-class.html#readProperties,Method ndg.security.server.SessionMgr.SessionMgr.readProperties()=ndg.security.server.SessionMgr.SessionMgr-class.html#readProperties,Method ndg.security.server.ca.SimpleCA.readProperties()=ndg.security.server.ca.SimpleCA-class.html#readProperties"><a title="ndg.security.client.SimpleCAClient.SimpleCAClient.readProperties 
     235<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method ndg.security.client.SimpleCAClient.SimpleCAClient.readProperties()=ndg.security.client.SimpleCAClient.SimpleCAClient-class.html#readProperties,Method ndg.security.common.SQLObject.CredRepos.readProperties()=ndg.security.common.SQLObject.CredRepos-class.html#readProperties,Method ndg.security.common.gatekeeper.Gatekeeper.readProperties()=ndg.security.common.gatekeeper.Gatekeeper-class.html#readProperties,Function ndg.security.common.utils.ConfigFileParsers.readProperties()=ndg.security.common.utils.ConfigFileParsers-module.html#readProperties,Method ndg.security.server.AttAuthority.AttAuthority.readProperties()=ndg.security.server.AttAuthority.AttAuthority-class.html#readProperties,Method ndg.security.server.SessionMgr.SessionMgr.readProperties()=ndg.security.server.SessionMgr.SessionMgr-class.html#readProperties,Method ndg.security.server.authenservice.MyProxy.MyProxyClient.readProperties()=ndg.security.server.authenservice.MyProxy.MyProxyClient-class.html#readProperties,Method ndg.security.server.ca.SimpleCA.readProperties()=ndg.security.server.ca.SimpleCA-class.html#readProperties"><a title="ndg.security.client.SimpleCAClient.SimpleCAClient.readProperties 
    204236ndg.security.common.SQLObject.CredRepos.readProperties 
    205237ndg.security.common.gatekeeper.Gatekeeper.readProperties 
     238ndg.security.common.utils.ConfigFileParsers.readProperties 
    206239ndg.security.server.AttAuthority.AttAuthority.readProperties 
    207 ndg.security.server.MyProxy.MyProxyClient.readProperties 
    208240ndg.security.server.SessionMgr.SessionMgr.readProperties 
    209 ndg.security.server.ca.SimpleCA.readProperties" class="py-name" href="#" onclick="return doclink('link-7', 'readProperties', 'link-7');">readProperties</a></tt><tt class="py-op">(</tt><tt id="link-8" class="py-name"><a title="ndg.security.server.AttAuthority.AttAuthority.propFilePath 
     241ndg.security.server.authenservice.MyProxy.MyProxyClient.readProperties 
     242ndg.security.server.ca.SimpleCA.readProperties" class="py-name" href="#" onclick="return doclink('link-9', 'readProperties', 'link-9');">readProperties</a></tt><tt class="py-op">(</tt><tt id="link-10" class="py-name"><a title="ndg.security.server.AttAuthority.AttAuthority.propFilePath 
    210243ndg.security.server.SessionMgr.SessionMgr.propFilePath 
    211 ndg.security.server.ca.SimpleCA.propFilePath" class="py-name" href="#" onclick="return doclink('link-8', 'propFilePath', 'link-6');">propFilePath</a></tt><tt class="py-op">,</tt> <tt class="py-name">dbPPhrase</tt><tt class="py-op">=</tt><tt class="py-name">dbPPhrase</tt><tt class="py-op">)</tt> </tt> 
     244ndg.security.server.ca.SimpleCA.propFilePath" class="py-name" href="#" onclick="return doclink('link-10', 'propFilePath', 'link-8');">propFilePath</a></tt><tt class="py-op">,</tt> <tt class="py-name">dbPPhrase</tt><tt class="py-op">=</tt><tt class="py-name">dbPPhrase</tt><tt class="py-op">)</tt> </tt> 
    212245<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">             </tt> 
    213246<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">prop</tt> <tt class="py-op">!=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">:</tt> </tt> 
    214247<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">             </tt> 
    215248<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">            <tt class="py-comment"># Database URI may have been set as an input keyword argument</tt> </tt> 
    216 <a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method ndg.security.client.SimpleCAClient.SimpleCAClient.setProperties()=ndg.security.client.SimpleCAClient.SimpleCAClient-class.html#setProperties,Method ndg.security.common.SQLObject.CredRepos.setProperties()=ndg.security.common.SQLObject.CredRepos-class.html#setProperties,Method ndg.security.server.MyProxy.MyProxyClient.setProperties()=ndg.security.server.MyProxy.MyProxyClient-class.html#setProperties,Method ndg.security.server.SessionMgr.SessionMgr.setProperties()=ndg.security.server.SessionMgr.SessionMgr-class.html#setProperties,Method ndg.security.server.ca.SimpleCA.setProperties()=ndg.security.server.ca.SimpleCA-class.html#setProperties"><a title="ndg.security.client.SimpleCAClient.SimpleCAClient.setProperties 
     249<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Method ndg.security.client.SimpleCAClient.SimpleCAClient.setProperties()=ndg.security.client.SimpleCAClient.SimpleCAClient-class.html#setProperties,Method ndg.security.common.SQLObject.CredRepos.setProperties()=ndg.security.common.SQLObject.CredRepos-class.html#setProperties,Method ndg.security.server.SessionMgr.AbstractAutheNService.setProperties()=ndg.security.server.SessionMgr.AbstractAutheNService-class.html#setProperties,Method ndg.security.server.SessionMgr.SessionMgr.setProperties()=ndg.security.server.SessionMgr.SessionMgr-class.html#setProperties,Method ndg.security.server.authenservice.MyProxy.MyProxyClient.setProperties()=ndg.security.server.authenservice.MyProxy.MyProxyClient-class.html#setProperties,Method ndg.security.server.ca.SimpleCA.setProperties()=ndg.security.server.ca.SimpleCA-class.html#setProperties,Method ndg.security.test.authenservice.test_authen_service.TestAutheNService.setProperties()=ndg.security.test.authenservice.test_authen_service.TestAutheNService-class.html#setProperties"><a title="ndg.security.client.SimpleCAClient.SimpleCAClient.setProperties 
    217250ndg.security.common.SQLObject.CredRepos.setProperties 
    218 ndg.security.server.MyProxy.MyProxyClient.setProperties 
     251ndg.security.server.SessionMgr.AbstractAutheNService.setProperties 
    219252ndg.security.server.SessionMgr.SessionMgr.setProperties 
    220 ndg.security.server.ca.SimpleCA.setProperties" class="py-name" href="#" onclick="return doclink('link-9', 'setProperties', 'link-9');">setProperties</a></tt><tt class="py-op">(</tt><tt class="py-name">dbPPhrase</tt><tt class="py-op">=</tt><tt class="py-name">dbPPhrase</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">prop</tt><tt class="py-op">)</tt> </tt> 
     253ndg.security.server.authenservice.MyProxy.MyProxyClient.setProperties 
     254ndg.security.server.ca.SimpleCA.setProperties 
     255ndg.security.test.authenservice.test_authen_service.TestAutheNService.setProperties" class="py-name" href="#" onclick="return doclink('link-11', 'setProperties', 'link-11');">setProperties</a></tt><tt class="py-op">(</tt><tt class="py-name">dbPPhrase</tt><tt class="py-op">=</tt><tt class="py-name">dbPPhrase</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">prop</tt><tt class="py-op">)</tt> </tt> 
    221256</div><a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"> </tt> 
    222257<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"> </tt> 
     
    262297<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">                     </tt> 
    263298<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">dbPPhrase</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt> 
    264 <a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">                        <tt class="py-keyword">raise</tt> <tt id="link-10" class="py-name"><a title="ndg.security.common.CredWallet.CredReposError" class="py-name" href="#" onclick="return doclink('link-10', 'CredReposError', 'link-4');">CredReposError</a></tt><tt class="py-op">,</tt> <tt class="py-string">"No database pass-phrase set"</tt> </tt> 
     299<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">                        <tt class="py-keyword">raise</tt> <tt id="link-12" class="py-name"><a title="ndg.security.common.CredWallet.CredReposError" class="py-name" href="#" onclick="return doclink('link-12', 'CredReposError', 'link-6');">CredReposError</a></tt><tt class="py-op">,</tt> <tt class="py-string">"No database pass-phrase set"</tt> </tt> 
    265300<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">                     </tt> 
    266301<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">                    <tt class="py-name">dbURI</tt> <tt class="py-op">=</tt> <tt class="py-name">dbURIspl</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-name">dbPPhrase</tt> <tt class="py-op">+</tt> <tt class="py-name">dbURIspl</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> </tt> 
     
    272307<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt> 
    273308<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">            <tt class="py-comment"># Checking form missing keywords</tt> </tt> 
    274 <a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt class="py-keyword">raise</tt> <tt id="link-11" class="py-name"><a title="ndg.security.common.CredWallet.CredReposError" class="py-name" href="#" onclick="return doclink('link-11', 'CredReposError', 'link-4');">CredReposError</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Error creating database URI: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">e</tt> </tt> 
     309<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt class="py-keyword">raise</tt> <tt id="link-13" class="py-name"><a title="ndg.security.common.CredWallet.CredReposError" class="py-name" href="#" onclick="return doclink('link-13', 'CredReposError', 'link-6');">CredReposError</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Error creating database URI: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">e</tt> </tt> 
    275310<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line"> </tt> 
    276311<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> 
    277312<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__con</tt> <tt class="py-op">=</tt> <tt class="py-name">connectionForURI</tt><tt class="py-op">(</tt><tt class="py-name">dbURI</tt><tt class="py-op">)</tt> </tt> 
    278313<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt> 
    279 <a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt id="link-12" class="py-name"><a title="ndg.security.common.CredWallet.CredReposError" class="py-name" href="#" onclick="return doclink('link-12', 'CredReposError', 'link-4');">CredReposError</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Error creating database connection: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">e</tt> </tt> 
     314<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt id="link-14" class="py-name"><a title="ndg.security.common.CredWallet.CredReposError" class="py-name" href="#" onclick="return doclink('link-14', 'CredReposError', 'link-6');">CredReposError</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Error creating database connection: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">e</tt> </tt> 
    280315<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"> </tt> 
    281316<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">chkConnection</tt><tt class="py-op">:</tt> </tt> 
     
    284319<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">                 </tt> 
    285320<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt> 
    286 <a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">                <tt class="py-keyword">raise</tt> <tt id="link-13" class="py-name"><a title="ndg.security.common.CredWallet.CredReposError" class="py-name" href="#" onclick="return doclink('link-13', 'CredReposError', 'link-4');">CredReposError</a></tt><tt class="py-op">,</tt> \ </tt> 
     321<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">                <tt class="py-keyword">raise</tt> <tt id="link-15" class="py-name"><a title="ndg.security.common.CredWallet.CredReposError" class="py-name" href="#" onclick="return doclink('link-15', 'CredReposError', 'link-6');">CredReposError</a></tt><tt class="py-op">,</tt> \ </tt> 
    287322<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">                        <tt class="py-string">"Error connecting to Credential Repository: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">e</tt> </tt> 
    288323<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"> </tt> 
    289324<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">             </tt> 
    290325<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">        <tt class="py-comment"># Copy the connection object into the table classes</tt> </tt> 
    291 <a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt id="link-14" class="py-name"><a title="ndg.security.common.CredWallet.CredRepos 
    292 ndg.security.common.SQLObject.CredRepos" class="py-name" href="#" onclick="return doclink('link-14', 'CredRepos', 'link-2');">CredRepos</a></tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Class ndg.security.common.SQLObject.CredRepos.UserID=ndg.security.common.SQLObject.CredRepos.UserID-class.html"><a title="ndg.security.common.SQLObject.CredRepos.UserID" class="py-name" href="#" onclick="return doclink('link-15', 'UserID', 'link-15');">UserID</a></tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Variable ndg.security.common.SQLObject.CredRepos.UserCredential._connection=ndg.security.common.SQLObject.CredRepos.UserCredential-class.html#_connection,Variable ndg.security.common.SQLObject.CredRepos.UserID._connection=ndg.security.common.SQLObject.CredRepos.UserID-class.html#_connection"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential._connection 
    293 ndg.security.common.SQLObject.CredRepos.UserID._connection" class="py-name" href="#" onclick="return doclink('link-16', '_connection', 'link-16');">_connection</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__con</tt> </tt> 
    294 <a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt id="link-17" class="py-name"><a title="ndg.security.common.CredWallet.CredRepos 
    295 ndg.security.common.SQLObject.CredRepos" class="py-name" href="#" onclick="return doclink('link-17', 'CredRepos', 'link-2');">CredRepos</a></tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Class ndg.security.common.SQLObject.CredRepos.UserCredential=ndg.security.common.SQLObject.CredRepos.UserCredential-class.html"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential" class="py-name" href="#" onclick="return doclink('link-18', 'UserCredential', 'link-18');">UserCredential</a></tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential._connection 
    296 ndg.security.common.SQLObject.CredRepos.UserID._connection" class="py-name" href="#" onclick="return doclink('link-19', '_connection', 'link-16');">_connection</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__con</tt> </tt> 
     326<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt id="link-16" class="py-name"><a title="ndg.security.common.CredWallet.CredRepos 
     327ndg.security.common.SQLObject.CredRepos" class="py-name" href="#" onclick="return doclink('link-16', 'CredRepos', 'link-4');">CredRepos</a></tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Class ndg.security.common.SQLObject.CredRepos.UserID=ndg.security.common.SQLObject.CredRepos.UserID-class.html"><a title="ndg.security.common.SQLObject.CredRepos.UserID" class="py-name" href="#" onclick="return doclink('link-17', 'UserID', 'link-17');">UserID</a></tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Variable ndg.security.common.SQLObject.CredRepos.UserCredential._connection=ndg.security.common.SQLObject.CredRepos.UserCredential-class.html#_connection,Variable ndg.security.common.SQLObject.CredRepos.UserID._connection=ndg.security.common.SQLObject.CredRepos.UserID-class.html#_connection"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential._connection 
     328ndg.security.common.SQLObject.CredRepos.UserID._connection" class="py-name" href="#" onclick="return doclink('link-18', '_connection', 'link-18');">_connection</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__con</tt> </tt> 
     329<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt id="link-19" class="py-name"><a title="ndg.security.common.CredWallet.CredRepos 
     330ndg.security.common.SQLObject.CredRepos" class="py-name" href="#" onclick="return doclink('link-19', 'CredRepos', 'link-4');">CredRepos</a></tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Class ndg.security.common.SQLObject.CredRepos.UserCredential=ndg.security.common.SQLObject.CredRepos.UserCredential-class.html"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential" class="py-name" href="#" onclick="return doclink('link-20', 'UserCredential', 'link-20');">UserCredential</a></tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential._connection 
     331ndg.security.common.SQLObject.CredRepos.UserID._connection" class="py-name" href="#" onclick="return doclink('link-21', '_connection', 'link-18');">_connection</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__con</tt> </tt> 
    297332</div><a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">           </tt> 
    298333<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line"> </tt> 
     
    302337<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"><tt class="py-docstring">        Check input keys are valid names"""</tt> </tt> 
    303338<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">         </tt> 
    304 <a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">prop</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Method ndg.security.client.SimpleCAClient.SimpleCAClient.keys()=ndg.security.client.SimpleCAClient.SimpleCAClient-class.html#keys,Method ndg.security.common.AttCert.AttCert.keys()=ndg.security.common.AttCert.AttCert-class.html#keys,Method ndg.security.common.X509.X500DN.keys()=ndg.security.common.X509.X500DN-class.html#keys,Method ndg.security.server.AttAuthority.AttAuthority.keys()=ndg.security.server.AttAuthority.AttAuthority-class.html#keys,Method ndg.security.server.SessionMgr.SessionMgr.keys()=ndg.security.server.SessionMgr.SessionMgr-class.html#keys,Method ndg.security.server.ca.SimpleCA.keys()=ndg.security.server.ca.SimpleCA-class.html#keys"><a title="ndg.security.client.SimpleCAClient.SimpleCAClient.keys 
     339<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-22" class="py-name" targets="Variable ndg.security.common.pylons.security_util.SecuritySession.key=ndg.security.common.pylons.security_util.SecuritySession-class.html#key"><a title="ndg.security.common.pylons.security_util.SecuritySession.key" class="py-name" href="#" onclick="return doclink('link-22', 'key', 'link-22');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">prop</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method ndg.security.client.SimpleCAClient.SimpleCAClient.keys()=ndg.security.client.SimpleCAClient.SimpleCAClient-class.html#keys,Method ndg.security.common.AttCert.AttCert.keys()=ndg.security.common.AttCert.AttCert-class.html#keys,Method ndg.security.common.X509.X500DN.keys()=ndg.security.common.X509.X500DN-class.html#keys,Variable ndg.security.common.pylons.security_util.SSOServiceQuery.keys=ndg.security.common.pylons.security_util.SSOServiceQuery-class.html#keys,Method ndg.security.common.pylons.security_util.SecuritySession.keys()=ndg.security.common.pylons.security_util.SecuritySession-class.html#keys,Method ndg.security.common.saml.AttributeAssertion.keys()=ndg.security.common.saml.AttributeAssertion-class.html#keys,Method ndg.security.common.wssecurity.WSSecurityConfig.keys()=ndg.security.common.wssecurity.WSSecurityConfig-class.html#keys,Method ndg.security.server.AttAuthority.AttAuthority.keys()=ndg.security.server.AttAuthority.AttAuthority-class.html#keys,Method ndg.security.server.SessionMgr.SessionMgr.keys()=ndg.security.server.SessionMgr.SessionMgr-class.html#keys,Method ndg.security.server.ca.SimpleCA.keys()=ndg.security.server.ca.SimpleCA-class.html#keys"><a title="ndg.security.client.SimpleCAClient.SimpleCAClient.keys 
    305340ndg.security.common.AttCert.AttCert.keys 
    306341ndg.security.common.X509.X500DN.keys 
     342ndg.security.common.pylons.security_util.SSOServiceQuery.keys 
     343ndg.security.common.pylons.security_util.SecuritySession.keys 
     344ndg.security.common.saml.AttributeAssertion.keys 
     345ndg.security.common.wssecurity.WSSecurityConfig.keys 
    307346ndg.security.server.AttAuthority.AttAuthority.keys 
    308347ndg.security.server.SessionMgr.SessionMgr.keys 
    309 ndg.security.server.ca.SimpleCA.keys" class="py-name" href="#" onclick="return doclink('link-20', 'keys', 'link-20');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 
    310 <a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="ndg.security.client.SimpleCAClient.SimpleCAClient.__validKeys 
     348ndg.security.server.ca.SimpleCA.keys" class="py-name" href="#" onclick="return doclink('link-23', 'keys', 'link-23');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 
     349<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-24" class="py-name"><a title="ndg.security.common.pylons.security_util.SecuritySession.key" class="py-name" href="#" onclick="return doclink('link-24', 'key', 'link-22');">key</a></tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="ndg.security.client.SimpleCAClient.SimpleCAClient.__validKeys 
    311350ndg.security.common.SQLObject.CredRepos.__validKeys 
    312351ndg.security.common.gatekeeper.Gatekeeper.__validKeys 
    313352ndg.security.server.AttAuthority.AttAuthority.__validKeys 
    314 ndg.security.server.MyProxy.MyProxyClient.__validKeys 
    315 ndg.security.server.ca.SimpleCA.__validKeys" class="py-name" href="#" onclick="return doclink('link-21', '__validKeys', 'link-5');">__validKeys</a></tt><tt class="py-op">:</tt> </tt> 
    316 <a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">                <tt class="py-keyword">raise</tt> <tt id="link-22" class="py-name"><a title="ndg.security.common.CredWallet.CredReposError" class="py-name" href="#" onclick="return doclink('link-22', 'CredReposError', 'link-4');">CredReposError</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Property name \"%s\" is invalid"</tt> <tt class="py-op">%</tt> <tt class="py-name">key</tt> </tt> 
     353ndg.security.server.SessionMgr.AbstractAutheNService.__validKeys 
     354ndg.security.server.authenservice.MyProxy.MyProxyClient.__validKeys 
     355ndg.security.server.ca.SimpleCA.__validKeys" class="py-name" href="#" onclick="return doclink('link-25', '__validKeys', 'link-7');">__validKeys</a></tt><tt class="py-op">:</tt> </tt> 
     356<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">                <tt class="py-keyword">raise</tt> <tt id="link-26" class="py-name"><a title="ndg.security.common.CredWallet.CredReposError" class="py-name" href="#" onclick="return doclink('link-26', 'CredReposError', 'link-6');">CredReposError</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Property name \"%s\" is invalid"</tt> <tt class="py-op">%</tt> <tt id="link-27" class="py-name"><a title="ndg.security.common.pylons.security_util.SecuritySession.key" class="py-name" href="#" onclick="return doclink('link-27', 'key', 'link-22');">key</a></tt> </tt> 
    317357<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">                 </tt> 
    318 <a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__prop</tt><tt class="py-op">.</tt><tt class="py-name">update</tt><tt class="py-op">(</tt><tt class="py-name">prop</tt><tt class="py-op">)</tt> </tt> 
     358<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__prop</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name" targets="Method ndg.security.common.wssecurity.WSSecurityConfig.update()=ndg.security.common.wssecurity.WSSecurityConfig-class.html#update"><a title="ndg.security.common.wssecurity.WSSecurityConfig.update" class="py-name" href="#" onclick="return doclink('link-28', 'update', 'link-28');">update</a></tt><tt class="py-op">(</tt><tt class="py-name">prop</tt><tt class="py-op">)</tt> </tt> 
    319359<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line"> </tt> 
    320360<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"> </tt> 
    321361<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">        <tt class="py-comment"># Update connection setting</tt> </tt> 
    322362<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-keyword">if</tt> <tt class="py-string">'dbURI'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">prop</tt><tt class="py-op">:</tt> </tt> 
    323 <a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method ndg.security.common.SQLObject.CredRepos.__setConnection()=ndg.security.common.SQLObject.CredRepos-class.html#__setConnection"><a title="ndg.security.common.SQLObject.CredRepos.__setConnection" class="py-name" href="#" onclick="return doclink('link-23', '__setConnection', 'link-23');">__setConnection</a></tt><tt class="py-op">(</tt><tt class="py-name">dbURI</tt><tt class="py-op">=</tt><tt class="py-name">prop</tt><tt class="py-op">[</tt><tt class="py-string">'dbURI'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">dbPPhrase</tt><tt class="py-op">=</tt><tt class="py-name">dbPPhrase</tt><tt class="py-op">)</tt> </tt> 
     363<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Method ndg.security.common.SQLObject.CredRepos.__setConnection()=ndg.security.common.SQLObject.CredRepos-class.html#__setConnection"><a title="ndg.security.common.SQLObject.CredRepos.__setConnection" class="py-name" href="#" onclick="return doclink('link-29', '__setConnection', 'link-29');">__setConnection</a></tt><tt class="py-op">(</tt><tt class="py-name">dbURI</tt><tt class="py-op">=</tt><tt class="py-name">prop</tt><tt class="py-op">[</tt><tt class="py-string">'dbURI'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">dbPPhrase</tt><tt class="py-op">=</tt><tt class="py-name">dbPPhrase</tt><tt class="py-op">)</tt> </tt> 
    324364</div><a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"> </tt> 
    325365<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line"> </tt> 
     
    336376<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line"><tt class="py-docstring">        propElem:     set to read beginning from a cElementTree node"""</tt> </tt> 
    337377<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line"> </tt> 
    338 <a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-24" class="py-name"><a title="ndg.security.server.AttAuthority.AttAuthority.propFilePath 
     378<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-30" class="py-name"><a title="ndg.security.server.AttAuthority.AttAuthority.propFilePath 
    339379ndg.security.server.SessionMgr.SessionMgr.propFilePath 
    340 ndg.security.server.ca.SimpleCA.propFilePath" class="py-name" href="#" onclick="return doclink('link-24', 'propFilePath', 'link-6');">propFilePath</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt> 
     380ndg.security.server.ca.SimpleCA.propFilePath" class="py-name" href="#" onclick="return doclink('link-30', 'propFilePath', 'link-8');">propFilePath</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt> 
    341381<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line"> </tt> 
    342382<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> 
    343 <a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">                <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">ElementTree</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Method ndg.security.common.AttCert.AttCert.parse()=ndg.security.common.AttCert.AttCert-class.html#parse,Method ndg.security.common.SessionCookie.SessionCookie.parse()=ndg.security.common.SessionCookie.SessionCookie-class.html#parse,Method ndg.security.common.X509.X509Cert.parse()=ndg.security.common.X509.X509Cert-class.html#parse,Method ndg.security.common.XMLSec.XMLSecDoc.parse()=ndg.security.common.XMLSec.XMLSecDoc-class.html#parse,Method ndg.security.common.gatekeeper.SecurityConfig.parse()=ndg.security.common.gatekeeper.SecurityConfig-class.html#parse,Method ndg.security.common.sessionCookie.SessionCookie.parse()=ndg.security.common.sessionCookie.SessionCookie-class.html#parse"><a title="ndg.security.common.AttCert.AttCert.parse 
    344 ndg.security.common.SessionCookie.SessionCookie.parse 
     383<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">                <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">ElementTree</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Method ndg.security.client.ssoclient.ssoclient.config.ssoClientMiddleware.SSOClientConfig.parse()=ndg.security.client.ssoclient.ssoclient.config.ssoClientMiddleware.SSOClientConfig-class.html#parse,Method ndg.security.common.AttCert.AttCert.parse()=ndg.security.common.AttCert.AttCert-class.html#parse,Method ndg.security.common.X509.X509Cert.parse()=ndg.security.common.X509.X509Cert-class.html#parse,Method ndg.security.common.XMLSec.XMLSecDoc.parse()=ndg.security.common.XMLSec.XMLSecDoc-class.html#parse,Method ndg.security.common.gatekeeper.SecurityConfig.parse()=ndg.security.common.gatekeeper.SecurityConfig-class.html#parse,Method ndg.security.common.saml.AttributeAssertion.parse()=ndg.security.common.saml.AttributeAssertion-class.html#parse,Method ndg.security.common.sessionCookie.SessionCookie.parse()=ndg.security.common.sessionCookie.SessionCookie-class.html#parse,Method ndg.security.common.wssecurity.WSSecurityConfig.parse()=ndg.security.common.wssecurity.WSSecurityConfig-class.html#parse,Method ndg.security.common.xmlsec.etree.XMLSecDoc.parse()=ndg.security.common.xmlsec.etree.XMLSecDoc-class.html#parse,Method ndg.security.server.sso.sso.config.ssoServiceMiddleware.SSOServiceConfig.parse()=ndg.security.server.sso.sso.config.ssoServiceMiddleware.SSOServiceConfig-class.html#parse,Class Method ndg.security.server.wsgi.soap.SOAPMiddleware.parse()=ndg.security.server.wsgi.soap.SOAPMiddleware-class.html#parse"><a title="ndg.security.client.ssoclient.ssoclient.config.ssoClientMiddleware.SSOClientConfig.parse 
     384ndg.security.common.AttCert.AttCert.parse 
    345385ndg.security.common.X509.X509Cert.parse 
    346386ndg.security.common.XMLSec.XMLSecDoc.parse 
    347387ndg.security.common.gatekeeper.SecurityConfig.parse 
    348 ndg.security.common.sessionCookie.SessionCookie.parse" class="py-name" href="#" onclick="return doclink('link-25', 'parse', 'link-25');">parse</a></tt><tt class="py-op">(</tt><tt id="link-26" class="py-name"><a title="ndg.security.server.AttAuthority.AttAuthority.propFilePath 
     388ndg.security.common.saml.AttributeAssertion.parse 
     389ndg.security.common.sessionCookie.SessionCookie.parse 
     390ndg.security.common.wssecurity.WSSecurityConfig.parse 
     391ndg.security.common.xmlsec.etree.XMLSecDoc.parse 
     392ndg.security.server.sso.sso.config.ssoServiceMiddleware.SSOServiceConfig.parse 
     393ndg.security.server.wsgi.soap.SOAPMiddleware.parse" class="py-name" href="#" onclick="return doclink('link-31', 'parse', 'link-31');">parse</a></tt><tt class="py-op">(</tt><tt id="link-32" class="py-name"><a title="ndg.security.server.AttAuthority.AttAuthority.propFilePath 
    349394ndg.security.server.SessionMgr.SessionMgr.propFilePath 
    350 ndg.security.server.ca.SimpleCA.propFilePath" class="py-name" href="#" onclick="return doclink('link-26', 'propFilePath', 'link-6');">propFilePath</a></tt><tt class="py-op">)</tt> </tt> 
     395ndg.security.server.ca.SimpleCA.propFilePath" class="py-name" href="#" onclick="return doclink('link-32', 'propFilePath', 'link-8');">propFilePath</a></tt><tt class="py-op">)</tt> </tt> 
    351396<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">                <tt class="py-name">propElem</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt class="py-name">getroot</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 
    352397<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">                 </tt> 
    353398<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt> 
    354 <a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">                <tt class="py-keyword">raise</tt> <tt id="link-27" class="py-name"><a title="ndg.security.common.CredWallet.CredReposError" class="py-name" href="#" onclick="return doclink('link-27', 'CredReposError', 'link-4');">CredReposError</a></tt><tt class="py-op">,</tt> \ </tt> 
     399<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">                <tt class="py-keyword">raise</tt> <tt id="link-33" class="py-name"><a title="ndg.security.common.CredWallet.CredReposError" class="py-name" href="#" onclick="return doclink('link-33', 'CredReposError', 'link-6');">CredReposError</a></tt><tt class="py-op">,</tt> \ </tt> 
    355400<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">                                <tt class="py-string">"Error parsing properties file \"%s\": %s"</tt> <tt class="py-op">%</tt> \ </tt> 
    356401<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">                                <tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">strerror</tt><tt class="py-op">)</tt> </tt> 
    357402<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line"> </tt> 
    358403<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt> 
    359 <a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">                <tt class="py-keyword">raise</tt> <tt id="link-28" class="py-name"><a title="ndg.security.common.CredWallet.CredReposError" class="py-name" href="#" onclick="return doclink('link-28', 'CredReposError', 'link-4');">CredReposError</a></tt><tt class="py-op">,</tt> \ </tt> 
     404<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">                <tt class="py-keyword">raise</tt> <tt id="link-34" class="py-name"><a title="ndg.security.common.CredWallet.CredReposError" class="py-name" href="#" onclick="return doclink('link-34', 'CredReposError', 'link-6');">CredReposError</a></tt><tt class="py-op">,</tt> \ </tt> 
    360405<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">                                <tt class="py-string">"Error parsing properties file \"%s\": %s"</tt> <tt class="py-op">%</tt> \ </tt> 
    361 <a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">                                <tt class="py-op">(</tt><tt id="link-29" class="py-name"><a title="ndg.security.server.AttAuthority.AttAuthority.propFilePath 
     406<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">                                <tt class="py-op">(</tt><tt id="link-35" class="py-name"><a title="ndg.security.server.AttAuthority.AttAuthority.propFilePath 
    362407ndg.security.server.SessionMgr.SessionMgr.propFilePath 
    363 ndg.security.server.ca.SimpleCA.propFilePath" class="py-name" href="#" onclick="return doclink('link-29', 'propFilePath', 'link-6');">propFilePath</a></tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> 
     408ndg.security.server.ca.SimpleCA.propFilePath" class="py-name" href="#" onclick="return doclink('link-35', 'propFilePath', 'link-8');">propFilePath</a></tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> 
    364409<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"> </tt> 
    365410<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">propElem</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt> 
    366 <a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt id="link-30" class="py-name"><a title="ndg.security.common.CredWallet.CredReposError" class="py-name" href="#" onclick="return doclink('link-30', 'CredReposError', 'link-4');">CredReposError</a></tt><tt class="py-op">,</tt> \ </tt> 
     411<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt id="link-36" class="py-name"><a title="ndg.security.common.CredWallet.CredReposError" class="py-name" href="#" onclick="return doclink('link-36', 'CredReposError', 'link-6');">CredReposError</a></tt><tt class="py-op">,</tt> \ </tt> 
    367412<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">    <tt class="py-string">"Error parsing properties file \"%s\": root element is not defined"</tt> <tt class="py-op">%</tt> \ </tt> 
    368 <a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">                                <tt id="link-31" class="py-name"><a title="ndg.security.server.AttAuthority.AttAuthority.propFilePath 
     413<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">                                <tt id="link-37" class="py-name"><a title="ndg.security.server.AttAuthority.AttAuthority.propFilePath 
    369414ndg.security.server.SessionMgr.SessionMgr.propFilePath 
    370 ndg.security.server.ca.SimpleCA.propFilePath" class="py-name" href="#" onclick="return doclink('link-31', 'propFilePath', 'link-6');">propFilePath</a></tt> </tt> 
     415ndg.security.server.ca.SimpleCA.propFilePath" class="py-name" href="#" onclick="return doclink('link-37', 'propFilePath', 'link-8');">propFilePath</a></tt> </tt> 
    371416<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line"> </tt> 
    372417<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line"> </tt> 
     
    376421<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">                     </tt> 
    377422<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">            <tt class="py-comment"># Check for environment variables in file paths</tt> </tt> 
    378 <a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt class="py-name">tagCaps</tt> <tt class="py-op">=</tt> <tt class="py-name">elem</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name" targets="Variable ndg.security.common.SessionCookie._MetaSessionCookie.tag=ndg.security.common.SessionCookie._MetaSessionCookie-class.html#tag,Variable ndg.security.common.sessionCookie._MetaSessionCookie.tag=ndg.security.common.sessionCookie._MetaSessionCookie-class.html#tag"><a title="ndg.security.common.SessionCookie._MetaSessionCookie.tag 
    379 ndg.security.common.sessionCookie._MetaSessionCookie.tag" class="py-name" href="#" onclick="return doclink('link-32', 'tag', 'link-32');">tag</a></tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 
     423<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt class="py-name">tagCaps</tt> <tt class="py-op">=</tt> <tt class="py-name">elem</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name" targets="Variable ndg.security.common.sessionCookie._MetaSessionCookie.tag=ndg.security.common.sessionCookie._MetaSessionCookie-class.html#tag"><a title="ndg.security.common.sessionCookie._MetaSessionCookie.tag" class="py-name" href="#" onclick="return doclink('link-38', 'tag', 'link-38');">tag</a></tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 
    380424<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">'FILE'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tagCaps</tt> <tt class="py-keyword">or</tt> <tt class="py-string">'PATH'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tagCaps</tt> <tt class="py-keyword">or</tt> <tt class="py-string">'DIR'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tagCaps</tt><tt class="py-op">:</tt> </tt> 
    381425<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">                <tt class="py-name">elem</tt><tt class="py-op">.</tt><tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">expandvars</tt><tt class="py-op">(</tt><tt class="py-name">elem</tt><tt class="py-op">.</tt><tt class="py-name">text</tt><tt class="py-op">)</tt> </tt> 
    382426<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line"> </tt> 
    383 <a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">            <tt class="py-name">prop</tt><tt class="py-op">[</tt><tt class="py-name">elem</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="ndg.security.common.SessionCookie._MetaSessionCookie.tag 
    384 ndg.security.common.sessionCookie._MetaSessionCookie.tag" class="py-name" href="#" onclick="return doclink('link-33', 'tag', 'link-32');">tag</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">elem</tt><tt class="py-op">.</tt><tt class="py-name">text</tt> </tt> 
     427<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">            <tt class="py-name">prop</tt><tt class="py-op">[</tt><tt class="py-name">elem</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="ndg.security.common.sessionCookie._MetaSessionCookie.tag" class="py-name" href="#" onclick="return doclink('link-39', 'tag', 'link-38');">tag</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">elem</tt><tt class="py-op">.</tt><tt class="py-name">text</tt> </tt> 
    385428<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">             </tt> 
    386 <a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="ndg.security.client.SimpleCAClient.SimpleCAClient.setProperties 
     429<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="ndg.security.client.SimpleCAClient.SimpleCAClient.setProperties 
    387430ndg.security.common.SQLObject.CredRepos.setProperties 
    388 ndg.security.server.MyProxy.MyProxyClient.setProperties 
     431ndg.security.server.SessionMgr.AbstractAutheNService.setProperties 
    389432ndg.security.server.SessionMgr.SessionMgr.setProperties 
    390 ndg.security.server.ca.SimpleCA.setProperties" class="py-name" href="#" onclick="return doclink('link-34', 'setProperties', 'link-9');">setProperties</a></tt><tt class="py-op">(</tt><tt class="py-name">dbPPhrase</tt><tt class="py-op">=</tt><tt class="py-name">dbPPhrase</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">prop</tt><tt class="py-op">)</tt> </tt> 
     433ndg.security.server.authenservice.MyProxy.MyProxyClient.setProperties 
     434ndg.security.server.ca.SimpleCA.setProperties 
     435ndg.security.test.authenservice.test_authen_service.TestAutheNService.setProperties" class="py-name" href="#" onclick="return doclink('link-40', 'setProperties', 'link-11');">setProperties</a></tt><tt class="py-op">(</tt><tt class="py-name">dbPPhrase</tt><tt class="py-op">=</tt><tt class="py-name">dbPPhrase</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">prop</tt><tt class="py-op">)</tt> </tt> 
    391436</div><a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line"> </tt> 
    392437<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">             </tt> 
     
    395440</div><div id="CredRepos.addUser-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CredRepos.addUser-expanded"><a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">        <tt class="py-docstring">"""A new user to Credentials Repository"""</tt> </tt> 
    396441<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> 
    397 <a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserID" class="py-name" href="#" onclick="return doclink('link-35', 'UserID', 'link-15');">UserID</a></tt><tt class="py-op">(</tt><tt id="link-36" class="py-name" targets="Variable ndg.security.common.SQLObject.CredRepos.UserID.userName=ndg.security.common.SQLObject.CredRepos.UserID-class.html#userName"><a title="ndg.security.common.SQLObject.CredRepos.UserID.userName" class="py-name" href="#" onclick="return doclink('link-36', 'userName', 'link-36');">userName</a></tt><tt class="py-op">=</tt><tt id="link-37" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserID.userName" class="py-name" href="#" onclick="return doclink('link-37', 'userName', 'link-36');">userName</a></tt><tt class="py-op">,</tt> <tt id="link-38" class="py-name" targets="Variable ndg.security.common.SQLObject.CredRepos.UserCredential.dn=ndg.security.common.SQLObject.CredRepos.UserCredential-class.html#dn,Variable ndg.security.common.SQLObject.CredRepos.UserID.dn=ndg.security.common.SQLObject.CredRepos.UserID-class.html#dn,Variable ndg.security.common.X509.X509Cert.dn=ndg.security.common.X509.X509Cert-class.html#dn"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
    398 ndg.security.common.SQLObject.CredRepos.UserID.dn 
    399 ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-38', 'dn', 'link-38');">dn</a></tt><tt class="py-op">=</tt><tt id="link-39" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
    400 ndg.security.common.SQLObject.CredRepos.UserID.dn 
    401 ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-39', 'dn', 'link-38');">dn</a></tt><tt class="py-op">)</tt> </tt> 
     442<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserID" class="py-name" href="#" onclick="return doclink('link-41', 'UserID', 'link-17');">UserID</a></tt><tt class="py-op">(</tt><tt id="link-42" class="py-name" targets="Variable ndg.security.common.SQLObject.CredRepos.UserID.userName=ndg.security.common.SQLObject.CredRepos.UserID-class.html#userName"><a title="ndg.security.common.SQLObject.CredRepos.UserID.userName" class="py-name" href="#" onclick="return doclink('link-42', 'userName', 'link-42');">userName</a></tt><tt class="py-op">=</tt><tt id="link-43" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserID.userName" class="py-name" href="#" onclick="return doclink('link-43', 'userName', 'link-42');">userName</a></tt><tt class="py-op">,</tt> <tt id="link-44" class="py-name" targets="Variable ndg.security.common.SQLObject.CredRepos.UserCredential.dn=ndg.security.common.SQLObject.CredRepos.UserCredential-class.html#dn,Variable ndg.security.common.SQLObject.CredRepos.UserID.dn=ndg.security.common.SQLObject.CredRepos.UserID-class.html#dn,Variable ndg.security.common.X509.X509Cert.dn=ndg.security.common.X509.X509Cert-class.html#dn"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
     443ndg.security.common.SQLObject.CredRepos.UserID.dn 
     444ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-44', 'dn', 'link-44');">dn</a></tt><tt class="py-op">=</tt><tt id="link-45" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
     445ndg.security.common.SQLObject.CredRepos.UserID.dn 
     446ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-45', 'dn', 'link-44');">dn</a></tt><tt class="py-op">)</tt> </tt> 
    402447<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line"> </tt> 
    403448<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt> 
    404 <a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt id="link-40" class="py-name"><a title="ndg.security.common.CredWallet.CredReposError" class="py-name" href="#" onclick="return doclink('link-40', 'CredReposError', 'link-4');">CredReposError</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Error adding new user '%s': %s"</tt> <tt class="py-op">%</tt> \ </tt> 
    405 <a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">                                                                <tt class="py-op">(</tt><tt id="link-41" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserID.userName" class="py-name" href="#" onclick="return doclink('link-41', 'userName', 'link-36');">userName</a></tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">)</tt> </tt> 
     449<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt id="link-46" class="py-name"><a title="ndg.security.common.CredWallet.CredReposError" class="py-name" href="#" onclick="return doclink('link-46', 'CredReposError', 'link-6');">CredReposError</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Error adding new user '%s': %s"</tt> <tt class="py-op">%</tt> \ </tt> 
     450<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">                                                                <tt class="py-op">(</tt><tt id="link-47" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserID.userName" class="py-name" href="#" onclick="return doclink('link-47', 'userName', 'link-42');">userName</a></tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">)</tt> </tt> 
    406451</div><a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line"> </tt> 
    407452<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line"> </tt> 
     
    426471<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">             </tt> 
    427472<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> 
    428 <a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-42" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
    429 ndg.security.common.SQLObject.CredRepos.UserID.dn 
    430 ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-42', 'dn', 'link-38');">dn</a></tt><tt class="py-op">:</tt> </tt> 
     473<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-48" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
     474ndg.security.common.SQLObject.CredRepos.UserID.dn 
     475ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-48', 'dn', 'link-44');">dn</a></tt><tt class="py-op">:</tt> </tt> 
    431476<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">                <tt class="py-comment"># Only audit for the given user distinguished Name</tt> </tt> 
    432 <a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line"><tt class="py-comment"></tt>                <tt class="py-name">credList</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential" class="py-name" href="#" onclick="return doclink('link-43', 'UserCredential', 'link-18');">UserCredential</a></tt><tt class="py-op">.</tt><tt class="py-name">selectBy</tt><tt class="py-op">(</tt><tt id="link-44" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
    433 ndg.security.common.SQLObject.CredRepos.UserID.dn 
    434 ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-44', 'dn', 'link-38');">dn</a></tt><tt class="py-op">=</tt><tt id="link-45" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
    435 ndg.security.common.SQLObject.CredRepos.UserID.dn 
    436 ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-45', 'dn', 'link-38');">dn</a></tt><tt class="py-op">)</tt> </tt> 
     477<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line"><tt class="py-comment"></tt>                <tt class="py-name">credList</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential" class="py-name" href="#" onclick="return doclink('link-49', 'UserCredential', 'link-20');">UserCredential</a></tt><tt class="py-op">.</tt><tt class="py-name">selectBy</tt><tt class="py-op">(</tt><tt id="link-50" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
     478ndg.security.common.SQLObject.CredRepos.UserID.dn 
     479ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-50', 'dn', 'link-44');">dn</a></tt><tt class="py-op">=</tt><tt id="link-51" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
     480ndg.security.common.SQLObject.CredRepos.UserID.dn 
     481ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-51', 'dn', 'link-44');">dn</a></tt><tt class="py-op">)</tt> </tt> 
    437482<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> 
    438483<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">                <tt class="py-comment"># Audit all credentials</tt> </tt> 
    439 <a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line"><tt class="py-comment"></tt>                <tt class="py-name">credList</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential" class="py-name" href="#" onclick="return doclink('link-46', 'UserCredential', 'link-18');">UserCredential</a></tt><tt class="py-op">.</tt><tt class="py-name">select</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 
     484<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line"><tt class="py-comment"></tt>                <tt class="py-name">credList</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential" class="py-name" href="#" onclick="return doclink('link-52', 'UserCredential', 'link-20');">UserCredential</a></tt><tt class="py-op">.</tt><tt class="py-name">select</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 
    440485<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">             </tt> 
    441486<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt> 
    442 <a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt id="link-47" class="py-name"><a title="ndg.security.common.CredWallet.CredReposError" class="py-name" href="#" onclick="return doclink('link-47', 'CredReposError', 'link-4');">CredReposError</a></tt><tt class="py-op">,</tt><tt class="py-string">"Selecting credentials from repository: "</tt> <tt class="py-op">+</tt> \ </tt> 
     487<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt id="link-53" class="py-name"><a title="ndg.security.common.CredWallet.CredReposError" class="py-name" href="#" onclick="return doclink('link-53', 'CredReposError', 'link-6');">CredReposError</a></tt><tt class="py-op">,</tt><tt class="py-string">"Selecting credentials from repository: "</tt> <tt class="py-op">+</tt> \ </tt> 
    443488<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">                                 <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt> 
    444489<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line"> </tt> 
     
    447492<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> 
    448493<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">cred</tt> <tt class="py-keyword">in</tt> <tt class="py-name">credList</tt><tt class="py-op">:</tt> </tt> 
    449 <a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">                <tt id="link-48" class="py-name" targets="Variable ndg.security.common.SQLObject.CredRepos.UserCredential.attCert=ndg.security.common.SQLObject.CredRepos.UserCredential-class.html#attCert,Package ndg.security.test.attCert=ndg.security.test.attCert-module.html"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.attCert 
    450 ndg.security.test.attCert" class="py-name" href="#" onclick="return doclink('link-48', 'attCert', 'link-48');">attCert</a></tt> <tt class="py-op">=</tt> <tt id="link-49" class="py-name" targets="Function ndg.security.common.AttCert.AttCertParse()=ndg.security.common.AttCert-module.html#AttCertParse"><a title="ndg.security.common.AttCert.AttCertParse" class="py-name" href="#" onclick="return doclink('link-49', 'AttCertParse', 'link-49');">AttCertParse</a></tt><tt class="py-op">(</tt><tt class="py-name">cred</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.attCert 
    451 ndg.security.test.attCert" class="py-name" href="#" onclick="return doclink('link-50', 'attCert', 'link-48');">attCert</a></tt><tt class="py-op">)</tt> </tt> 
     494<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">                <tt id="link-54" class="py-name" targets="Variable ndg.security.common.SQLObject.CredRepos.UserCredential.attCert=ndg.security.common.SQLObject.CredRepos.UserCredential-class.html#attCert,Package ndg.security.test.attCert=ndg.security.test.attCert-module.html"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.attCert 
     495ndg.security.test.attCert" class="py-name" href="#" onclick="return doclink('link-54', 'attCert', 'link-54');">attCert</a></tt> <tt class="py-op">=</tt> <tt id="link-55" class="py-name" targets="Function ndg.security.common.AttCert.AttCertParse()=ndg.security.common.AttCert-module.html#AttCertParse"><a title="ndg.security.common.AttCert.AttCertParse" class="py-name" href="#" onclick="return doclink('link-55', 'AttCertParse', 'link-55');">AttCertParse</a></tt><tt class="py-op">(</tt><tt class="py-name">cred</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.attCert 
     496ndg.security.test.attCert" class="py-name" href="#" onclick="return doclink('link-56', 'attCert', 'link-54');">attCert</a></tt><tt class="py-op">)</tt> </tt> 
    452497<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">                 </tt> 
    453 <a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-51" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.attCert 
    454 ndg.security.test.attCert" class="py-name" href="#" onclick="return doclink('link-51', 'attCert', 'link-48');">attCert</a></tt><tt class="py-op">.</tt><tt id="link-52" class="py-name" targets="Method ndg.security.common.AttCert.AttCert.isValid()=ndg.security.common.AttCert.AttCert-class.html#isValid,Method ndg.security.common.CredWallet.CredWallet.isValid()=ndg.security.common.CredWallet.CredWallet-class.html#isValid,Class Method ndg.security.common.SessionCookie.SessionCookie.isValid()=ndg.security.common.SessionCookie.SessionCookie-class.html#isValid,Class Method ndg.security.common.sessionCookie.SessionCookie.isValid()=ndg.security.common.sessionCookie.SessionCookie-class.html#isValid"><a title="ndg.security.common.AttCert.AttCert.isValid 
     498<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-57" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.attCert 
     499ndg.security.test.attCert" class="py-name" href="#" onclick="return doclink('link-57', 'attCert', 'link-54');">attCert</a></tt><tt class="py-op">.</tt><tt id="link-58" class="py-name" targets="Method ndg.security.common.AttCert.AttCert.isValid()=ndg.security.common.AttCert.AttCert-class.html#isValid,Method ndg.security.common.CredWallet.CredWallet.isValid()=ndg.security.common.CredWallet.CredWallet-class.html#isValid,Method ndg.security.common.saml.AttributeAssertion.isValid()=ndg.security.common.saml.AttributeAssertion-class.html#isValid,Class Method ndg.security.common.sessionCookie.SessionCookie.isValid()=ndg.security.common.sessionCookie.SessionCookie-class.html#isValid"><a title="ndg.security.common.AttCert.AttCert.isValid 
    455500ndg.security.common.CredWallet.CredWallet.isValid 
    456 ndg.security.common.SessionCookie.SessionCookie.isValid 
    457 ndg.security.common.sessionCookie.SessionCookie.isValid" class="py-name" href="#" onclick="return doclink('link-52', 'isValid', 'link-52');">isValid</a></tt><tt class="py-op">(</tt><tt class="py-op">**</tt><tt class="py-name">attCertValidKeys</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 
    458 <a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential" class="py-name" href="#" onclick="return doclink('link-53', 'UserCredential', 'link-18');">UserCredential</a></tt><tt class="py-op">.</tt><tt class="py-name">delete</tt><tt class="py-op">(</tt><tt class="py-name">cred</tt><tt class="py-op">.</tt><tt class="py-name">id</tt><tt class="py-op">)</tt> </tt> 
     501ndg.security.common.saml.AttributeAssertion.isValid 
     502ndg.security.common.sessionCookie.SessionCookie.isValid" class="py-name" href="#" onclick="return doclink('link-58', 'isValid', 'link-58');">isValid</a></tt><tt class="py-op">(</tt><tt class="py-op">**</tt><tt class="py-name">attCertValidKeys</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 
     503<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential" class="py-name" href="#" onclick="return doclink('link-59', 'UserCredential', 'link-20');">UserCredential</a></tt><tt class="py-op">.</tt><tt id="link-60" class="py-name" targets="Class Method ndg.security.common.pylons.security_util.SecuritySession.delete()=ndg.security.common.pylons.security_util.SecuritySession-class.html#delete"><a title="ndg.security.common.pylons.security_util.SecuritySession.delete" class="py-name" href="#" onclick="return doclink('link-60', 'delete', 'link-60');">delete</a></tt><tt class="py-op">(</tt><tt class="py-name">cred</tt><tt class="py-op">.</tt><tt class="py-name">id</tt><tt class="py-op">)</tt> </tt> 
    459504<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">                     </tt> 
    460505<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt> 
    461506<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> 
    462 <a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">                <tt class="py-keyword">raise</tt> <tt id="link-54" class="py-name"><a title="ndg.security.common.CredWallet.CredReposError" class="py-name" href="#" onclick="return doclink('link-54', 'CredReposError', 'link-4');">CredReposError</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Deleting credentials for '%s': %s"</tt> <tt class="py-op">%</tt> \ </tt> 
    463 <a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">                                                       <tt class="py-op">(</tt><tt class="py-name">cred</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
    464 ndg.security.common.SQLObject.CredRepos.UserID.dn 
    465 ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-55', 'dn', 'link-38');">dn</a></tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">)</tt> </tt> 
     507<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">                <tt class="py-keyword">raise</tt> <tt id="link-61" class="py-name"><a title="ndg.security.common.CredWallet.CredReposError" class="py-name" href="#" onclick="return doclink('link-61', 'CredReposError', 'link-6');">CredReposError</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Deleting credentials for '%s': %s"</tt> <tt class="py-op">%</tt> \ </tt> 
     508<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">                                                       <tt class="py-op">(</tt><tt class="py-name">cred</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
     509ndg.security.common.SQLObject.CredRepos.UserID.dn 
     510ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-62', 'dn', 'link-44');">dn</a></tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">)</tt> </tt> 
    466511<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt> 
    467 <a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">                <tt class="py-keyword">raise</tt> <tt id="link-56" class="py-name"><a title="ndg.security.common.CredWallet.CredReposError" class="py-name" href="#" onclick="return doclink('link-56', 'CredReposError', 'link-4');">CredReposError</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Deleting credentials: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">e</tt> </tt> 
     512<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">                <tt class="py-keyword">raise</tt> <tt id="link-63" class="py-name"><a title="ndg.security.common.CredWallet.CredReposError" class="py-name" href="#" onclick="return doclink('link-63', 'CredReposError', 'link-6');">CredReposError</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Deleting credentials: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">e</tt> </tt> 
    468513</div><a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line"> </tt> 
    469514<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line"> </tt> 
     
    473518<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line"> </tt> 
    474519<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> 
    475 <a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential" class="py-name" href="#" onclick="return doclink('link-57', 'UserCredential', 'link-18');">UserCredential</a></tt><tt class="py-op">.</tt><tt class="py-name">selectBy</tt><tt class="py-op">(</tt><tt id="link-58" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
    476 ndg.security.common.SQLObject.CredRepos.UserID.dn 
    477 ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-58', 'dn', 'link-38');">dn</a></tt><tt class="py-op">=</tt><tt id="link-59" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
    478 ndg.security.common.SQLObject.CredRepos.UserID.dn 
    479 ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-59', 'dn', 'link-38');">dn</a></tt><tt class="py-op">)</tt> </tt> 
     520<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential" class="py-name" href="#" onclick="return doclink('link-64', 'UserCredential', 'link-20');">UserCredential</a></tt><tt class="py-op">.</tt><tt class="py-name">selectBy</tt><tt class="py-op">(</tt><tt id="link-65" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
     521ndg.security.common.SQLObject.CredRepos.UserID.dn 
     522ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-65', 'dn', 'link-44');">dn</a></tt><tt class="py-op">=</tt><tt id="link-66" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
     523ndg.security.common.SQLObject.CredRepos.UserID.dn 
     524ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-66', 'dn', 'link-44');">dn</a></tt><tt class="py-op">)</tt> </tt> 
    480525<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">             </tt> 
    481526<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt> 
    482 <a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt id="link-60" class="py-name"><a title="ndg.security.common.CredWallet.CredReposError" class="py-name" href="#" onclick="return doclink('link-60', 'CredReposError', 'link-4');">CredReposError</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Selecting credentials for %s: %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-61" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
    483 ndg.security.common.SQLObject.CredRepos.UserID.dn 
    484 ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-61', 'dn', 'link-38');">dn</a></tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">)</tt> </tt> 
     527<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt id="link-67" class="py-name"><a title="ndg.security.common.CredWallet.CredReposError" class="py-name" href="#" onclick="return doclink('link-67', 'CredReposError', 'link-6');">CredReposError</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Selecting credentials for %s: %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-68" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
     528ndg.security.common.SQLObject.CredRepos.UserID.dn 
     529ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-68', 'dn', 'link-44');">dn</a></tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">)</tt> </tt> 
    485530</div><a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line"> </tt> 
    486531<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line"> </tt> 
     
    494539<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">         </tt> 
    495540<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> 
    496 <a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">            <tt class="py-name">userCred</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserID" class="py-name" href="#" onclick="return doclink('link-62', 'UserID', 'link-15');">UserID</a></tt><tt class="py-op">.</tt><tt class="py-name">selectBy</tt><tt class="py-op">(</tt><tt id="link-63" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
    497 ndg.security.common.SQLObject.CredRepos.UserID.dn 
    498 ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-63', 'dn', 'link-38');">dn</a></tt><tt class="py-op">=</tt><tt id="link-64" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
    499 ndg.security.common.SQLObject.CredRepos.UserID.dn 
    500 ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-64', 'dn', 'link-38');">dn</a></tt><tt class="py-op">)</tt> </tt> 
     541<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">            <tt class="py-name">userCred</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserID" class="py-name" href="#" onclick="return doclink('link-69', 'UserID', 'link-17');">UserID</a></tt><tt class="py-op">.</tt><tt class="py-name">selectBy</tt><tt class="py-op">(</tt><tt id="link-70" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
     542ndg.security.common.SQLObject.CredRepos.UserID.dn 
     543ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-70', 'dn', 'link-44');">dn</a></tt><tt class="py-op">=</tt><tt id="link-71" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
     544ndg.security.common.SQLObject.CredRepos.UserID.dn 
     545ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-71', 'dn', 'link-44');">dn</a></tt><tt class="py-op">)</tt> </tt> 
    501546<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">             </tt> 
    502547<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">userCred</tt><tt class="py-op">.</tt><tt class="py-name">count</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt> 
     
    508553<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line"><tt class="py-comment"></tt>                <tt class="py-comment">#</tt> </tt> 
    509554<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line"><tt class="py-comment"></tt>                <tt class="py-comment"># P J Kershaw 26/04/06 </tt> </tt> 
    510 <a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line"><tt class="py-comment"></tt>                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name" targets="Method ndg.security.common.CredWallet.CredRepos.addUser()=ndg.security.common.CredWallet.CredRepos-class.html#addUser,Method ndg.security.common.CredWallet.NullCredRepos.addUser()=ndg.security.common.CredWallet.NullCredRepos-class.html#addUser,Method ndg.security.common.SQLObject.CredRepos.addUser()=ndg.security.common.SQLObject.CredRepos-class.html#addUser,Method ndg.security.server.SessionMgr.SessionMgr.addUser()=ndg.security.server.SessionMgr.SessionMgr-class.html#addUser"><a title="ndg.security.common.CredWallet.CredRepos.addUser 
     555<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line"><tt class="py-comment"></tt>                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name" targets="Method ndg.security.common.CredWallet.CredRepos.addUser()=ndg.security.common.CredWallet.CredRepos-class.html#addUser,Method ndg.security.common.CredWallet.NullCredRepos.addUser()=ndg.security.common.CredWallet.NullCredRepos-class.html#addUser,Method ndg.security.common.SQLObject.CredRepos.addUser()=ndg.security.common.SQLObject.CredRepos-class.html#addUser"><a title="ndg.security.common.CredWallet.CredRepos.addUser 
    511556ndg.security.common.CredWallet.NullCredRepos.addUser 
    512 ndg.security.common.SQLObject.CredRepos.addUser 
    513 ndg.security.server.SessionMgr.SessionMgr.addUser" class="py-name" href="#" onclick="return doclink('link-65', 'addUser', 'link-65');">addUser</a></tt><tt class="py-op">(</tt><tt id="link-66" class="py-name" targets="Class ndg.security.common.X509.X500DN=ndg.security.common.X509.X500DN-class.html"><a title="ndg.security.common.X509.X500DN" class="py-name" href="#" onclick="return doclink('link-66', 'X500DN', 'link-66');">X500DN</a></tt><tt class="py-op">(</tt><tt id="link-67" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
    514 ndg.security.common.SQLObject.CredRepos.UserID.dn 
    515 ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-67', 'dn', 'link-38');">dn</a></tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-string">'CN'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-68" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
    516 ndg.security.common.SQLObject.CredRepos.UserID.dn 
    517 ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-68', 'dn', 'link-38');">dn</a></tt><tt class="py-op">)</tt> </tt> 
     557ndg.security.common.SQLObject.CredRepos.addUser" class="py-name" href="#" onclick="return doclink('link-72', 'addUser', 'link-72');">addUser</a></tt><tt class="py-op">(</tt><tt id="link-73" class="py-name" targets="Class ndg.security.common.X509.X500DN=ndg.security.common.X509.X500DN-class.html"><a title="ndg.security.common.X509.X500DN" class="py-name" href="#" onclick="return doclink('link-73', 'X500DN', 'link-73');">X500DN</a></tt><tt class="py-op">(</tt><tt id="link-74" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
     558ndg.security.common.SQLObject.CredRepos.UserID.dn 
     559ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-74', 'dn', 'link-44');">dn</a></tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-string">'CN'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-75" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
     560ndg.security.common.SQLObject.CredRepos.UserID.dn 
     561ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-75', 'dn', 'link-44');">dn</a></tt><tt class="py-op">)</tt> </tt> 
    518562<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line"> </tt> 
    519563<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt> 
    520 <a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt id="link-69" class="py-name"><a title="ndg.security.common.CredWallet.CredReposError" class="py-name" href="#" onclick="return doclink('link-69', 'CredReposError', 'link-4');">CredReposError</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Checking for user \"%s\": %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-70" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
    521 ndg.security.common.SQLObject.CredRepos.UserID.dn 
    522 ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-70', 'dn', 'link-38');">dn</a></tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">)</tt> </tt> 
     564<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt id="link-76" class="py-name"><a title="ndg.security.common.CredWallet.CredReposError" class="py-name" href="#" onclick="return doclink('link-76', 'CredReposError', 'link-6');">CredReposError</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Checking for user \"%s\": %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-77" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
     565ndg.security.common.SQLObject.CredRepos.UserID.dn 
     566ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-77', 'dn', 'link-44');">dn</a></tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">)</tt> </tt> 
    523567<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line"> </tt> 
    524568<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">         </tt> 
     
    532576<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">        <tt class="py-comment"># Update database with new entries</tt> </tt> 
    533577<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> 
    534 <a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-71" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.attCert 
    535 ndg.security.test.attCert" class="py-name" href="#" onclick="return doclink('link-71', 'attCert', 'link-48');">attCert</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">attCertList</tt><tt class="py-op">:</tt> </tt> 
    536 <a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential" class="py-name" href="#" onclick="return doclink('link-72', 'UserCredential', 'link-18');">UserCredential</a></tt><tt class="py-op">(</tt><tt id="link-73" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
    537 ndg.security.common.SQLObject.CredRepos.UserID.dn 
    538 ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-73', 'dn', 'link-38');">dn</a></tt><tt class="py-op">=</tt><tt id="link-74" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
    539 ndg.security.common.SQLObject.CredRepos.UserID.dn 
    540 ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-74', 'dn', 'link-38');">dn</a></tt><tt class="py-op">,</tt> <tt id="link-75" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.attCert 
    541 ndg.security.test.attCert" class="py-name" href="#" onclick="return doclink('link-75', 'attCert', 'link-48');">attCert</a></tt><tt class="py-op">=</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-76" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.attCert 
    542 ndg.security.test.attCert" class="py-name" href="#" onclick="return doclink('link-76', 'attCert', 'link-48');">attCert</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> 
     578<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-78" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.attCert 
     579ndg.security.test.attCert" class="py-name" href="#" onclick="return doclink('link-78', 'attCert', 'link-54');">attCert</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">attCertList</tt><tt class="py-op">:</tt> </tt> 
     580<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential" class="py-name" href="#" onclick="return doclink('link-79', 'UserCredential', 'link-20');">UserCredential</a></tt><tt class="py-op">(</tt><tt id="link-80" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
     581ndg.security.common.SQLObject.CredRepos.UserID.dn 
     582ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-80', 'dn', 'link-44');">dn</a></tt><tt class="py-op">=</tt><tt id="link-81" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
     583ndg.security.common.SQLObject.CredRepos.UserID.dn 
     584ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-81', 'dn', 'link-44');">dn</a></tt><tt class="py-op">,</tt> <tt id="link-82" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.attCert 
     585ndg.security.test.attCert" class="py-name" href="#" onclick="return doclink('link-82', 'attCert', 'link-54');">attCert</a></tt><tt class="py-op">=</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-83" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.attCert 
     586ndg.security.test.attCert" class="py-name" href="#" onclick="return doclink('link-83', 'attCert', 'link-54');">attCert</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> 
    543587<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line"> </tt> 
    544588<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt> 
    545 <a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt id="link-77" class="py-name"><a title="ndg.security.common.CredWallet.CredReposError" class="py-name" href="#" onclick="return doclink('link-77', 'CredReposError', 'link-4');">CredReposError</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Adding new user credentials for "</tt> <tt class="py-op">+</tt> \ </tt> 
    546 <a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">                                  <tt class="py-string">"user %s: %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-78" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
    547 ndg.security.common.SQLObject.CredRepos.UserID.dn 
    548 ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-78', 'dn', 'link-38');">dn</a></tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> 
     589<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt id="link-84" class="py-name"><a title="ndg.security.common.CredWallet.CredReposError" class="py-name" href="#" onclick="return doclink('link-84', 'CredReposError', 'link-6');">CredReposError</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Adding new user credentials for "</tt> <tt class="py-op">+</tt> \ </tt> 
     590<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">                                  <tt class="py-string">"user %s: %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-85" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
     591ndg.security.common.SQLObject.CredRepos.UserID.dn 
     592ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-85', 'dn', 'link-44');">dn</a></tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> 
    549593</div><a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line"> </tt> 
    550594<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line"> </tt> 
     
    562606<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> </tt> 
    563607<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line">         </tt> 
    564 <a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserID" class="py-name" href="#" onclick="return doclink('link-79', 'UserID', 'link-15');">UserID</a></tt><tt class="py-op">.</tt><tt class="py-name">createTable</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 
    565 <a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential" class="py-name" href="#" onclick="return doclink('link-80', 'UserCredential', 'link-18');">UserCredential</a></tt><tt class="py-op">.</tt><tt class="py-name">createTable</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 
     608<a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserID" class="py-name" href="#" onclick="return doclink('link-86', 'UserID', 'link-17');">UserID</a></tt><tt class="py-op">.</tt><tt class="py-name">createTable</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 
     609<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential" class="py-name" href="#" onclick="return doclink('link-87', 'UserCredential', 'link-20');">UserCredential</a></tt><tt class="py-op">.</tt><tt class="py-name">createTable</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 
    566610<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"Tables created"</tt> </tt> 
    567611</div><a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line"> </tt> 
     
    575619<a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line"> </tt> 
    576620<a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line">        <tt class="py-comment"># to be assigned to connectionForURI(&lt;db URI&gt;)</tt> </tt> 
    577 <a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt id="link-81" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential._connection 
    578 ndg.security.common.SQLObject.CredRepos.UserID._connection" class="py-name" href="#" onclick="return doclink('link-81', '_connection', 'link-16');">_connection</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt> 
     621<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt id="link-88" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential._connection 
     622ndg.security.common.SQLObject.CredRepos.UserID._connection" class="py-name" href="#" onclick="return doclink('link-88', '_connection', 'link-18');">_connection</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt> 
    579623<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line"> </tt> 
    580624<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line">        <tt class="py-comment"># Force table name</tt> </tt> 
    581 <a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt id="link-82" class="py-name" targets="Variable ndg.security.common.SQLObject.CredRepos.UserCredential._table=ndg.security.common.SQLObject.CredRepos.UserCredential-class.html#_table,Variable ndg.security.common.SQLObject.CredRepos.UserID._table=ndg.security.common.SQLObject.CredRepos.UserID-class.html#_table"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential._table 
    582 ndg.security.common.SQLObject.CredRepos.UserID._table" class="py-name" href="#" onclick="return doclink('link-82', '_table', 'link-82');">_table</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"UserID"</tt> </tt> 
     625<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt id="link-89" class="py-name" targets="Variable ndg.security.common.SQLObject.CredRepos.UserCredential._table=ndg.security.common.SQLObject.CredRepos.UserCredential-class.html#_table,Variable ndg.security.common.SQLObject.CredRepos.UserID._table=ndg.security.common.SQLObject.CredRepos.UserID-class.html#_table"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential._table 
     626ndg.security.common.SQLObject.CredRepos.UserID._table" class="py-name" href="#" onclick="return doclink('link-89', '_table', 'link-89');">_table</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"UserID"</tt> </tt> 
    583627<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line"> </tt> 
    584 <a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line">        <tt id="link-83" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserID.userName" class="py-name" href="#" onclick="return doclink('link-83', 'userName', 'link-36');">userName</a></tt> <tt class="py-op">=</tt> <tt class="py-name">StringCol</tt><tt class="py-op">(</tt><tt class="py-name">dbName</tt><tt class="py-op">=</tt><tt class="py-string">'userName'</tt><tt class="py-op">,</tt> <tt class="py-name">length</tt><tt class="py-op">=</tt><tt class="py-number">30</tt><tt class="py-op">)</tt> </tt> 
    585 <a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line">        <tt id="link-84" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
    586 ndg.security.common.SQLObject.CredRepos.UserID.dn 
    587 ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-84', 'dn', 'link-38');">dn</a></tt> <tt class="py-op">=</tt> <tt class="py-name">StringCol</tt><tt class="py-op">(</tt><tt class="py-name">dbName</tt><tt class="py-op">=</tt><tt class="py-string">'dn'</tt><tt class="py-op">,</tt> <tt class="py-name">length</tt><tt class="py-op">=</tt><tt class="py-number">128</tt><tt class="py-op">)</tt> </tt> 
     628<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line">        <tt id="link-90" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserID.userName" class="py-name" href="#" onclick="return doclink('link-90', 'userName', 'link-42');">userName</a></tt> <tt class="py-op">=</tt> <tt class="py-name">StringCol</tt><tt class="py-op">(</tt><tt class="py-name">dbName</tt><tt class="py-op">=</tt><tt class="py-string">'userName'</tt><tt class="py-op">,</tt> <tt class="py-name">length</tt><tt class="py-op">=</tt><tt class="py-number">30</tt><tt class="py-op">)</tt> </tt> 
     629<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line">        <tt id="link-91" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
     630ndg.security.common.SQLObject.CredRepos.UserID.dn 
     631ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-91', 'dn', 'link-44');">dn</a></tt> <tt class="py-op">=</tt> <tt class="py-name">StringCol</tt><tt class="py-op">(</tt><tt class="py-name">dbName</tt><tt class="py-op">=</tt><tt class="py-string">'dn'</tt><tt class="py-op">,</tt> <tt class="py-name">length</tt><tt class="py-op">=</tt><tt class="py-number">128</tt><tt class="py-op">)</tt> </tt> 
    588632</div><a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line"> </tt> 
    589633<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line"> </tt> 
     
    593637<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line"> </tt> 
    594638<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line">        <tt class="py-comment"># to be assigned to connectionForURI(&lt;db URI&gt;)</tt> </tt> 
    595 <a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt id="link-85" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential._connection 
    596 ndg.security.common.SQLObject.CredRepos.UserID._connection" class="py-name" href="#" onclick="return doclink('link-85', '_connection', 'link-16');">_connection</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt> 
     639<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt id="link-92" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential._connection 
     640ndg.security.common.SQLObject.CredRepos.UserID._connection" class="py-name" href="#" onclick="return doclink('link-92', '_connection', 'link-18');">_connection</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt> 
    597641<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line"> </tt> 
    598642<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line">        <tt class="py-comment"># Force table name</tt> </tt> 
    599 <a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt id="link-86" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential._table 
    600 ndg.security.common.SQLObject.CredRepos.UserID._table" class="py-name" href="#" onclick="return doclink('link-86', '_table', 'link-82');">_table</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"UserCredential"</tt> </tt> 
     643<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt id="link-93" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential._table 
     644ndg.security.common.SQLObject.CredRepos.UserID._table" class="py-name" href="#" onclick="return doclink('link-93', '_table', 'link-89');">_table</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"UserCredential"</tt> </tt> 
    601645<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line"> </tt> 
    602646<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line">         </tt> 
    603647<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">        <tt class="py-comment"># User name field binds with UserCredential table</tt> </tt> 
    604 <a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt id="link-87" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
    605 ndg.security.common.SQLObject.CredRepos.UserID.dn 
    606 ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-87', 'dn', 'link-38');">dn</a></tt> <tt class="py-op">=</tt> <tt class="py-name">StringCol</tt><tt class="py-op">(</tt><tt class="py-name">dbName</tt><tt class="py-op">=</tt><tt class="py-string">'dn'</tt><tt class="py-op">,</tt> <tt class="py-name">length</tt><tt class="py-op">=</tt><tt class="py-number">128</tt><tt class="py-op">)</tt> </tt> 
     648<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt id="link-94" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.dn 
     649ndg.security.common.SQLObject.CredRepos.UserID.dn 
     650ndg.security.common.X509.X509Cert.dn" class="py-name" href="#" onclick="return doclink('link-94', 'dn', 'link-44');">dn</a></tt> <tt class="py-op">=</tt> <tt class="py-name">StringCol</tt><tt class="py-op">(</tt><tt class="py-name">dbName</tt><tt class="py-op">=</tt><tt class="py-string">'dn'</tt><tt class="py-op">,</tt> <tt class="py-name">length</tt><tt class="py-op">=</tt><tt class="py-number">128</tt><tt class="py-op">)</tt> </tt> 
    607651<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line"> </tt> 
    608652<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line">        <tt class="py-comment"># Store complete attribute certificate text</tt> </tt> 
    609 <a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt id="link-88" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.attCert 
    610 ndg.security.test.attCert" class="py-name" href="#" onclick="return doclink('link-88', 'attCert', 'link-48');">attCert</a></tt> <tt class="py-op">=</tt> <tt class="py-name">StringCol</tt><tt class="py-op">(</tt><tt class="py-name">dbName</tt><tt class="py-op">=</tt><tt class="py-string">'attCert'</tt><tt class="py-op">)</tt> </tt> 
     653<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt id="link-95" class="py-name"><a title="ndg.security.common.SQLObject.CredRepos.UserCredential.attCert 
     654ndg.security.test.attCert" class="py-name" href="#" onclick="return doclink('link-95', 'attCert', 'link-54');">attCert</a></tt> <tt class="py-op">=</tt> <tt class="py-name">StringCol</tt><tt class="py-op">(</tt><tt class="py-name">dbName</tt><tt class="py-op">=</tt><tt class="py-string">'attCert'</tt><tt class="py-op">)</tt> </tt> 
    611655</div></div><a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line"> </tt><script type="text/javascript"> 
    612656<!-- 
     
    648692    <td align="left" class="footer"> 
    649693    <a href="epydoc-log.html">Generated by Epydoc 
    650     3.0beta1 on Mon Dec 17 09:22:49 2007</a> 
     694    3.0.1 on Thu Sep  4 09:37:57 2008</a> 
    651695    </td> 
    652696    <td align="right" class="footer"> 
    653       <a href="http://epydoc.sourceforge.net">http://epydoc.sourceforge.net</a> 
     697      <a target="mainFrame" href="http://epydoc.sourceforge.net" 
     698        >http://epydoc.sourceforge.net</a> 
    654699    </td> 
    655700  </tr> 
     
    662707  // visible); but by default, we want to hide them.  So hide 
    663708  // them unless we have a cookie that says to show them. 
    664   checkCookie() 
     709  checkCookie(); 
    665710  // --> 
    666711</script> 
    667    
    668712</body> 
    669713</html> 
Note: See TracChangeset for help on using the changeset viewer.