summaryrefslogtreecommitdiffstats
path: root/src/lib/Proxy.py
diff options
context:
space:
mode:
authorSol Jerome <sol.jerome@gmail.com>2011-06-21 11:27:19 -0500
committerSol Jerome <sol.jerome@gmail.com>2011-06-21 11:27:19 -0500
commit45f7e202f6b7860214d709d0d470f2c8938c2993 (patch)
tree2f056a9203818c7c09084cf01dd134f07f432505 /src/lib/Proxy.py
parent55bb1f8cb2aca78914e896fd2a4fdf59f53882e1 (diff)
downloadbcfg2-45f7e202f6b7860214d709d0d470f2c8938c2993.tar.gz
bcfg2-45f7e202f6b7860214d709d0d470f2c8938c2993.tar.bz2
bcfg2-45f7e202f6b7860214d709d0d470f2c8938c2993.zip
bcfg2: Catch tracebacks (Tickets #1016 and #1017)
This also moves the exception handling added in #1012 to the bcfg2 code for consistency (as per Holger Weiß's suggestion). Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
Diffstat (limited to 'src/lib/Proxy.py')
-rw-r--r--src/lib/Proxy.py11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/lib/Proxy.py b/src/lib/Proxy.py
index e4a0f6a3d..4cb0bbe80 100644
--- a/src/lib/Proxy.py
+++ b/src/lib/Proxy.py
@@ -47,6 +47,9 @@ __all__ = ["ComponentProxy",
class CertificateError(Exception):
def __init__(self, commonName):
self.commonName = commonName
+ def __str__(self):
+ return ("Got unallowed commonName %s from server"
+ % self.commonName)
class RetryMethod(xmlrpclib._Method):
@@ -193,13 +196,7 @@ class SSLHTTPConnection(httplib.HTTPConnection):
ca_certs=self.ca, suppress_ragged_eofs=True,
keyfile=self.key, certfile=self.cert,
ssl_version=ssl_protocol_ver)
- try:
- self.sock.connect((self.host, self.port))
- except socket.gaierror:
- e = sys.exc_info()[1]
- self.logger.error("Unable to connect to %s:%s\n%s" %
- (self.host, self.port, e.strerror))
- sys.exit(1)
+ self.sock.connect((self.host, self.port))
peer_cert = self.sock.getpeercert()
if peer_cert and self.scns:
scn = [x[0][1] for x in peer_cert['subject'] if x[0][0] == 'commonName'][0]