#include "stream.h"
#include "uuid.h"
#include "network.h"
-#include "virtaudit.h"
#include "libvirt/libvirt-qemu.h"
#define VIR_FROM_THIS VIR_FROM_REMOTE
void *ret ATTRIBUTE_UNUSED)
{
virDomainPtr dom;
- char uuidstr[VIR_UUID_STRING_BUFLEN];
- int r;
dom = get_nonnull_domain (conn, args->dom);
if (dom == NULL) {
return -1;
}
- r = virDomainCreate(dom);
-
- virUUIDFormat(dom->uuid, uuidstr);
- VIR_AUDIT(VIR_AUDIT_RECORD_MACHINE_CONTROL, r != -1,
- "op=start name=%s uuid=%s", dom->name, uuidstr);
-
- if (r == -1) {
+ if (virDomainCreate (dom) == -1) {
virDomainFree(dom);
remoteDispatchConnError(rerr, conn);
return -1;
}
-
virDomainFree(dom);
return 0;
}
remote_domain_create_with_flags_ret *ret)
{
virDomainPtr dom;
- char uuidstr[VIR_UUID_STRING_BUFLEN];
- int r;
dom = get_nonnull_domain (conn, args->dom);
if (dom == NULL) {
return -1;
}
- r = virDomainCreateWithFlags(dom, args->flags);
-
- virUUIDFormat(dom->uuid, uuidstr);
- VIR_AUDIT(VIR_AUDIT_RECORD_MACHINE_CONTROL, r != -1,
- "op=%s name=%s uuid=%s",
- (args->flags & VIR_DOMAIN_START_PAUSED) !=
- 0 ? "start-paused" : "start", dom->name, uuidstr);
-
- if (r == -1) {
+ if (virDomainCreateWithFlags (dom, args->flags) == -1) {
virDomainFree(dom);
remoteDispatchConnError(rerr, conn);
return -1;
remote_domain_create_xml_ret *ret)
{
virDomainPtr dom;
- char uuidstr[VIR_UUID_STRING_BUFLEN];
dom = virDomainCreateXML (conn, args->xml_desc, args->flags);
if (dom == NULL) {
- VIR_AUDIT(VIR_AUDIT_RECORD_MACHINE_CONTROL, 0,
- "op=start name=? uuid=?");
remoteDispatchConnError(rerr, conn);
return -1;
}
- virUUIDFormat(dom->uuid, uuidstr);
- VIR_AUDIT(VIR_AUDIT_RECORD_MACHINE_CONTROL, 1, "op=start name=%s uuid=%s",
- dom->name, uuidstr);
-
make_nonnull_domain (&ret->dom, dom);
virDomainFree(dom);
void *ret ATTRIBUTE_UNUSED)
{
virDomainPtr dom;
- char uuidstr[VIR_UUID_STRING_BUFLEN];
- int r;
dom = get_nonnull_domain (conn, args->dom);
if (dom == NULL) {
return -1;
}
- r = virDomainDestroy(dom);
-
- virUUIDFormat(dom->uuid, uuidstr);
- VIR_AUDIT(VIR_AUDIT_RECORD_MACHINE_CONTROL, r != -1,
- "op=stop name=%s uuid=%s", dom->name, uuidstr);
-
- if (r == -1) {
+ if (virDomainDestroy (dom) == -1) {
virDomainFree(dom);
remoteDispatchConnError(rerr, conn);
return -1;
r = virDomainMigratePrepare (conn, &cookie, &cookielen,
uri_in, uri_out,
args->flags, dname, args->resource);
- /* This creates a VM, but we don't audit it until the migration succeeds
- and the VM actually starts. */
if (r == -1) {
VIR_FREE(uri_out);
remoteDispatchConnError(rerr, conn);
{
int r;
virDomainPtr dom;
- char *dname, uuidstr[VIR_UUID_STRING_BUFLEN];
+ char *dname;
dom = get_nonnull_domain (conn, args->dom);
if (dom == NULL) {
args->cookie.cookie_len,
args->uri,
args->flags, dname, args->resource);
-
- virUUIDFormat(dom->uuid, uuidstr);
- VIR_AUDIT(VIR_AUDIT_RECORD_MACHINE_CONTROL, r != -1,
- "op=migrate-out name=%s uuid=%s", dom->name, uuidstr);
-
virDomainFree (dom);
if (r == -1) {
remoteDispatchConnError(rerr, conn);
remote_domain_migrate_finish_ret *ret)
{
virDomainPtr ddom;
- char uuidstr[VIR_UUID_STRING_BUFLEN];
CHECK_CONN (client);
- /* Note that we are not able to audit "op=migrate-in" here if
- VIR_DRV_FEATURE_MIGRATION_DIRECT is used. */
ddom = virDomainMigrateFinish (conn, args->dname,
args->cookie.cookie_val,
args->cookie.cookie_len,
args->uri,
args->flags);
if (ddom == NULL) {
- VIR_AUDIT(VIR_AUDIT_RECORD_MACHINE_CONTROL, 0,
- "op=migrate-in name=%s uuid=?", args->dname);
remoteDispatchConnError(rerr, conn);
return -1;
}
- virUUIDFormat(ddom->uuid, uuidstr);
- VIR_AUDIT(VIR_AUDIT_RECORD_MACHINE_CONTROL, 1,
- "op=migrate-in name=%s uuid=%s", ddom->name, uuidstr);
-
make_nonnull_domain (&ret->ddom, ddom);
virDomainFree (ddom);
return 0;
uri_in, uri_out,
args->flags, dname, args->resource,
args->dom_xml);
- /* This creates a VM, but we don't audit it until the migration succeeds
- and the VM actually starts. */
if (r == -1) {
remoteDispatchConnError(rerr, conn);
return -1;
remote_domain_migrate_finish2_ret *ret)
{
virDomainPtr ddom;
- char uuidstr[VIR_UUID_STRING_BUFLEN];
CHECK_CONN (client);
- /* Note that we are not able to audit "op=migrate-in" here if
- VIR_DRV_FEATURE_MIGRATION_DIRECT is used. */
ddom = virDomainMigrateFinish2 (conn, args->dname,
args->cookie.cookie_val,
args->cookie.cookie_len,
args->flags,
args->retcode);
if (ddom == NULL) {
- VIR_AUDIT(VIR_AUDIT_RECORD_MACHINE_CONTROL, 0,
- "op=migrate-in name=%s uuid=?", args->dname);
remoteDispatchConnError(rerr, conn);
return -1;
}
- virUUIDFormat(ddom->uuid, uuidstr);
- VIR_AUDIT(VIR_AUDIT_RECORD_MACHINE_CONTROL, 1,
- "op=migrate-in name=%s uuid=%s", ddom->name, uuidstr);
-
make_nonnull_domain (&ret->ddom, ddom);
virDomainFree (ddom);
r = virDomainMigratePrepareTunnel(conn, stream->st,
args->flags, dname, args->resource,
args->dom_xml);
- /* This creates a VM, but we don't audit it until the migration succeeds
- and the VM actually starts. */
if (r == -1) {
remoteFreeClientStream(client, stream);
remoteDispatchConnError(rerr, conn);
remote_domain_restore_args *args,
void *ret ATTRIBUTE_UNUSED)
{
- int r;
-
- r = virDomainRestore(conn, args->from);
- /* We don't have enough information! */
- VIR_AUDIT(VIR_AUDIT_RECORD_MACHINE_CONTROL, r != -1,
- "op=start name=? uuid=? file=%s", args->from);
-
- if (r == -1) {
+ if (virDomainRestore (conn, args->from) == -1) {
remoteDispatchConnError(rerr, conn);
return -1;
}
void *ret ATTRIBUTE_UNUSED)
{
virDomainPtr dom;
- char uuidstr[VIR_UUID_STRING_BUFLEN];
- int r;
dom = get_nonnull_domain (conn, args->dom);
if (dom == NULL) {
return -1;
}
- r = virDomainResume(dom);
-
- virUUIDFormat(dom->uuid, uuidstr);
- VIR_AUDIT(VIR_AUDIT_RECORD_MACHINE_CONTROL, 1,
- "op=resume name=%s uuid=%s", dom->name, uuidstr);
-
- if (r == -1) {
+ if (virDomainResume (dom) == -1) {
virDomainFree(dom);
remoteDispatchConnError(rerr, conn);
return -1;
void *ret ATTRIBUTE_UNUSED)
{
virDomainPtr dom;
- char uuidstr[VIR_UUID_STRING_BUFLEN];
- int r;
dom = get_nonnull_domain (conn, args->dom);
if (dom == NULL) {
return -1;
}
- r = virDomainSave(dom, args->to);
-
- virUUIDFormat(dom->uuid, uuidstr);
- VIR_AUDIT(VIR_AUDIT_RECORD_MACHINE_CONTROL, r != -1,
- "op=stop name=%s uuid=%s", dom->name, uuidstr);
-
- if (r == -1) {
+ if (virDomainSave (dom, args->to) == -1) {
virDomainFree(dom);
remoteDispatchConnError(rerr, conn);
return -1;
void *ret ATTRIBUTE_UNUSED)
{
virDomainPtr dom;
- int r;
dom = get_nonnull_domain (conn, args->dom);
if (dom == NULL) {
return -1;
}
- r = virDomainCoreDump(dom, args->to, args->flags);
-
- if ((args->flags & VIR_DUMP_CRASH) != 0) {
- char uuidstr[VIR_UUID_STRING_BUFLEN];
-
- virUUIDFormat(dom->uuid, uuidstr);
- VIR_AUDIT(VIR_AUDIT_RECORD_MACHINE_CONTROL, r != -1,
- "op=stop name=%s uuid=%s", dom->name, uuidstr);
- }
-
- if (r == -1) {
+ if (virDomainCoreDump (dom, args->to, args->flags) == -1) {
virDomainFree(dom);
remoteDispatchConnError(rerr, conn);
return -1;
void *ret ATTRIBUTE_UNUSED)
{
virDomainPtr dom;
- char uuidstr[VIR_UUID_STRING_BUFLEN];
- int r;
dom = get_nonnull_domain (conn, args->dom);
if (dom == NULL) {
return -1;
}
- r = virDomainSuspend(dom);
-
- virUUIDFormat(dom->uuid, uuidstr);
- VIR_AUDIT(VIR_AUDIT_RECORD_MACHINE_CONTROL, 1,
- "op=suspend name=%s uuid=%s", dom->name, uuidstr);
-
- if (r == -1) {
+ if (virDomainSuspend (dom) == -1) {
virDomainFree(dom);
remoteDispatchConnError(rerr, conn);
return -1;
void *ret ATTRIBUTE_UNUSED)
{
virDomainPtr dom;
- char uuidstr[VIR_UUID_STRING_BUFLEN];
- int r;
dom = get_nonnull_domain (conn, args->dom);
if (dom == NULL) {
return -1;
}
- r = virDomainManagedSave(dom, args->flags);
-
- virUUIDFormat(dom->uuid, uuidstr);
- VIR_AUDIT(VIR_AUDIT_RECORD_MACHINE_CONTROL, r != -1,
- "op=stop name=%s uuid=%s", dom->name, uuidstr);
-
- if (r == -1) {
+ if (virDomainManagedSave (dom, args->flags) == -1) {
virDomainFree(dom);
remoteDispatchConnError(rerr, conn);
return -1;