Commit Graph

9 Commits (master)

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 C. Hatch 1c80f5bd73 dmenu_bw: Type password instead of copying it
Auto-typing the password, instead of copying it to the clipboard, is
more secure, since any process can read the contents of the clipboard.
It is also significantly more convenient, avoiding the paste step, and
works in situations where pasting isn't possible (such as into a VM
console).
2019-08-29 19:47:55 -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 4fa8b96606 dmenu_bw: Add dmenu front-end for bwpass
`dmenu_bw` works like `passmenu`: it uses `dmenu` to provide a picker,
and then copies the password for the selected item to the clipboard.
2019-04-25 10:36:27 -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