[pve-devel] [PATCH 1/3] add read_x509_subject_spice

Alexandre Derumier aderumier at odiso.com
Tue Jul 23 12:40:02 CEST 2013


Signed-off-by: Alexandre Derumier <aderumier at odiso.com>
---
 PVE/API2/Qemu.pm  |   12 +-----------
 PVE/QemuServer.pm |   17 +++++++++++++++++
 2 files changed, 18 insertions(+), 11 deletions(-)

diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm
index 2c86487..29e7647 100644
--- a/PVE/API2/Qemu.pm
+++ b/PVE/API2/Qemu.pm
@@ -1381,18 +1381,8 @@ __PACKAGE__->register_method({
 	    $proxy = $host;
 	}
 
-	# read x509 subject
 	my $filename = "/etc/pve/local/pve-ssl.pem";
-	my $bio = Net::SSLeay::BIO_new_file($filename, 'r');
-	my $x509 = Net::SSLeay::PEM_read_bio_X509($bio);
-	Net::SSLeay::BIO_free($bio);
-	my $nameobj =  Net::SSLeay::X509_get_subject_name($x509);
-	my $subject = Net::SSLeay::X509_NAME_oneline($nameobj);
-	Net::SSLeay::X509_free($x509);
-
-	# remote-viewer wants comma as seperator (not '/')
-	$subject =~ s!^/!!;
-	$subject =~ s!/(\w+=)!,$1!g;
+	my $subject = PVE::QemuServer::read_x509_subject_spice($filename);
 
 	my $cacert = PVE::Tools::file_get_contents("/etc/pve/pve-root-ca.pem", 8192);
 	$cacert =~ s/\n/\\n/g;
diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index b055533..0f2d245 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -4851,4 +4851,21 @@ sub get_current_qemu_machine {
     return $current || $default || 'pc';
 }
 
+sub read_x509_subject_spice {
+    my ($filename) = @_;
+
+    # read x509 subject
+    my $bio = Net::SSLeay::BIO_new_file($filename, 'r');
+    my $x509 = Net::SSLeay::PEM_read_bio_X509($bio);
+    Net::SSLeay::BIO_free($bio);
+    my $nameobj = Net::SSLeay::X509_get_subject_name($x509);
+    my $subject = Net::SSLeay::X509_NAME_oneline($nameobj);
+    Net::SSLeay::X509_free($x509);
+  
+    # remote-viewer wants comma as seperator (not '/')
+    $subject =~ s!^/!!;
+    $subject =~ s!/(\w+=)!,$1!g;
+
+    return $subject;
+}
 1;
-- 
1.7.10.4



More information about the pve-devel mailing list