summaryrefslogtreecommitdiff
path: root/src/agent.c
diff options
context:
space:
mode:
authorTomasz Bursztyka <tomasz.bursztyka@linux.intel.com>2012-05-28 14:20:22 +0300
committerPatrik Flykt <patrik.flykt@linux.intel.com>2012-06-15 14:46:53 +0300
commit1e3f8d730a7bf8de0ff7cf353fa663f8a689f241 (patch)
tree100dc0306029f06fa6d7703d5b09a8480e265a68 /src/agent.c
parent8893b23215b620852ca46ebb1b09ea0726757428 (diff)
downloadconnman-1e3f8d730a7bf8de0ff7cf353fa663f8a689f241.tar.gz
connman-1e3f8d730a7bf8de0ff7cf353fa663f8a689f241.tar.bz2
connman-1e3f8d730a7bf8de0ff7cf353fa663f8a689f241.zip
agent: Implement the new type and argument for RequestInput method call
This implements the usage of PreviousPassphrase argument as an informational field type.
Diffstat (limited to 'src/agent.c')
-rw-r--r--src/agent.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/agent.c b/src/agent.c
index 581f977c..e1d7332c 100644
--- a/src/agent.c
+++ b/src/agent.c
@@ -334,6 +334,18 @@ static void request_input_append_password(DBusMessageIter *iter,
DBUS_TYPE_STRING, &str);
}
+static void request_input_append_previouspassphrase(DBusMessageIter *iter,
+ void *user_data)
+{
+ const char *passphrase = user_data;
+ const char *str = "informational";
+
+ connman_dbus_dict_append_basic(iter, "Type",
+ DBUS_TYPE_STRING, &str);
+ connman_dbus_dict_append_basic(iter, "Value",
+ DBUS_TYPE_STRING, &passphrase);
+}
+
static void request_input_login_reply(DBusPendingCall *call, void *user_data)
{
struct request_input_reply *username_password_reply = user_data;
@@ -401,7 +413,7 @@ int __connman_agent_request_passphrase_input(struct connman_service *service,
authentication_cb_t callback, void *user_data)
{
DBusMessage *message;
- const char *path;
+ const char *path, *passphrase;
DBusMessageIter iter;
DBusMessageIter dict;
DBusPendingCall *call;
@@ -441,6 +453,11 @@ int __connman_agent_request_passphrase_input(struct connman_service *service,
CONNMAN_SERVICE_SECURITY_NONE) {
connman_dbus_dict_append_dict(&dict, "Passphrase",
request_input_append_passphrase, service);
+ passphrase = __connman_service_get_passphrase(service);
+ if (passphrase != NULL)
+ connman_dbus_dict_append_dict(&dict, "PreviousPassphrase",
+ request_input_append_previouspassphrase,
+ (void *) passphrase);
}
if (__connman_service_wps_enabled(service) == TRUE) {