diff options
| -rw-r--r-- | changes/bug_enforce_correct_version | 1 | ||||
| -rw-r--r-- | src/leap/keymanager/__init__.py | 21 | 
2 files changed, 20 insertions, 2 deletions
| diff --git a/changes/bug_enforce_correct_version b/changes/bug_enforce_correct_version new file mode 100644 index 0000000..eb03e41 --- /dev/null +++ b/changes/bug_enforce_correct_version @@ -0,0 +1 @@ +  o Add a sanity check for the correct version of gnupg. diff --git a/src/leap/keymanager/__init__.py b/src/leap/keymanager/__init__.py index 2f39ad9..76be226 100644 --- a/src/leap/keymanager/__init__.py +++ b/src/leap/keymanager/__init__.py @@ -14,11 +14,28 @@  #  # You should have received a copy of the GNU General Public License  # along with this program. If not, see <http://www.gnu.org/licenses/>. - -  """  Key Manager is a Nicknym agent for LEAP client.  """ +# let's do a little sanity check to see if we're using the wrong gnupg +import sys + +try: +    from gnupg.gnupg import GPGUtilities +    assert(GPGUtilities)  # pyflakes happy +    from gnupg import __version__ +    from distutils.version import LooseVersion as V +    assert(V(__version__) >= V('1.2.2')) + +except ImportError, AssertionError: +    print "Ooops! It looks like there is a conflict in the installed version " +    print "of gnupg." +    print "Disclaimer: Ideally, we would need to work a patch and propose the " +    print "merge to upstream. But until then do: " +    print +    print "% pip uninstall python-gnupg" +    print "% pip install gnupg" +    sys.exit(1)  import logging  import requests | 
