WiFiDisplayIEs is a tlv formatted byte array following the WiDi
specifications. ConnMan won't interpret anything about it in its core.
---
 src/manager.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/manager.c b/src/manager.c
index e97921b..a06cdcf 100644
--- a/src/manager.c
+++ b/src/manager.c
@@ -412,13 +412,19 @@ static int parse_peers_service_specs(DBusMessageIter 
*array,
                        *spec_len = strlen((const char *)*spec)+1;
                } else if (!g_strcmp0(key, "UpnpVersion")) {
                        dbus_message_iter_get_basic(&value, version);
+               } else if (!g_strcmp0(key, "WiFiDisplayIEs")) {
+                       if (*spec || *query)
+                               return -EINVAL;
+                       dbus_message_iter_get_fixed_array(&value,
+                                                       spec, spec_len);
                } else
                        return -EINVAL;
 
                dbus_message_iter_next(array);
        }
 
-       if ((*query && *version) || (!*spec && *query) || (!spec && *version))
+       if ((*query && !*version) ||
+                       (!*spec && !*query) || (!*spec && *version))
                return -EINVAL;
 
        return 0;
-- 
1.8.5.5

_______________________________________________
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman

Reply via email to