Commit Graph

7 Commits (f9469c5c3945c097439bc9d30ec485e468978e34)

Author SHA1 Message Date
Dustin C. Hatch f9469c5c39 bwpass: Correct pinentry prompt text 2019-09-18 08:19:40 -05:00
Dustin C. Hatch d6cdcec5de bwpass: Use XDG_RUNTIME_DIR if available
For additional protection of the Bitwarden session ID file, it will now
be stored in the directory specified by the `XDG_RUNTIME_DIR`
environment variable.  On most systems, this is a tmpfs filesystem owned
and only accessible by the current user.
2019-09-18 08:19:40 -05:00
Dustin C. Hatch 9cf514009a bwpass: Pass TTY name to pinentry
The curses-based pinentry defaults to using its standard input stream to
display the prompt, but this fails when stdin is a pipe.  It does
provide a command-line argument to specify a specific file name, though.
2019-08-29 19:50:42 -05:00
Dustin ff8414a888 bwpass: Unlock vault if session ID is invalid
If the cached session ID is not valid (e.g. `bw lock` has been run since
the cache file was written), `Vault.load()` will now attempt to unlock
the vault again and update the saved session ID.
2019-04-30 17:44:21 -05:00
Dustin 481da11776 bwpass: Ignore non-login entries
Bitwarden can store multiple different types of items in the vault, such
as credit cards and "secure notes."  These are not useful in the context
of `bwpass`, so they can be ignored when loading items from the vault.
2019-04-30 17:37:32 -05:00
Dustin 785be5424f bwpass: Initial implementation
The `bwpass` command attempts to replicate the main functionality of
`pass` on top of `bw`.  Since `bw` is incredibly slow, it tries to avoid
spawning it whenever possible by caching the list of items.  It also
manages the Bitwarden CLI session by reading the session token from a
file.  If the file does not exist, it will prompt for the vault master
password using `pinentry`, unlock the session, and store the new token.
2019-04-25 10:33:27 -05:00
Dustin 8ad267cc0e Initial commit 2019-04-25 09:01:51 -05:00