return secret;
}
+
+static virSecretObjPtr
+secretObjFromSecret(virSecretPtr secret)
+{
+ virSecretObjPtr obj;
+ char uuidstr[VIR_UUID_STRING_BUFLEN];
+
+ if (!(obj = secretFindByUUID(secret->uuid))) {
+ virUUIDFormat(secret->uuid, uuidstr);
+ virReportError(VIR_ERR_NO_SECRET,
+ _("no secret with matching uuid '%s'"), uuidstr);
+ return NULL;
+ }
+ return obj;
+}
+
+
/* Permament secret storage */
/* Secrets are stored in virSecretDriverStatePtr->configDir. Each secret
secretDriverLock();
- if (!(secret = secretFindByUUID(obj->uuid))) {
- char uuidstr[VIR_UUID_STRING_BUFLEN];
- virUUIDFormat(obj->uuid, uuidstr);
- virReportError(VIR_ERR_NO_SECRET,
- _("no secret with matching uuid '%s'"), uuidstr);
+ if (!(secret = secretObjFromSecret(obj)))
goto cleanup;
- }
if (virSecretGetXMLDescEnsureACL(obj->conn, secret->def) < 0)
goto cleanup;
secretDriverLock();
- if (!(secret = secretFindByUUID(obj->uuid))) {
- char uuidstr[VIR_UUID_STRING_BUFLEN];
- virUUIDFormat(obj->uuid, uuidstr);
- virReportError(VIR_ERR_NO_SECRET,
- _("no secret with matching uuid '%s'"), uuidstr);
+ if (!(secret = secretObjFromSecret(obj)))
goto cleanup;
- }
if (virSecretSetValueEnsureACL(obj->conn, secret->def) < 0)
goto cleanup;
secretDriverLock();
- if (!(secret = secretFindByUUID(obj->uuid))) {
- char uuidstr[VIR_UUID_STRING_BUFLEN];
- virUUIDFormat(obj->uuid, uuidstr);
- virReportError(VIR_ERR_NO_SECRET,
- _("no secret with matching uuid '%s'"), uuidstr);
+ if (!(secret = secretObjFromSecret(obj)))
goto cleanup;
- }
if (virSecretGetValueEnsureACL(obj->conn, secret->def) < 0)
goto cleanup;
secretDriverLock();
- if (!(secret = secretFindByUUID(obj->uuid))) {
- char uuidstr[VIR_UUID_STRING_BUFLEN];
- virUUIDFormat(obj->uuid, uuidstr);
- virReportError(VIR_ERR_NO_SECRET,
- _("no secret with matching uuid '%s'"), uuidstr);
+ if (!(secret = secretObjFromSecret(obj)))
goto cleanup;
- }
if (virSecretUndefineEnsureACL(obj->conn, secret->def) < 0)
goto cleanup;