<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nitrokey-sys-rs/src, branch next</title>
<subtitle>low-level Rust bindings for libnitrokey</subtitle>
<id>https://git.ireas.org/nitrokey-sys-rs/atom?h=next</id>
<link rel='self' href='https://git.ireas.org/nitrokey-sys-rs/atom?h=next'/>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrokey-sys-rs/'/>
<updated>2020-09-23T11:04:11Z</updated>
<entry>
<title>Add the Librem Key model to the unit tests</title>
<updated>2020-09-23T11:04:11Z</updated>
<author>
<name>Robin Krahl</name>
<email>robin.krahl@ireas.org</email>
</author>
<published>2020-09-23T11:04:11Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrokey-sys-rs/commit/?id=8f037261c096cab27ad2d11c199217620625e09a'/>
<id>urn:sha1:8f037261c096cab27ad2d11c199217620625e09a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add feature to generate bindings during build</title>
<updated>2020-09-22T17:09:40Z</updated>
<author>
<name>Robin Krahl</name>
<email>robin.krahl@ireas.org</email>
</author>
<published>2020-09-22T17:09:40Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrokey-sys-rs/commit/?id=c484777f3a7dde9e9fe8f47344fd8a6b30840b78'/>
<id>urn:sha1:c484777f3a7dde9e9fe8f47344fd8a6b30840b78</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Do not include layout tests in generated bindings</title>
<updated>2020-09-22T16:26:53Z</updated>
<author>
<name>Robin Krahl</name>
<email>robin.krahl@ireas.org</email>
</author>
<published>2020-09-22T16:26:53Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrokey-sys-rs/commit/?id=4932d2376cc03c64eb82972824be673cdc2e0741'/>
<id>urn:sha1:4932d2376cc03c64eb82972824be673cdc2e0741</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Update to libnitrokey v3.6</title>
<updated>2020-09-20T09:59:36Z</updated>
<author>
<name>Robin Krahl</name>
<email>robin.krahl@ireas.org</email>
</author>
<published>2020-09-19T21:05:35Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrokey-sys-rs/commit/?id=56eb89dcf5f7d2c3b4ea92490a3b4df6f85713c0'/>
<id>urn:sha1:56eb89dcf5f7d2c3b4ea92490a3b4df6f85713c0</id>
<content type='text'>
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`
</content>
</entry>
<entry>
<title>Derive Default for libnitrokey structs</title>
<updated>2020-09-20T09:50:05Z</updated>
<author>
<name>Robin Krahl</name>
<email>me@robin-krahl.de</email>
</author>
<published>2020-09-20T03:01:06Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrokey-sys-rs/commit/?id=e9a06bb9a2802a5ae6011fcd96cf54e1cfc7d311'/>
<id>urn:sha1:e9a06bb9a2802a5ae6011fcd96cf54e1cfc7d311</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Re-generate bindings in src/ffi.rs</title>
<updated>2020-09-20T09:46:45Z</updated>
<author>
<name>Robin Krahl</name>
<email>me@robin-krahl.de</email>
</author>
<published>2020-09-20T02:46:26Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrokey-sys-rs/commit/?id=483ec7256d6c4d01ba6c41513fdf8bbd7df6b4b3'/>
<id>urn:sha1:483ec7256d6c4d01ba6c41513fdf8bbd7df6b4b3</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Remove unnecessary __uint*_t typedefs</title>
<updated>2020-09-20T09:43:14Z</updated>
<author>
<name>Robin Krahl</name>
<email>robin.krahl@ireas.org</email>
</author>
<published>2020-09-20T09:43:14Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrokey-sys-rs/commit/?id=90bcfc8cc905b09d99064fc17a745c8ae2288c62'/>
<id>urn:sha1:90bcfc8cc905b09d99064fc17a745c8ae2288c62</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>Add Makefile for generating src/ffi.rs</title>
<updated>2020-09-20T09:34:23Z</updated>
<author>
<name>Robin Krahl</name>
<email>me@robin-krahl.de</email>
</author>
<published>2020-09-20T02:32:40Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrokey-sys-rs/commit/?id=7394a6b188c2a6c0d5ae72f8bba5fddc9720613b'/>
<id>urn:sha1:7394a6b188c2a6c0d5ae72f8bba5fddc9720613b</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Mark deprecated functions using the deprecated attribute</title>
<updated>2019-07-04T10:34:18Z</updated>
<author>
<name>Robin Krahl</name>
<email>robin.krahl@ireas.org</email>
</author>
<published>2019-07-04T10:31:08Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrokey-sys-rs/commit/?id=104f7d87ccc358d48f772969da708b9eba1958bc'/>
<id>urn:sha1:104f7d87ccc358d48f772969da708b9eba1958bc</id>
<content type='text'>
nitrokey-sys currently contains two deprecated functions: `NK_status`
and `NK_totp_get_time`.  This patch adds Rust’s `deprecated` attribute
to the functions.
</content>
</entry>
<entry>
<title>Update to libnitrokey v3.5</title>
<updated>2019-07-04T10:34:11Z</updated>
<author>
<name>Robin Krahl</name>
<email>robin.krahl@ireas.org</email>
</author>
<published>2019-07-04T10:25:54Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrokey-sys-rs/commit/?id=cd68e9fae6097a7938d5ca127b43942a20f2235f'/>
<id>urn:sha1:cd68e9fae6097a7938d5ca127b43942a20f2235f</id>
<content type='text'>
This patch updates libnitrokey from version 3.4.1 to version 3.5 and
lists all API changes in the changelog.
</content>
</entry>
</feed>
