<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/nitrocli/src, branch v0.3.4</title>
<subtitle>A command line tool for interacting with Nitrokey devices (GitHub mirror)
</subtitle>
<id>https://git.ireas.org/mirrors/nitrocli/atom?h=v0.3.4</id>
<link rel='self' href='https://git.ireas.org/mirrors/nitrocli/atom?h=v0.3.4'/>
<link rel='alternate' type='text/html' href='https://git.ireas.org/mirrors/nitrocli/'/>
<updated>2020-09-02T01:37:19Z</updated>
<entry>
<title>Remove warning for missing_copy_implementations lint</title>
<updated>2020-09-02T01:37:19Z</updated>
<author>
<name>Daniel Mueller</name>
<email>deso@posteo.net</email>
</author>
<published>2020-09-02T01:37:19Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/mirrors/nitrocli/commit/?id=d75067e6606b69c1c868b64c0ae5e8e626c01dd7'/>
<id>urn:sha1:d75067e6606b69c1c868b64c0ae5e8e626c01dd7</id>
<content type='text'>
The missing_copy_implementations lint is arguably not super useful in an
application crate, where no third party is consuming the type
definitions. As such, this change removes it from the list of lints
causing warnings.
</content>
</entry>
<entry>
<title>Remove application global Result definition</title>
<updated>2020-09-01T02:25:48Z</updated>
<author>
<name>Daniel Mueller</name>
<email>deso@posteo.net</email>
</author>
<published>2020-09-01T02:25:48Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/mirrors/nitrocli/commit/?id=67ba96eb7d592ac7c09b2221420c6f706ac89a13'/>
<id>urn:sha1:67ba96eb7d592ac7c09b2221420c6f706ac89a13</id>
<content type='text'>
In the past we were using an application global custom Result type
definition. This makes less sense now that we switched over to using
anyhow's Error and Result types. We kept that for the time being, but
with this change we remove the type and use anyhow::Result instead.
</content>
</entry>
<entry>
<title>Remove no longer used error module</title>
<updated>2020-08-31T15:00:21Z</updated>
<author>
<name>Daniel Mueller</name>
<email>deso@posteo.net</email>
</author>
<published>2020-08-31T15:00:21Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/mirrors/nitrocli/commit/?id=419ff8531c163200a5e7d21d4d0f7ac7ff8d25f8'/>
<id>urn:sha1:419ff8531c163200a5e7d21d4d0f7ac7ff8d25f8</id>
<content type='text'>
This change removes the error module. This module, and the Error type it
homes, are no longer used by the application, as everything has been
transitioned over to using anyhow's Error type.
</content>
</entry>
<entry>
<title>Remove no longer necessary msg parameter from try_with_* functions</title>
<updated>2020-08-29T15:50:42Z</updated>
<author>
<name>Daniel Mueller</name>
<email>deso@posteo.net</email>
</author>
<published>2020-08-29T15:50:42Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/mirrors/nitrocli/commit/?id=25889f27e55813545430e37f0d1bb2e31c77f295'/>
<id>urn:sha1:25889f27e55813545430e37f0d1bb2e31c77f295</id>
<content type='text'>
With the move to using anyhow's Error type and adding contextual
information at the point where we bubble up errors, we no longer require
the 'msg' argument that is passed to the try_with_pin_* and authenticate
functions.
To that end, this change removes this parameter, concluding the switch
to using anyhow.
</content>
</entry>
<entry>
<title>Use anyhow for error handling</title>
<updated>2020-08-29T01:44:45Z</updated>
<author>
<name>Daniel Mueller</name>
<email>deso@posteo.net</email>
</author>
<published>2020-08-29T01:44:45Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/mirrors/nitrocli/commit/?id=b605614e5b3dab828e4f33c300836deab421be34'/>
<id>urn:sha1:b605614e5b3dab828e4f33c300836deab421be34</id>
<content type='text'>
This patch changes our error handling approach from the ground up:
instead of having a globally used Error enum that contains variants for
all possible errors, we now use anyhow's Error type. This approach is
more dynamic (and not statically typed), but it allows for more fine
grained error messages and overall more user-friendly error reporting.
Overall it also is a net simplification. While we have one dynamic cast
now, in order to be able to handle erroneous password/PIN entries
correctly, that is considered a reasonable compromise.
</content>
</entry>
<entry>
<title>Refrain from using Error::Error variant in pinentry tests</title>
<updated>2020-07-10T03:10:21Z</updated>
<author>
<name>Daniel Mueller</name>
<email>deso@posteo.net</email>
</author>
<published>2020-07-10T03:10:21Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/mirrors/nitrocli/commit/?id=f7cc135a6b6bfa5ff120e75b720e57fc4b22b509'/>
<id>urn:sha1:f7cc135a6b6bfa5ff120e75b720e57fc4b22b509</id>
<content type='text'>
The pinentry tests currently expect the Error::Error variant to be
reported for failures.
This patch adjusts the tests to merely compare strings and ignore the
exact type of error. Doing so will make it easier to switch to using
anyhow for error handling.
</content>
</entry>
<entry>
<title>Remove UnwrapError test trait</title>
<updated>2020-07-10T02:01:52Z</updated>
<author>
<name>Daniel Mueller</name>
<email>deso@posteo.net</email>
</author>
<published>2020-07-10T02:01:52Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/mirrors/nitrocli/commit/?id=756dc2ed9d16a3edbfdc4778feb11f0b0c84d897'/>
<id>urn:sha1:756dc2ed9d16a3edbfdc4778feb11f0b0c84d897</id>
<content type='text'>
This change wraps up the removal of the UnwrapError test trait. This
step prepares us for the subsequent removal of the application's global
Error enum type, in favor of the usage of anyhow's Error type.
</content>
</entry>
<entry>
<title>Remove unwrap_lib_err method from UnwrapError test trait</title>
<updated>2020-07-10T01:57:18Z</updated>
<author>
<name>Daniel Mueller</name>
<email>deso@posteo.net</email>
</author>
<published>2020-07-10T01:57:18Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/mirrors/nitrocli/commit/?id=c461a506f6bf3bf73374df289298879ba9d2d125'/>
<id>urn:sha1:c461a506f6bf3bf73374df289298879ba9d2d125</id>
<content type='text'>
This change marks the next step in getting rid of the UnwrapError test
trait. Specifically, it removes its unwrap_lib_err method.
</content>
</entry>
<entry>
<title>Remove unwrap_str_err method from UnwrapError test trait</title>
<updated>2020-07-08T16:16:56Z</updated>
<author>
<name>Daniel Mueller</name>
<email>deso@posteo.net</email>
</author>
<published>2020-07-08T16:16:56Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/mirrors/nitrocli/commit/?id=efb6fbffdb96c6acd197b8a7c4fe0ed9855a151e'/>
<id>urn:sha1:efb6fbffdb96c6acd197b8a7c4fe0ed9855a151e</id>
<content type='text'>
With upcoming changes we intend to move towards a model where we do not
distinguish the individual error variants the program deals with in a
global enum.
In preparation of such a change, this patch marks a first step in
removing the UnwrapError test trait, which relies on the existence of
exactly such typed errors. In particular, we remove the unwrap_str_err
method from it, basically falling back to just working with strings.
</content>
</entry>
<entry>
<title>Change default OTP format to base32</title>
<updated>2020-07-08T00:35:50Z</updated>
<author>
<name>Daniel Mueller</name>
<email>deso@posteo.net</email>
</author>
<published>2020-07-08T00:35:50Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/mirrors/nitrocli/commit/?id=99fde3cac7c9cf278b81876994d3a4f4b795b8ce'/>
<id>urn:sha1:99fde3cac7c9cf278b81876994d3a4f4b795b8ce</id>
<content type='text'>
An arguably unrepresentative survey of services (GitHub, Google
Authenticator, and Bitbucket) seems to suggests that the base32 format
is the de-facto standard format for OTP secrets. Given that it's not
necessarily obvious what format a secret is in and that most services
refrain from mentioning it explicitly, having the correct default format
is fairly important.
With this change we switch the default format from hexadecimal to
base32 to accommodate for this finding.
</content>
</entry>
</feed>
