Changeset 3994


Ignore:
Timestamp:
05/06/08 11:43:25 (11 years ago)
Author:
pjkersha
Message:
  • Added AuthKit? as a dependency to ndg.security.server egg
  • Fixed imports for standalone SSO Service
  • Changed ProxyHttpConnection? for ZSI clients to check for no_proxy env var setting.
Location:
TI12-security/trunk/python
Files:
2 deleted
19 edited

Legend:

Unmodified
Added
Removed
  • TI12-security/trunk/python/Makefile

    r3955 r3994  
    7777epydoc: 
    7878        ${EPYDOC} ./ndg.security.*/ndg -o ${EPYDOC_OUTDIR} \ 
    79         --name ${EPYDOC_NAME} ${EPYDOC_FRAMES_OPT} --include-log --graph all -v \ 
     79        --name ${EPYDOC_NAME} ${EPYDOC_FRAMES_OPT} --include-log --graph=all -v \ 
    8080        >& ${EPYDOC_LOGFILE} 
    8181         
  • TI12-security/trunk/python/ndg.security.common/ndg/security/common/AttAuthority/__init__.py

    r3955 r3994  
    7676                 tracefile=None, 
    7777                 httpProxyHost=None, 
    78                  ignoreHttpProxyEnv=False, 
     78                 noHttpProxyList=False, 
    7979                 sslCACertList=[], 
    8080                 sslCACertFilePathList=[], 
     
    121121 
    122122        self.__setHTTPProxyHost(httpProxyHost) 
    123         self.__setIgnoreHttpProxyEnv(ignoreHttpProxyEnv) 
     123        self.__setNoHttpProxyList(noHttpProxyList) 
    124124         
    125125        if sslPeerCertCN: 
     
    194194 
    195195    #_________________________________________________________________________ 
    196     def __setIgnoreHttpProxyEnv(self, val): 
    197         """Set to True to ignore any http_proxy environment variable setting""" 
     196    def __setNoHttpProxyList(self, val): 
     197        """Set to list of hosts for which to ignore the HTTP Proxy setting""" 
    198198        if self._transport != ProxyHTTPConnection: 
    199             log.info("Ignore ignoreHttpProxyEnv setting: transport " + \ 
     199            log.info("Ignore noHttpProxyList setting: transport " + \ 
    200200                     "class is not ProxyHTTPConnection type") 
    201201            return 
    202202         
    203         self._transdict['ignoreHttpProxyEnv'] = val 
    204  
    205     ignoreHttpProxyEnv = property(fset=__setIgnoreHttpProxyEnv,  
    206     doc="Set to True to ignore any http_proxy environment variable setting") 
     203        self._transdict['noHttpProxyList'] = val 
     204 
     205    noHttpProxyList = property(fset=__setNoHttpProxyList,  
     206    doc="Set to list of hosts for which to ignore the HTTP Proxy setting") 
    207207 
    208208 
  • TI12-security/trunk/python/ndg.security.common/ndg/security/common/SessionMgr/__init__.py

    r3955 r3994  
    125125                 tracefile=None, 
    126126                 httpProxyHost=None, 
    127                  ignoreHttpProxyEnv=False, 
     127                 noHttpProxyList=False, 
    128128                 sslCACertList=[], 
    129129                 sslCACertFilePathList=[], 
     
    172172 
    173173        self.__setHTTPProxyHost(httpProxyHost) 
    174         self.__setIgnoreHttpProxyEnv(ignoreHttpProxyEnv) 
     174        self.__setNoHttpProxyList(noHttpProxyList) 
    175175 
    176176        if sslPeerCertCN: 
     
    249249 
    250250    #_________________________________________________________________________ 
    251     def __setIgnoreHttpProxyEnv(self, val): 
    252         """Set to True to ignore any http_proxy environment variable setting""" 
     251    def __setNoHttpProxyList(self, val): 
     252        """Set to list of hosts for which to ignore the HTTP Proxy setting""" 
    253253        if self._transport != ProxyHTTPConnection: 
    254             log.info("Ignore ignoreHttpProxyEnv setting: transport " + \ 
     254            log.info("Ignore noHttpProxyList setting: transport " + \ 
    255255                     "class is not ProxyHTTPConnection type") 
    256256            return 
    257257         
    258         self._transdict['ignoreHttpProxyEnv']= val 
    259  
    260     ignoreHttpProxyEnv = property(fset=__setIgnoreHttpProxyEnv,  
    261     doc="Set to True to ignore any http_proxy environment variable setting") 
     258        self._transdict['noHttpProxyList']= val 
     259 
     260    noHttpProxyList = property(fset=__setNoHttpProxyList,  
     261    doc="Set to list of hosts for which to ignore the HTTP Proxy setting") 
    262262     
    263263 
  • TI12-security/trunk/python/ndg.security.common/ndg/security/common/authz/pdp/browse.py

    r3960 r3994  
    388388            # PDP config object 
    389389            self.smClnt = SessionMgrClient(uri=self.smURI, 
    390                                         cfg=self.wssCfgFilePath or self._cfg, 
    391                                         cfgFileSection=self.wssCfgSection, 
    392                                         **self.wssCfg) 
     390                            sslCACertFilePathList=self.sslCACertFilePathList, 
     391                            cfg=self.wssCfgFilePath or self._cfg, 
     392                            cfgFileSection=self.wssCfgSection, 
     393                            **self.wssCfg) 
    393394        except Exception, e: 
    394395            log.error("Creating Session Manager client: %s" % e) 
  • TI12-security/trunk/python/ndg.security.common/ndg/security/common/zsi_utils/httpproxy.py

    r3914 r3994  
    2929        @type httpProxyHost: string 
    3030        @param httpProxyHost: hostname of HTTP Proxy defaults to http_proxy 
    31         environment variable or None if ignoreHttpProxyEnv is set 
    32         @type ignoreHttpProxyEnv: bool 
    33         @param ignoreHttpProxyEnv: set to True to ignore any http_proxy 
    34         environment variable setting.   
     31        environment variable 
     32        @type noHttpProxyList: list 
     33        @param     
    3534        ''' 
    36         ignoreHttpProxyEnv = kw.get('ignoreHttpProxyEnv', False) 
    37         if ignoreHttpProxyEnv: 
    38             httpProxyHostEnv = None 
     35        # Pick-up environment variable and strip protocol prefix 
     36        httpProxyHostEnv=os.environ.get('http_proxy', '').replace('http://','') 
     37        httpProxyHost = kw.pop('httpProxyHost', None) 
     38         
     39        # Check for exclusions 
     40        noHttpProxyList = kw.pop('noHttpProxyList', []) or \ 
     41                                    os.environ.get('no_proxy', '').split(',') 
     42 
     43        if arg[0] in noHttpProxyList: 
     44            self.connectTo = arg[0] 
    3945        else: 
    40             # Pick-up environment variable and strip protocol prefix 
    41             httpProxyHostEnv = \ 
    42                 os.environ.get('http_proxy', '').replace('http://', '') 
     46            self.connectTo = httpProxyHost or httpProxyHostEnv or arg[0] 
    4347 
    44         self.connectTo = kw.get('httpProxyHost') or httpProxyHostEnv or arg[0] 
    4548        self.targetHost = arg[0] 
    4649 
    47         try: 
    48             del kw['httpProxyHost'] 
    49         except KeyError: 
    50             pass 
    51          
    52         try: 
    53             del kw['ignoreHttpProxyEnv'] 
    54         except KeyError: 
    55             pass 
     50        httplib.HTTPConnection.__init__(self, self.connectTo, **kw) 
    5651 
    57         httplib.HTTPConnection.__init__(self, self.connectTo, **kw) 
    5852 
    5953    def putrequest(self, method, url, **kw): 
    6054         
    6155        if self.connectTo != self.targetHost: 
    62             scheme,netloc,path,nil,nil,nil = urlparse.urlparse(url) 
     56            scheme, netloc, path, nil, nil, nil = urlparse.urlparse(url) 
    6357            scheme = scheme or 'http' 
    6458            netloc = netloc or self.targetHost 
  • TI12-security/trunk/python/ndg.security.server/ndg/security/server/sso/sso/config/environment.py

    r3914 r3994  
    66import sso.lib.app_globals as app_globals 
    77import sso.lib.helpers 
    8 from sso.config.routing import make_map 
     8from ndg.security.server.sso.sso.config.routing import make_map 
    99 
    1010def load_environment(global_conf, app_conf): 
  • TI12-security/trunk/python/ndg.security.server/ndg/security/server/sso/sso/config/middleware.py

    r3918 r3994  
    1111from pylons.wsgiapp import PylonsApp 
    1212 
    13 from sso.config.environment import load_environment 
    14 from sso.config.ssoServiceMiddleware import SSOMiddleware 
     13from ndg.security.server.sso.sso.config.environment import load_environment 
     14from ndg.security.server.sso.sso.config.ssoServiceMiddleware import \ 
     15    SSOMiddleware 
     16     
    1517import logging 
    1618log = logging.getLogger(__name__) 
  • TI12-security/trunk/python/ndg.security.server/ndg/security/server/sso/sso/config/ssoServiceMiddleware.py

    r3955 r3994  
    134134        # Set this to True if the http_proxy environment variable should be 
    135135        # ignored in this case 
    136         if self.cfg.has_option(defSection, 'ignoreHttpProxyEnv'): 
    137             self.ignoreHttpProxyEnv = self.cfg.getboolean(defSection,  
    138                                                           'ignoreHttpProxyEnv') 
    139         else: 
    140             self.ignoreHttpProxyEnv = False 
     136        if self.cfg.has_option(defSection, 'noHttpProxyList'): 
     137            self.noHttpProxyList = self.cfg.getboolean(defSection,  
     138                                                          'noHttpProxyList') 
     139        else: 
     140            self.noHttpProxyList = False 
    141141             
    142142             
  • TI12-security/trunk/python/ndg.security.server/ndg/security/server/sso/sso/controllers/error.py

    r3652 r3994  
    44from pylons.middleware import error_document_template, media_path 
    55 
    6 from sso.lib.base import * 
     6from ndg.security.server.sso.sso.lib.base import * 
    77 
    88class ErrorController(BaseController): 
  • TI12-security/trunk/python/ndg.security.server/ndg/security/server/sso/sso/controllers/login.py

    r3918 r3994  
    4141        try:     
    4242            smClnt = SessionMgrClient(uri=session['ndgSec']['h'], 
    43                             tracefile=self.cfg.tracefile, 
    44                             httpProxyHost=self.cfg.httpProxyHost, 
    45                             ignoreHttpProxyEnv=self.cfg.ignoreHttpProxyEnv, 
    46                             **self.cfg.wss) 
     43                        tracefile=self.cfg.tracefile, 
     44                        httpProxyHost=self.cfg.httpProxyHost, 
     45                        noHttpProxyList=self.cfg.noHttpProxyList, 
     46                        sslCACertFilePathList=self.cfg.sslCACertFilePathList, 
     47                        **self.cfg.wss) 
    4748                                 
    4849        except Exception, e: 
     
    9495                         tracefile=self.cfg.tracefile, 
    9596                         httpProxyHost=self.cfg.httpProxyHost, 
    96                          ignoreHttpProxyEnv=self.cfg.ignoreHttpProxyEnv, 
     97                         noHttpProxyList=self.cfg.noHttpProxyList, 
    9798                         **self.cfg.wss) 
    9899                                 
     
    201202                            tracefile=self.cfg.tracefile, 
    202203                            httpProxyHost=self.cfg.httpProxyHost, 
    203                             ignoreHttpProxyEnv=self.cfg.ignoreHttpProxyEnv, 
     204                            noHttpProxyList=self.cfg.noHttpProxyList, 
    204205                            **self.cfg.wss) 
    205206             
  • TI12-security/trunk/python/ndg.security.server/ndg/security/server/sso/sso/controllers/template.py

    r3652 r3994  
    1 from sso.lib.base import * 
     1from ndg.security.server.sso.sso.lib.base import * 
    22 
    33class TemplateController(BaseController): 
  • TI12-security/trunk/python/ndg.security.server/ndg/security/server/sso/sso/lib/openid_util.py

    r3955 r3994  
    8989    _getTrustedIdPs(g) 
    9090     
    91     return buffet.render('ndg.security.kid',  
    92                          template_name="ndg.security.wayf", 
    93                          namespace=dict(h=h, g=g, c=c)) 
     91    return _render("ndg.security.wayf", h=h, g=g, c=c) 
     92 
     93 
     94def _render(templateName, **kw): 
     95    '''TODO: Wrapper to enable substitution of $message and $css_class used by 
     96    AuthKit open_id module''' 
     97    rendering = buffet.render('ndg.security.kid',  
     98                              template_name=templateName, 
     99                              namespace=kw) 
     100    # Add $message and $css_class here somehow 
     101    return rendering 
     102 
    94103 
    95104from ndg.security.common.AttAuthority import AttAuthorityClient 
     
    108117    # Authority and THIS service must be restarted. 
    109118    if len(g.ndg.security.server.sso.state.trustedIdPs) > 0: 
    110         return buffet.render('ndg.security.kid',  
    111                              template_name='ndg.security.wayf', 
    112                              namespace=dict(h=h, g=g, c=c)) 
     119        return _render('ndg.security.wayf', h=h, g=g, c=c) 
    113120     
    114121    log.debug("Initialising connection to Attribute Authority [%s]" % \ 
     
    119126                                tracefile=cfg.tracefile, 
    120127                                httpProxyHost=cfg.httpProxyHost, 
    121                                 ignoreHttpProxyEnv=cfg.ignoreHttpProxyEnv, 
     128                                noHttpProxyList=cfg.noHttpProxyList, 
    122129                                **cfg.wss) 
    123130    except Exception, e: 
     
    126133        log.error("Initialising AttAuthorityClient for " + \ 
    127134                  "getAllHostsInfo call: %s" % e) 
    128         return buffet.render('ndg.security.kid',  
    129                              template_name='ndg.security.error', 
    130                              namespace=dict(h=h, g=config['pylons.g'], c=c)) 
     135        return _render('ndg.security.error', h=h, g=config['pylons.g'], c=c) 
    131136         
    132137    # Get list of login uris for trusted sites including THIS one 
     
    139144            'Please report the error to your site administrator.' 
    140145        log.error("AttAuthorityClient getAllHostsInfo call: %s" % e)   
    141         return buffet.render('ndg.security.kid',  
    142                              template_name='ndg.security.error', 
    143                              namespace=dict(h=h, g=config['pylons.g'], c=c)) 
     146        return _render('ndg.security.error', h=h, g=config['pylons.g'], c=c) 
    144147         
    145148    g.ndg.security.server.sso.state.trustedIdPs = \ 
  • TI12-security/trunk/python/ndg.security.server/ndg/security/server/sso/sso/tests/functional/test_login.py

    r3652 r3994  
    1 from sso.tests import * 
     1from ndg.security.server.sso.sso.tests import * 
    22 
    33class TestLoginController(TestController): 
  • TI12-security/trunk/python/ndg.security.server/ndg/security/server/sso/sso/tests/functional/test_openidsignin.py

    r3914 r3994  
    1 from sso.tests import * 
     1from ndg.security.server.sso.sso.tests import * 
    22 
    33class TestOpenidsigninController(TestController): 
  • TI12-security/trunk/python/ndg.security.server/ndg/security/server/sso/sso/tests/functional/test_test1.py

    r3652 r3994  
    1 from sso.tests import * 
     1from ndg.security.server.sso.sso.tests import * 
    22 
    33class TestTest1Controller(TestController): 
  • TI12-security/trunk/python/ndg.security.server/ndg/security/server/sso/sso/tests/functional/test_wayf.py

    r3652 r3994  
    1 from sso.tests import * 
     1from ndg.security.server.sso.sso.tests import * 
    22 
    33class TestWayfController(TestController): 
  • TI12-security/trunk/python/ndg.security.server/ndg/security/server/sso/sso/websetup.py

    r3652 r3994  
    55from pylons import config 
    66 
    7 from sso.config.environment import load_environment 
     7from ndg.security.server.sso.sso.config.environment import load_environment 
    88 
    99log = logging.getLogger(__name__) 
  • TI12-security/trunk/python/ndg.security.server/setup.py

    r3961 r3994  
    3030     
    3131    # Zope interface 
    32     'zope.interface' 
     32    'zope.interface', 
     33     
     34    'AuthKit' 
    3335] 
    3436 
  • TI12-security/trunk/python/ndg.security.test/ndg/security/test/attAuthority/attAuthorityClientTest.cfg

    r3955 r3994  
    1111# ! SiteBMapConfig.xml trusted site A aaURI setting must agree with this  
    1212# setting for test6GetMappedAttCert 
    13 uri = http://localhost:5010/AttributeAuthority 
    14 #uri = http://localhost:5000/AttributeAuthority 
     13#uri = http://localhost:5010/AttributeAuthority 
     14uri = http://localhost:5000/AttributeAuthority 
    1515 
    1616# For https connections only.  !Omit ssl* settings if using http! 
Note: See TracChangeset for help on using the changeset viewer.