summaryrefslogtreecommitdiff
path: root/gsupplicant
diff options
context:
space:
mode:
authorTomasz Bursztyka <tomasz.bursztyka@linux.intel.com>2014-10-06 10:47:10 +0300
committerPatrik Flykt <patrik.flykt@linux.intel.com>2014-10-07 16:33:47 +0300
commit732cd5ac09efd4adeafc62967bbdca7348e0c798 (patch)
treece529149060a261c4d99c89a876099f3e01f5c86 /gsupplicant
parent1178e233dc85e2c7c721a331a033401e010084bc (diff)
downloadconnman-732cd5ac09efd4adeafc62967bbdca7348e0c798.tar.gz
gsupplicant: Configure device with WPS PBC method only
Thus incoming connection will not try to use WPS PIN method. This enforces connman to support only WPS PBC on incoming connection.
Diffstat (limited to 'gsupplicant')
-rw-r--r--gsupplicant/supplicant.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c
index 8fd3ab48..a5415f5a 100644
--- a/gsupplicant/supplicant.c
+++ b/gsupplicant/supplicant.c
@@ -1914,6 +1914,14 @@ static void interface_bss_removed(DBusMessageIter *iter, void *user_data)
g_hash_table_remove(interface->network_table, network->group);
}
+static void set_config_methods(DBusMessageIter *iter, void *user_data)
+{
+ const char *config_methods = "puth_button";
+
+ dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING,
+ &config_methods);
+}
+
static void interface_property(const char *key, DBusMessageIter *iter,
void *user_data)
{
@@ -1940,6 +1948,12 @@ static void interface_property(const char *key, DBusMessageIter *iter,
debug_strvalmap("Mode capability", mode_capa_map,
interface->mode_capa);
+
+ supplicant_dbus_property_set(interface->path,
+ SUPPLICANT_INTERFACE ".Interface.WPS",
+ "ConfigMethods", DBUS_TYPE_STRING_AS_STRING,
+ set_config_methods, NULL, NULL, NULL);
+
if (interface->ready)
callback_interface_added(interface);