m-chrzan.xyz
aboutsummaryrefslogtreecommitdiff
path: root/contrib/emacs/password-store.el
AgeCommit message (Collapse)Author
2020-03-28emacs: Drop dependency on f libraryPhilip K
The "f" library is a rather thin translation layer for already existing Emacs functions. Most functions directly map to an already existing function (eg. "f-no-ext" and "file-name-sans-extension"). For this reason, removing "f" comes at no cost while reducing the number of dependencies one has to count on and the user has to install. Co-authored-by: Tino Calancha <tino.calancha@gmail.com>
2019-09-29emacs: Update docstring of password-store-clearTino Calancha
Clarify that the optional argument is only used in the `message' call. Bump version to v2.1.3. * contrib/emacs/password-store.el (password-store-clear): Update docstring. * contrib/emacs/CHANGELOG.md: Document this change.
2019-09-16emacs: Make parameter optional in password-store-clearSergey Trofimov
This change preserves backward compatibility with previous version of the function. Bump version to v2.1.2. * contrib/emacs/password-store.el (password-store-clear): Make argument FIELD optional. * contrib/emacs/CHANGELOG.md: Announce this change.
2019-08-29emacs: Check that auth-source-pass-filename is bound before use itTino Calancha
For auth-source-pass versions < 5.0.0, auth-source-pass-filename is not defined; thus, we must check that this variable exists before use it. * contrib/emacs/password-store.el (password-store-dir): Call bound-and-true-p on auth-source-pass-filename.
2019-08-29Support extractions of secret fields other than passwordTino Calancha
Allow users to retrieve any secret field stored in the files. Use auth-source-pass to retrieve the secret fields. Bump version to v2.1.0. * contrib/emacs/Cask: Replace dependency on `s' library with auth-source-pass dependency. * contrib/emacs/password-store.el (password-store-url-field): New option. (password-store-dir): Use `auth-source-pass-filename'. (password-store-read-field, password-store-get-field) (password-store-copy-field, password-store-parse-entry): New functions. (password-store-read-field): Use password-store-parse-entry. (password-store--save-field-in-kill-ring): New function extracted from `password-store-get'. (password-store-url): Use `password-store-get-field' and `password-store-url-field'. * contrib/emacs/README.md: Update documentation. * contrib/emacs/CHANGELOG.md: Announce changes.
2019-08-27emacs: Improve password-store-insert message on success/failureTino Calancha
Before, the following message was shown: "Enter contents of ENTRY and press Ctrl+D when finished:\n\n" Since the command is not interactive, it is better to show users specific messages on success/failure. * contrib/emacs/password-store.el (password-store-insert): Improve message shown on success/failure.
2019-08-26Re add password-store-timeout for backward compatibilityTino Calancha
Some libraries rely on this function, e.g. password-store-otp library. * contrib/emacs/password-store.el (password-store-timeout): Re include this function; now it just returns password-store-time-before-clipboard-restore.
2019-08-26emacs: Prefer to use Emacs builtin customization machineryTino Calancha
Using a customizable variable is the preferred way to set a parameter within Emacs; replace password-store-timeout with the new option password-store-time-before-clipboard-restore. The default value for this variable uses the environment var PASSWORD_STORE_CLIP_TIME when set; this is the same behavior as before. Add Maintainer header. * contrib/emacs/password-store.el (password-store-password-length): Increased default value from 8 to 25, i.e. same default as in the shell script. (password-store-time-before-clipboard-restore): New option. (password-store-timeout): Delete it. Use the new option instead; all callers updated. * contrib/emacs/CHANGELOG.md: Announce the features.
2019-08-04emacs: require matching password for completionibizaman
2019-06-10emacs: Delete duplicate entries from password-store-listTino Calancha
Emacs backup files add a duplicate entry, that is, if you have the two files, foo.bar and foo.bar~, then you'd get two entries for `foo'. * password-store.el (password-store-list): Delete duplicate entries. Bump version to 2.0.2. Update Copyright notice.
2019-04-25emacs: Drop nil command argumentsSvend Sorensen
Drop nil arguments in `password-store--run` and `password-store--run-1`. This fixes an error running `password-store-generate`.
2019-04-05emacs: Release version 2.0.0 of Emacs packageSvend Sorensen
2019-04-05emacs: Supprt asynchronous pass operations which return output.Ian Eure
When using EXWM, if `password-store-get` is called and a pinentry program needs to be executed, Emacs deadlocks. This happens becuase Emacs blocks waiting for output from `gpg(1)`, which is blocked waiting for output from the pinentry-program, which is blocked waiting for Emacs to manage its window. This updates `password-store-copy` to work asynchronously. This should be fine, since its primary purpose is side-effecting, and it doesn’t matter when its evaluation completes. The ability to call `password-store-get` asynchronously with a callback has also been added to support this usecase. A new function has been added for general cases of async `pass` commands where the output is needed, `password-store--run-1`. While there is an existing `password-store--run-async`, it discards output -- it’s only used for `pass edit`, where it’s not needed. The body of `password-store--run` has been replacing it with one that uses `--run-1` and a wait loop which blocks until it’s complete. Supporting all this necessitated moving the file to lexical binding and dropping Emacs 24 support. The latter requirement could be worked around if there are concerns around it. **SECURITY INTERLUDE** I was unbelievably distressed to discover that the implementation of `password-store--run` redirects the decrypted file contents to disk, reads that into a buffer, then removes the file. This approach is preposterous and may warrant a CVE, as it exposes users to numerous conditions where their cleartext passwords could be recovered: - If the user hits C-g, the Emacs function may not get to the point of removing the file, leaving the password on disk. - It’s not a safe assumption that `make-temp-file` is secure, and even if it were, the time windows in play are likely to be very large, opening race conditions where the file contents can be read by an attacker before the file is removed. - Even if the file is removed, it could be recovered by examining the contents of deleted inodes. Information this sensitive should NEVER be persisted in cleartext in non-volatile storage. You may as well write it on a post-it and stick it on your monitor. re NicolasPetton/pass#25
2018-10-31emacs: Fix typo in password-store-url function doc stringSvend Sorensen
"http://" was repeated, fix the second instance to read "https://".
2017-08-29emacs: Release version 1.0.1 of Emacs packageSvend Sorensen
2017-08-29emacs: --run-async: Quote shell argumentsDamien Cassou
This is important for filenames with special characters such as spaces and parenthesis.
2017-08-29emacs: Update author's email addressSvend Sorensen
2017-08-29emacs: Fix package-lint violationsSvend Sorensen
2017-07-26emacs: Release version 1.0.0 of Emacs packageSvend Sorensen
2017-07-26emacs: Use with-editor to wrap "pass edit"Svend Sorensen
Instead of editing the password file directly using Emacs, "pass edit" is run. This allows password-store's git change tracking to work. This adds a dependency on the with-editor Emacs package.
2015-10-27emacs: Add defvar for timeout timerPeter Vasil
Use a defvar for the timeout timer in order to have better control and not starting multiple timers when calling password-store-copy.
2015-09-30emacs: Guard against "%" in message stringSvend Sorensen
The output of pass may contain "%", which will cause `message` to throw the error: "Not enough arguments for format string". For example, `pass rename foo bar` outputs: [master c33f7a9] Rename foo to bar. 1 file changed, 0 insertions(+), 0 deletions(-) rename foo.gpg => bar.gpg (100%)
2015-05-26emacs: Make `password-store-password-length' customizableNicolas Petton
2015-03-23emacs: Remove dash from Package-RequiresSvend Sorensen
2015-03-23emacs: Remove dependency on dashSvend Sorensen
Use delq instead of -reject from the dash package.
2015-03-22emacs: Use spaces for indentationSvend Sorensen
2015-03-16emacs: Separate stdout and stderrSvend Sorensen
This fixes a problem where gnupg-agent messages would get mixed with the password content.
2015-01-08emacs: Quote shell argumentsSvend Sorensen
Quote shell arguments for insert so that it handles passwords and entry names that contain special characters.
2014-06-16emacs: Use PASSWORD_STORE_CLIP_TIME env variableSvend Sorensen
Timeout password after PASSWORD_STORE_CLIP_TIME seconds, if set. Otherwise timeout after 45 seconds. These are the setting used by pass.
2014-06-16emacs: Use when instead of if/prognSvend Sorensen
2014-06-16emacs: Update pass website URLSvend Sorensen
2014-05-07Implement interactive init functionSvend Sorensen
2014-05-07Implement interactive rename functionSvend Sorensen
2014-05-07Reorder interactive function to match order of helper functionsSvend Sorensen
2014-05-07Make edit helper function name consistent with other helpersSvend Sorensen
2014-05-07Factor out password completing-read functionSvend Sorensen
2014-05-07Add dash to Package-RequiresSvend Sorensen
2014-05-05Add (provide 'password-store) to end of packageSvend Sorensen
2014-05-05password-length is already a numberSvend Sorensen
2014-05-04Add recursive option to remove, remove force optionSvend Sorensen
Optional force does not make sense for non-interactive remove function.
2014-05-04Move s-chomp to run functionSvend Sorensen
2014-05-04Implement pass command wrapper functionsSvend Sorensen
2014-05-04Remove nils from run argument listSvend Sorensen
2014-05-04Rename pass executable variableSvend Sorensen
2014-04-23emacs: import svend's treeJason A. Donenfeld