<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/nitrocli, branch topic/gentoo-packaging</title>
<subtitle>A command line tool for interacting with Nitrokey devices (GitHub mirror)
</subtitle>
<id>https://git.ireas.org/mirrors/nitrocli/atom?h=topic%2Fgentoo-packaging</id>
<link rel='self' href='https://git.ireas.org/mirrors/nitrocli/atom?h=topic%2Fgentoo-packaging'/>
<link rel='alternate' type='text/html' href='https://git.ireas.org/mirrors/nitrocli/'/>
<updated>2018-12-31T22:05:20Z</updated>
<entry>
<title>Describe steps for upstreaming a Gentoo ebuild</title>
<updated>2018-12-31T22:05:20Z</updated>
<author>
<name>Daniel Mueller</name>
<email>deso@posteo.net</email>
</author>
<published>2018-12-31T22:05:20Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/mirrors/nitrocli/commit/?id=c6bfb578b317f2de1664dee39757fa507b89b92a'/>
<id>urn:sha1:c6bfb578b317f2de1664dee39757fa507b89b92a</id>
<content type='text'>
UNFINISHED! Update with remaining step on next release.
</content>
</entry>
<entry>
<title>Document known problems on macOS</title>
<updated>2019-01-14T03:52:21Z</updated>
<author>
<name>Robin Krahl</name>
<email>robin.krahl@ireas.org</email>
</author>
<published>2019-01-13T12:51:23Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/mirrors/nitrocli/commit/?id=31ddac85fd6858ad785bb566f7e076e883dab3ec'/>
<id>urn:sha1:31ddac85fd6858ad785bb566f7e076e883dab3ec</id>
<content type='text'>
This change adds a new section briefly elaborating on the problem of
using the program on macOS and details a possible solution.
</content>
</entry>
<entry>
<title>Update nitrokey crate to 0.3.2</title>
<updated>2019-01-12T21:24:21Z</updated>
<author>
<name>Daniel Mueller</name>
<email>deso@posteo.net</email>
</author>
<published>2019-01-12T21:24:21Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/mirrors/nitrocli/commit/?id=1f04f0f9fde82f0d931ca0714e4ac6cab7824b1c'/>
<id>urn:sha1:1f04f0f9fde82f0d931ca0714e4ac6cab7824b1c</id>
<content type='text'>
This change updates the nitrokey crate to version 0.3.2.

Import subrepo nitrokey/:nitrokey at 6ea73f29daa5db0215663a0a38334b764863671d
</content>
</entry>
<entry>
<title>Update nitrokey-sys crate to 3.4.3</title>
<updated>2019-01-12T21:09:49Z</updated>
<author>
<name>Daniel Mueller</name>
<email>deso@posteo.net</email>
</author>
<published>2019-01-12T21:09:49Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/mirrors/nitrocli/commit/?id=f0a5283899b0837247052f3f4e899074276e80c4'/>
<id>urn:sha1:f0a5283899b0837247052f3f4e899074276e80c4</id>
<content type='text'>
This change updates the nitrokey-sys crate to version 3.4.3.

