summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordrebs <drebs@leap.se>2013-10-02 14:13:23 -0300
committerdrebs <drebs@leap.se>2013-10-02 14:13:23 -0300
commiteb21ca7e44c1859a8a10aebf5bb056f42981d1ac (patch)
tree19c45219df27dc3d03744b69d673c802631afda2
parent046acc7ae9e866baba9cab151bf2694fab10b43c (diff)
parent2587fba4d6982f39ae031f75cafc49da1901f056 (diff)
Merge remote-tracking branch 'remotes/kalikaneko/bug/enforce-correct-version' into develop
-rw-r--r--changes/bug_enforce_correct_version1
-rw-r--r--src/leap/keymanager/__init__.py21
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 00000000..eb03e418
--- /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 2f39ad9e..76be2262 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