* Fixes an issue where Lc bytes would be included when Nc = 0 (zero command data length). This is incorrect in ISO 7816-4:2005 (which FIDO v1.1 and v1.2 correctly describe).
This affected the `GetVersion` command; and tests have been updated accordingly.
* Renames `U2FAPDUHeader` to `CTAP1RequestAPDU`.
Using the name "CTAP1" rather than "U2F" follows the convention put forward in FIDO v2.x specs, which avoids confusion like "U2Fv2" = "CTAP1".
The previous implementation wasn't just "a header", but rather the complete APDU.
* Renames `FidoDevice::send_apdu` to `FidoDevice::send_ctap1`. This makes it more like `RequestCtap2`, and avoids confusion later on when adding support for CTAP2 over NFC (which still uses ISO 7816-4 APDUs).
* Documents and add tests for `CTAP1RequestAPDU`, explaining the confusing state of affairs.
This updates warp to 0.3.2 and tokio to 1.0. These libraries are only used for
testing. This update should help prevent duplicated copies of tokio when
vendoring into mozilla-central.
Major changes:
* Move to Rust 2018 edition #125
* Remove dependency on boxfnonce #121
* Reworked error handling #130
* Added a higher-level AuthenticatorService that can use multiple backends #123
* Changed the C API to use the new AuthenticatorService #123
* Added a Status channel for backends #122
* Now obtaining HID report sizes from the descriptors #112
* Add authenticator USB and Firmware details to the C API #93