Import subrepo nitrokey-sys/:nitrokey-sys at fe86df47853718983e1f45d6a4289a1d93ace45c
</content>
</entry>
<entry>
<title>Use [patch] section to control local crate replacements</title>
<updated>2019-01-06T22:17:31Z</updated>
<author>
<name>Daniel Mueller</name>
<email>deso@posteo.net</email>
</author>
<published>2019-01-06T22:17:31Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/mirrors/nitrocli/commit/?id=47ac62fa4b70b2172b9f279d3bd41b6a8709a5a4'/>
<id>urn:sha1:47ac62fa4b70b2172b9f279d3bd41b6a8709a5a4</id>
<content type='text'>
The nitrokey-sys crate poses a challenge in that upgrading it causes
build errors caused by linking against the system's nitrokey library
from multiple crates, which is not allowed. The exact cause of the
problem is unclear but the suspicion is that a bug in Cargo's replacing
logic is the cause of the issue.
To work around this problem, this change switches to using the [patch]
section for replacing crates with local copies instead of the [replace]
one.
</content>
</entry>
<entry>
<title>Do not intermix path and replace attributes in Cargo.toml</title>
<updated>2019-01-06T17:02:10Z</updated>
<author>
<name>Daniel Mueller</name>
<email>deso@posteo.net</email>
</author>
<published>2019-01-06T17:02:10Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/mirrors/nitrocli/commit/?id=d080927468c7e0e0d03e08ceb01fdab85c3ba9fd'/>
<id>urn:sha1:d080927468c7e0e0d03e08ceb01fdab85c3ba9fd</id>
<content type='text'>
With the first usage of the nitrokey crate we have used the dependency's
path attribute to perform the replacement with a local version of the
source code, while most other dependencies are replaced using the
[replace] section.
Because the [replace] section is more flexible (it allows for
replacement of transitive dependencies), this change unifies all
dependencies to use it.
</content>
</entry>
<entry>
<title>Properly flush stdout before process exit</title>
<updated>2019-01-12T19:41:52Z</updated>
<author>
<name>Daniel Mueller</name>
<email>deso@posteo.net</email>
</author>
<published>2019-01-12T19:41:52Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/mirrors/nitrocli/commit/?id=75ecf543eb4077f6918fbb020c39315311a9decf'/>
<id>urn:sha1:75ecf543eb4077f6918fbb020c39315311a9decf</id>
<content type='text'>
We exit the program using the process::exit function. This function just
exits the program directly, without any cleanup. That can be a problem
because IO buffers may not be flushed either. For a (typically) line
buffered entity like stdout that may result in data not terminated by a
newline symbol being not displayed properly.
This change explicitly flushes stdout before exiting the process to
alleviate this problem. Note that stderr output is unaffected, because
stderr is not buffered by design.
</content>
</entry>
<entry>
<title>Isolate cached PINs for multiple devices from each other</title>
<updated>2019-01-12T03:45:59Z</updated>
<author>
<name>Daniel Mueller</name>
<email>deso@posteo.net</email>
</author>
<published>2019-01-12T03:45:59Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/mirrors/nitrocli/commit/?id=15e0ad34f8a86b685dc6fddae2813560930ca1a7'/>
<id>urn:sha1:15e0ad34f8a86b685dc6fddae2813560930ca1a7</id>
<content type='text'>
The application supports multiple devices both plugged in at the same
time as well as when used after the other. However, the GPG cache ID we
use for storing and retrieving the respective PIN is effectively a
constant. This constraint can cause problems when devices have different
PINs, as the PIN of a previously plugged in device may be reused for an
operation on a different one.
To resolve this problem this change adds the respective device's model
and serial number to the cache ID. As each serial number is supposed to
be different, this will ensure that the correct PIN is used for each
device. With this change we also show the model and serial number of the
currently used device in the pinentry dialog.
Note that because we do not store the serial numbers of all previously
plugged in devices, the pin clear command will only clear the PIN for
the currently plugged in device. If a user wants to make sure that a
cached PIN is cleared, the pin clear command should be invoked before
unplugging the device.
</content>
</entry>
<entry>
<title>Remove unused fmt::Display implementation for PinType</title>
<updated>2019-01-11T18:38:18Z</updated>
<author>
<name>Daniel Mueller</name>
<email>deso@posteo.net</email>
</author>
<published>2019-01-11T18:38:18Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/mirrors/nitrocli/commit/?id=40d7df373d9f55f96942f238dea4edaf78e6e96f'/>
<id>urn:sha1:40d7df373d9f55f96942f238dea4edaf78e6e96f</id>
<content type='text'>
The implementation of the fmt::Display trait for the PinType is
seemingly unused. Remove it.
</content>
</entry>
<entry>
<title>Implement From&lt;&amp;str&gt; for Error</title>
<updated>2019-01-14T03:43:38Z</updated>
<author>
<name>Robin Krahl</name>
<email>robin.krahl@ireas.org</email>
</author>
<published>2019-01-11T01:30:24Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/mirrors/nitrocli/commit/?id=5bb115f0b2021b0f7a58e064d66e0a6ad67c5654'/>
<id>urn:sha1:5bb115f0b2021b0f7a58e064d66e0a6ad67c5654</id>
<content type='text'>
This patch implements From&lt;&amp;str&gt; for Error so that we can use
Error::from(s) as a shorthand for Error::Error(s.to_string()).  It also
replaces Error::Error with Error::from where possible.
</content>
</entry>
</feed>
