summaryrefslogtreecommitdiff
path: root/obexd
diff options
context:
space:
mode:
Diffstat (limited to 'obexd')
-rw-r--r--obexd/plugins/pbap.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/obexd/plugins/pbap.c b/obexd/plugins/pbap.c
index efae92cd8..ab5236316 100644
--- a/obexd/plugins/pbap.c
+++ b/obexd/plugins/pbap.c
@@ -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;