diff options
author | Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com> | 2012-05-28 14:20:22 +0300 |
---|---|---|
committer | Patrik Flykt <patrik.flykt@linux.intel.com> | 2012-06-15 14:46:53 +0300 |
commit | 1e3f8d730a7bf8de0ff7cf353fa663f8a689f241 (patch) | |
tree | 100dc0306029f06fa6d7703d5b09a8480e265a68 /src/agent.c | |
parent | 8893b23215b620852ca46ebb1b09ea0726757428 (diff) | |
download | connman-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.c | 19 |
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) { |