From: Julien Massot Date: Fri, 13 Apr 2012 15:16:30 +0000 (+0000) Subject: gsupplicant: Interpret "invalid message format" as invalid-key error X-Git-Tag: 2.0_alpha~423 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=03ebc040bfae59d85f4e7acdc3117881f6067262;p=framework%2Fconnectivity%2Fconnman.git gsupplicant: Interpret "invalid message format" as invalid-key error If gsupplicant sends a malformed passphrase, wpa_supplicant return an error "invalid message format", parsing this error avoids future usage of this passphrase. --- diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c index 5db1fcd..c8f3389 100644 --- a/gsupplicant/supplicant.c +++ b/gsupplicant/supplicant.c @@ -2684,10 +2684,15 @@ static int parse_supplicant_error(DBusMessageIter *iter) int err = -ECANCELED; char *key; + /* If the given passphrase is malformed wpa_s returns + * "invalid message format" but this error should be interpreted as + * invalid-key. + */ while (dbus_message_iter_get_arg_type(iter) == DBUS_TYPE_STRING) { dbus_message_iter_get_basic(iter, &key); - if (strncmp(key, "psk", 4) == 0 || - strncmp(key, "wep_key", 7) == 0) { + if (strncmp(key, "psk", 3) == 0 || + strncmp(key, "wep_key", 7) == 0 || + strcmp(key, "invalid message format") == 0) { err = -ENOKEY; break; }