提交 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)
if (def->type == VIR_DOMAIN_SECLABEL_DEFAULT)
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'",
sectype);
if (def->model)
if (def->model && STRNEQ(def->model, "none"))
virBufferEscapeString(buf, " model='%s'", def->model);
if (def->type == VIR_DOMAIN_SECLABEL_NONE) {
......@@ -14995,6 +15001,7 @@ virSecurityLabelDefPtr
virDomainDefGetSecurityLabelDef(virDomainDefPtr def, const char *model)
{
int i;
virSecurityLabelDefPtr seclabel = NULL;
if (def == NULL || model == NULL)
return NULL;
......@@ -15006,7 +15013,11 @@ virDomainDefGetSecurityLabelDef(virDomainDefPtr def, const char *model)
return def->seclabels[i];
}
return virDomainDefAddSecurityLabelDef(def, model);
seclabel = virDomainDefAddSecurityLabelDef(def, model);
if (seclabel)
seclabel->implicit = true;
return seclabel;
}
virSecurityDeviceLabelDefPtr
......
......@@ -295,6 +295,7 @@ struct _virSecurityLabelDef {
char *baselabel; /* base name of label string */
int type; /* virDomainSeclabelType */
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.
先完成此消息的编辑!
想要评论请 注册