FidoHidDevice::TryWink does not wait for FidoHidDevice::AllocateChannel |
||
Issue descriptionIn the current implementation FidoHidDevice::TryWink() is independent of FidoHidDevice::AllocateChannel(). This can lead to situations where we don't wink, even though the device is able to do so. This is because TryWink might check the capabilities [1] before OnAllocateChannel had a chance to parse the device response [2]. We should fix this by enqueing the Wink request, similarly to how FidoBleDevice handles incoming requests [3]. Furthermore, we should remove TryWink from the FidoDevice interface, as it is only is defined for HID devices. We could make this part of FidoHidDevice::DeviceTransact instead, i.e. always try to wink the device if a register or sign operation is about to be performed. [1] https://cs.chromium.org/chromium/src/device/fido/fido_hid_device.cc?l=346&rcl=db9520ce98b750e578caf7270eee0c5130a0e1fb [2] https://cs.chromium.org/chromium/src/device/fido/fido_hid_device.cc?l=196&rcl=db9520ce98b750e578caf7270eee0c5130a0e1fb [3] https://cs.chromium.org/chromium/src/device/fido/fido_ble_device.cc?l=40,58,79,122&rcl=a34ba3954cd942b9ec5e783c18f54004c48ff978
,
Jan 9
|
||
►
Sign in to add a comment |
||
Comment 1 by kpaulhamus@chromium.org
, Jun 6 2018