[Zope-Checkins] CVS: Zope3/lib/python/Zope/Server - HTTPServer.py:1.1.2.12 PublisherServers.py:1.1.2.6

Shane Hathaway shane@digicool.com
Wed, 28 Nov 2001 16:56:04 -0500


Update of /cvs-repository/Zope3/lib/python/Zope/Server
In directory cvs.zope.org:/tmp/cvs-serv21357

Modified Files:
      Tag: Zope-3x-branch
	HTTPServer.py PublisherServers.py 
Log Message:
Re-enabled support for REMOTE_HOST


=== Zope3/lib/python/Zope/Server/HTTPServer.py 1.1.2.11 => 1.1.2.12 ===
 
     def __init__(self, ip, port, tasks=None, adj=None, start=1,
-                 hit_log=None, verbose=0):
+                 hit_log=None, verbose=0, resolver=None):
         # Assumes sock is already bound.
         if adj is None:
             adj = default_adj
         self.adj = adj
+        self.resolver = resolver
         asyncore.dispatcher.__init__(self)
         self.port = port
         self.tasks = tasks


=== Zope3/lib/python/Zope/Server/PublisherServers.py 1.1.2.5 => 1.1.2.6 ===
             env['QUERY_STRING'] = query
         env['GATEWAY_INTERFACE'] = 'CGI/1.1'
-        env['REMOTE_ADDR'] = channel.addr[0]
+        addr = channel.addr[0]
+        env['REMOTE_ADDR'] = addr
 
-        # If we're using a resolving logger, try to get the
+        # If the server has a resolver, try to get the
         # remote host from the resolver's cache.
-##        if hasattr(server.logger, 'resolver'):
-##            dns_cache=server.logger.resolver.cache
-##            if dns_cache.has_key(env['REMOTE_ADDR']):
-##                remote_host=dns_cache[env['REMOTE_ADDR']][2]
-##                if remote_host is not None:
-##                    env['REMOTE_HOST']=remote_host
+        resolver = getattr(server, 'resolver', None)
+        if resolver is not None:
+            dns_cache = resolver.cache
+            if dns_cache.has_key(addr):
+                remote_host = dns_cache[addr][2]
+                if remote_host is not None:
+                    env['REMOTE_HOST'] = remote_host
 
         env_has = env.has_key