]> err.no Git - sope/blobdiff - sope-appserver/NGObjWeb/WEClientCapabilities.m
fixed an issue with lowercase 'webobject name' tags
[sope] / sope-appserver / NGObjWeb / WEClientCapabilities.m
index a17f44ca8bad2ea2f73c4802ce8a6a2b69131a38..cdb6950bafd7bac5cab0b77709018b676ad8a2f3 100644 (file)
@@ -1,5 +1,6 @@
 /*
-  Copyright (C) 2000-2005 SKYRIX Software AG
+  Copyright (C) 2000-2006 SKYRIX Software AG
+  Copyright (C) 2006      Helge Hess
 
   This file is part of SOPE.
 
@@ -70,6 +71,8 @@
 #define WEUA_Goliath          40
 #define WEUA_PerlHTTPDAV      41
 #define WEUA_Google           42
+#define WEUA_WebDrive         43
+#define WEUA_Sunbird          44
 
 #define WEOS_UNKNOWN   0
 #define WEOS_WINDOWS   1
       self->browserMajorVersion = combinedVersion / 100;
     }
   }
+  else if ((tmp = strstr(ua, "Sunbird/"))) {
+    /* Sunbird says it is a Mozilla */
+    self->browser = WEUA_Sunbird;
+    tmp += 8; /* skip "Sunbird/" */
+    
+    self->browserMajorVersion = atoi(tmp);
+    if ((tmp = index(tmp, '.'))) {
+      tmp++;
+      self->browserMinorVersion = atoi(tmp);
+    }
+  }
   else if (strstr(ua, "Outlook-Express/")) {
     /* Outlook Express 5.5 mailbox access via http */
     self->browser = WEUA_MSOutlookExpress;
     /* Entourage MacOSX 10.1.4 */
     self->browser = WEUA_Entourage;
   }
+  else if (strstr(ua, "Microsoft-WebDAV-MiniRedir/5")) {
+    /* WebFolders Win XP SP 2 */
+    self->browser = WEUA_WebFolder;
+  }
   else if ((tmp = strstr(ua, "MSIE"))) {
     /* Internet Explorer */
     self->browser = WEUA_IE;
     /* WebFolder */
     self->browser = WEUA_WebFolder;
   }
+  else if (strstr(ua, "Microsoft Office Protocol Discovery")) {
+    /* Word 2003, treat as WebFolder */
+    self->browser = WEUA_WebFolder;
+  }
   else if (strstr(ua, "curl")) {
     /* curl program */
     self->browser = WEUA_CURL;
   else if (strstr(ua, "Morgul")) {
     self->browser = WEUA_Morgul;
   }
+  else if (strstr(ua, "WebDrive")) {
+    self->browser = WEUA_WebDrive;
+  }
   else if (strstr(ua, "CFNetwork/1.1")) {
     self->browser = WEUA_CFNetwork;
   }
     case WEUA_Goliath:          return @"Goliath";
     case WEUA_PerlHTTPDAV:      return @"PerlHTTPDAV";
     case WEUA_Google:           return @"Google";
+    case WEUA_WebDrive:         return @"WebDrive";
+    case WEUA_Sunbird:          return @"Sunbird";
     default:                    return @"unknown";
   }
 }
     case WEUA_Netscape:
     case WEUA_OmniWeb:
     case WEUA_Konqueror:
+    case WEUA_Safari:
       return YES;
       
     default:
   if (self->browser == WEUA_Morgul)           return YES;
   if (self->browser == WEUA_Goliath)          return YES;
   if (self->browser == WEUA_PerlHTTPDAV)      return YES;
+  if (self->browser == WEUA_WebDrive)         return YES;
+  if (self->browser == WEUA_Sunbird)          return YES;
   return NO;
 }
 
   case WEUA_Evolution:
   case WEUA_SOUP:
   case WEUA_Morgul:
+  case WEUA_Sunbird:
     /* browser so new, that they always supported UTF-8 ... */
     return YES;
   case WEUA_IE:
 - (NSString *)description {
   NSMutableString *s;
 
-  s = [NSMutableString stringWithFormat:@"<%@[0x%08X]:",
+  s = [NSMutableString stringWithFormat:@"<%@[0x%p]:",
                          NSStringFromClass([self class]), self];
   
   //[s appendFormat:@" ua='%@'", self->userAgent];
-  [s appendFormat:@" type=%@ v%i.%i>",
+  [s appendFormat:@" type=%@ v%i.%i",
        [self userAgentType],
        self->browserMajorVersion, self->browserMinorVersion];
   [s appendFormat:@" os=%@",   [self os]];
@@ -956,6 +987,9 @@ static NSString *WEClientDetectorFormName = @"WEClientDetect";
   
   MacOSX 10.2.1 DAV FS
     WebDAVFS/1.2.1 (01218000) Darwin/6.1 (Power Macintosh)
+
+  MacOSX 10.4.2 DAV FS
+    WebDAVFS/1.4.1 (01418000) Darwin/8.6.0 (Power Macintosh)
   
   Cadaver 0.17.0
     'cadaver/0.17.0 neon/0.12.0-dev'
@@ -1057,4 +1091,36 @@ static NSString *WEClientDetectorFormName = @"WEClientDetect";
   
   Google Ads
     'Mediapartners-Google/2.1'
+
+  WebFolders Win XP SP2
+    'Microsoft-WebDAV-MiniRedir/5.1.2600'
+  
+  Word 2003
+    'Microsoft Office Protocol Discovery'
+
+  WebDrive
+    'WebDrive 7.10.1475 DAV'
+
+  Nokia N80, Opera 8 (352x416, 24b)
+    'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Symbian OS; Series 60/; 7439) Opera 8.60 [de]'
+    'X-OS-Prefs: fw:352; fh:416; cd:24c; pl:3; pj:0; pa:1;pi:0;ps:0;'
+
+  Nokia N80, Safari
+    'User-Agent: Mozilla/5.0 (SymbianOS/9.1; U; en-us) AppleWebKit/413 (KHTML, like Gecko) Safari/413'
+
+  Nokia N80, WAP Browser
+    'User-Agent: NokiaN80-1/3.0 (3.0611.0.8) Series60/3.0  Profile/MIDP-2.0 Configuration/CLDC-1.1'
+    'x-wap-profile: "http://nds1.nds.nokia.com/uaprof/NN80-1r100.xml"'
+
+  Sony/Ericsson T610 (128x160, 16b)
+    'user-agent: SonyEricssonT610/R301 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Link/6.3.0.0.0'
+    'x-up-devcap-charset: US-ASCII,ISO-8859-1,UTF-8,ISO-10646-UCS-2'
+    'x-up-devcap-iscolor: 1'
+    'x-up-devcap-max-pdu: 10000'
+    'x-up-devcap-screendepth: 16'
+    'x-up-devcap-screenpixels: 128,160'
+    'x-up-forwarded-for: 10.233.155.62'
+    'x-up-subno: 981574289-60174629'
+    'x-up-wtls-info: off'
+    'x-wap-profile: "http://wap.sonyericsson.com/UAprof/T610R301.xml"'
 */