better patch for unverified context
[bootmanager.git] / source / RunlevelAgent.py
index c1843bd..0d514c3 100755 (executable)
@@ -16,6 +16,7 @@ import traceback
 import sys
 import os
 import string
+import ssl
 
 CONFIG_FILE = "/tmp/source/configuration"
 SESSION_FILE = "/etc/planetlab/session"
@@ -74,7 +75,12 @@ class PLC:
     def __init__(self, auth, url):
         self.auth = auth
         self.url = url
-        self.api = xmlrpclib.Server(self.url, verbose=False, allow_none=True)
+        # Using a self signed certificate
+        # https://www.python.org/dev/peps/pep-0476/
+        try:    turn_off_server_verify = { 'context' : ssl._create_unverified_context() } 
+        except: turn_off_server_verify = {}
+        self.api = xmlrpclib.Server(self.url, verbose=False, allow_none=True,
+                                    **turn_off_server_verify)
 
     def __getattr__(self, name):
         method = getattr(self.api, name)