| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
This patch adds the bindgen feature to the crate that allows users to
re-generate the bindings, including layout tests, during the build
instead of using the pre-generated bindings. Per default, this feature
is disabled.
|
|
|
|
|
|
|
|
|
|
|
|
| |
We are generating the Rust bindings in src/ffi.rs using bindgen once for
all platforms on an amd64 machine. These bindings previously included
layout tests. But these tests fail on some 32-bit architecture. See
this discussion for more information:
https://lists.sr.ht/~ireas/nitrokey-rs-dev/%3C20200919182408.GA1513%40ireas.org%3E
With this patch, we remove the layout tests from the generated bindings.
Instead, we will add the option to re-generate the bindings, including
the layout tests, during the build in the next patch.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch updates libnitrokey from version 3.5 to version 3.6, causing
these 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`
|
|
|
|
|
|
|
|
| |
This patch adds the --with-derive-default option to the bindgen
invocation so that it derives Default implementations for all
libnitrokey structs. This allows us to simplify code in nitrokey-rs,
for example the initialization of structs that are used in nitrokey-sys
functions with output parameters.
|
|
|
|
|
|
|
|
| |
Older versions of bindgen rendered C++ doc comments as Rust doc comments
using the /// syntax. Newer versions use the doc attribute instead.
This patch re-generates the src/ffi.rs file with bindgen 0.55.1 so that
it uses the new format. This makes it easier to perform changes in the
future.
|
|
|
|
|
|
|
|
| |
While bindgen is able to replace the C uint types with the correct Rust
types, it still generates typedefs for __uint{8,16,32,64}_t [0]. We
don’t need these typedefs, so we add a patch to remove them.
[0] https://github.com/rust-lang/rust-bindgen/issues/1663
|
|
|
|
|
|
|
| |
This patch adds a Makefile to make it easier to generate the src/ffi.rs
file using bindgen. As we can use whitelists instead of manually
removing the unnecessary type definitions, we also re-generate the file
with the new settings.
|
|
|
|
|
|
| |
nitrokey-sys currently contains two deprecated functions: `NK_status`
and `NK_totp_get_time`. This patch adds Rust’s `deprecated` attribute
to the functions.
|
|
|
|
|
| |
This patch updates libnitrokey from version 3.4.1 to version 3.5 and
lists all API changes in the changelog.
|
|
|
|
|
| |
This patch updates the crate to use Rust edition 2018. It also changes
the use statement for the ffi module to the new crate:: syntax.
|
|
|
|
|
|
|
|
|
| |
Currently, the login_auto test case calls NK_logout before
NK_login_auto due to the behavior described in libnitrokey pull
request #115 [0]. This behavior has been fixed in version 3.4.1.
Therefore this patch removes the NK_logout call.
[0] https://github.com/Nitrokey/libnitrokey/pull/115
|
|
|
|
|
|
| |
Besides the changes listed in the changelog, this patch also changes the
build system to be able to generate the version.cc file containing the
library version.
|
|
|
|
|
|
| |
This patch changes the build script to compile and link libnitrokey from
the included source. Also, we have to link against hidapi-libusb as a
libnitrokey requirement.
|
|
|
|
|
|
|
| |
Use bindgen to generate the bindings statically instead of during build.
Code generation is not necessary as NK_C_API.h does not contain any
system-dependent definitions. Removing bindgen as a build dependency
also drastically speeds up compilation.
|
|
Previously, this crate has been part of the nitrokey-rs repository at
https://git.ireas.org/nitrokey-rs.
|