# HG changeset patch # User Evan Schoenberg # Date 1216826595 0 # Node ID da9cf296733ef5b810fafc020cb067e37e1678d6 # Parent ec227bab07b665668e232ce5750e34b78ea1dc12 Some cleanup to our capabilities definitions, and added information on a couple official capabilities tha weren't documented. Two of the newly documented capabilities are still assigned to OSCAR_CAPABILITY_GENERICUNKNOWN because the OscarCapability enum is full; another value would make its largest value exceed max_long. diff -r ec227bab07b6 -r da9cf296733e libpurple/protocols/oscar/family_locate.c --- a/libpurple/protocols/oscar/family_locate.c Wed Jul 23 05:44:56 2008 +0000 +++ b/libpurple/protocols/oscar/family_locate.c Wed Jul 23 15:23:15 2008 +0000 @@ -53,10 +53,9 @@ * These are in ascending numerical order. */ - /* - * Perhaps better called OSCAR_CAPABILITY_SHORTCAPS - */ - {OSCAR_CAPABILITY_ICHAT, + /* Client understands short caps, a UUID of the form + * 0946XXYY-4C7F-11D1-8222-444553540000 where XXYY is the short cap. */ + {OSCAR_CAPABILITY_SHORTCAPS, {0x09, 0x46, 0x00, 0x00, 0x4c, 0x7f, 0x11, 0xd1, 0x82, 0x22, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00}}, @@ -64,11 +63,15 @@ {0x09, 0x46, 0x00, 0x01, 0x4c, 0x7f, 0x11, 0xd1, 0x82, 0x22, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00}}, + {OSCAR_CAPABILITY_XHTML_IM, + {0x09, 0x46, 0x00, 0x02, 0x4c, 0x7f, 0x11, 0xd1, + 0x82, 0x22, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00}}, + {OSCAR_CAPABILITY_VIDEO, {0x09, 0x46, 0x01, 0x00, 0x4c, 0x7f, 0x11, 0xd1, 0x82, 0x22, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00}}, - /* "Live Video" support in Windows AIM 5.5.3501 and newer */ + /* "Live Video" (SIP/RTC Video) support in Windows AIM 5.5.3501 and newer */ {OSCAR_CAPABILITY_LIVEVIDEO, {0x09, 0x46, 0x01, 0x01, 0x4c, 0x7f, 0x11, 0xd1, 0x82, 0x22, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00}}, @@ -78,9 +81,15 @@ {0x09, 0x46, 0x01, 0x02, 0x4c, 0x7f, 0x11, 0xd1, 0x82, 0x22, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00}}, - /* In Windows AIM 5.5.3501 and newer */ + /* "Microphone" support in Windows AIM 5.5.3501 and newer */ + {OSCAR_CAPABILITY_MICROPHONE, + {0x09, 0x46, 0x01, 0x03, 0x4c, 0x7f, 0x11, 0xd1, + 0x82, 0x22, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00}}, + + /* Supports RTC Audio */ + /* OSCAR_CAPABILITY_RTCAUDIO */ {OSCAR_CAPABILITY_GENERICUNKNOWN, - {0x09, 0x46, 0x01, 0x03, 0x4c, 0x7f, 0x11, 0xd1, + {0x09, 0x46, 0x01, 0x04, 0x4c, 0x7f, 0x11, 0xd1, 0x82, 0x22, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00}}, /* In iChatAV (version numbers...?) */ @@ -88,12 +97,21 @@ {0x09, 0x46, 0x01, 0x05, 0x4c, 0x7f, 0x11, 0xd1, 0x82, 0x22, 0x44, 0x45, 0x45, 0x53, 0x54, 0x00}}, - /* - * Not really sure about this one. In an email from - * 26 Sep 2003, Matthew Sachs suggested that, "this - * is probably the capability for the SMS features." - */ - {OSCAR_CAPABILITY_SMS, + /* Supports "new status message features" (Who advertises this one?) */ + /* OSCAR_CAPABILITY_HOST_STATUS_TEXT_AWARE */ + {OSCAR_CAPABILITY_GENERICUNKNOWN, + {0x09, 0x46, 0x01, 0x0a, 0x4c, 0x7f, 0x11, 0xd1, + 0x82, 0x22, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00}}, + + /* Supports "see as I type" (Who advertises this one?) */ + /* OSCAR_CAPABILITY_SEE_AS_I_TYPE */ + {OSCAR_CAPABILITY_GENERICUNKNOWN, + {0x09, 0x46, 0x01, 0x0b, 0x4c, 0x7f, 0x11, 0xd1, + 0x82, 0x22, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00}}, + + /* Client only asserts caps for services in which it is participating */ + /* OSCAR_CAPABILITY_SMARTCAPS */ + {OSCAR_CAPABILITY_GENERICUNKNOWN, {0x09, 0x46, 0x01, 0xff, 0x4c, 0x7f, 0x11, 0xd1, 0x82, 0x22, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00}}, diff -r ec227bab07b6 -r da9cf296733e libpurple/protocols/oscar/oscar.c --- a/libpurple/protocols/oscar/oscar.c Wed Jul 23 05:44:56 2008 +0000 +++ b/libpurple/protocols/oscar/oscar.c Wed Jul 23 15:23:15 2008 +0000 @@ -66,7 +66,9 @@ #define OSCAR_CONNECT_STEPS 6 -static OscarCapability purple_caps = OSCAR_CAPABILITY_CHAT | OSCAR_CAPABILITY_BUDDYICON | OSCAR_CAPABILITY_DIRECTIM | OSCAR_CAPABILITY_SENDFILE | OSCAR_CAPABILITY_UNICODE | OSCAR_CAPABILITY_INTEROPERATE | OSCAR_CAPABILITY_ICHAT; +static OscarCapability purple_caps = (OSCAR_CAPABILITY_CHAT | OSCAR_CAPABILITY_BUDDYICON | OSCAR_CAPABILITY_DIRECTIM | + OSCAR_CAPABILITY_SENDFILE | OSCAR_CAPABILITY_UNICODE | OSCAR_CAPABILITY_INTEROPERATE | + OSCAR_CAPABILITY_SHORTCAPS); static guint8 features_aim[] = {0x01, 0x01, 0x01, 0x02}; static guint8 features_icq[] = {0x01, 0x06}; diff -r ec227bab07b6 -r da9cf296733e libpurple/protocols/oscar/oscar.h --- a/libpurple/protocols/oscar/oscar.h Wed Jul 23 05:44:56 2008 +0000 +++ b/libpurple/protocols/oscar/oscar.h Wed Jul 23 15:23:15 2008 +0000 @@ -353,17 +353,19 @@ OSCAR_CAPABILITY_TRILLIANCRYPT = 0x00010000, OSCAR_CAPABILITY_UNICODE = 0x00020000, OSCAR_CAPABILITY_INTEROPERATE = 0x00040000, - OSCAR_CAPABILITY_ICHAT = 0x00080000, + OSCAR_CAPABILITY_SHORTCAPS = 0x00080000, OSCAR_CAPABILITY_HIPTOP = 0x00100000, OSCAR_CAPABILITY_SECUREIM = 0x00200000, OSCAR_CAPABILITY_SMS = 0x00400000, - OSCAR_CAPABILITY_GENERICUNKNOWN = 0x00800000, + OSCAR_CAPABILITY_MICROPHONE = 0x00800000, OSCAR_CAPABILITY_VIDEO = 0x01000000, OSCAR_CAPABILITY_ICHATAV = 0x02000000, OSCAR_CAPABILITY_LIVEVIDEO = 0x04000000, OSCAR_CAPABILITY_CAMERA = 0x08000000, - OSCAR_CAPABILITY_ICHAT_SCREENSHARE = 0x10000000, - OSCAR_CAPABILITY_LAST = 0x20000000 + OSCAR_CAPABILITY_ICHAT_SCREENSHARE = 0x10000000, + OSCAR_CAPABILITY_XHTML_IM = 0x20000000, + OSCAR_CAPABILITY_GENERICUNKNOWN = 0x40000000, + OSCAR_CAPABILITY_LAST = 0x80000000 } OscarCapability; /*