extras-buildsys/client client.py,1.6,1.7

Daniel Williams (dcbw) fedora-extras-commits at redhat.com
Wed Jul 6 21:20:57 UTC 2005


Author: dcbw

Update of /cvs/fedora/extras-buildsys/client
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv3996/client

Modified Files:
	client.py 
Log Message:
2005-07-06  Dan Williams <dcbw at redhat.com>

    * Convert M2Crypto code to pyOpenSSL so that stuff actually works




Index: client.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/client/client.py,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- client.py	5 Jul 2005 21:07:57 -0000	1.6
+++ client.py	6 Jul 2005 21:20:55 -0000	1.7
@@ -19,10 +19,9 @@
 import sys, os
 from plague import XMLRPCServerProxy
 import ConfigParser
-import M2Crypto
-import M2Crypto.m2xmlrpclib
-import M2Crypto.X509
 import socket
+import xmlrpclib
+import OpenSSL
 
 
 config = ConfigParser.ConfigParser()
@@ -101,7 +100,7 @@
         if status:
             args['status'] = status
         (e, msg, jobs) = server.list_jobs(args)
-    except (M2Crypto.SSL.SSLError, socket.error), e:
+    except socket.error, e:
         print "Error connecting to build server: '%s'" % e
         return
 
@@ -121,7 +120,7 @@
 
     try:
         (err, msg) = server.kill_job(email, jobid)
-    except (M2Crypto.SSL.SSLError, socket.error), e:
+    except socket.error, e:
         print "Error connecting to build server: '%s'" % e
         return
 
@@ -153,7 +152,7 @@
             print_builders("New Builders", builder_list)
         else:
             print "No new builders found."
-    except (M2Crypto.SSL.SSLError, socket.error), e:
+    except socket.error, e:
         print "Error connecting to build server: '%s'" % e
 
 
@@ -168,7 +167,7 @@
             print_builders("Active Builders", builder_list)
         else:
             print "No active builders found."
-    except (M2Crypto.SSL.SSLError, socket.error), e:
+    except socket.error, e:
         print "Error connecting to build server: '%s'" % e
 
 
@@ -194,7 +193,7 @@
         if addr.startswith("https:"):
             raise ServerException("Error: '%s' is an SSL server, but the use_ssl config option set to False.  See %s" % (addr, config_file_path))
         else:
-            server = M2Crypto.m2xmlrpclib.ServerProxy(addr)
+            server = xmlrpclib.ServerProxy(addr)
     else:
         raise ServerException("Unrecognized value for config '%s' option use_ssl.  See %s" % (use_ssl, config_file_path))
 
@@ -212,13 +211,11 @@
         if not os.access(certfile, os.R_OK):
             print "%s does not exist or is not readable." % certfile
             sys.exit(1)
-        cert = M2Crypto.X509.load_cert(certfile)
-        # m2crypto 0.9 only has 'Email', so fall through to that
-        # if 'emailAddress' fails
-        try:
-            cert_email = cert.get_subject().emailAddress
-        except AttributeError:
-            cert_email = cert.get_subject().Email
+        f = open(certfile, "r")
+        buf = f.read(8192)
+        f.close()
+        cert = OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_PEM, buf)
+        cert_email = cert.get_subject().emailAddress
         if cert_email != config_email:
             print "Error: certificate's email address does not match the email address in the config file."
             sys.exit(1)




More information about the fedora-extras-commits mailing list