diff --git a/src/wsc.c b/src/wsc.c index c4eda65e..79a021ad 100644 --- a/src/wsc.c +++ b/src/wsc.c @@ -444,7 +444,7 @@ static void wsc_connect(struct wsc *wsc) if (l_dbus_message_get_arguments(wsc->pending, "s", &pin)) { enum wsc_device_password_id dpid; - if (wsc_pin_is_checksum_valid(pin)) + if (strlen(pin) == 4 || wsc_pin_is_checksum_valid(pin)) dpid = WSC_DEVICE_PASSWORD_ID_DEFAULT; else dpid = WSC_DEVICE_PASSWORD_ID_USER_SPECIFIED; @@ -958,7 +958,7 @@ static struct l_dbus_message *wsc_start_pin(struct l_dbus *dbus, if (!wsc_pin_is_valid(pin)) return dbus_error_invalid_format(message); - if (wsc_pin_is_checksum_valid(pin)) + if (strlen(pin) == 4 || wsc_pin_is_checksum_valid(pin)) dpid = WSC_DEVICE_PASSWORD_ID_DEFAULT; else dpid = WSC_DEVICE_PASSWORD_ID_USER_SPECIFIED;