Age | Commit message (Collapse) | Author |
|
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.
|
|
|
|
|
|
- Code is now PEP 8 compliant
- Uses argparse module for command line arguments
- Prints what it will do and prompts for confirmation before
proceeding
- Does not put URL and notes fields in the entry unless they
are present in the CSV file
- Adds a "user" field in the entry
- There are now command line arguments for the following:
- Exclude specific groups from being imported
- Convert groups and names to lowercase
- Use the name of the KeePass entry rather than the
username as the pass entry name
|
|
|
|
|
|
|
|
The CSV is generated by KeePassX 2.0 on Mac OSX
|
|
|
|
|
|
To assist the migration from the default Firefox password store to
passff.
Add also some basic tests.
More info at:
- <https://addons.mozilla.org/en-US/firefox/addon/password-exporter>
- <https://addons.mozilla.org/en-US/firefox/addon/passff>
|
|
Prof. Aho always seemed neat, but parsing a script inside a script for
the simple purpose of removing the trailing new line seems a bit absurd.
So, instead use two processes! One for getting the first line and one
for removing the trailing line. Everybody loves more calls to fork(),
right?
|
|
Without this patch, all entries are processed twice: once in the first
call to import_group (which recursively processes all entries), then in
the following import_group on all subgroups.
This leads to spurious warnings ("Duplicate needs merging") and extra
text added to each entry.
|
|
Use a defvar for the timeout timer in order to have better control and
not starting multiple timers when calling password-store-copy.
|
|
In particular, people were encountering exceptions when `empty?` was
called on a `nil` grouping.
|
|
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%)
|
|
It seems this file doesn't use spaces any more.
|
|
In 87ec1489fa98, I forgot that some people like to store more than one line in
their password files. We should only pass the first line to xdotool.
|
|
This works around a bug in xdotool parsing when encountering quotes, see
https://github.com/jordansissel/xdotool/issues/72.
Thanks to Gerd Wachsmuth for the report.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Use delq instead of -reject from the dash package.
|
|
|
|
This fixes a problem where gnupg-agent messages would get mixed with the
password content.
|
|
|
|
Quote shell arguments for insert so that it handles passwords and entry
names that contain special characters.
|
|
|
|
|
|
Suggested-by: Christoph Egger <christoph@christoph-egger.org>
|
|
If keepassx2pass.py is given an xml file containing passwords with an empty
title, like <title></title>, ElementTree.text returns None. This commit
substitutes an empty string; which will produce a password with name '_',
instead of raising AtttributeError, as shown in this exception::
Traceback (most recent call last):
File "contrib/importers/keepassx2pass.py", line 80, in <module>
main(sys.argv[1])
File "contrib/importers/keepassx2pass.py", line 77, in main
import_group(group)
File "contrib/importers/keepassx2pass.py", line 71, in import_group
import_entry(entry, npath)
File "contrib/importers/keepassx2pass.py", line 58, in import_entry
print "Importing " + path_for(element, path)
File "contrib/importers/keepassx2pass.py", line 37, in path_for
title = cleanTitle(space_to_camelcase(element.find('title').text))
File "contrib/importers/keepassx2pass.py", line 16, in space_to_camelcase
for word in value.split(" "):
AttributeError: 'NoneType' object has no attribute 'split'
|
|
Timeout password after PASSWORD_STORE_CLIP_TIME seconds, if set.
Otherwise timeout after 45 seconds. These are the setting used by pass.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Optional force does not make sense for non-interactive remove function.
|
|
|
|
|
|
|