m-chrzan.xyz
aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2020-04-19platform/darwin: don't invoke brew for the default prefixFilippo Valsorda
"brew --prefix gnu-getopt" takes 2.125s on my very default setup (I don't even want to know why), dominating the pass wall time. If the default brew prefix is in use, just detect the getopt binary with a cheap "test -x" instead.
2020-04-19platform/darwin: drop using "display" to show QR codesFilippo Valsorda
This doesn't detect if XQuartz is installed and running, so it's broken in most setups, the experience is poor regardless, since it's not displayed inline in the terminal, but leaves a window that requires closing, and anyway the the utf8 mode works perfectly on both iTerm2 and Terminal.app.
2019-11-28Unset variables messing with Git useMartin F. Krafft
This patch makes sure that variables from the environment cannot override e.g. the Git directory to operate on, as well as other critical parts of Git operations. These variables are: - GIT_DIR - GIT_WORK_TREE - GIT_NAMESPACE - GIT_INDEX_FILE - GIT_INDEX_VERSION - GIT_OBJECT_DIRECTORY - GIT_COMMON_DIR If any of those are set, pass might end up operating on another repository, and things would break. I caught this having GIT_DIR set, but fortunately the other repository had a .gitignore that would have ignored the file: ``` fishbowl~% echo $GIT_DIR /home/madduck/.config/vcsh/repo.d/zsh.git fishbowl~% pass generate test The following paths are ignored by one of your .gitignore files: .password-store/test.gpg Use -f if you really want to add them. The generated password for test is: … ``` The result was an orphan file `test.gpg` in the password-store root. Signed-off-by: Martin F. Krafft <madduck@madduck.net>
2019-07-17Account for missing [:graph:] on Busybox by using [:alnum:][:punct:]Daniel Janus
Some implementations of tr (notably the ones in Busybox and Toybox) do not support the [:graph:] character class, but they do support [:punct:] and [:alnum:]. This makes pass generate sane passwords in such environments. Discussed-on: https://lists.zx2c4.com/pipermail/password-store/2019-July/003702.html
2019-06-16Exclude invalid, disabled and revoked subkeys from subkey selectionAaron Jones
When rotating encryption subkeys, and revoking the old one, `pass init keyid` would re-encrypt your stored credentials to the (now revoked) old subkey(s) in addition to the new one too. It would also mistakenly encrypt to keys that have been disabled, and keys that were never validly signed by their master (certify) key. Fix all of these cases. It was decided NOT to also exclude expired subkeys. Signed-off-by: Aaron Jones <aaronmdjones@gmail.com>
2019-02-27clip: Add support for wl-clipboardBrett Cornwall
2018-10-19bash-completion: detect whether to use gpg/gpg2 binary for complete keysElan Ruusamäe
Signed-off-by: Elan Ruusamäe <glen@pld-linux.org>
2018-10-19bash_completion: do not leak variables to globals scopeElan Ruusamäe
Signed-off-by: Elan Ruusamäe <glen@pld-linux.org>
2018-08-09Do not reencrypt symbolic linksAldis Berjoza
2018-08-03version: bumpJason A. Donenfeld
2018-08-01show: do not store binary data in bash varsJason A. Donenfeld
Instead we're forced to base64 it, like we do with the clipboard.
2018-07-26Add custom bash completion for extensionsLars Flitter
Bash completion now allows usage of extension commands. (see pass.bash-completion for details)
2018-07-26Do not set foreground color for generated passwordLukas Fleischer
Since commit 63ef32a (generate: use nice ansi colors instead., 2014-05-08), generated passwords are highlighted to make them distinguishable from the Git output. However, setting the foreground color to white makes the password hardly readable when a "black on white" color scheme is used. Drop the hardcoded foreground color and use the bold attribute only instead. Signed-off-by: Lukas Fleischer <lfleischer@lfos.de>
2018-06-25Do not put passwords in herestringsJason A. Donenfeld
Bash sometimes writes these into temporary files, which isn't okay.
2018-06-14version: bumpJason A. Donenfeld
2018-06-14show: buffer output before displaying, in case decryption failsJason A. Donenfeld
For the line-choosing case, this is actually a big deal since we weren't passing the error code back to the user either.
2018-06-14Close stdout for background task that restores clipboardAllan Odgaard
While we do not expect any output on stdout from the background task, keeping the file handle open means that anyone calling `pass` and waiting for stdout to be closed, will have to wait (by default) for 45 seconds.
2018-06-14Don't trap INT or TERM; they are redundant and can break `pass edit`.Nick Kousu
Some EDITORs, notably Linux vi(1), which is the fallback default in pass, apparently send INT when they exit, and when pass is run under bash (which is also its default)--if you have /dev/shm/ available--bash catches this and cleans up your edited password file *before* it can be reencrypted and saved. This only happens with `pass edit`; none of the other commands combine tmpdir and $EDITOR.
2018-06-14Add tests and documentation of passing options to grep(1)Norbert Buchmueller
2018-06-14Ensure signature regexes are anchoredJason A. Donenfeld
Fixes CVE-2018-12356. Reported-by: Marcus Brinkmann <marcus.brinkmann@ruhr-uni-bochum.de>
2018-05-24grep: allow grep options and argumentsSitaram Chamarty
Allow grep options and arguments. Typical uses may be, for instance, wanting to ignore case ('-i'), print a few lines of context around the matched line, multiple patterns with '-e', etc. (background: grep is deprecating GREP_OPTIONS, so eventually that will stop working).
2018-02-19fish: reduce completion runtimesMathis Antony
Fish completion spends most of the time in calls to `sed` in for loops over entries and directories. This patch removes the repeated calls to `sed`. Signed-off-by: Mathis Antony <sveitser@gmail.com>
2018-02-08generate: disallow zero length generated passwordsJason A. Donenfeld
2018-02-01generate: in-place should work when file is emptyJason A. Donenfeld
2017-12-18Quote array specifierJason A. Donenfeld
Otherwise this expands to a filename if one exists. Suggested-by: izaberina@gmail.com
2017-10-13protect dirname calls from pass-names that look like command-line optionsStacey Sheldon
With the $path variable being passed directly to dirname, any pass-names provided by the user that happened to look like options to dirname would be processed as options rather than as the path to be split. This results in a real mess when you happen to run one of: pass edit --help pass generate --help pass insert --help then in the cmd_foo() function, you have: mkdir -p -v "$PREFIX/$(dirname --help)" which (due to the -p option to mkdir) results in the creation of an entire directory hierarchy made up of the slash-separated help text from dirname.
2017-04-13Bump versionJason A. Donenfeld
2017-04-13init: match only the public keyJason A. Donenfeld
2017-03-28Use $GPG variableJason A. Donenfeld
2017-03-20Fix compatibility with GnuPG 2.2.19Andreas Stieger
GnuPG 2.2.19 added a warning when no command was given. * src/password-store.sh (reencrypt_path): Add --decrypt to --list-only * tests/t0300-reencryption.sh (gpg_keys_from_encrypted_file): same https://bugs.gnupg.org/gnupg/msg9873 http://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commit;h=810adfd47801fc01e45fb71af9f05c91f7890cdb https://bugzilla.suse.com/show_bug.cgi?id=1028867
2017-02-26Bump versionJason A. Donenfeld
2017-02-25CopyrightJason A. Donenfeld
2017-02-25StyleJason A. Donenfeld
2017-02-25git: use inner-most directoryJason A. Donenfeld
2017-02-25clip: sleep may require argv[0] to be sleepJason A. Donenfeld
2017-02-25Support git worktree.Kevin Lyda
Git worktree works with the normal .git directory instead being a .git file with a reference to the primary git repository.
2017-02-25Don’t reencrypt data not managed by pass.Sebastian Reuße
When keeping the password-store under git, it can make sense using a git extension such as git-annex instead of the native git object store to store the encrypted files. Inter alia, this allows one to selectively expire old copies of the encrypted data, while otherwise, one would need to recreate the complete repository when a key should no longer have access to some of the data. Since using the git-annex object store means that *.gpg files (and directories named *.gpg) are kept under .git/… (non-writable), the reencryption logic used by pass currently fails. To remedy this, we now ignore everything kept under .git when looking for files to reencrypt or when grepping.
2017-01-01show,generate: support qrcodesJason A. Donenfeld
2016-12-21extensions: introduce system extensionsJason A. Donenfeld
2016-12-21extensions: make opt-inJason A. Donenfeld
2016-12-21Add signaturesJason A. Donenfeld
2016-12-20Add extensionsJason A. Donenfeld
2016-12-20generate: use /dev/urandom directlyJason A. Donenfeld
Passing to tr using the "pick and discard" technique is more straight- forwardly correct and less error-prone. It also allows users to select their own character sets to be passed to tr.
2016-02-06zsh-completion: add prefix zstyleBenjamin Richter
This option can be used to select a different pass repository for completion. A configuration example is given inside the completion file.
2016-02-06Make gpg errors fatalJason A. Donenfeld
2016-02-06Revert "show: allow passing prefix to clip"Jason A. Donenfeld
This reverts commit fcb92ed69fc191e39379bad715371d8c28410885. Needs more discussion.
2016-02-06Fix zsh completion when path contains \Simon Gomizelj
2016-02-06init: put path in commit messageJason A. Donenfeld
2016-02-06completion: Output a space when appropriate on bash completionAnas Syed
Did this by not passing "-o nospace" to complete. Instead, put "compopt -o nospace" after a COMPREPLY that shouldn't add a space when autocompleting the only match
2016-02-06show: allow passing prefix to clipJason A. Donenfeld