Commit Graph

1049 Commits (master)

Author SHA1 Message Date
Isis Lovecruft d3b7dd0353
Merge branch 'fix/91-missing-passphrase' into develop 2015-03-09 08:14:55 +00:00
Isis Lovecruft d31d0cf131
Handle MISSING_PASSPHRASE in _parsers.Sign.
* FIXES #91.
2015-03-09 08:12:41 +00:00
Isis Lovecruft f3c193d8b4
Merge remote-tracking branch 'charles-dyfis-net/homedir-perm-check-skippable' into develop 2015-03-09 07:52:59 +00:00
Isis Lovecruft 55b586fd18
Merge remote-tracking branch '6si/feature/allow_output_flag' into develop 2015-03-09 07:48:34 +00:00
Isis Lovecruft f858080148
Merge remote-tracking branch 'charles-dyfis-net/pass_through_good_options' into develop 2015-03-09 07:24:38 +00:00
Isis Lovecruft 572429eed9
Merge branch 'fix/89-fix-encrypting-streams' into develop 2015-03-09 07:19:36 +00:00
Isis Lovecruft ceb1c2fbbd
Add _STREAMLIKE_TYPES for determining stream-likeness in _is_stream().
* FIXES Python3 problems with various StringIO imports commit 8c261eb
   from fix for #89 in PR #92.
2015-03-09 07:01:15 +00:00
Isis Lovecruft 90c6613684
Merge branch 'master' into develop 2015-02-24 21:59:04 +00:00
Isis Lovecruft 939728694c
Merge branch 'release/2.0.0' 2015-02-24 21:58:37 +00:00
Isis Lovecruft d66b23b896
Add support for running on PyPy. 2015-02-22 22:57:59 +00:00
Garrett Robinson 6c15f25ee5 Unit test for encrypting file-like objects 2015-01-20 11:18:55 -08:00
Garrett Robinson 8c261eba30 Expand set of classes recognized by `_util._is_stream`
Adds additional commonly used stream classes from the standard library
to `_util._is_stream`. This means these classes can be used successfully
wherever `_is_stream` is used to decide whether or not to encode data
throughout the codebase, including in `_encrypt`.
2015-01-20 09:22:54 -08:00
Garrett Robinson f8ccdc5028 Fix `GPG.encrypt` for file-like objects
`GPG.encrypt_file` was refactored into `GPG.encrypt` in 295d98f, which
broke the functionality of `GPG.encrypt_file` for encrypting file-like
stream objects such as StringIO, BytesIO, etc.

The main difference between `GPG.encrypt_file` and `GPG.encrypt` is that
`GPG.encrypt` first converts its `data` argument into a binary stream
via `_make_binary_stream`. This is unnecessary when the argument is
already a stream, as was often the case in calls to `GPG.encrypt_file`.
Additionally, `_make_binary_stream` typically fails when it attempts
to encode a stream object, which means it is no longer possible to
achieve the functionality of `GPG.encrypt_file` with `GPG.encrypt` after
the refactor.

This commit only converts `data` to a binary stream if it is not already
a stream, re-using `_util._is_stream` to make that determination.
2015-01-17 16:09:39 -08:00
Viral Bajaria 8a7699236c add output as a valid option 2015-01-06 11:13:46 -08:00
Isis Lovecruft 5025df1661
Merge branch 'master' into develop 2014-11-27 04:14:11 +00:00
Isis Lovecruft b1dab1570d
Merge branch 'release/1.4.0' 2014-11-27 04:14:03 +00:00
Isis Lovecruft 8f92335476
Merge branch 'master' into develop 2014-11-27 02:59:22 +00:00
Isis Lovecruft 613e84cd56
Merge branch 'release/1.3.3' 2014-11-27 02:58:47 +00:00
Isis Lovecruft 1a22565e24
Merge branch 'fix/67-hidden-encrypt' into develop 2014-11-27 02:41:02 +00:00
Isis Lovecruft 81b2d9d9c2
Change ListPackets.key to be backwards compatible.
This also adds a new ``ListPackets.encrypted_to`` list, which contains
all the keyids which a message was encrypted to. ``ListPackets.key`` is
just the first one we discovered that it was encrypted to, for backwards
compatibility.

 * FIXES part of Issue #67.
   https://github.com/isislovecruft/python-gnupg/issues/67

 * CHANGES the additions made in commit f70a7dc4f0 by @tomgalloway in
   PR#70 to be backwards compatible.
   f70a7dc4f0
   https://github.com/isislovecruft/python-gnupg/pull/77
2014-11-27 02:35:52 +00:00
Isis Lovecruft 513a48d876
Add throw_keyids=bool option to encrypt() method.
* FIXES part of Issue #67.
   https://github.com/isislovecruft/python-gnupg/issues/67
2014-11-27 02:19:34 +00:00
Isis Lovecruft 09c6a08637 Merge remote-tracking branch 'tomgalloway/develop' into fix/67-hidden-encrypt 2014-11-27 01:18:37 +00:00
Isis Lovecruft 09a0af7b41
Merge branch 'fix/81-import-indempotence' into develop 2014-11-27 01:01:25 +00:00
Isis Lovecruft 906b1a7142
Fix class attribute side effects between instances of ImportResult.
This fixes an issue reported by @adulau on Github where importing KeyA
and asking for the ``ImportResult.fingerprints`` would list KeyA's
fingerprints, and then importing KeyB and asking for the
``ImportResult.fingerprints`` would list both KeyA and KeyB's
fingerprints.

This was caused by a side effect resulting from the
``ImportResult.fingerprints`` being a class-level attribute, which gets
modified by the first call to ``gnupg.GPG.import_key()``, causing later
instances of ``ImportResult`` to retain the side effect. This commit
causes the ``ImportResult`` class to be indempotent under sequential
composition calls to ``gnupg.GPG.import_keys()``, ultimately resulting
in listing, upon each key import attempt, only the fingerprints of the
keys which were listed *that* time.

 * FIXES Issue #81
   https://github.com/isislovecruft/python-gnupg/issues/81
2014-11-27 00:51:55 +00:00
Isis Lovecruft cbebe4f509
Merge branch 'fix/58-win32-uid' into develop 2014-11-27 00:13:09 +00:00
Isis Lovecruft a1e4a8a756
Use process uids and usernames on Unix and Windows respectively.
Windows doesn't have EUIDs, so instead we'll check that the usernames
match. This doesn't seem the least bit secure to me, but it's Windows so
they're probably owned anyway. If anyone knows one of the "proper" ways
to determine if another process has the same owner on Windows, I'd love
to know about it.

 * FIXES Issue #58 but I don't have a Windows machine to test so maybe
   it's still broken.
   https://github.com/isislovecruft/python-gnupg/issues/58
2014-11-27 00:03:27 +00:00
Charles Duffy a1c45a6f63 Not sufficient to drop bad options; good ones need to be passed through.
This code was broken: Half of it required `options` to be a string, and the
other half required `options` to be a list (which the tests enforced, but the
constructor would silently drop for normal-path initialization).
2014-11-26 17:43:36 -06:00
Charles Duffy 77c6c3d0e5 Make homedir permissions check optional 2014-11-26 17:39:04 -06:00
Isis Lovecruft cc959c755d
Merge remote-tracking branch 'meskio/fix_list_sigs' into develop 2014-11-26 23:38:28 +00:00
Isis Lovecruft 63fe93f8b5
Merge branch 'fix/85-NOTATION' into develop 2014-11-20 06:10:47 +00:00
Isis Lovecruft f3515c44d7
Add ability to parse NOTIFICATION_* statuses in Verify.
* FIXES Issue #85:
   https://github.com/isislovecruft/python-gnupg/issues/85
2014-11-20 05:51:20 +00:00
Isis Lovecruft a3e2f70cd8
Merge branch 'fix/83-SIG_SUBPACKET' into develop 2014-11-19 22:51:47 +00:00
Isis Lovecruft 5aaf1df5d1
Add ability to handle SIG_SUBPACKET status in Verify.
* FIXES Issue #83:
   https://github.com/isislovecruft/python-gnupg/issues/83
2014-11-19 22:50:30 +00:00
Isis Lovecruft 245cf73baf
Change versioneer parameters in gnupg/_version.py to match setup.py.
* FIXES (hopefully) Issue #80:
   https://github.com/isislovecruft/python-gnupg/issues/80
2014-11-19 21:44:53 +00:00
Isis Lovecruft 8e5b3256fa
Merge remote-tracking branch 'charles-dyfis-net/trustdb_repair_arg_fix' into develop 2014-11-19 21:29:31 +00:00
Isis Lovecruft 30c8c05f84
Merge remote-tracking branch 'charles-dyfis-net/first_usable_binary' into develop
Conflicts:
	gnupg/_util.py
2014-11-19 21:22:21 +00:00
Isis Lovecruft f9d00794ee
Merge remote-tracking branch 'charles-dyfis-net/progress_during_verify' into develop 2014-11-19 19:52:25 +00:00
Isis Lovecruft 99e597f196
Merge remote-tracking branch 'ttanner/binary-symlink' into develop 2014-11-19 19:30:29 +00:00
Isis Lovecruft de82a1c32a
Merge branch 'fix/74-no-HOME-env' into develop 2014-11-19 18:31:36 +00:00
Isis Lovecruft 1104908ef9
Don't expect a $HOME directory to be set.
* FIXES Issue #74:
   https://github.com/isislovecruft/python-gnupg/issues/74
2014-11-19 18:31:14 +00:00
Isis Lovecruft 899d429f7a
Merge branch 'fix/76-verbose-flag-order' into develop 2014-11-19 04:29:22 +00:00
Isis Lovecruft 59992eb8c3
Put verbosity args before other options/args.
* FIXES Issue #76:
   https://github.com/isislovecruft/python-gnupg/issues/76
2014-11-19 03:51:06 +00:00
Isis Lovecruft fecf92c0ac
Remove expectation for UnicodeDecodeError in a unittest.
It seems that more modern versions of Python (e.g. 2.7.8), doing:

    from __future__ import print_function
    print("SIG=%s" % sig)

with some binary data doesn't actually produce a UnicodeDecodeError,
which means that Python2 is slowly getting less retarded. :D

On the downside, we probably shouldn't have been testing for things
which are Python2.x mis-design issues (and not really our fault, nor a
bug in python-gnupg) anyway.
2014-11-19 03:46:44 +00:00
Tom Galloway 350027b18c Add parameter description 2014-11-10 13:07:27 +00:00
Tom Galloway f70a7dc4f0 Update to allow multiple keys to be shown on list_packets.
Also updated test to ensure only expected keyid has been hidden.
2014-11-05 12:37:27 +00:00
Tom Galloway 327d2e5f66 Actually add test to be run and format variable correctly. 2014-10-29 14:59:43 +00:00
Tom Galloway df5fdb5aa8 Allow --hidden-recipient to be used for a list of recipients. 2014-10-29 14:47:27 +00:00
Isis Lovecruft 751f25cb35
Merge branch 'fix/49-unicode-decode-on-readline' into develop 2014-10-28 01:07:12 +00:00
Isis Lovecruft d9116bace6
Replace UnicodeDecodeErrors caused by Python2 readline() method.
* CHANGE gnupg._meta.GPGBase.__init__() to register the builtin
   `codecs.replace_errors` handler and a global codecs "strict" error
   handler.
 * FIXES Issue #49:
   https://github.com/isislovecruft/python-gnupg/issues/49
2014-10-28 01:01:03 +00:00
Ruben Pollan d1025ae524 Fix list_sigs to return the list of signatures 2014-10-27 12:21:55 -06:00