[Zope-Checkins] SVN: Zope/trunk/ Collector #1441: Removed headers introduced to make Microsoft webfolders and office apps happy, since they make a lot of standards-compliant things unhappy AND they trick MS Office into trying to edit office files stored in Zope via WebDAV even when the user isn't allowed to edit them and is only trying to download them.

Chris Withers chris at simplistix.co.uk
Fri Jul 30 17:30:23 EDT 2004


Log message for revision 26862:
  Collector #1441: Removed headers introduced to make Microsoft webfolders and office apps happy, since they make a lot of standards-compliant things unhappy AND they trick MS Office into trying to edit office files stored in Zope via WebDAV even when the user isn't allowed to edit them and is only trying to download them.


Changed:
  U   Zope/trunk/doc/CHANGES.txt
  U   Zope/trunk/lib/python/ZServer/HTTPResponse.py
  U   Zope/trunk/lib/python/webdav/Collection.py
  U   Zope/trunk/lib/python/webdav/Resource.py


-=-
Modified: Zope/trunk/doc/CHANGES.txt
===================================================================
--- Zope/trunk/doc/CHANGES.txt	2004-07-30 21:10:03 UTC (rev 26861)
+++ Zope/trunk/doc/CHANGES.txt	2004-07-30 21:30:23 UTC (rev 26862)
@@ -139,6 +139,13 @@
 
     Bugs fixed
 
+     - Collector #1441: Removed headers introduced to make Microsoft
+       webfolders and office apps happy, since they make a lot of
+       standards-compliant things unhappy AND they trick MS Office
+       into trying to edit office files stored in Zope via WebDAV even
+       when the user isn't allowed to edit them and is only trying to
+       download them.
+
      - Collector #1445: Fixed bad interaction between -p and -v(v)
        options to test.py that resulted in exceptions being printed
        when they shouldn't have been.

Modified: Zope/trunk/lib/python/ZServer/HTTPResponse.py
===================================================================
--- Zope/trunk/lib/python/ZServer/HTTPResponse.py	2004-07-30 21:10:03 UTC (rev 26861)
+++ Zope/trunk/lib/python/ZServer/HTTPResponse.py	2004-07-30 21:30:23 UTC (rev 26862)
@@ -92,9 +92,6 @@
         if headers.has_key('status'):
             del headers['status']
 
-        if not headers.has_key("Etag"):
-            self.setHeader('Etag','')
-
         # add zserver headers
         append('Server: %s' % self._server_version)
         append('Date: %s' % build_http_date(time.time()))

Modified: Zope/trunk/lib/python/webdav/Collection.py
===================================================================
--- Zope/trunk/lib/python/webdav/Collection.py	2004-07-30 21:10:03 UTC (rev 26861)
+++ Zope/trunk/lib/python/webdav/Collection.py	2004-07-30 21:30:23 UTC (rev 26862)
@@ -43,7 +43,6 @@
             response.setHeader('Content-Location', location)
         response.setHeader('Connection', 'close', 1)
         response.setHeader('Date', rfc1123_date(), 1)
-        response.setHeader('MS-Author-Via', 'DAV')
 
     def HEAD(self, REQUEST, RESPONSE):
         """Retrieve resource information without a response body."""

Modified: Zope/trunk/lib/python/webdav/Resource.py
===================================================================
--- Zope/trunk/lib/python/webdav/Resource.py	2004-07-30 21:10:03 UTC (rev 26861)
+++ Zope/trunk/lib/python/webdav/Resource.py	2004-07-30 21:30:23 UTC (rev 26862)
@@ -65,14 +65,12 @@
         # Init expected HTTP 1.1 / WebDAV headers which are not
         # currently set by the base response object automagically.
         #
-        # Note we set an borg-specific header for ie5 :( Also, we
-        # sniff for a ZServer response object, because we don't
+        # We sniff for a ZServer response object, because we don't
         # want to write duplicate headers (since ZS writes Date
         # and Connection itself).
         if not hasattr(response, '_server_version'):
             response.setHeader('Connection', 'close')
             response.setHeader('Date', rfc1123_date(), 1)
-        response.setHeader('MS-Author-Via', 'DAV')
 
         # HTTP Range support
         if HTTPRangeInterface.isImplementedBy(self):
@@ -199,7 +197,6 @@
         self.dav__init(REQUEST, RESPONSE)
         RESPONSE.setHeader('Allow', ', '.join(self.__http_methods__))
         RESPONSE.setHeader('Content-Length', 0)
-        RESPONSE.setHeader('DAV', '1,2', 1)
         RESPONSE.setStatus(200)
         return RESPONSE
 



More information about the Zope-Checkins mailing list