Commit Graph

115 Commits

Author SHA1 Message Date
Renato Alves
f29214dd74 ENH Add support for libnss3 on nix/NixOS
Assumes user executed `nix-env -iA nss` before
Other searched paths include common Linux paths.
2018-05-09 00:46:21 +02:00
Renato Alves
fafc821c20 ENH Allow a blank pass-prefix for no prefix
Use --pass-prefix '' to produce address/... instead of the default
web/address/... location for exported pass records.
2018-04-19 01:06:53 +02:00
Renato Alves
ab40d6a58f ENH Allow specifying pass's location and name
If pass is not on PATH or if it's called something other than 'pass'
users can now override by passing `--pass-cmd /path/to/passcript`
2018-04-19 01:03:23 +02:00
Renato Alves
1b75cf485c RFCT+ENH Refactor pass compatiblity code and add 'username' mode 2018-04-19 00:54:50 +02:00
Edwin Török
148ecc4397 Add --pass-compat=browserpass to make --export-pass format compatible with browserpass
[browserpass](https://github.com/dannyvankooten/browserpass) expects a multiline format
with password first, and then a line with either `login:`, `user:` or `username:`.
Exporting passwords this way makes login form filling work if you have
browserpass installed.

To keep backwards compatibility the default, if `--pass-compat` is not
specified (or specified as `--pass-compat=default`), is to print just
the bare username on the second line.
2018-03-11 23:55:57 +00:00
Renato Alves
4d7d66c80a REL Release v0.7.0 2018-01-25 21:30:09 +01:00
Renato Alves
089e1df285 ENH+TST Add support for new profile format (FF-v59)
Starting with Firefox v59 credentials are no longer stored in BerkleyDB
(cert8.db, key3.db) and instead use Sqlite (cert9.db, key4.db)

fixes #20
2018-01-25 21:30:09 +01:00
iainb
f97455d3d9 Added check for libnss if installed via pkgsrc. 2018-01-24 23:15:57 +09:00
sedrubal
4a1e258b20 ENH Add CSV as output format 2017-08-17 23:14:16 +02:00
Renato Alves
f89705590c BUG+TST Escape quotes in tabular output as per CSV standard 2017-08-17 19:28:31 +02:00
Renato Alves
ecb17f81bf BUG 'Choice:' is printed too late and disrupts output 2017-07-20 17:52:06 +02:00
Renato Alves
748fec2415 BUG Tabular header was not printed 2017-07-20 17:51:36 +02:00
Erich Seifert
eaac14eb2f ENH Command line option to change the prefix for pass
This allows to change to the default prefix "web" when exporting to pass from passwordstore.org.

closes #16
2017-04-17 12:52:44 +02:00
Renato Alves
851ee290d2 ENH+RFCT Proper implementation of ctypes' interfaces
Fixes memleaks as suggested on #13
Also closes #12 as slot->needLogin is not possible via ctypes
2017-04-09 04:59:47 +02:00
Renato Alves
00aea4071f RFCT Use ctypes as 'ct' 2017-04-08 19:56:57 +02:00
Levis Florian
d972f93926 ENH Add location for libnss (Darwin)
Add location "/usr/local/opt/nss/lib" for nss installed with Brew
2017-04-08 19:46:35 +02:00
Renato Alves
3649dcb2c0 ENH Add tabular output with -t/--tabular 2017-02-10 19:57:36 +01:00
Renato Alves
2e6a2acb0b REL Bump version to 0.6.1 2017-02-10 18:01:23 +01:00
Christoph "criztovyl" Schulz
e4945d18f7 BUG Fix python3 TypeError for get_version()
Popen's stdout returns bytes, not a string, so decode to string.
Other code parts use .decode("utf-8") so inherit this behaviour.
2017-02-10 17:19:43 +01:00
Renato Alves
7254a643b7 ENH Add version information (also from git if available) 2017-02-09 23:15:38 +01:00
Renato Alves
e61eba286f BUG Fix segfault due to reference to invalid memory
Should also fix #9
2017-02-09 22:31:54 +01:00
Renato Alves
eee91d13ef MNT find_nss is now a staticmethod 2017-02-02 21:46:04 +01:00
Renato Alves
dca2b693f3 MNT Refactor NSS finding code and include a few more locations on Windows 2017-02-02 21:29:57 +01:00
Renato Alves
dd1926d1b2 STY The code has evolved much since then so rephrase disclamer 2017-02-02 21:25:03 +01:00
Renato Alves
3b6f6e1dcd ENH Improve compatibility with Windows and OSX (Darwin)
Credits to @AlisterAmo and @Anthropohedron
2016-09-28 14:45:21 +02:00
Christoph "criztovyl" Schulz
07f2620480 Tests, refuse listing single profiles
Adds tests for -n/--no-interactive, -c/--choice and -l/--list.
Adds behavior to refuse list single profiles, previously f_d happily continued
 and did not exit as promised.
Also adds a stub-README to tests/.
2016-06-27 21:09:46 +02:00
Christoph "criztovyl" Schulz
574b919d8c Minor fixes for #6 2016-06-27 18:20:33 +02:00
Christoph "criztovyl" Schulz
e10fae8370 Exit codes, do not ask twice for choice
Adds exit/error codes for not found profile, keyboard interrupt, missing choice and
 choice EOF read error.
Also adds that user isn't asked for profile choice when using -c/--choice without
 -n/--no-interactive
2016-06-27 01:46:38 +02:00
Christoph "criztovyl" Schulz
fb0a93f87a README (non-interactive mode)
Adds non-interactive mode to README.
Also now forces reading password from stdin when using -n/--no-interactive.
2016-06-26 23:35:14 +02:00
Christoph "criztovyl" Schulz
70f27e34b9 Non-interactive mode
This commit adds a non-interactive mode, called by -n/--no-interactive. This implements
 -c/--choice: Tell which profile to use (number)
 -l/--list  : List all available profiles and exit.

Furthermore added exception handling for ^C and EOF.
2016-06-26 22:58:42 +02:00
Renato Alves
797fda18f9 Remove unecessary argument and move export_pass outside the class 2016-04-24 01:48:15 +02:00
Renato Alves
0528e1fede Refactor some code into functions 2016-04-24 01:16:05 +02:00
Renato Alves
4a465a1f3a Adjust line-break for easier testing 2016-04-17 21:26:24 +02:00
Renato Alves
a743fc8d1c No longer fail on Py2 when a | is used - fixes #5 2016-04-17 20:04:05 +02:00
Renato Alves
2be7ff8c6b Add some feedback of what is happening for -ev mode 2016-04-17 19:43:46 +02:00
Renato Alves
58735ac8ec Newer versions of pass no longer complain of "pass init" if "pass version" is used 2016-04-17 19:38:34 +02:00
Renato Alves
00a6e6d96d New implementation of password export
In the previous version the username was only available as part of the
password store identifier. Now it is also part of the content of the
store. The current version outputs the password as first line and the
username as second line. So it's now possible to use the "-c" option of
pass to selectively copy the first or second line to clipboard.

In addition the username is now only used as part of the password
identifier if more than one set of credentials exist for the same
address/url.

Keep in mind that exporting passwords will overwrite any existing
credentials that match the generated identifiers without prompting.
2016-04-17 19:32:01 +02:00
Renato Alves
fc0a8d1f0d Profile_path can now be a profile directly (not pointing to profile.ini) 2016-03-18 15:11:09 +01:00
Renato Alves
769a574214 Implement name based exit codes for clarity 2016-03-18 13:26:39 +01:00
Renato Alves
f2b4616b12 Clarify that Thunderbird profiles can also be decrypted 2016-03-17 17:58:35 +01:00
Renato Alves
1aaa425da1 If only one profile exists, select it without prompting 2016-03-17 13:28:52 +01:00
Renato Alves
67fb1e6140 Minor documentation and style fixes 2016-03-11 03:08:46 +01:00
Renato Alves
663f6e1a8d Document a few classes and functions 2016-03-11 02:57:55 +01:00
Renato Alves
e63ac59619 Refactor NSS initialization and fix passwordstore export 2016-03-11 02:08:20 +01:00
Renato Alves
4477a328ba Fix urlparse import on Python 3 2016-03-11 02:07:30 +01:00
Renato Alves
9296e4bcba Implement exporting passwords to passwordstore.org 2016-03-10 02:31:36 +01:00
Renato Alves
9b0a90996a Refactor some of the code into functions 2016-03-10 02:31:36 +01:00
Renato Alves
76d7a9561d Get rid of globals out, err and path 2016-03-10 02:31:36 +01:00
Renato Alves
bca1838ba3 Fix small typo 2016-02-16 23:48:30 +01:00
Renato Alves
5cbe623085 Output additional debugging info (return codes from NSS) 2016-02-16 23:47:48 +01:00