libvirt/tools
Eric Blake 95f8e3237e snapshot: Add VIR_DOMAIN_SNAPSHOT_CREATE_VALIDATE flag
We've been doing a terrible job of performing XML validation in our
various API that parse XML with a corresponding schema (we started
with domains back in commit dd69a14f, v1.2.12, but didn't catch all
domain-related APIs, didn't document the use of the flag, and didn't
cover other XML). New APIs (like checkpoints) should do the validation
unconditionally, but it doesn't hurt to continue retrofitting existing
APIs to at least allow the option.

While there are many APIs that could be improved, this patch focuses
on wiring up a new snapshot XML creation flag through all the
hypervisors that support snapshots, as well as exposing it in 'virsh
snapshot-create'.  For 'virsh snapshot-create-as', we blindly set the
flag without a command-line option, since the XML we create from the
command line should generally always comply (note that validation
might cause failures where it used to succeed, such as if we tighten
the RNG to reject a name of '../\n'); but blindly passing the flag
means we also have to add in fallback code to disable validation if
the server is too old to understand the flag.

Signed-off-by: Eric Blake <eblake@redhat.com>
Acked-by: Peter Krempa <pkrempa@redhat.com>
2019-07-10 17:34:58 -05:00
..
bash-completion tools: Provide bash autompletion file 2018-01-11 18:53:04 +01:00
nss tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
wireshark tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
libvirt_recover_xattrs.sh tools: Slightly rework libvirt_recover_xattrs.sh 2019-07-03 08:36:03 +02:00
libvirt_win_icon_16x16.ico Move virsh into tools/ directory 2009-09-21 14:41:45 +01:00
libvirt_win_icon_32x32.ico Move virsh into tools/ directory 2009-09-21 14:41:45 +01:00
libvirt_win_icon_48x48.ico Move virsh into tools/ directory 2009-09-21 14:41:45 +01:00
libvirt_win_icon_64x64.ico Move virsh into tools/ directory 2009-09-21 14:41:45 +01:00
libvirt-guests.service.in Use https:// links for most sites 2017-10-16 10:22:34 +01:00
libvirt-guests.sh.in tools: do not report unknown guests in print_guests_shutdown 2018-04-24 10:46:41 +02:00
libvirt-guests.sysconf lxc: allow use of lxc:///system URI as preferred format 2018-04-12 16:52:01 +01:00
Makefile.am Drop support for "Red Hat" init scripts 2019-03-15 18:36:19 +01:00
virsh_win_icon.rc Move virsh into tools/ directory 2009-09-21 14:41:45 +01:00
virsh-completer.c virsh: add support for network port APIs 2019-06-17 15:30:36 +01:00
virsh-completer.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virsh-console.c tools: console: pass stream/fd errors to user 2019-04-04 10:36:04 +03:00
virsh-console.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virsh-domain-monitor.c qemu: Add entry for balloon stats stat-htlb-pgalloc and stat-htlb-pgfail 2019-05-20 11:18:25 +02:00
virsh-domain-monitor.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virsh-domain.c virsh: undefine: Rename --delete-snapshots to --delete-storage-volume-snapshots 2019-06-06 10:26:37 +02:00
virsh-domain.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virsh-edit.c Remove even more Author(s): lines from source files 2019-01-03 13:24:18 +01:00
virsh-host.c Always put _LAST enums on second line of VIR_ENUM_IMPL 2019-04-11 12:47:23 -04:00
virsh-host.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virsh-interface.c Remove even more Author(s): lines from source files 2019-01-03 13:24:18 +01:00
virsh-interface.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virsh-network.c virsh: add support for network port APIs 2019-06-17 15:30:36 +01:00
virsh-network.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virsh-nodedev.c util: Move enum convertors into virenum.(c|h) 2019-04-10 09:12:04 +02:00
virsh-nodedev.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virsh-nwfilter.c Remove even more Author(s): lines from source files 2019-01-03 13:24:18 +01:00
virsh-nwfilter.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virsh-pool.c util: Move enum convertors into virenum.(c|h) 2019-04-10 09:12:04 +02:00
virsh-pool.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virsh-secret.c util: Move enum convertors into virenum.(c|h) 2019-04-10 09:12:04 +02:00
virsh-secret.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virsh-snapshot.c snapshot: Add VIR_DOMAIN_SNAPSHOT_CREATE_VALIDATE flag 2019-07-10 17:34:58 -05:00
virsh-snapshot.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virsh-util.c all: Replace virGetLastError with virGetLastErrorCode where we can 2018-06-05 18:44:05 +02:00
virsh-util.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virsh-volume.c Always put _LAST enums on second line of VIR_ENUM_IMPL 2019-04-11 12:47:23 -04:00
virsh-volume.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virsh.c Remove even more Author(s): lines from source files 2019-01-03 13:24:18 +01:00
virsh.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virsh.pod snapshot: Add VIR_DOMAIN_SNAPSHOT_CREATE_VALIDATE flag 2019-07-10 17:34:58 -05:00
virt-admin-completer.c Remove even more Author(s): lines from source files 2019-01-03 13:24:18 +01:00
virt-admin-completer.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virt-admin.c util: Move enum convertors into virenum.(c|h) 2019-04-10 09:12:04 +02:00
virt-admin.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virt-admin.pod tools: Fix grammar 2019-04-15 17:37:52 +02:00
virt-host-validate-bhyve.c internal: Move <stdio.h> include to internal.h 2018-09-20 10:16:38 +02:00
virt-host-validate-bhyve.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virt-host-validate-common.c Always put _LAST enums on second line of VIR_ENUM_IMPL 2019-04-11 12:47:23 -04:00
virt-host-validate-common.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virt-host-validate-lxc.c virt-host-validate: require freezer for LXC 2018-10-05 15:53:29 +02:00
virt-host-validate-lxc.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virt-host-validate-qemu.c virt-host-validate: rewrite cgroup detection to use util/vircgroup 2018-10-05 15:53:29 +02:00
virt-host-validate-qemu.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virt-host-validate.c src: More cleanup of some system headers already contained in internal.h 2018-09-20 10:16:39 +02:00
virt-host-validate.pod Use https:// links for most sites 2017-10-16 10:22:34 +01:00
virt-login-shell.c Remove even more Author(s): lines from source files 2019-01-03 13:24:18 +01:00
virt-login-shell.conf virt-login-shell: add ability to auto-detect shell from container 2016-06-10 11:03:02 +01:00
virt-login-shell.pod Use https:// links for most sites 2017-10-16 10:22:34 +01:00
virt-pki-validate.in tools: Fix permissions for virt-pki-validate.in 2019-07-01 17:20:32 +02:00
virt-pki-validate.pod Use https:// links for most sites 2017-10-16 10:22:34 +01:00
virt-sanlock-cleanup.in build: Extract pod from source files 2016-04-25 15:40:43 +02:00
virt-sanlock-cleanup.pod Use https:// links for most sites 2017-10-16 10:22:34 +01:00
virt-xml-validate.in virt-xml-validate: Allow input to be read from stdin 2019-06-10 15:39:16 +02:00
virt-xml-validate.pod virt-xml-validate: Add schema for nwfilterbinding 2018-07-19 16:16:57 -04:00
vsh-table.c vsh-table: allow empty columns 2019-02-12 10:14:53 +01:00
vsh-table.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
vsh.c tools: vsh: Drop obsolete readline compatibility code 2019-04-12 16:22:12 +02:00
vsh.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00