Hi,

On Thu, 2012-04-12 at 17:16 +0000, Julien Massot wrote:
> If gsupplicant sends a malformed passphrase,
> wpa_supplicant return an error "invalid message format",
> parsing this error avoids future usage of this passphrase.
> ---
>  gsupplicant/supplicant.c |   11 ++++++++---
>  1 files changed, 8 insertions(+), 3 deletions(-)
> 
> diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c
> index 5db1fcd..c5a2da7 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;
>               }

This part is ok.

> @@ -3483,7 +3488,7 @@ void g_supplicant_unregister(const GSupplicantCallbacks 
> *callbacks)
>               callback_system_killed();
>  
>       if (interface_table != NULL) {
> -             g_hash_table_foreach(interface_table,   
> +             g_hash_table_foreach(interface_table,
>                                       unregister_remove_interface, NULL);
>               g_hash_table_destroy(interface_table);
>               interface_table = NULL;

Break out this one into another whitespace fix.


Cheers,

        Patrik


_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman

Reply via email to