Hi Adam,

Eh eh, indeed! Looks like nobody ever tried this code.
I guess people are fine with Name and never use the SSID alternative.

So your patch looks good, just remove the Signed-off-by, we don't apply this rule in connman's tree.

Tomasz

Read Agent provided SSID as an array of bytes and recurse where needed

Signed-off-by: Adam Moore <adam.mo...@savantsystems.com>
---
  src/agent-connman.c | 11 +++++++----
  1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/agent-connman.c b/src/agent-connman.c
index 8440451..1b6f8a3 100644
--- a/src/agent-connman.c
+++ b/src/agent-connman.c
@@ -141,17 +141,20 @@ static void request_input_passphrase_reply(DBusMessage 
*reply, void *user_data)
                         name_len = strlen(name);
                 } else if (g_str_equal(key, "SSID")) {
                         dbus_message_iter_next(&entry);
+                       DBusMessageIter *array_iter = NULL;
                         if (dbus_message_iter_get_arg_type(&entry)
                                                         != DBUS_TYPE_VARIANT)
                                 break;
                         dbus_message_iter_recurse(&entry, &value);
                         if (dbus_message_iter_get_arg_type(&value)
-                                                       != DBUS_TYPE_VARIANT)
+                                                       != DBUS_TYPE_ARRAY)
                                 break;
-                       if (dbus_message_iter_get_element_type(&value)
-                                                       != DBUS_TYPE_VARIANT)
+
+                       dbus_message_iter_recurse(&value, &array_iter);
+                       if (dbus_message_iter_get_arg_type(&array_iter)
+                                                       != DBUS_TYPE_BYTE)
                                 break;
-                       dbus_message_iter_get_fixed_array(&value, &name,
+                       dbus_message_iter_get_fixed_array(&array_iter, &name,
                                                         &name_len);
                 }
                 dbus_message_iter_next(&dict);
--
1.9.1


Statement of Confidentiality

The contents of this e-mail message and any attachments are confidential and 
are intended solely for the addressee. The information may also be legally 
privileged. This transmission is sent in trust, and the sole purpose of 
delivery to the intended recipient. If you have received this transmission in 
error, any use, reproduction or dissemination of this transmission is strictly 
prohibited. If you are not the intended recipient, please immediately notify 
the sender by reply e-mail or at 508.683.2500 and delete this message and its 
attachments, if any.

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


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

Reply via email to