nitrokey-sys-rs v3.6.0 has been released. It is available as a signed tag in
the nitrokey-sys-rs Git repository:
https://git.sr.ht/~ireas/nitrokey-sys-rs/refs/v3.6.0
Or on crates.io:
https://crates.io/crates/nitrokey-sys/3.6.0
This release updates the libnitrokey dependency to version 3.6.0 and refactors
the bindings generation. It adds the bindgen feature that enables generating
the bindings during build instead of using the pre-generated bindings.
Note that with this release, the main Git repository has moved to sourcehut.
As always, thanks to Daniel Müller for contributions, ideas and reviews.
Changelog
---------
- Derive `Debug` for all structs generated by `bindgen`.
- Implement `std::fmt::Display` instead of `std::string::ToString` for the
`Version` enum in `build.rs`.
- Do not include layout tests in the generated bindings.
- Add `bindgen` feature that re-generates the bindings during the build,
including layout tests.
- Update to libnitrokey 3.6, causing all following changes.
- New constants:
- `NK_device_model_NK_LIBREM` (`NK_device_model` enum)
- New structures:
- `NK_config`
- New functions:
- `NK_device_serial_number_as_u32`
- `NK_write_config_struct`
- `NK_free_config`
- `NK_read_config_struct`
- `NK_free_password_safe_slot_status`
- Deprecated functions:
- `NK_set_unencrypted_read_only`
- `NK_set_unencrypted_read_write`
Commit summary
--------------
Robin Krahl (17):
Add Makefile for generating src/ffi.rs
Use quilt to manage modifications in src/ffi.rs
Remove unnecessary __uint*_t typedefs
Re-generate bindings in src/ffi.rs
Derive Default for libnitrokey structs
Implement Display for Version in build.rs
Update to libnitrokey v3.6
Automatically refresh patches
Do not include layout tests in generated bindings
Add feature to generate bindings during build
Add verify-bindings make target
Add the Librem Key model to the unit tests
Update contribution information in readme
Fix formatting for deprecation attributes
Add build script for CI
Disable default features for bindgen
Release v3.6.0
.builds/archlinux.yml | 36 +
.gitignore | 2 +
CHANGELOG.md | 22 +
Cargo.toml | 8 +-
Makefile | 25 +
README.md | 25 +-
build.rs | 47 +-
.../DeviceCommunicationExceptions.cpp | 0
{libnitrokey-v3.5 => libnitrokey-v3.6}/LICENSE | 0
{libnitrokey-v3.5 => libnitrokey-v3.6}/NK_C_API.cc | 51 +-
{libnitrokey-v3.5 => libnitrokey-v3.6}/NK_C_API.h | 84 +-
.../NitrokeyManager.cc | 48 +-
{libnitrokey-v3.5 => libnitrokey-v3.6}/README.md | 83 ++
.../command_id.cc | 3 +
{libnitrokey-v3.5 => libnitrokey-v3.6}/device.cc | 84 +-
.../libnitrokey/CommandFailedException.h | 0
.../libnitrokey/DeviceCommunicationExceptions.h | 0
.../libnitrokey/LibraryException.h | 0
.../libnitrokey/LongOperationInProgressException.h | 0
.../libnitrokey/NitrokeyManager.h | 3 +
.../libnitrokey/command.h | 0
.../libnitrokey/command_id.h | 0
.../libnitrokey/cxx_semantics.h | 0
.../libnitrokey/deprecated.h | 0
.../libnitrokey/device.h | 18 +-
.../libnitrokey/device_proto.h | 2 +-
.../libnitrokey/dissect.h | 0
.../libnitrokey/hidapi/hidapi.h | 0
.../libnitrokey/log.h | 1 +
.../libnitrokey/misc.h | 0
.../libnitrokey/stick10_commands.h | 0
.../libnitrokey/stick10_commands_0.8.h | 0
.../libnitrokey/stick20_commands.h | 0
.../libnitrokey/version.h | 0
{libnitrokey-v3.5 => libnitrokey-v3.6}/log.cc | 0
{libnitrokey-v3.5 => libnitrokey-v3.6}/misc.cc | 0
{libnitrokey-v3.5 => libnitrokey-v3.6}/version.cc | 0
.../version.cc.in | 0
patches/deprecated.diff | 46 +
patches/remove-uint.diff | 21 +
patches/series | 2 +
src/ffi.rs | 1540 +++++++-------------
src/lib.rs | 8 +-
43 files changed, 1065 insertions(+), 1094 deletions(-)