summaryrefslogtreecommitdiffstats
path: root/src/fedora-cvs.py
diff options
context:
space:
mode:
authorDennis Gilmore <dennis@ausil.us>2010-02-18 14:46:20 -0600
committerDennis Gilmore <dennis@ausil.us>2010-02-18 14:46:20 -0600
commit21374206e7030c20d0aef4a94ac537dd7eae72d9 (patch)
tree1b4150053ed3d1cd8f34933a17f00dbbc29fe141 /src/fedora-cvs.py
parentd75e2924e05612331e82d5c9b8e2471ba044b93b (diff)
downloadfedora-packager-21374206e7030c20d0aef4a94ac537dd7eae72d9.tar.gz
fedora-packager-21374206e7030c20d0aef4a94ac537dd7eae72d9.tar.xz
fedora-packager-21374206e7030c20d0aef4a94ac537dd7eae72d9.zip
switch fedora-cvs to use the fedora_cert python module
Diffstat (limited to 'src/fedora-cvs.py')
-rwxr-xr-xsrc/fedora-cvs.py34
1 files changed, 2 insertions, 32 deletions
diff --git a/src/fedora-cvs.py b/src/fedora-cvs.py
index bf405d2..dd9d2fb 100755
--- a/src/fedora-cvs.py
+++ b/src/fedora-cvs.py
@@ -4,42 +4,12 @@ import commands
import optparse
import os
import sys
+import fedora_cert
from subprocess import *
-from OpenSSL import crypto
-
PKG_ROOT = 'cvs.fedoraproject.org:/cvs/pkgs'
-def read_cert_user():
- """Figure out the Fedora user name from ~/.fedora.cert. uses PyOpenSSL
- """
- cert_file = os.path.join(os.path.expanduser('~'), ".fedora.cert")
- #if there is no user cert return None so that we default to anonymous checkout
- if not os.access(cert_file, os.F_OK):
- print "!!! You don't have a ~/.fedora.cert file !!!"
- return None
-
- # Make sure we can even read the user cert if its there
- if not os.access(cert_file, os.R_OK):
- print "!!! cannot read your ~/.fedora.cert file !!!"
- print "!!! Ensure the file is readable and try again !!!"
- sys.exit(1)
-
- user_cert = open(cert_file, "r").read()
- my_cert = crypto.load_certificate(crypto.FILETYPE_PEM, user_cert)
-
- if my_cert.has_expired():
- print "Certificate expired; please get a new one."
- sys.exit(1)
-
- subject = str(my_cert.get_subject())
- subject_line = subject.split("CN=")
- cn_parts = subject_line[1].split("/")
-
- return cn_parts[0]
-
-
def main(user, pkg_list):
if user is not None:
cvs_env = "CVSROOT=:ext:%s@%s CVS_RSH=ssh" % (user, PKG_ROOT)
@@ -73,6 +43,6 @@ if __name__ == '__main__':
if opts.anon:
user = None
else:
- user = read_cert_user()
+ user = fedora_cert.read_user_cert()
main(user, pkgs)