/*
- 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.
#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]];
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'
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"'
*/