From 19b08805ea14f202d33abe8a70ab3d5731c6dfe2 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Mar 31 2020 09:41:52 +0000 Subject: import libgovirt-0.3.4-4.el7 --- diff --git a/SOURCES/0047-vm-display-Add-support-for-parsing-certificate-data.patch b/SOURCES/0047-vm-display-Add-support-for-parsing-certificate-data.patch new file mode 100644 index 0000000..c7e957c --- /dev/null +++ b/SOURCES/0047-vm-display-Add-support-for-parsing-certificate-data.patch @@ -0,0 +1,56 @@ +From 0fceae5b08888ae04d0f984aaa2583ca39756880 Mon Sep 17 00:00:00 2001 +From: "Eduardo Lima (Etrunko)" +Date: Thu, 3 Oct 2019 15:30:46 -0300 +Subject: [PATCH] vm-display: Add support for parsing certificate data + +Certificate data is stored as GByteArray, thus requiring support for +G_TYPE_BYTE_ARRAY in ovirt-utils. + +Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1402909 + +Signed-off-by: Eduardo Lima (Etrunko) +--- + govirt/ovirt-utils.c | 5 +++++ + govirt/ovirt-vm-display.c | 3 +++ + 2 files changed, 8 insertions(+) + +diff --git a/govirt/ovirt-utils.c b/govirt/ovirt-utils.c +index 56ce2e1..7789296 100644 +--- a/govirt/ovirt-utils.c ++++ b/govirt/ovirt-utils.c +@@ -181,6 +181,7 @@ _set_property_value_from_type(GValue *value, + const char *value_str; + GType type = prop->value_type; + ++ /* These types do not require a value associated */ + if (g_type_is_a(type, OVIRT_TYPE_RESOURCE)) { + OvirtResource *resource_value = ovirt_resource_new_from_xml(type, node, NULL); + g_value_set_object(value, resource_value); +@@ -210,6 +211,10 @@ _set_property_value_from_type(GValue *value, + int enum_value = ovirt_utils_genum_get_value(type, value_str, enum_prop->default_value); + g_value_set_enum(value, enum_value); + goto end; ++ } else if (g_type_is_a(type, G_TYPE_BYTE_ARRAY)) { ++ GByteArray *array = g_byte_array_new_take((guchar *)g_strdup(value_str), strlen(value_str)); ++ g_value_take_boxed(value, array); ++ goto end; + } + + ret = _set_property_value_from_basic_type(value, type, value_str); +diff --git a/govirt/ovirt-vm-display.c b/govirt/ovirt-vm-display.c +index ebb04c2..a8a946a 100644 +--- a/govirt/ovirt-vm-display.c ++++ b/govirt/ovirt-vm-display.c +@@ -336,6 +336,9 @@ static gboolean ovirt_vm_display_set_from_xml(OvirtVmDisplay *display, RestXmlNo + { .prop_name = "proxy-url", + .xml_path = "proxy", + }, ++ { .prop_name = "ca-cert", ++ .xml_path = "certificate/content", ++ }, + { NULL, }, + }; + +-- +2.21.0 + diff --git a/SOURCES/0048-proxy-Do-not-overwrite-certificate-data-from-display.patch b/SOURCES/0048-proxy-Do-not-overwrite-certificate-data-from-display.patch new file mode 100644 index 0000000..9880f22 --- /dev/null +++ b/SOURCES/0048-proxy-Do-not-overwrite-certificate-data-from-display.patch @@ -0,0 +1,39 @@ +From cf2c7c6b5ee1b636d7f443a4442374e9e254c164 Mon Sep 17 00:00:00 2001 +From: "Eduardo Lima (Etrunko)" +Date: Thu, 3 Oct 2019 17:18:58 -0300 +Subject: [PATCH] proxy: Do not overwrite certificate data from display + +Since oVirt 4.3, certificate data is available from the XML see: + +https://bugzilla.redhat.com/show_bug.cgi?id=1403161 + +Previous commit adds support for using that value instead of the one +obtained from proxy object. + +Signed-off-by: Eduardo Lima (Etrunko) +--- + govirt/ovirt-proxy.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/govirt/ovirt-proxy.c b/govirt/ovirt-proxy.c +index 9cdd211..74604dd 100644 +--- a/govirt/ovirt-proxy.c ++++ b/govirt/ovirt-proxy.c +@@ -632,6 +632,14 @@ static void ovirt_proxy_update_vm_display_ca(OvirtProxy *proxy) + + g_object_get(G_OBJECT(vm), "display", &display, NULL); + if (display != NULL) { ++ GByteArray *ca_cert = NULL; ++ g_object_get(G_OBJECT(display), "ca-cert", &ca_cert, NULL); ++ if (ca_cert != NULL) { ++ g_byte_array_unref(ca_cert); ++ ca_cert = NULL; ++ continue; ++ } ++ + g_object_set(G_OBJECT(display), + "ca-cert", proxy->priv->display_ca, + NULL); +-- +2.21.0 + diff --git a/SOURCES/0049-proxy-Do-not-leak-display-object.patch b/SOURCES/0049-proxy-Do-not-leak-display-object.patch new file mode 100644 index 0000000..0e6e149 --- /dev/null +++ b/SOURCES/0049-proxy-Do-not-leak-display-object.patch @@ -0,0 +1,26 @@ +From 61b2753958118b910dfbc9270cccfee80d165b0a Mon Sep 17 00:00:00 2001 +From: "Eduardo Lima (Etrunko)" +Date: Thu, 3 Oct 2019 17:18:58 -0300 +Subject: [PATCH] proxy: Do not leak display object + +Signed-off-by: Eduardo Lima (Etrunko) +--- + govirt/ovirt-proxy.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/govirt/ovirt-proxy.c b/govirt/ovirt-proxy.c +index 74604dd..92c5ed0 100644 +--- a/govirt/ovirt-proxy.c ++++ b/govirt/ovirt-proxy.c +@@ -636,7 +636,7 @@ static void ovirt_proxy_update_vm_display_ca(OvirtProxy *proxy) + g_object_get(G_OBJECT(display), "ca-cert", &ca_cert, NULL); + if (ca_cert != NULL) { + g_byte_array_unref(ca_cert); +- ca_cert = NULL; ++ g_object_unref(display); + continue; + } + +-- +2.21.0 + diff --git a/SPECS/libgovirt.spec b/SPECS/libgovirt.spec index 33da5a4..1a20865 100644 --- a/SPECS/libgovirt.spec +++ b/SPECS/libgovirt.spec @@ -17,7 +17,7 @@ Summary: A GObject library for interacting with oVirt REST API Name: libgovirt Version: 0.3.4 -Release: 3%{?dist}%{?extra_release} +Release: 4%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries Source: http://ftp.gnome.org/pub/GNOME/sources/libgovirt/0.3/%{name}-%{version}.tar.xz @@ -68,6 +68,9 @@ Patch43: 0043-cdrom-Set-file-property-using-OvirtXmlElement-struct.patch Patch44: 0044-proxy-Don-t-try-to-unref-NULL-root-node.patch Patch45: 0045-utils-Check-for-valid-data-before-calling-rest_xml_p.patch Patch46: 0046-Update-tests-certificates.patch +Patch47: 0047-vm-display-Add-support-for-parsing-certificate-data.patch +Patch48: 0048-proxy-Do-not-overwrite-certificate-data-from-display.patch +Patch49: 0049-proxy-Do-not-leak-display-object.patch %if 0%{?enable_autotools} BuildRequires: autoconf @@ -153,6 +156,10 @@ make check %endif %changelog +* Thu Oct 03 2019 Eduardo Lima (Etrunko) - 0.3.4-4 +- Use certificate data from XML + Resolves: rhbz#https://bugzilla.redhat.com/show_bug.cgi?id=1402909 + * Tue Apr 09 2019 Eduardo Lima (Etrunko) - 0.3.4-2 - Parse XML nodes automatically Related: rhbz#1427467