|  | 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. |