@@ -511,6 +511,21 @@ static int pbap_get(struct obex_session *os, void *user_data)
rsize = 0;
}
+ /* Workaround for PTS client not sending mandatory apparams */
+ if (!rsize && g_ascii_strcasecmp(type, VCARDLISTING_TYPE) == 0) {
+ static const uint8_t default_apparams[] = {
+ 0x04, 0x02, 0xff, 0xff
+ };
+ buffer = default_apparams;
+ rsize = sizeof(default_apparams);
+ } else if (!rsize && g_ascii_strcasecmp(type, VCARDENTRY_TYPE) == 0) {
+ static const uint8_t default_apparams[] = {
+ 0x07, 0x01, 0x00
+ };
+ buffer = default_apparams;
+ rsize = sizeof(default_apparams);
+ }
+
params = parse_aparam(buffer, rsize);
if (params == NULL)
return -EBADR;