<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Passextract/src, branch v0.5.0</title>
<subtitle>An interface to easily copy login information from Pass</subtitle>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/Passextract/'/>
<entry>
<title>main: Exit with `EX_NOINPUT` when no password copy options are present</title>
<updated>2022-08-20T17:54:21+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2022-08-20T17:54:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/Passextract/commit/?id=b4e5531f23f2b5b89f077ea27c8bfb530f6fde31'/>
<id>b4e5531f23f2b5b89f077ea27c8bfb530f6fde31</id>
<content type='text'>
I wrote this program before I started using sysexits. Now, a different
exit code makes more sense.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I wrote this program before I started using sysexits. Now, a different
exit code makes more sense.
</pre>
</div>
</content>
</entry>
<entry>
<title>main: Remove version argument TODOs</title>
<updated>2022-08-20T17:50:21+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2022-08-20T17:50:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/Passextract/commit/?id=29bb1bdcd208d52f910ffb87b652fa3cafd999f2'/>
<id>29bb1bdcd208d52f910ffb87b652fa3cafd999f2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add version command line argument</title>
<updated>2022-08-20T17:43:35+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2022-08-20T17:43:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/Passextract/commit/?id=13b24a39bf855584541892b2406562c2dc8fcc2b'/>
<id>13b24a39bf855584541892b2406562c2dc8fcc2b</id>
<content type='text'>
* -V and --version now print the program version and exit
* Use the `exitcode` crate
* Rename `options` variable to `accepted_args`, which seems clearer
  given its usage.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* -V and --version now print the program version and exit
* Use the `exitcode` crate
* Rename `options` variable to `accepted_args`, which seems clearer
  given its usage.
</pre>
</div>
</content>
</entry>
<entry>
<title>main: Rename `options` variable to `copy_options`</title>
<updated>2022-08-20T17:25:47+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2022-08-20T17:25:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/Passextract/commit/?id=4dfe6642eafff6638dc09c673eb1ac727d1438d9'/>
<id>4dfe6642eafff6638dc09c673eb1ac727d1438d9</id>
<content type='text'>
When investigating how to add a `--version` argument, I was confused by
this naming and thought that "options" referred to command line options.

Rename the variable to make its purpose clearer.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When investigating how to add a `--version` argument, I was confused by
this naming and thought that "options" referred to command line options.

Rename the variable to make its purpose clearer.
</pre>
</div>
</content>
</entry>
<entry>
<title>main: Idea for new exit code when no copy options</title>
<updated>2022-08-20T17:25:00+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2022-08-20T17:25:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/Passextract/commit/?id=23afdba000d97c4e37b4adfaeb91b93c57e9966f'/>
<id>23afdba000d97c4e37b4adfaeb91b93c57e9966f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>main: Idea for `--version` argument</title>
<updated>2022-08-20T17:24:36+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2022-08-20T17:24:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/Passextract/commit/?id=dfa45eb0a3de4c4fcc427b70c91319eb8ef42bee'/>
<id>dfa45eb0a3de4c4fcc427b70c91319eb8ef42bee</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update copyright years</title>
<updated>2022-08-20T16:19:13+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2022-08-20T16:19:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/Passextract/commit/?id=a72654928220288a0717ce18b91c8a061dc351ee'/>
<id>a72654928220288a0717ce18b91c8a061dc351ee</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>parse_options: Clean up `Command.spawn` code</title>
<updated>2022-08-20T16:10:34+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2022-08-20T16:10:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/Passextract/commit/?id=19f554358d19f2cf5f71478aebd1400aff907a79'/>
<id>19f554358d19f2cf5f71478aebd1400aff907a79</id>
<content type='text'>
* Remove old in-progress code
* Remove `child.stdout.take()` call, which is suggested in
  https://doc.rust-lang.org/std/process/struct.Child.html#structfield.stdout
  but ended up not being necessary in this instance.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Remove old in-progress code
* Remove `child.stdout.take()` call, which is suggested in
  https://doc.rust-lang.org/std/process/struct.Child.html#structfield.stdout
  but ended up not being necessary in this instance.
</pre>
</div>
</content>
</entry>
<entry>
<title>Spawn `pass` in order to support GnuPG 2 and Pinentry</title>
<updated>2022-08-20T15:02:38+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2022-08-20T15:02:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/Passextract/commit/?id=c1f72865741868d094a53fa73ee9b8562202ab0a'/>
<id>c1f72865741868d094a53fa73ee9b8562202ab0a</id>
<content type='text'>
Previously, Passextract didn't work with GnuPG 2 because I was
immediately collecting the output of `pass`.

With GnuPG 1.4, the password prompt was like a conventional `read`-style
password prompt. However, in GnuPG 2, the prompt is replaced with
Pinentry. Pinentry interferes with capturing the output from Pass, such
that Passextract exits immediately, without even prompting for a
password.

Instead of using `Command.output`, use `Command.spawn`. This allows
GnuPG to work correctly and display a Pinentry prompt. We can then
capture the standard output from the child process and parse it for the
Passextract interface.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, Passextract didn't work with GnuPG 2 because I was
immediately collecting the output of `pass`.

With GnuPG 1.4, the password prompt was like a conventional `read`-style
password prompt. However, in GnuPG 2, the prompt is replaced with
Pinentry. Pinentry interferes with capturing the output from Pass, such
that Passextract exits immediately, without even prompting for a
password.

Instead of using `Command.output`, use `Command.spawn`. This allows
GnuPG to work correctly and display a Pinentry prompt. We can then
capture the standard output from the child process and parse it for the
Passextract interface.
</pre>
</div>
</content>
</entry>
<entry>
<title>Update copyright years</title>
<updated>2018-03-03T17:56:39+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2018-03-03T17:56:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/Passextract/commit/?id=b5fb9247c1d8c88cde2ad67331cd89f71836149e'/>
<id>b5fb9247c1d8c88cde2ad67331cd89f71836149e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
