]> err.no Git - sope/commitdiff
fixed some WebFolders issue
authorhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Mon, 21 Nov 2005 14:58:34 +0000 (14:58 +0000)
committerhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Mon, 21 Nov 2005 14:58:34 +0000 (14:58 +0000)
git-svn-id: http://svn.opengroupware.org/SOPE/trunk@1188 e4a50df8-12e2-0310-a44c-efbce7f8a7e3

sope-appserver/NGObjWeb/ChangeLog
sope-appserver/NGObjWeb/Version
sope-appserver/NGObjWeb/WebDAV/SoObjectWebDAVDispatcher.m

index c8a62fa4e753cf6e326af821a38d77a49a5e54c2..1274dd54d8261ab357e82a2ddf8f577476e3af92 100644 (file)
@@ -1,5 +1,8 @@
 2005-11-21  Helge Hess  <helge.hess@skyrix.com>
 
+       * WebDAV/SoObjectWebDAVDispatcher.m: set 'public' header in case the
+         WebDAV client is WebFolders (v4.5.216)
+
        * WEClientCapabilities.m: added WebFolders WinXP SP2 as a known user
          agent (v4.5.215)
 
index 2d34905e3230adfb335331aefdce447371659a23..9498814d132fa87b748b5466644ded3e5dd87592 100644 (file)
@@ -1,6 +1,6 @@
 # version file
 
-SUBMINOR_VERSION:=215
+SUBMINOR_VERSION:=216
 
 # v4.5.214 requires libNGExtensions v4.5.179
 # v4.5.122 requires libNGExtensions v4.5.153
index 0b18d8753d9d559ff1a6fd4e23f143afc46c4689..82f813d35ab3e41d64698622ef18e2c7cef78fa4 100644 (file)
@@ -144,11 +144,11 @@ static NSTimeZone                *gmt      = nil;
   if (![methodObject isNotNull])
     return nil;
   if ([methodObject isKindOfClass:[NSException class]]) {
-    if ([(NSException *)methodObject httpStatus] == 404) {
+    if ([(NSException *)methodObject httpStatus] == 404 /* Not Found */) {
       /* not found */
       return nil;
     }
-    return methodObject;
+    return methodObject; /* the exception */
   }
   if ((e = [self->object validateName:_method inContext:_ctx]) != nil)
     return e;
@@ -259,6 +259,7 @@ static NSTimeZone                *gmt      = nil;
   NSArray    *tmp;
   id         result;
   
+  /* this checks whether the object provides a specific OPTIONS method */
   if ((result = [self _callObjectMethod:@"OPTIONS" inContext:_ctx]) != nil)
     return result;
   
@@ -268,6 +269,17 @@ static NSTimeZone                *gmt      = nil;
   if ((tmp = [self->object davAllowedMethodsInContext:_ctx]) != nil) 
     [response setHeader:[tmp componentsJoinedByString:@", "] forKey:@"allow"];
   
+  if ([[[_ctx request] clientCapabilities] isWebFolder]) {
+    /*
+       As described over here:
+         http://teyc.editthispage.com/2005/06/02
+       
+       This page also says that: "MS-Auth-Via header is not required to work
+       with Web Folders".
+    */
+    [response setHeader:[tmp componentsJoinedByString:@", "] forKey:@"public"];
+  }
+  
   if ((tmp = [self->object davComplianceClassesInContext:_ctx]) != nil) 
     [response setHeader:[tmp componentsJoinedByString:@", "] forKey:@"dav"];