Commit Graph

53 Commits

Author SHA1 Message Date
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
Renato Alves
ea125c698e Remove trailing new-line 2016-02-16 18:39:01 +01:00
Renato Alves
f6c1779396 Add better debugging information 2016-02-16 16:39:32 +01:00
Renato Alves
1a11ede6c5 Make script compatible with both Python 2 and 3 2016-02-16 16:39:28 +01:00
Renato Alves
2db5c5684e Python 3 compatibility 2016-02-15 14:07:22 +01:00
Renato Alves
f9c7f19a0e Use an exception for premature exiting 2016-01-21 14:35:10 +01:00
Renato Alves
f780d71ce9 Use argparse for sys.argv parsing and refactor some code 2016-01-21 14:34:35 +01:00
Renato Alves
68947e643b Create an NSS global variable to prepare for refactoring 2016-01-21 14:32:23 +01:00
Renato Alves
1ad27f9a74 Default to python2 instead of any python.
Some distros are already using python3 as default python version
2016-01-21 14:13:49 +01:00
Renato Alves
8cbfe73c1a Retrieve error messages from NSS/NSPR when things go south 2016-01-19 15:28:58 +01:00
Renato Alves
5bb1abbf38 Add ability to read master password from a file. 2016-01-19 15:28:56 +01:00
Renato Alves
ca7e02d9ab Always try to pass the password to nss in UTF8 2016-01-19 15:27:51 +01:00
Renato Alves
6a27537db7 Don't try to decrypt unencrypted passwords 2015-12-28 02:24:39 +01:00