struct request_input_reply *passphrase_reply = user_data;
connman_bool_t values_received = FALSE;
connman_bool_t wps = FALSE;
+ const char *error = NULL;
char *identity = NULL;
char *passphrase = NULL;
char *wpspin = NULL;
DBusMessageIter iter, dict;
DBusMessage *reply = dbus_pending_call_steal_reply(call);
- if (dbus_message_get_type(reply) == DBUS_MESSAGE_TYPE_ERROR)
+ if (dbus_message_get_type(reply) == DBUS_MESSAGE_TYPE_ERROR) {
+ error = dbus_message_get_error_name(reply);
goto done;
+ }
values_received = TRUE;
passphrase_reply->callback(passphrase_reply->service, values_received,
name, name_len,
identity, passphrase,
- wps, wpspin,
+ wps, wpspin, error,
passphrase_reply->user_data);
connman_service_unref(passphrase_reply->service);
dbus_message_unref(reply);
static void request_input_login_reply(DBusPendingCall *call, void *user_data)
{
struct request_input_reply *username_password_reply = user_data;
+ const char *error = NULL;
char *username = NULL;
char *password = NULL;
char *key;
DBusMessageIter iter, dict;
DBusMessage *reply = dbus_pending_call_steal_reply(call);
- if (dbus_message_get_type(reply) == DBUS_MESSAGE_TYPE_ERROR)
+ if (dbus_message_get_type(reply) == DBUS_MESSAGE_TYPE_ERROR) {
+ error = dbus_message_get_error_name(reply);
goto done;
+ }
dbus_message_iter_init(reply, &iter);
dbus_message_iter_recurse(&iter, &dict);
username_password_reply->callback(username_password_reply->service,
TRUE, NULL, 0,
username, password,
- FALSE, NULL,
+ FALSE, NULL, error,
username_password_reply->user_data);
connman_service_unref(username_password_reply->service);
dbus_message_unref(reply);
const char *name, int name_len,
const char *identifier, const char *secret,
gboolean wps, const char *wpspin,
- void *user_data);
+ const char *error, void *user_data);
typedef void (* browser_authentication_cb_t) (struct connman_service *service,
connman_bool_t authentication_done,
void *user_data);
const char *name, int name_len,
const char *identity, const char *passphrase,
gboolean wps, const char *wpspin,
- void *user_data)
+ const char *error, void *user_data)
{
struct connman_device *device;
int err = 0;
const char *ssid, int ssid_len,
const char *username, const char *password,
gboolean wps, const char *wpspin,
- void *user_data)
+ const char *error, void *user_data)
{
struct connman_wispr_portal_context *wp_context = user_data;