[Zope-Checkins] CVS: Zope/ZServer - FTPResponse.py:1.7.40.1 HTTPServer.py:1.32.22.1 WebDAVSrcHandler.py:1.2.84.1 ZService.py:1.10.144.1

Shane Hathaway shane@digicool.com
Thu, 9 Aug 2001 13:33:58 -0400


Update of /cvs-repository/Zope/ZServer
In directory cvs.zope.org:/tmp/cvs-serv29115/ZServer

Modified Files:
      Tag: NR-branch
	FTPResponse.py HTTPServer.py WebDAVSrcHandler.py ZService.py 
Log Message:
Sync NR-branch with trunk.  Sorry about so many checkin messages...


=== Zope/ZServer/FTPResponse.py 1.7 => 1.7.40.1 ===
 
     def __str__(self):
-        ZServerHTTPResponse.__str__(self)
-        return
+        return ZServerHTTPResponse.__str__(self)
 
     def outputBody(self):
         pass


=== Zope/ZServer/HTTPServer.py 1.32 => 1.32.22.1 ===
         env['SERVER_NAME']=server.server_name
         env['SERVER_SOFTWARE']=server.SERVER_IDENT
-        env['SERVER_PROTOCOL']=request.version
+        env['SERVER_PROTOCOL']="HTTP/"+request.version
         env['channel.creation_time']=request.channel.creation_time
         if self.uri_base=='/':
             env['SCRIPT_NAME']=''


=== Zope/ZServer/WebDAVSrcHandler.py 1.2 => 1.2.84.1 ===
                 path_info = string.replace( path_info, os.sep, '/' )
             env['PATH_INFO'] = path_info
+
+
+        # Workaround for lousy WebDAV implementation of M$ Office 2K.
+        # Requests for "index_html" are *sometimes* send as "index_html."
+        # We check the user-agent and remove a trailing dot for PATH_INFO
+        # and PATH_TRANSLATED
+
+        if string.find(env.get("HTTP_USER_AGENT",""),"Microsoft Data Access Internet Publishing Provider")>-1:
+            if env["PATH_INFO"][-1]=='.':
+                env["PATH_INFO"] = env["PATH_INFO"][:-1]             
+
+            if env["PATH_TRANSLATED"][-1]=='.':
+                env["PATH_TRANSLATED"] = env["PATH_TRANSLATED"][:-1]             
+
         return env


=== Zope/ZServer/ZService.py 1.10 => 1.10.144.1 ===
     win32api.FreeLibrary(h)
 
-magic_import('pywintypes','pywintypes15.dll')
+magic_import('pywintypes','pywintypes21.dll')
 
 import win32serviceutil, win32service, win32event, win32process
 try: import servicemanager