Support the Librem Key model
This patch adds support for the Librem Key model, a clone of the
Nitrokey Pro. Functionally, it is identical to the Nitrokey Pro, but it
has a different USB vendor and product ID.
With this patch, we also change the Display implementation for Model to
return the complete name of the model, i. e. Nitrokey Pro, Nitrokey
Storage or Librem Key.
Bump the MSRV to 1.40.0
In a previous commit, we used the non_exhaustive attribute to mark some
enums as non-exhaustive. This attribute was stabilized in Rust version
1.40.0, so we have to increase our minimum supported Rust version.
Fix link to nitrocli repository
For a while now nitrocli now longer had the nitrocli/ subdirectory
present, as it used to when it was vendoring all its dependencies. With
this change we adjust the link to the project to reflect this change.
Merge branch 'release-0.5.1'
Fix link to examples in README
docs.rs seems to support only versioned links to source files. This
patch replaces the link to docs.rs with a link to git.ireas.org to avoid
having to update the link with every release. (Note that the last
release already contained a link to the wrong version.)
Merge branch 'release-0.5.0'
Update readme: usage, features, system libnitrokey
This patch updates the readme with:
- more usage information, especially a pointer to the examples and to
- information about the supported features (= everything),
- information on how to use the system libnitrokey instead of building
it from source.
Add the fill_sd_card function to Storage
This patch adds support for libnitrokey’s
NK_fill_SD_card_with_random_data function. It is executed by the
fill_sd_card function of the Storage struct. We also add a new test
case that is set to ignore because it takes between 30 and 60 minutes to
Update the list of unsupported functions
After some more research, I decided not to implement some of the methods
provided by libnitrokey. This patch adds them to the list of
unsupported functions in the readme, and removes them from the list of
unimplemented functions in the todo list.
Merge branch 'release-0.4.0'
Update and correct the readme file
This patch updates the readme regarding the support by Nitrokey UG and
fixes an editing error in the test section.
Document Minium Supported Rust Version in readme file
The version 1.34.2 is picked arbitrarily as it is the Rust version in
Debian buster and nitrocli is known to work with it. Earlier versions
might work too, but they might break with any future release.
Change license for configuration and documentation to CC0-1.0
Comply with version 3.0 of the REUSE specification
To comply with the new version 3.0 of the REUSE specification, we have
to add a copyright header to the .gitignore file and move the LICENSE
file to LICENSES/MIT.txt.
Update list of new and unsupported functions
This patch updates the list of unsupported functions in the README and
the TODO and the list of functions changed in the libnitrokey 3.5
- List all `*_as_string` functions as unsupported.
- List deprecated functions as unsupported.
- List `NK_read_HOTP_slot` as unsupported until an equivalent function
for TOTP exists.
- Ignore the changes to `NK_get_progress_bar_value` as the function is
not yet used by `nitrokey-rs`.
- Add the new functions from version 3.5 to the list of missing
Add set_encrypted_volume_mode method to Storage
Previously, we considered this command as unsupported as it only was
available with firmware version 0.49. But as discussed in nitrocli
issue 80 , it will probably be re-enabled in future firmware
versions. Therefore this patch adds the set_encrypted_volume_mode to
Add tolerance for timing issues to the TOTP tests
The TOTP test with the timestamp 59 often fails as the Nitrokey’s clock
ticks between setting the time and generating the TOTP code. This patch
also allows the TOTP code for timestamp 60 for this test case.
Add license and copyright information
This patch adds license and copyright information to all files to make
nitrokey-rs compliant with the REUSE practices .
Document that NK_is_AES_supported is unsupported
NK_is_AES_supported is not needed for newer firmware versions of the Pro
and Storage, see this discussion for more information:
Document unsupported outdated functions
We do not support old firmware versions on the Nitrokey Storage, so we
document that these outdated functions are not supported: