Go to file
Josh Durgin f27f616ff8 qemu: unescape HMP commands before converting them to json
QMP commands don't need to be escaped since converting them to json
also escapes special characters. When a QMP command fails, however,
libvirt falls back to HMP commands. These fallback functions
(qemuMonitorText*) do their own escaping, and pass the result directly
to qemuMonitorHMPCommandWithFd. If the monitor is in json mode, these
pre-escaped commands will be escaped again when converted to json,
which can result in the wrong arguments being sent.

For example, a filename test\file would be sent in json as
test\\file.

This prevented attaching an image file with a " or \ in its name in
qemu 1.0.50, and also broke rbd attachment (which uses backslashes to
escape some internal arguments.)

Reported-by: Masuko Tomoya <tomoya.masuko@gmail.com>
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
2012-02-27 16:06:02 -07:00
.gnulib@e9e8aba12a Update gnulib to fix mingw64 compilation errors 2012-02-01 17:37:45 -07:00
daemon Workaround python header file insanity 2012-02-24 16:43:27 +00:00
docs Update bug reporting page 2012-02-23 16:02:33 -07:00
examples maint: consolidate several .gitignore files 2012-02-03 15:27:16 -07:00
gnulib build: update to latest gnulib 2012-01-12 15:47:54 -07:00
include Add flags for virDomainOpenConsole 2012-02-27 15:05:16 +01:00
m4 build: silence some compiler warnings from gnulib 2012-01-19 13:14:10 -07:00
po util: Add helpers for safe domain console operations 2012-02-27 15:05:17 +01:00
python python: Expose virDomain{G,S}etInterfaceParameters APIs in python binding 2012-02-16 10:15:16 +08:00
src qemu: unescape HMP commands before converting them to json 2012-02-27 16:06:02 -07:00
tests qemu: unescape HMP commands before converting them to json 2012-02-27 16:06:02 -07:00
tools virsh: add support for VIR_DOMAIN_CONSOLE_* flags 2012-02-27 15:05:17 +01:00
.dir-locals.el maint: let emacs avoid tabs in rng files 2011-08-13 08:56:26 -06:00
.gitignore qemu: unescape HMP commands before converting them to json 2012-02-27 16:06:02 -07:00
.gitmodules make .gnulib a submodule 2009-07-08 16:17:51 +02:00
.mailmap maint: prune duplicate listings in AUTHORS 2012-02-03 09:56:45 -07:00
AUTHORS virterror: Misleading error message when name is missing 2012-02-23 16:31:45 -07:00
COPYING.LIB remove all trailing blank lines 2009-07-16 15:06:42 +02:00
ChangeLog-old virterror.c: Fix several spelling mistakes 2012-02-03 11:32:51 -07:00
HACKING Document STREQ_NULLABLE and STRNEQ_NULLABLE 2011-10-06 16:50:38 +02:00
Makefile.am maint: add missing copyright notices 2011-07-28 15:01:17 -06:00
Makefile.nonreentrant Ban use of all inet_* functions 2010-10-22 11:59:23 +01:00
README Correct typos in the documentation (Atsushi SAKAI) 2008-01-24 10:15:13 +00:00
README-hacking maint: relax git minimum version 2010-02-24 14:29:27 -05:00
TODO Update todo list file to point at bugzilla/website 2010-10-13 16:45:26 +01:00
autobuild.sh Disable python explicitly in mingw32 autobuild 2011-12-19 13:44:18 +00:00
autogen.sh build: allow for local gnulib diffs 2011-11-09 09:03:33 -07:00
bootstrap Update gnulib to fix mingw64 compilation errors 2012-02-01 17:37:45 -07:00
bootstrap.conf Replace hashing algorithm with murmurhash 2012-01-26 14:18:53 +00:00
cfg.mk Fixed URI parsing 2012-02-24 16:49:21 -07:00
configure.ac util: Add helpers for safe domain console operations 2012-02-27 15:05:17 +01:00
libvirt.pc.in Fix typos in API XML file paths 2012-02-15 11:29:38 +00:00
libvirt.spec.in Fixed service handling in specfile 2012-02-24 16:31:04 -07:00
mingw32-libvirt.spec.in Fix typos in API XML file paths 2012-02-15 11:29:38 +00:00

README

         LibVirt : simple API for virtualization

  Libvirt is a C toolkit to interact with the virtualization capabilities
of recent versions of Linux (and other OSes). It is free software
available under the GNU Lesser General Public License. Virtualization of
the Linux Operating System means the ability to run multiple instances of
Operating Systems concurrently on a single hardware system where the basic
resources are driven by a Linux instance. The library aim at providing
long term stable C API initially for the Xen paravirtualization but
should be able to integrate other virtualization mechanisms if needed.

Daniel Veillard <veillard@redhat.com>