Changeset 59dfb4 in indico
- Timestamp:
- 03/17/11 12:33:15 (2 years ago)
- Branches:
- master, burotel, hello-world-walkthrough, ipv6, v0.98-series, v0.98.2, v0.98.3, v0.98b1, v0.98b2, v0.99, 051b2622c51afb171a1dedb46a0df4fbb0cbd02e, d9941f8582b36b24821a11ea5ba16fda6a457fb1
- Children:
- 1f0b21
- Parents:
- c45d407
- git-author:
- Pedro Ferreira <jose.pedro.ferreira@…> (03/17/11 12:32:27)
- git-committer:
- Pedro Ferreira <jose.pedro.ferreira@…> (03/17/11 12:33:15)
- Location:
- indico
- Files:
-
- 5 edited
-
MaKaC/accessControl.py (modified) (2 diffs)
-
MaKaC/services/implementation/base.py (modified) (2 diffs)
-
MaKaC/services/interface/rpc/process.py (modified) (3 diffs)
-
MaKaC/webinterface/rh/base.py (modified) (5 diffs)
-
web/wsgi/indico_wsgi_handler.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
indico/MaKaC/accessControl.py
r1125a6 r59dfb4 27 27 from MaKaC.common.contextManager import ContextManager 28 28 from MaKaC.plugins import Observable 29 29 from MaKaC.common.logger import Logger 30 30 31 31 class AccessController( Persistent, Observable ): … … 92 92 #return self._fatherProtection 93 93 except: 94 Logger.get('accessController').exception('_getFatherProtection') 94 95 self._fatherProtection = 0 95 96 return 0 -
indico/MaKaC/services/implementation/base.py
r6328a5 r59dfb4 153 153 """ 154 154 155 def __init__(self, params, remoteHost, session, req=None):155 def __init__(self, params, session, req): 156 156 """ 157 157 Constructor. Initializes provate variables 158 158 @param req: HTTP Request provided by the previous layer 159 159 """ 160 RequestHandlerBase.__init__(self) 161 self._req = req 160 RequestHandlerBase.__init__(self, req) 162 161 self._params = params 163 162 self._requestStarted = False … … 165 164 # Fill in the aw instance with the current information 166 165 self._aw = AccessWrapper() 167 self._aw.setIP( remoteHost)166 self._aw.setIP(self.getHostIP()) 168 167 self._aw.setSession(session) 169 168 self._aw.setUser(session.getUser()) -
indico/MaKaC/services/interface/rpc/process.py
r380f86 r59dfb4 16 16 from MaKaC.services.interface.rpc.common import RequestError 17 17 from MaKaC.services.interface.rpc.common import ProcessError 18 18 19 19 20 def lookupHandler(method): … … 42 43 return handler 43 44 45 44 46 def processRequest(method, params, req): 45 47 # lookup handler … … 48 50 # invoke handler 49 51 if hasattr(handler, "process"): 50 result = handler(params, req.get_remote_host(),getSession(req), req).process()52 result = handler(params, getSession(req), req).process() 51 53 else: 52 result = handler(params, req.get_remote_host(),getSession(req), req)54 result = handler(params, getSession(req), req) 53 55 54 56 return result -
indico/MaKaC/webinterface/rh/base.py
r6328a5 r59dfb4 63 63 from MaKaC.plugins.base import OldObservable 64 64 65 65 66 class RequestHandlerBase(OldObservable): 66 67 … … 68 69 _currentRH = None 69 70 70 def __init__( self ): 71 def __init__(self, req): 72 73 # attention: not thread-safe 71 74 RequestHandlerBase._currentRH = self 75 76 if req == None: 77 raise Exception("Request object not initialised") 78 self._req = req 72 79 73 80 def _checkProtection( self ): … … 118 125 from MaKaC import i18n 119 126 i18n.install('messages', lang, unicode=True) 127 128 def getHostIP(self): 129 import socket 130 131 host = str(self._req.get_remote_host(apache.REMOTE_NOLOOKUP)) 132 133 try: 134 hostIP = socket.gethostbyname(host) 135 minfo = info.HelperMaKaCInfo.getMaKaCInfoInstance() 136 if minfo.useProxy(): 137 # if we're behind a proxy, use X-Forwarded-For 138 xff = self._req.headers_in.get("X-Forwarded-For",hostIP).split(", ")[-1] 139 return socket.gethostbyname(xff) 140 else: 141 return hostIP 142 except socket.gaierror, e: 143 # in case host resolution fails 144 raise HostnameResolveError("Error resolving host '%s' : %s" % (host, e)) 145 146 120 147 121 148 … … 169 196 current rh. 170 197 """ 171 RequestHandlerBase.__init__(self) 172 if req == None: 173 raise Exception("Request object not initialised") 174 self._req = req 198 RequestHandlerBase.__init__(self, req) 175 199 self._requestStarted = False 176 200 self._websession = None … … 188 212 189 213 # Methods ============================================================= 190 191 def getHostIP(self):192 import socket193 194 host = str(self._req.get_remote_host(apache.REMOTE_NOLOOKUP))195 196 try:197 hostIP = socket.gethostbyname(host)198 minfo = info.HelperMaKaCInfo.getMaKaCInfoInstance()199 if minfo.useProxy():200 # if we're behind a proxy, use X-Forwarded-For201 xff = self._req.headers_in.get("X-Forwarded-For",hostIP).split(", ")[-1]202 return socket.gethostbyname(xff)203 else:204 return hostIP205 except socket.gaierror, e:206 # in case host resolution fails207 raise HostnameResolveError("Error resolving host '%s' : %s" % (host, e))208 209 214 210 215 def getTarget( self ): -
indico/web/wsgi/indico_wsgi_handler.py
rb3f0d5 r59dfb4 285 285 self.__errors = environ['wsgi.errors'] 286 286 self.__headers_in = table([]) 287 287 288 for key, value in environ.iteritems(): 288 289 if key.startswith('HTTP_'): … … 292 293 if environ.get('CONTENT_TYPE'): 293 294 self.__headers_in['content-type'] = environ['CONTENT_TYPE'] 295 294 296 ## HTTP headers variables 295 297 ## We might want to add some other fields in the future
Note: See TracChangeset
for help on using the changeset viewer.
