#libvirt_la_BUILT_LIBADD += libvirt_driver_secret.la
endif
libvirt_driver_secret_la_CFLAGS = \
- -I$(top_srcdir)/src/conf $(AM_CFLAGS)
+ -I$(top_srcdir)/src/access \
+ -I$(top_srcdir)/src/conf \
+ $(AM_CFLAGS)
if WITH_DRIVER_MODULES
libvirt_driver_secret_la_LIBADD = ../gnulib/lib/libgnu.la
libvirt_driver_secret_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
#include "virfile.h"
#include "configmake.h"
#include "virstring.h"
+#include "viraccessapicheck.h"
#define VIR_FROM_THIS VIR_FROM_SECRET
int i;
virSecretEntryPtr secret;
+ if (virConnectNumOfSecretsEnsureACL(conn) < 0)
+ return -1;
+
secretDriverLock(driver);
i = 0;
memset(uuids, 0, maxuuids * sizeof(*uuids));
+ if (virConnectListSecretsEnsureACL(conn) < 0)
+ return -1;
+
secretDriverLock(driver);
i = 0;
virCheckFlags(VIR_CONNECT_LIST_SECRETS_FILTERS_ALL, -1);
+ if (virConnectListAllSecretsEnsureACL(conn) < 0)
+ return -1;
+
secretDriverLock(driver);
for (entry = driver->secrets; entry != NULL; entry = entry->next)
goto cleanup;
}
+ if (virSecretLookupByUUIDEnsureACL(conn, secret->def) < 0)
+ goto cleanup;
+
ret = virGetSecret(conn,
secret->def->uuid,
secret->def->usage_type,
goto cleanup;
}
+ if (virSecretLookupByUsageEnsureACL(conn, secret->def) < 0)
+ goto cleanup;
+
ret = virGetSecret(conn,
secret->def->uuid,
secret->def->usage_type,
secretDriverLock(driver);
+ if (virSecretDefineXMLEnsureACL(conn, new_attrs) < 0)
+ goto cleanup;
+
secret = secretFindByUUID(driver, new_attrs->uuid);
if (secret == NULL) {
/* No existing secret with same UUID, try look for matching usage instead */
goto cleanup;
}
+ if (virSecretGetXMLDescEnsureACL(obj->conn, secret->def) < 0)
+ goto cleanup;
+
ret = virSecretDefFormat(secret->def);
cleanup:
goto cleanup;
}
+ if (virSecretSetValueEnsureACL(obj->conn, secret->def) < 0)
+ goto cleanup;
+
old_value = secret->value;
old_value_size = secret->value_size;
goto cleanup;
}
+ if (virSecretGetValueEnsureACL(obj->conn, secret->def) < 0)
+ goto cleanup;
+
if (secret->value == NULL) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
virUUIDFormat(obj->uuid, uuidstr);
goto cleanup;
}
+ if (virSecretUndefineEnsureACL(obj->conn, secret->def) < 0)
+ goto cleanup;
+
if (!secret->def->ephemeral &&
secretDeleteSaved(driver, secret) < 0)
goto cleanup;