提交 990e46c4 编写于 作者: M Marcelo Cerri 提交者: Daniel Veillard

conf: Avoid formatting auto-generated DAC labels

To avoid backward compatibility issues, this patch suppresses
auto-generated DAC labels from XML. This change affects commands such as
dumpxml and save.
Signed-off-by: NMarcelo Cerri <mhcerri@linux.vnet.ibm.com>
上级 86e205a2
...@@ -11244,10 +11244,16 @@ virSecurityLabelDefFormat(virBufferPtr buf, virSecurityLabelDefPtr def) ...@@ -11244,10 +11244,16 @@ virSecurityLabelDefFormat(virBufferPtr buf, virSecurityLabelDefPtr def)
if (def->type == VIR_DOMAIN_SECLABEL_DEFAULT) if (def->type == VIR_DOMAIN_SECLABEL_DEFAULT)
return; return;
/* To avoid backward compatibility issues, suppress DAC labels that are
* automatically generated.
*/
if (STREQ_NULLABLE(def->model, "dac") && def->implicit)
return;
virBufferAsprintf(buf, "<seclabel type='%s'", virBufferAsprintf(buf, "<seclabel type='%s'",
sectype); sectype);
if (def->model) if (def->model && STRNEQ(def->model, "none"))
virBufferEscapeString(buf, " model='%s'", def->model); virBufferEscapeString(buf, " model='%s'", def->model);
if (def->type == VIR_DOMAIN_SECLABEL_NONE) { if (def->type == VIR_DOMAIN_SECLABEL_NONE) {
...@@ -14995,6 +15001,7 @@ virSecurityLabelDefPtr ...@@ -14995,6 +15001,7 @@ virSecurityLabelDefPtr
virDomainDefGetSecurityLabelDef(virDomainDefPtr def, const char *model) virDomainDefGetSecurityLabelDef(virDomainDefPtr def, const char *model)
{ {
int i; int i;
virSecurityLabelDefPtr seclabel = NULL;
if (def == NULL || model == NULL) if (def == NULL || model == NULL)
return NULL; return NULL;
...@@ -15006,7 +15013,11 @@ virDomainDefGetSecurityLabelDef(virDomainDefPtr def, const char *model) ...@@ -15006,7 +15013,11 @@ virDomainDefGetSecurityLabelDef(virDomainDefPtr def, const char *model)
return def->seclabels[i]; return def->seclabels[i];
} }
return virDomainDefAddSecurityLabelDef(def, model); seclabel = virDomainDefAddSecurityLabelDef(def, model);
if (seclabel)
seclabel->implicit = true;
return seclabel;
} }
virSecurityDeviceLabelDefPtr virSecurityDeviceLabelDefPtr
......
...@@ -295,6 +295,7 @@ struct _virSecurityLabelDef { ...@@ -295,6 +295,7 @@ struct _virSecurityLabelDef {
char *baselabel; /* base name of label string */ char *baselabel; /* base name of label string */
int type; /* virDomainSeclabelType */ int type; /* virDomainSeclabelType */
bool norelabel; bool norelabel;
bool implicit; /* true if seclabel is auto-added */
}; };
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册