提交 42510c51 编写于 作者: J John Ferlan

util: Introduce virSecretLookupFormatSecret

Add utility to format the virSecretLookupTypeDefPtr in XML
Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
上级 ecd45ced
......@@ -2221,6 +2221,7 @@ virSecurityLabelDefNew;
# util/virsecret.h
virSecretLookupDefClear;
virSecretLookupDefCopy;
virSecretLookupFormatSecret;
virSecretLookupParseSecret;
......
......@@ -99,3 +99,26 @@ virSecretLookupParseSecret(xmlNodePtr secretnode,
VIR_FREE(usage);
return ret;
}
void
virSecretLookupFormatSecret(virBufferPtr buf,
const char *secrettype,
virSecretLookupTypeDefPtr def)
{
char uuidstr[VIR_UUID_STRING_BUFLEN];
if (secrettype)
virBufferAsprintf(buf, "<secret type='%s'", secrettype);
else
virBufferAddLit(buf, "<secret");
if (def->type == VIR_SECRET_LOOKUP_TYPE_UUID) {
virUUIDFormat(def->u.uuid, uuidstr);
virBufferAsprintf(buf, " uuid='%s'/>\n", uuidstr);
} else if (def->type == VIR_SECRET_LOOKUP_TYPE_USAGE) {
virBufferEscapeString(buf, " usage='%s'/>\n", def->u.usage);
} else {
virBufferAddLit(buf, "/>\n");
}
}
......@@ -50,4 +50,7 @@ int virSecretLookupDefCopy(virSecretLookupTypeDefPtr dst,
const virSecretLookupTypeDef *src);
int virSecretLookupParseSecret(xmlNodePtr secretnode,
virSecretLookupTypeDefPtr def);
void virSecretLookupFormatSecret(virBufferPtr buf,
const char *secrettype,
virSecretLookupTypeDefPtr def);
#endif /* __VIR_SECRET_H__ */
......@@ -1623,8 +1623,6 @@ int
virStorageAuthDefFormat(virBufferPtr buf,
virStorageAuthDefPtr authdef)
{
char uuidstr[VIR_UUID_STRING_BUFLEN];
if (authdef->authType == VIR_STORAGE_AUTH_TYPE_NONE) {
virBufferEscapeString(buf, "<auth username='%s'>\n", authdef->username);
} else {
......@@ -1634,20 +1632,8 @@ virStorageAuthDefFormat(virBufferPtr buf,
}
virBufferAdjustIndent(buf, 2);
if (authdef->secrettype)
virBufferAsprintf(buf, "<secret type='%s'", authdef->secrettype);
else
virBufferAddLit(buf, "<secret");
if (authdef->seclookupdef.type == VIR_SECRET_LOOKUP_TYPE_UUID) {
virUUIDFormat(authdef->seclookupdef.u.uuid, uuidstr);
virBufferAsprintf(buf, " uuid='%s'/>\n", uuidstr);
} else if (authdef->seclookupdef.type == VIR_SECRET_LOOKUP_TYPE_USAGE) {
virBufferEscapeString(buf, " usage='%s'/>\n",
authdef->seclookupdef.u.usage);
} else {
virBufferAddLit(buf, "/>\n");
}
virSecretLookupFormatSecret(buf, authdef->secrettype,
&authdef->seclookupdef);
virBufferAdjustIndent(buf, -2);
virBufferAddLit(buf, "</auth>\n");
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册