Hi Grant,
> Some access points incorrectly advertise WPS even when they are
> configured as open (i.e. no security), so filter adding WPS to the
> security array appropriately.
>
> ---
> src/service.c | 22 ++++++++++++++++++----
> 1 files changed, 18 insertions(+), 4 deletions(-)
>
> diff --git a/src/service.c b/src/service.c
> index 6a68346..e71eb79 100644
> --- a/src/service.c
> +++ b/src/service.c
> @@ -1391,10 +1391,24 @@ static void append_security(DBusMessageIter *iter,
> void *user_data)
> dbus_message_iter_append_basic(iter,
> DBUS_TYPE_STRING, &str);
>
> - str = "wps";
> - if (service->wps == TRUE)
> - dbus_message_iter_append_basic(iter,
> - DBUS_TYPE_STRING, &str);
> + /*
> + * Some access points incorrectly advertise WPS even when they
> + * are configured as open or no security, so filter
> + * appropriately.
> + */
> + if (service->wps == TRUE) {
> + switch (service->security) {
> + case CONNMAN_SERVICE_SECURITY_PSK:
> + case CONNMAN_SERVICE_SECURITY_WPA:
> + case CONNMAN_SERVICE_SECURITY_RSN:
> + str = "wps";
> + dbus_message_iter_append_basic(iter,
> + DBUS_TYPE_STRING, &str);
> + break;
> + default:
> + break;
> + }
instead of a default: label, I would prefer that you spell out all other
entries of the enum.
This has the advantage that gcc will warn us about this code if we ever
add another one. And this reminds us to review the code.
Regards
Marcel
_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman