Commit Graph

84 Commits (a7940e3c847d6ec88963e4371b52217e69332c22)

Author SHA1 Message Date
Isis Lovecruft a7940e3c84 Rewrite checks in gnupg.GPG.__init__(). 2013-03-18 19:36:30 +00:00
Isis Lovecruft 852a0fae97 Rewrite function _sanitise(). 2013-03-18 19:36:29 +00:00
Isis Lovecruft 7ac7af9bcb Update list of allowed gpg options. 2013-03-18 19:36:29 +00:00
Isis Lovecruft b35309e73f Update docstrings in several functions.
* Including updates to:
   _underscore()
   _hyphenate()
   _is_allowed()
2013-03-18 19:36:29 +00:00
Isis Lovecruft 058c6f6ca8 Change _is_file to return booleans and never raise anything. 2013-03-18 19:36:29 +00:00
Isis Lovecruft babff61ec2 Shorten assertion string in gnupg.GPG.__init__(). 2013-03-18 19:36:29 +00:00
Isis Lovecruft 0c5e8f9110 Update test_gnupy.py to use the same standard key generation params.
* Test method now matches the batch key generation parameters in gnupg.py.
 * Fix trailing whitespace in test_gnupg.py.
2013-03-18 19:36:29 +00:00
Isis Lovecruft 2720b68b8c Update test_gnupg.py logger settings.
* The logfile is now appended to, rather than rewritten, so that we can
   still see past test results.
2013-03-18 19:36:29 +00:00
Isis Lovecruft 4d2ce56ab3 Change Makefile 'make test' to only use basic tests.
* This should reduce the load on TravisCI workers.
2013-03-18 19:36:29 +00:00
Isis Lovecruft 708f301bd5 Add TravisCI config file for continuous integration testing.
* The travis-lint tool reports that the YAML syntax is valid:
   ∃!isisⒶwintermute:~/code/riseup/python-gnupg ∴ travis-lint
   Hooray, /home/isis/code/riseup/python-gnupg/.travis.yml seems to be solid!
2013-03-18 19:36:29 +00:00
Isis Lovecruft 5952d5c09e Add Makefile for common testing tasks. 2013-03-18 19:36:29 +00:00
Isis Lovecruft b0dda3e0e4 Update .gitignore to exclude the keys/ testing directory, and *.log files. 2013-03-18 19:36:29 +00:00
Isis Lovecruft e0f0023c81 Update test_gnupg.py with update parameter names. 2013-03-18 19:36:29 +00:00
Isis Lovecruft ed63f622a1 Change logger messages in gnupg.GPG.sign() to be at the debug level. 2013-03-18 19:36:29 +00:00
Isis Lovecruft 601dbb0dd0 Set parameter args in gnupg.GPG.make_args() to None by default. 2013-03-18 19:36:29 +00:00
Isis Lovecruft 45cb40c8b1 Only process safe_args in gnupg.GPG.__init__() as a dict if it is one. 2013-03-18 19:36:29 +00:00
Isis Lovecruft c0265943e2 Create stricter checks on which gpg binary to call.
* Update documentation for gnupg.GPG.__init__().
2013-03-18 19:36:29 +00:00
Isis Lovecruft 3784f0469b Remove trailing whitespace in function _sanitise(). 2013-03-18 19:36:29 +00:00
Isis Lovecruft c477033506 Change function _is_allowed() to check one option at a time. 2013-03-18 19:36:29 +00:00
Isis Lovecruft 72b74d1960 Fix the _allowed frozenset to work with _hyphenate option string formatting.
* Change assertion checks to reflect the changes to _allowed.
2013-03-18 19:36:29 +00:00
Isis Lovecruft ffe82751b1 Remove vars frozenset from _is_allowed() because it is unnecessary.
* Using _allowed and _possible frozensets to store gpg options and flags instead.
2013-03-18 19:36:29 +00:00
Isis Lovecruft 260814f939 Add class UsageError for future devs who incorrectly add feature sets. 2013-03-18 19:36:29 +00:00
Isis Lovecruft 0af1c84fa6 Switch back to setting gnupg.GPG class as self.gpg.
* The doctests in test_gnupg.py require this, and it would be more work to change,
   so just leave it as it was for now.
 * Update documentation for the _which() function.
2013-03-18 19:36:29 +00:00
Isis Lovecruft 745a581fea Fix problem of attempting to sanitise non-existent options. 2013-03-18 19:36:29 +00:00
Isis Lovecruft 01861c03da Change variable names in GPG.__init__(). 2013-03-18 19:36:29 +00:00
Isis Lovecruft f2fd09490c Sanitise input parameters in function GPG.make_args(). 2013-03-18 19:36:29 +00:00
Isis Lovecruft a58f4b0492 Add function _hyphenate(). 2013-03-18 19:36:29 +00:00
Isis Lovecruft 845ac96de8 Sanitise input 'options' to GPG.__init__(). 2013-03-18 19:36:29 +00:00
Isis Lovecruft a228c91fa7 Fix variable names in assertions in GPG.__init__(). 2013-03-18 19:36:29 +00:00
Isis Lovecruft e3dcbd9aa1 Change function _sanitise() to handle args being a string of multiple arguments. 2013-03-18 19:36:29 +00:00
Isis Lovecruft 0312e32231 Change internal function variable 'vars' in _is_allowed() to use
_underscore(remove_prefix=True) option.
2013-03-18 19:36:29 +00:00
Isis Lovecruft 1144d79a25 Update docsting for function _underscore(). 2013-03-18 19:36:29 +00:00
Isis Lovecruft 7008b10f69 Change function _underscore to handle stripping hyphen prefixes. 2013-03-18 19:36:29 +00:00
Isis Lovecruft 8159d1c80f Fix problem in function _is_file() to except TypeError if given None as input. 2013-03-18 19:36:29 +00:00
Isis Lovecruft eed5b7a8ac Add note to remove the locale module later. 2013-03-18 19:36:29 +00:00
Isis Lovecruft 8419542494 Create the gpghome directory if specified and if it doesn't exist. 2013-03-18 19:36:29 +00:00
Isis Lovecruft 1f51375676 Fix unsanitised input for GPG() parameter 'keyring'.
* Add assertions for checking that parameters 'verbose' and 'use_agent' are
   boolean values.
2013-03-18 19:36:29 +00:00
Isis Lovecruft c6f8a0bb55 Update docstring and assertion statements for GPG.__init__(). 2013-03-18 19:36:29 +00:00
Isis Lovecruft 5dba39e0a3 Fix non-PEP-8 docstring in _underscore(). 2013-03-18 19:36:29 +00:00
Isis Lovecruft 049b2ef91c Catch TypeError in _fix_unsafe(), for cases where the input is None. 2013-03-18 19:36:28 +00:00
Isis Lovecruft ea3e8aa86d Fix unsanitised inputs for GPG() parameters 'gpgbinary' and 'gpghome'.
* Update all docstrings and functions to use 'gpghome' instead of
   'gnupghome'.
2013-03-18 19:36:28 +00:00
Isis Lovecruft 427b72b5c1 Fixed misnamed parameters in functions _which() and _fix_unsafe(). 2013-03-18 19:36:28 +00:00
Isis Lovecruft dc52ab08a0 Change default key length in GPG.gen_key_input() to 2048 bits. 2013-03-18 19:36:28 +00:00
Isis Lovecruft c483a509f3 Fix unsanitised user input vulnerability in GPG.recv_keys().
* Add wrapping of user inputs `keyids` and `keyserver` in calls to
   _fix_unsafe().
 * Apologies for the hairy ''.join([(lambda: x)() for x in keyids]), sort
   of. Common Lisp was my first language and this is totally readable and
   natural to me, and all the rest of you haters just need to get better at
   functional programming.
2013-03-18 19:36:28 +00:00
Isis Lovecruft f1a3ce9813 Remove extra whitespace. 2013-03-18 19:36:28 +00:00
Isis Lovecruft 8133abd851 Add function which implements the bash 'which' feature.
* Add function _which(), which is shamelessly stolen from Twisted's
   twisted.python.procutils module.
2013-03-18 19:36:28 +00:00
Isis Lovecruft 7eff7b4a03 Cleanup a bit of non-PEP-8 conformant code. 2013-03-18 19:36:28 +00:00
Isis Lovecruft 2c6d06a4bc Add function for checking that the read uid/gid has correct permissions.
* Add function _has_readwrite().
2013-03-18 19:36:28 +00:00
Isis Lovecruft 7598c53a84 Add note about parsing GPG keys in binary format. 2013-03-18 19:36:28 +00:00
Isis Lovecruft 80cf654a7f Update docstring in GPG.import_keys(). 2013-03-18 19:36:28 +00:00