From 3651701c839c3b1a70d0b16c5f7f9bf295f01f1df8724db0ee54f6081d5951f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Bosdonnat?= Date: Wed, 25 Jun 2014 13:25:39 +0000 Subject: [PATCH] Accepting request 238634 from home:cbosdonnat:branches:Virtualization - secmodel-caps.patch patch accepted upstream, renamed into 0b4d331b-secmodel-caps.patch with upstream changes OBS-URL: https://build.opensuse.org/request/show/238634 OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt-glib?expand=0&rev=36 --- ...caps.patch => 0b4d331b-secmodel-caps.patch | 355 ++++++++++-------- libvirt-glib.changes | 6 + libvirt-glib.spec | 4 +- 3 files changed, 212 insertions(+), 153 deletions(-) rename secmodel-caps.patch => 0b4d331b-secmodel-caps.patch (55%) diff --git a/secmodel-caps.patch b/0b4d331b-secmodel-caps.patch similarity index 55% rename from secmodel-caps.patch rename to 0b4d331b-secmodel-caps.patch index e03d945..1d9ded6 100644 --- a/secmodel-caps.patch +++ b/0b4d331b-secmodel-caps.patch @@ -1,21 +1,21 @@ -From 5fef62b343e574010aee37ebc43ee79d72a17d52 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?C=C3=A9dric=20Bosdonnat?= -Date: Tue, 3 Jun 2014 16:25:14 +0200 +From 0b4d331b24f3b36d61e24e8cea62971d28855ff8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?C=C3=A9dric=20Bosdonnat?= +Date: Thu, 12 Jun 2014 10:50:50 +0200 Subject: [PATCH] Add API to get security models from host capabilities --- libvirt-gconfig/Makefile.am | 2 + - .../libvirt-gconfig-capabilities-host.c | 51 +++++++++++++++++ + .../libvirt-gconfig-capabilities-host-secmodel.c | 62 +++++++++++++++++++ + .../libvirt-gconfig-capabilities-host-secmodel.h | 69 ++++++++++++++++++++++ + .../libvirt-gconfig-capabilities-host.c | 60 +++++++++++++++++++ .../libvirt-gconfig-capabilities-host.h | 3 + - .../libvirt-gconfig-capabilities-secmodel.c | 55 ++++++++++++++++++ - .../libvirt-gconfig-capabilities-secmodel.h | 66 ++++++++++++++++++++++ libvirt-gconfig/libvirt-gconfig.h | 1 + - libvirt-gconfig/libvirt-gconfig.sym | 5 ++ - libvirt-gconfig/tests/test-capabilities-parse.c | 14 ++++- + libvirt-gconfig/libvirt-gconfig.sym | 6 ++ + libvirt-gconfig/tests/test-capabilities-parse.c | 15 ++++- libvirt-gconfig/tests/test-capabilities-parse.xml | 4 ++ - 9 files changed, 200 insertions(+), 1 deletion(-) - create mode 100644 libvirt-gconfig/libvirt-gconfig-capabilities-secmodel.c - create mode 100644 libvirt-gconfig/libvirt-gconfig-capabilities-secmodel.h + 9 files changed, 221 insertions(+), 1 deletion(-) + create mode 100644 libvirt-gconfig/libvirt-gconfig-capabilities-host-secmodel.c + create mode 100644 libvirt-gconfig/libvirt-gconfig-capabilities-host-secmodel.h Index: libvirt-glib-0.1.8/libvirt-gconfig/Makefile.am =================================================================== @@ -25,7 +25,7 @@ Index: libvirt-glib-0.1.8/libvirt-gconfig/Makefile.am libvirt-gconfig-capabilities-guest-arch.h \ libvirt-gconfig-capabilities-guest-domain.h \ libvirt-gconfig-capabilities-guest-feature.h \ -+ libvirt-gconfig-capabilities-secmodel.h \ ++ libvirt-gconfig-capabilities-host-secmodel.h \ libvirt-gconfig-domain.h \ libvirt-gconfig-domain-address.h \ libvirt-gconfig-domain-address-pci.h \ @@ -33,15 +33,156 @@ Index: libvirt-glib-0.1.8/libvirt-gconfig/Makefile.am libvirt-gconfig-capabilities-guest-arch.c \ libvirt-gconfig-capabilities-guest-domain.c \ libvirt-gconfig-capabilities-guest-feature.c \ -+ libvirt-gconfig-capabilities-secmodel.c \ ++ libvirt-gconfig-capabilities-host-secmodel.c \ libvirt-gconfig-domain.c \ libvirt-gconfig-domain-address.c \ libvirt-gconfig-domain-address-pci.c \ +Index: libvirt-glib-0.1.8/libvirt-gconfig/libvirt-gconfig-capabilities-host-secmodel.c +=================================================================== +--- /dev/null ++++ libvirt-glib-0.1.8/libvirt-gconfig/libvirt-gconfig-capabilities-host-secmodel.c +@@ -0,0 +1,62 @@ ++/* ++ * libvirt-gconfig-capabilities-host-secmodel.c: libvirt security model capabilities ++ * ++ * Copyright (C) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with this library. If not, see ++ * . ++ * ++ * Authors: Cédric Bosdonnat ++ */ ++ ++#include ++ ++#include "libvirt-gconfig/libvirt-gconfig.h" ++#include "libvirt-gconfig/libvirt-gconfig-private.h" ++ ++#define GVIR_CONFIG_CAPABILITIES_HOST_SECMODEL_GET_PRIVATE(obj) \ ++ (G_TYPE_INSTANCE_GET_PRIVATE((obj), GVIR_CONFIG_TYPE_CAPABILITIES_HOST_SECMODEL, GVirConfigCapabilitiesHostSecModelPrivate)) ++ ++struct _GVirConfigCapabilitiesHostSecModelPrivate ++{ ++ gboolean unused; ++}; ++ ++G_DEFINE_TYPE(GVirConfigCapabilitiesHostSecModel, gvir_config_capabilities_host_secmodel, GVIR_CONFIG_TYPE_OBJECT); ++ ++static void gvir_config_capabilities_host_secmodel_class_init(GVirConfigCapabilitiesHostSecModelClass *klass) ++{ ++ g_type_class_add_private(klass, sizeof(GVirConfigCapabilitiesHostSecModelPrivate)); ++} ++ ++static void gvir_config_capabilities_host_secmodel_init(GVirConfigCapabilitiesHostSecModel *secmodel) ++{ ++ g_debug("Init GVirConfigCapabilitiesHostSecModel=%p", secmodel); ++ ++ secmodel->priv = GVIR_CONFIG_CAPABILITIES_HOST_SECMODEL_GET_PRIVATE(secmodel); ++} ++ ++const gchar * ++gvir_config_capabilities_host_secmodel_get_model(GVirConfigCapabilitiesHostSecModel *secmodel) ++{ ++ return gvir_config_object_get_node_content(GVIR_CONFIG_OBJECT(secmodel), ++ "model"); ++} ++ ++const gchar * ++gvir_config_capabilities_host_secmodel_get_doi(GVirConfigCapabilitiesHostSecModel *secmodel) ++{ ++ return gvir_config_object_get_node_content(GVIR_CONFIG_OBJECT(secmodel), ++ "doi"); ++} +Index: libvirt-glib-0.1.8/libvirt-gconfig/libvirt-gconfig-capabilities-host-secmodel.h +=================================================================== +--- /dev/null ++++ libvirt-glib-0.1.8/libvirt-gconfig/libvirt-gconfig-capabilities-host-secmodel.h +@@ -0,0 +1,69 @@ ++/* ++ * libvirt-gconfig-capabilities-host-secmodel.h: libvirt security model capabilities ++ * ++ * Copyright (C) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with this library. If not, see ++ * . ++ * ++ * Authors: Cédric Bosdonnat ++ */ ++ ++#if !defined(__LIBVIRT_GCONFIG_H__) && !defined(LIBVIRT_GCONFIG_BUILD) ++#error "Only can be included directly." ++#endif ++ ++#ifndef __LIBVIRT_GCONFIG_CAPABILITIES_HOST_SECMODEL_H__ ++#define __LIBVIRT_GCONFIG_CAPABILITIES_HOST_SECMODEL_H__ ++ ++G_BEGIN_DECLS ++ ++#define GVIR_CONFIG_TYPE_CAPABILITIES_HOST_SECMODEL (gvir_config_capabilities_host_secmodel_get_type ()) ++#define GVIR_CONFIG_CAPABILITIES_HOST_SECMODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GVIR_CONFIG_TYPE_CAPABILITIES_HOST_SECMODEL, GVirConfigCapabilitiesHostSecModel)) ++#define GVIR_CONFIG_CAPABILITIES_HOST_SECMODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GVIR_CONFIG_TYPE_CAPABILITIES_HOST_SECMODEL, GVirConfigCapabilitiesHostSecModelClass)) ++#define GVIR_CONFIG_IS_CAPABILITIES_HOST_SECMODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GVIR_CONFIG_TYPE_CAPABILITIES_HOST_SECMODEL)) ++#define GVIR_CONFIG_IS_CAPABILITIES_HOST_SECMODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GVIR_CONFIG_TYPE_CAPABILITIES_HOST_SECMODEL)) ++#define GVIR_CONFIG_CAPABILITIES_HOST_SECMODEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GVIR_CONFIG_TYPE_CAPABILITIES_HOST_SECMODEL, GVirConfigCapabilitiesHostSecModelClass)) ++ ++typedef struct _GVirConfigCapabilitiesHostSecModel GVirConfigCapabilitiesHostSecModel; ++typedef struct _GVirConfigCapabilitiesHostSecModelPrivate GVirConfigCapabilitiesHostSecModelPrivate; ++typedef struct _GVirConfigCapabilitiesHostSecModelClass GVirConfigCapabilitiesHostSecModelClass; ++ ++struct _GVirConfigCapabilitiesHostSecModel ++{ ++ GVirConfigObject parent; ++ ++ GVirConfigCapabilitiesHostSecModelPrivate *priv; ++ ++ /* Do not add fields to this struct */ ++}; ++ ++struct _GVirConfigCapabilitiesHostSecModelClass ++{ ++ GVirConfigObjectClass parent_class; ++ ++ gpointer padding[20]; ++}; ++ ++GType gvir_config_capabilities_host_secmodel_get_type(void); ++ ++const gchar * ++gvir_config_capabilities_host_secmodel_get_model(GVirConfigCapabilitiesHostSecModel *secmodel); ++ ++const gchar * ++gvir_config_capabilities_host_secmodel_get_doi(GVirConfigCapabilitiesHostSecModel *secmodel); ++ ++G_END_DECLS ++ ++#endif /* __LIBVIRT_GCONFIG_CAPABILITIES_HOST_SECMODEL_H__ */ Index: libvirt-glib-0.1.8/libvirt-gconfig/libvirt-gconfig-capabilities-host.c =================================================================== --- libvirt-glib-0.1.8.orig/libvirt-gconfig/libvirt-gconfig-capabilities-host.c +++ libvirt-glib-0.1.8/libvirt-gconfig/libvirt-gconfig-capabilities-host.c -@@ -77,3 +77,54 @@ gvir_config_capabilities_host_get_cpu(GV +@@ -77,3 +77,63 @@ gvir_config_capabilities_host_get_cpu(GV return GVIR_CONFIG_CAPABILITIES_CPU(object); } @@ -74,6 +215,15 @@ Index: libvirt-glib-0.1.8/libvirt-gconfig/libvirt-gconfig-capabilities-host.c + return TRUE; +} + ++/** ++ * gvir_config_capabilities_host_get_secmodels: ++ * @host: a #GVirConfigCapabilitiesHost ++ * ++ * Get the security models listed in @host capabilities. ++ * ++ * Returns: (element-type LibvirtGConfig.CapabilitiesHostSecModel) (transfer full): ++ * a newly allocated #GList of #GVirConfigCapabilitiesHostSecModel. ++ */ +GList * +gvir_config_capabilities_host_get_secmodels(GVirConfigCapabilitiesHost *host) +{ @@ -85,7 +235,7 @@ Index: libvirt-glib-0.1.8/libvirt-gconfig/libvirt-gconfig-capabilities-host.c + g_object_get(G_OBJECT(host), "doc", &data.doc, NULL); + g_return_val_if_fail(data.doc != NULL, NULL); + data.secmodels = NULL; -+ data.type = GVIR_CONFIG_TYPE_CAPABILITIES_SECMODEL; ++ data.type = GVIR_CONFIG_TYPE_CAPABILITIES_HOST_SECMODEL; + + gvir_config_object_foreach_child(GVIR_CONFIG_OBJECT(host), + NULL, @@ -110,137 +260,6 @@ Index: libvirt-glib-0.1.8/libvirt-gconfig/libvirt-gconfig-capabilities-host.h G_END_DECLS #endif /* __LIBVIRT_GCONFIG_CAPABILITIES_HOST_H__ */ -Index: libvirt-glib-0.1.8/libvirt-gconfig/libvirt-gconfig-capabilities-secmodel.c -=================================================================== ---- /dev/null -+++ libvirt-glib-0.1.8/libvirt-gconfig/libvirt-gconfig-capabilities-secmodel.c -@@ -0,0 +1,55 @@ -+/* -+ * libvirt-gconfig-capabilities-secmodel.c: libvirt security model capabilities -+ * -+ * Copyright (C) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2.1 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this library. If not, see -+ * . -+ * -+ * Authors: Cédric Bosdonnat -+ */ -+ -+#include -+ -+#include "libvirt-gconfig/libvirt-gconfig.h" -+#include "libvirt-gconfig/libvirt-gconfig-private.h" -+ -+#define GVIR_CONFIG_CAPABILITIES_SECMODEL_GET_PRIVATE(obj) \ -+ (G_TYPE_INSTANCE_GET_PRIVATE((obj), GVIR_CONFIG_TYPE_CAPABILITIES_SECMODEL, GVirConfigCapabilitiesSecmodelPrivate)) -+ -+struct _GVirConfigCapabilitiesSecmodelPrivate -+{ -+ gboolean unused; -+}; -+ -+G_DEFINE_TYPE(GVirConfigCapabilitiesSecmodel, gvir_config_capabilities_secmodel, GVIR_CONFIG_TYPE_OBJECT); -+ -+static void gvir_config_capabilities_secmodel_class_init(GVirConfigCapabilitiesSecmodelClass *klass) -+{ -+ g_type_class_add_private(klass, sizeof(GVirConfigCapabilitiesSecmodelPrivate)); -+} -+ -+static void gvir_config_capabilities_secmodel_init(GVirConfigCapabilitiesSecmodel *secmodel) -+{ -+ g_debug("Init GVirConfigCapabilitiesSecmodel=%p", secmodel); -+ -+ secmodel->priv = GVIR_CONFIG_CAPABILITIES_SECMODEL_GET_PRIVATE(secmodel); -+} -+ -+const gchar * -+gvir_config_capabilities_secmodel_get_model(GVirConfigCapabilitiesSecmodel *secmodel) -+{ -+ return gvir_config_object_get_node_content(GVIR_CONFIG_OBJECT(secmodel), -+ "model"); -+} -Index: libvirt-glib-0.1.8/libvirt-gconfig/libvirt-gconfig-capabilities-secmodel.h -=================================================================== ---- /dev/null -+++ libvirt-glib-0.1.8/libvirt-gconfig/libvirt-gconfig-capabilities-secmodel.h -@@ -0,0 +1,66 @@ -+/* -+ * libvirt-gconfig-capabilities-secmodel.h: libvirt security model capabilities -+ * -+ * Copyright (C) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2.1 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this library. If not, see -+ * . -+ * -+ * Authors: Cédric Bosdonnat -+ */ -+ -+#if !defined(__LIBVIRT_GCONFIG_H__) && !defined(LIBVIRT_GCONFIG_BUILD) -+#error "Only can be included directly." -+#endif -+ -+#ifndef __LIBVIRT_GCONFIG_CAPABILITIES_SECMODEL_H__ -+#define __LIBVIRT_GCONFIG_CAPABILITIES_SECMODEL_H__ -+ -+G_BEGIN_DECLS -+ -+#define GVIR_CONFIG_TYPE_CAPABILITIES_SECMODEL (gvir_config_capabilities_secmodel_get_type ()) -+#define GVIR_CONFIG_CAPABILITIES_SECMODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GVIR_CONFIG_TYPE_CAPABILITIES_SECMODEL, GVirConfigCapabilitiesSecmodel)) -+#define GVIR_CONFIG_CAPABILITIES_SECMODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GVIR_CONFIG_TYPE_CAPABILITIES_SECMODEL, GVirConfigCapabilitiesSecmodelClass)) -+#define GVIR_CONFIG_IS_CAPABILITIES_SECMODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GVIR_CONFIG_TYPE_CAPABILITIES_SECMODEL)) -+#define GVIR_CONFIG_IS_CAPABILITIES_SECMODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GVIR_CONFIG_TYPE_CAPABILITIES_SECMODEL)) -+#define GVIR_CONFIG_CAPABILITIES_SECMODEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GVIR_CONFIG_TYPE_CAPABILITIES_SECMODEL, GVirConfigCapabilitiesSecmodelClass)) -+ -+typedef struct _GVirConfigCapabilitiesSecmodel GVirConfigCapabilitiesSecmodel; -+typedef struct _GVirConfigCapabilitiesSecmodelPrivate GVirConfigCapabilitiesSecmodelPrivate; -+typedef struct _GVirConfigCapabilitiesSecmodelClass GVirConfigCapabilitiesSecmodelClass; -+ -+struct _GVirConfigCapabilitiesSecmodel -+{ -+ GVirConfigObject parent; -+ -+ GVirConfigCapabilitiesSecmodelPrivate *priv; -+ -+ /* Do not add fields to this struct */ -+}; -+ -+struct _GVirConfigCapabilitiesSecmodelClass -+{ -+ GVirConfigObjectClass parent_class; -+ -+ gpointer padding[20]; -+}; -+ -+GType gvir_config_capabilities_secmodel_get_type(void); -+ -+const gchar * -+gvir_config_capabilities_secmodel_get_model(GVirConfigCapabilitiesSecmodel *secmodel); -+ -+G_END_DECLS -+ -+#endif /* __LIBVIRT_GCONFIG_CAPABILITIES_SECMODEL_H__ */ Index: libvirt-glib-0.1.8/libvirt-gconfig/libvirt-gconfig.h =================================================================== --- libvirt-glib-0.1.8.orig/libvirt-gconfig/libvirt-gconfig.h @@ -249,7 +268,7 @@ Index: libvirt-glib-0.1.8/libvirt-gconfig/libvirt-gconfig.h #include #include #include -+#include ++#include #include #include #include @@ -257,15 +276,49 @@ Index: libvirt-glib-0.1.8/libvirt-gconfig/libvirt-gconfig.sym =================================================================== --- libvirt-glib-0.1.8.orig/libvirt-gconfig/libvirt-gconfig.sym +++ libvirt-glib-0.1.8/libvirt-gconfig/libvirt-gconfig.sym -@@ -614,6 +614,11 @@ LIBVIRT_GCONFIG_0.1.7 { +@@ -614,6 +614,12 @@ LIBVIRT_GCONFIG_0.1.7 { LIBVIRT_GCONFIG_0.1.8 { global: -+ gvir_config_capabilities_host_get_secmodels; ++ gvir_config_capabilities_host_get_secmodels; + -+ gvir_config_capabilities_secmodel_get_model; -+ gvir_config_capabilities_secmodel_get_type; ++ gvir_config_capabilities_host_secmodel_get_doi; ++ gvir_config_capabilities_host_secmodel_get_model; ++ gvir_config_capabilities_host_secmodel_get_type; + gvir_config_domain_clock_get_offset; gvir_config_domain_clock_get_timezone; gvir_config_domain_clock_get_variable_offset; +Index: libvirt-glib-0.1.8/libvirt-gconfig/tests/test-capabilities-parse.c +=================================================================== +--- libvirt-glib-0.1.8.orig/libvirt-gconfig/tests/test-capabilities-parse.c ++++ libvirt-glib-0.1.8/libvirt-gconfig/tests/test-capabilities-parse.c +@@ -35,7 +35,7 @@ static void verify_host_caps(GVirConfigC + { + GVirConfigCapabilitiesCpu *cpu_caps; + GVirConfigCapabilitiesCpuTopology *topology; +- GList *features, *iter; ++ GList *features, *iter, *secmodels; + const char *str; + + g_assert(host_caps != NULL); +@@ -60,6 +60,19 @@ static void verify_host_caps(GVirConfigC + g_assert(gvir_config_capabilities_cpu_topology_get_threads(topology) == 2); + g_object_unref(G_OBJECT(topology)); + g_object_unref(G_OBJECT(cpu_caps)); ++ ++ secmodels = gvir_config_capabilities_host_get_secmodels(host_caps); ++ g_assert(g_list_length(secmodels) == 2); ++ for (iter = secmodels; iter != NULL; iter = iter->next) { ++ GVirConfigCapabilitiesHostSecModel *secmodel; ++ ++ g_assert(iter->data != NULL); ++ secmodel = GVIR_CONFIG_CAPABILITIES_HOST_SECMODEL(iter->data); ++ g_assert(gvir_config_capabilities_host_secmodel_get_model(secmodel) != NULL); ++ g_assert(gvir_config_capabilities_host_secmodel_get_doi(secmodel) != NULL); ++ g_object_unref(G_OBJECT(iter->data)); ++ } ++ g_list_free(secmodels); + } + + static void verify_guest_caps(GVirConfigCapabilitiesGuest *guest_caps) diff --git a/libvirt-glib.changes b/libvirt-glib.changes index d57b304..4f835bc 100644 --- a/libvirt-glib.changes +++ b/libvirt-glib.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Jun 25 13:11:14 UTC 2014 - cbosdonnat@suse.com + +- secmodel-caps.patch patch accepted upstream, renamed into + 0b4d331b-secmodel-caps.patch with upstream changes + ------------------------------------------------------------------- Wed Jun 4 10:04:39 UTC 2014 - cbosdonnat@suse.com diff --git a/libvirt-glib.spec b/libvirt-glib.spec index 1e35fdb..92ef93d 100644 --- a/libvirt-glib.spec +++ b/libvirt-glib.spec @@ -26,8 +26,8 @@ Group: System/Libraries Url: http://libvirt.org Source: http://libvirt.org/sources/glib/%{name}-%{version}.tar.gz -# Patches pending upstreaming -Patch0: secmodel-caps.patch +# Upstream patches +Patch0: 0b4d331b-secmodel-caps.patch BuildRequires: intltool >= 0.35.0 BuildRequires: libtool