<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nitrokey-rs/src, branch v0.2.0</title>
<subtitle>Rust interface to libnitrokey</subtitle>
<id>https://git.ireas.org/nitrokey-rs/atom?h=v0.2.0</id>
<link rel='self' href='https://git.ireas.org/nitrokey-rs/atom?h=v0.2.0'/>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrokey-rs/'/>
<updated>2018-12-10T14:48:34Z</updated>
<entry>
<title>Provide access to the status of a Nitrokey Storage</title>
<updated>2018-12-10T14:48:34Z</updated>
<author>
<name>Robin Krahl</name>
<email>robin.krahl@ireas.org</email>
</author>
<published>2018-12-10T14:44:39Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrokey-rs/commit/?id=39ad1f54bb2c1e828e19193fd8772f17731973f9'/>
<id>urn:sha1:39ad1f54bb2c1e828e19193fd8772f17731973f9</id>
<content type='text'>
This patch adds a `get_status` method to the `Storage` structure.  The
returned structure `StorageStatus` is based on the structure provided by
libnitrokey.
</content>
</entry>
<entry>
<title>Add a Storage-only example to the DeviceWrapper documentation</title>
<updated>2018-12-10T13:36:50Z</updated>
<author>
<name>Robin Krahl</name>
<email>robin.krahl@ireas.org</email>
</author>
<published>2018-07-10T11:08:56Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrokey-rs/commit/?id=1e9556903dffaf77006ba10bba806114428cd53f'/>
<id>urn:sha1:1e9556903dffaf77006ba10bba806114428cd53f</id>
<content type='text'>
As connect() now returns DeviceWrappers of the correct type, this patch
adds an example to the DeviceWrapper documentation that shows how to use
type conditions, i. e. how to execute a command only for Nitrokey
Storage devices.
</content>
</entry>
<entry>
<title>Fix generic connections (connect()) to return correct device</title>
<updated>2018-12-10T13:36:45Z</updated>
<author>
<name>Robin Krahl</name>
<email>me@robin-krahl.de</email>
</author>
<published>2018-07-10T10:34:03Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrokey-rs/commit/?id=99e417b8b5ca921f45f59f85b887f9bf6f03a267'/>
<id>urn:sha1:99e417b8b5ca921f45f59f85b887f9bf6f03a267</id>
<content type='text'>
This patch fixes the generic connect() method to return a DeviceWrapper
of the correct type.  This is enabled by the NK_get_device_model()
method introduced in libnitrokey v3.4.
</content>
</entry>
<entry>
<title>Always free string pointers returned by libnitrokey</title>
<updated>2018-12-10T13:36:40Z</updated>
<author>
<name>Robin Krahl</name>
<email>me@robin-krahl.de</email>
</author>
<published>2018-07-07T22:37:20Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrokey-rs/commit/?id=c1e6bcb3e448962b5f4cf4453e629eae1a82b943'/>
<id>urn:sha1:c1e6bcb3e448962b5f4cf4453e629eae1a82b943</id>
<content type='text'>
Old libnitrokey versions could return pointers to both statically and
dynamically allocated strings for functions that return strings.  This
has been fixed in libnitrokey commit 7a8550d (included in v3.4).  This
patch removes the old workaround and always frees the return value of
functions returning a string pointer.
</content>
</entry>
<entry>
<title>Use {} instead of {:?} where possible</title>
<updated>2018-06-07T14:07:08Z</updated>
<author>
<name>Robin Krahl</name>
<email>robin.krahl@ireas.org</email>
</author>
<published>2018-06-07T14:07:08Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrokey-rs/commit/?id=2c11acabd9a8c104fa564cca480088c11c9e8af9'/>
<id>urn:sha1:2c11acabd9a8c104fa564cca480088c11c9e8af9</id>
<content type='text'>
Most notably, for command errors, this will print a human-readable error
message instead of just the name of the enum.
</content>
</entry>
<entry>
<title>Implement std::fmt::Display for CommandError</title>
<updated>2018-06-07T14:06:50Z</updated>
<author>
<name>Robin Krahl</name>
<email>robin.krahl@ireas.org</email>
</author>
<published>2018-06-07T14:05:22Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrokey-rs/commit/?id=66f22f7fb47197298702a0fefff17c81667b2739'/>
<id>urn:sha1:66f22f7fb47197298702a0fefff17c81667b2739</id>
<content type='text'>
The std::fmt::Display implementation provides a human-readable error
message for a CommandError.  It is intended to be used in error
messages displayed to the user.
</content>
</entry>
<entry>
<title>Implement easier CString creation</title>
<updated>2018-06-07T01:21:57Z</updated>
<author>
<name>Robin Krahl</name>
<email>robin.krahl@ireas.org</email>
</author>
<published>2018-06-07T01:21:57Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrokey-rs/commit/?id=d66616a4fa71609231688119c40a3a0ec39a17ab'/>
<id>urn:sha1:d66616a4fa71609231688119c40a3a0ec39a17ab</id>
<content type='text'>
The new get_cstring method in util returns a Result&lt;CString,
CommandError&gt;, so mast callers can just use the ? operator to unwrap the
result instead of cumbersome unwrapping code.
</content>
</entry>
<entry>
<title>Use Result&lt;(), CommandError&gt; instead of CommandStatus</title>
<updated>2018-06-07T01:03:29Z</updated>
<author>
<name>Robin Krahl</name>
<email>robin.krahl@ireas.org</email>
</author>
<published>2018-06-07T01:03:29Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrokey-rs/commit/?id=f035857d9a9dc14c85e6bdf22cbe72528235657d'/>
<id>urn:sha1:f035857d9a9dc14c85e6bdf22cbe72528235657d</id>
<content type='text'>
The Result enum is more idiomatic and easier to use than our custom
CommandStatus enum with the same structure.  This is especially true for
the try operator ?.
</content>
</entry>
<entry>
<title>Use Storage struct for Storage-specific tests</title>
<updated>2018-06-07T00:57:58Z</updated>
<author>
<name>Robin Krahl</name>
<email>robin.krahl@ireas.org</email>
</author>
<published>2018-06-07T00:57:58Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrokey-rs/commit/?id=bbe6740d0a0b3f4dd8c1593272a747cfbbb3006b'/>
<id>urn:sha1:bbe6740d0a0b3f4dd8c1593272a747cfbbb3006b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove NK_lock_device call from PasswordSafe::drop</title>
<updated>2018-06-06T22:41:20Z</updated>
<author>
<name>Robin Krahl</name>
<email>robin.krahl@ireas.org</email>
</author>
<published>2018-06-06T22:41:20Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrokey-rs/commit/?id=f95e2be7422243bbbb07ae07f6b026bd6d578099'/>
<id>urn:sha1:f95e2be7422243bbbb07ae07f6b026bd6d578099</id>
<content type='text'>
When enabled, the password safe can be used without authentication.  The
lock device can be used to lock the password safe.  Currently,
PasswordSafe::drop calls this command to make sure that other
applications cannot access the password safe without authentication.

On the Nitrokey Storage, locking the device may also disable the
encrypted or hidden volume.  As using the password safe should not have
side effects on the storage volumes, this patch removes the call to the
lock device command from the Drop implementation.  Instead, the user
should call this method after making sure that it does not have side
effects.

A feature request for a command that only locks the password safe
without side effects is submitted to the Nitrokey Storage firmware
repository:
	https://github.com/Nitrokey/nitrokey-storage-firmware/issues/65
</content>
</entry>
</feed>
