aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add a ./run script for running programs from the local directory.Richard W.M. Jones2012-09-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this script you can run libvirt programs without needing to install them first. You just have to do for example: ./run ./tools/virsh [args ...] If you are already in the tools/ subdirectory, then the following command will also work: ../run ./virsh [...] You can also run the C programs under valgrind like this: ./run valgrind [valgrind opts...] ./program or under gdb: ./run gdb --args ./program This also works with sudo (eg. if you need root access for libvirt): sudo ./run ./tools/virsh list --all Derived from libguestfs and simplified. The ./run script in libguestfs is much more sophisticated: https://github.com/libguestfs/libguestfs/blob/master/run.in
* gitignore: Ignore .gdb_history file.Richard W.M. Jones2012-09-181-0/+1
|
* New functions for virBitmapHu Tao2012-09-171-0/+1
| | | | | | | In many places we store bitmap info in a chunk of data (pointed to by a char *), and have redundant codes to set/unset bits. This patch extends virBitmap, and convert those codes to use virBitmap in subsequent patches.
* Introduce a test suite for the JSON monitorDaniel P. Berrange2012-09-071-0/+1
| | | | | | | | | Take advantage of the previously added monitor helpers to create a test suite for the QEMU JSON monitor impl. As a proof of concept, this tests the 'qemuMonitorGetStatus' implementation Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* Add test case for SELinux label generationDaniel P. Berrange2012-08-211-0/+1
| | | | | | | | | | | | This test case validates the correct generation of SELinux labels for VMs, wrt the current process label. Since we can't actually change the label of the test program process, we create a shared library libsecurityselinuxhelper.so which overrides the getcon() and setcon() libselinux.so functions. When started the test case will check to see if LD_PRELOAD is set, and if not, it will re-exec() itself setting LD_PRELOAD=libsecurityselinuxhelper.so Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* docs: autogenerate search.phpMartin Kletzander2012-08-101-0/+1
| | | | | | | | | | This patch makes search.php autogenerated from search.php.in, thus removing hardcoded menus, footer etc. and the search.php is added to .gitignore. There is new rule added for *.php files (to make it bit less hardcoded) that takes *.php.code.in and injects it inside the generated *.php (xslt was not happy about php code in the source xml).
* Rewrite virAtomic APIs using GLib's atomic ops codeDaniel P. Berrange2012-08-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are a few issues with the current virAtomic APIs - They require use of a virAtomicInt struct instead of a plain int type - Several of the methods do not implement memory barriers - The methods do not implement compiler re-ordering barriers - There is no Win32 native impl The GLib library has a nice LGPLv2+ licensed impl of atomic ops that works with GCC, Win32, or pthreads.h that addresses all these problems. The main downside to their code is that the pthreads impl uses a single global mutex, instead of a per-variable mutex. Given that it does have a Win32 impl though, we don't expect anyone to seriously use the pthread.h impl, so this downside is not significant. * .gitignore: Ignore test case * configure.ac: Check for which atomic ops impl to use * src/Makefile.am: Add viratomic.c * src/nwfilter/nwfilter_dhcpsnoop.c: Switch to new atomic ops APIs and plain int datatype * src/util/viratomic.h: inline impls of all atomic ops for GCC, Win32 and pthreads * src/util/viratomic.c: Global pthreads mutex for atomic ops * tests/viratomictest.c: Test validate to validate safety of atomic ops. Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* gitignore: Reorder alphabeticallyMichal Privoznik2012-08-011-1/+1
| | | | | | | One of our latest patches added some files to .gitignore. However, not in the right place leaving the file not sorted. Since my git is set up to sort these files contents, fix this issue as it keeps showing up in git status.
* Run an RPC protocol over the LXC controller monitorDaniel P. Berrange2012-07-301-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This defines a new RPC protocol to be used between the LXC controller and the libvirtd LXC driver. There is only a single RPC message defined thus far, an asynchronous "EXIT" event that is emitted just before the LXC controller process exits. This provides the LXC driver with details about how the container shutdown - normally, or abnormally (crashed), thus allowing the driver to emit better libvirt events. Emitting the event in the LXC controller requires a few little tricks with the RPC service. Simply calling the virNetServiceClientSendMessage does not work, since this merely queues the message for asynchronous processing. In addition the main event loop is no longer running at the point the event is emitted, so no I/O is processed. Thus after invoking virNetServiceClientSendMessage it is necessary to mark the client as being in "delayed close" mode. Then the event loop is run again, until the client completes its close - this happens only after the queued message has been fully transmitted. The final complexity is that it is not safe to run virNetServerQuit() from the client close callback, since that is invoked from a context where the server is locked. Thus a zero-second timer is used to trigger shutdown of the event loop, causing the controller to finally exit. * src/Makefile.am: Add rules for generating RPC protocol files and dispatch methods * src/lxc/lxc_controller.c: Emit an RPC event immediately before exiting * src/lxc/lxc_domain.h: Record the shutdown reason given by the controller * src/lxc/lxc_monitor.c, src/lxc/lxc_monitor.h: Register RPC program and event handler. Add callback to let driver receive EXIT event. * src/lxc/lxc_process.c: Use monitor exit event to decide what kind of domain event to emit * src/lxc/lxc_protocol.x: Define wire protocol for LXC controller monitor. Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* Make ESX & Hyper-V code generator safe with parallel buildsDaniel P. Berrange2012-07-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If from a clean GIT checkout 'make -j 8' is run, the ESX and Hyper-V code will be generated multiple times over. This is because there are multiple files being generated from one invocation of the generator script. make does not realize this and so invokes the generator once per file. This doesn't matter with serialized builds, but with parallel builds multiple instances of the generator get run at once. make[2]: Entering directory `/home/berrange/src/virt/libvirt/src' GEN util/virkeymaps.h GEN remote/remote_protocol.h GEN remote/remote_client_bodies.h GEN remote/qemu_protocol.h GEN remote/qemu_client_bodies.h GEN esx/esx_vi_methods.generated.c GEN esx/esx_vi_methods.generated.h GEN esx/esx_vi_methods.generated.macro GEN esx/esx_vi_types.generated.c GEN esx/esx_vi_types.generated.h GEN esx/esx_vi_types.generated.typedef GEN esx/esx_vi_types.generated.typedef GEN esx/esx_vi_types.generated.typeenum GEN esx/esx_vi_types.generated.typetostring GEN esx/esx_vi_types.generated.typefromstring GEN esx/esx_vi_types.generated.h GEN esx/esx_vi_types.generated.c GEN esx/esx_vi_methods.generated.h GEN esx/esx_vi_methods.generated.c GEN esx/esx_vi_methods.generated.macro GEN esx/esx_vi.generated.h GEN esx/esx_vi.generated.c GEN esx/esx_vi_types.generated.typeenum GEN esx/esx_vi_types.generated.typedef GEN esx/esx_vi_types.generated.typeenum GEN esx/esx_vi_types.generated.typetostring GEN esx/esx_vi_types.generated.typefromstring GEN esx/esx_vi_types.generated.h GEN esx/esx_vi_types.generated.c GEN esx/esx_vi_methods.generated.h ...snip... GEN hyperv/hyperv_wmi.generated.h GEN libvirt_qemu_probes.h GEN locking/qemu-sanlock.conf GEN hyperv/hyperv_wmi.generated.c GEN rpc/virnetprotocol.h GEN hyperv/hyperv_wmi_classes.generated.typedef GEN hyperv/hyperv_wmi_classes.generated.h GEN hyperv/hyperv_wmi_classes.generated.c GEN rpc/virkeepaliveprotocol.h GEN remote/remote_protocol.c GEN remote/qemu_protocol.c GEN rpc/virkeepaliveprotocol.c GEN rpc/virnetprotocol.c GEN libvirt.def Prevent this using a timestamp file to control generation, as was previously done for the python bindings in commit a7868e0131516ef2dece82586edd52dc87fe336c Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* Add a sheepdog backend for the storage driverSebastian Wiedenroth2012-07-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch brings support to manage sheepdog pools and volumes to libvirt. It uses the "collie" command-line utility that comes with sheepdog for that. A sheepdog pool in libvirt maps to a sheepdog cluster. It needs a host and port to connect to, which in most cases is just going to be the default of localhost on port 7000. A sheepdog volume in libvirt maps to a sheepdog vdi. To create one specify the pool, a name and the capacity. Volumes can also be resized later. In the volume XML the vdi name has to be put into the <target><path>. To use the volume as a disk source for virtual machines specify the vdi name as "name" attribute of the <source>. The host and port information from the pool are specified inside the host tag. <disk type='network'> ... <source protocol="sheepdog" name="vdi_name"> <host name="localhost" port="7000"/> </source> </disk> To work right this patch parses the output of collie, so it relies on the raw output option. There recently was a bug which caused size information to be reported wrong. This is fixed upstream already and will be in the next release. Signed-off-by: Sebastian Wiedenroth <wiedi@frubar.net>
* Add /tools/libvirt-guests.service to .gitignoreGuido Günther2012-06-261-0/+1
| | | | since it's an autogenerated file
* Switch automated builds to use Mingw64 toolchain instead of Mingw32Daniel P. Berrange2012-06-251-1/+1
| | | | | | | | | The Mingw32 toolchain is broadly obsoleted by the Mingw64 toolchain. The latter has been adopted by Fedora 17 and newer. Maintaining a RPM spec for Mingw32 is a needless burden, so switch to a Mingw64 RPM spec (which provides 32 & 64 bit builds). Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* build: fix testing of augeas files in VPATH buildsEric Blake2012-05-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | Without this fix, a VPATH build (such as used by ./autobuild.sh) fails with messages like: make[3]: Entering directory `/home/remote/eblake/libvirt-tmp2/build/daemon' ../../build-aux/augeas-gentest.pl libvirtd.conf ../../daemon/test_libvirtd.aug.in test_libvirtd.aug cannot read libvirtd.conf: No such file or directory at ../../build-aux/augeas-gentest.pl line 38. Since the test files are not part of the tarball, we can generate them into the build dir, but rather than create a subdirectory just for the test file, it is easier to test them directly in libvirt.git/src. * daemon/Makefile.am (AUG_GENTEST): Factor out definition. (test_libvirtd.aug): Look for correct file. * src/Makefile.am (AUG_GENTEST): Use $(PERL). (qemu/test_libvirtd_qemu.aug, lxc/test_libvirtd_lxc.aug) (locking/test_libvirt_sanlock.aug): Rename to avoid subdirectories. (check-augeas-qemu, check-augeas-lxc, check-augeas-sanlock): Reflect location of built tests. * configure.ac (PERL): Substitute perl.
* Autogenerate augeas test case from default config filesDaniel P. Berrange2012-05-281-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | When adding new config file parameters, the corresponding additions to the augeas lens' are constantly forgotten. Also there are augeas test cases, these don't catch the error, since they too are never updated. To address this, the augeas test cases need to be auto-generated from the example config files. * build-aux/augeas-gentest.pl: Helper to generate an augeas test file, substituting in elements from the example config files * src/Makefile.am, daemon/Makefile.am: Switch to auto-generated augeas test cases * daemon/test_libvirtd.aug, daemon/test_libvirtd.aug.in, src/locking/test_libvirt_sanlock.aug, src/locking/test_libvirt_sanlock.aug.in, src/lxc/test_libvirtd_lxc.aug, src/lxc/test_libvirtd_lxc.aug.in, src/qemu/test_libvirtd_qemu.aug, src/qemu/test_libvirtd_qemu.aug.in: Remove example config file data, replacing with a ::CONFIG:: placeholder Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* maint: ignore more files from version controlEric Blake2012-05-241-1/+2
| | | | * .gitignore: Exempt recent test binary and probes.h name change.
* docs: Serialize running apibuild.pyCole Robinson2012-04-271-0/+1
| | | | | | | | | Use a witness file approach like we do for python/generator.py, as suggested by Eric. Fixes the build issue reported here: https://www.redhat.com/archives/libvir-list/2012-April/msg01435.html Signed-off-by: Cole Robinson <crobinso@redhat.com>
* gitignore: Reorder alphabeticallyMichal Privoznik2012-04-131-3/+3
| | | | | | Recent git reorders .gitignore alphabetically. However, changes are not committed and I am tired of discarding these changes from my patches.
* Replace daemon-conf test script with a proper test caseDaniel P. Berrange2012-04-101-0/+1
| | | | | | | | | | | | | The daemon-conf test script continues to be very fragile to changes in libvirt. It currently fails 1 time in 3/4 due to race conditions in startup/shutdown of the test script. Replace it with a proper test case tailored to the code being tested * tests/Makefile.am: Remove daemon-conf, add libvirtdconftest * tests/daemon-conf: Delete obsolete test * tests/libvirtdconftest.c: Test config file handling
* build: drop obsolete qparams testEric Blake2012-03-231-0/+3
| | | | | | | | | | | Otherwise, 'make check' breaks since commit bc1ff160 deleted qparams.h. A later patch will ensure that viruri takes over what qparams used to do. * tests/qparamtest.c (mymain): Delete, now that we have viruri. * tests/Makefile.am (check_PROGRAMS, TESTS, qparamtest_SOURCES): Delete old test. * .gitignore: Add recent test additions.
* remove daemon/probes.h from .gitignoreLaine Stump2012-03-081-1/+0
| | | | | | | The file daemon/probes.h used to be generated as part of a build, but is no longer used. However, a stale copy of it lying around could cause a build to fail. Removing it from .gitignore will make it more likely someone will notice that they have it lying around.
* qemu: unescape HMP commands before converting them to jsonJosh Durgin2012-02-271-0/+1
| | | | | | | | | | | | | | | | | | | | | 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>
* maint: Add test output files to .gitignorePeter Krempa2012-02-061-0/+2
| | | | | | Commit 8f00276c8a6140cec6a6d50441c802981d329c0c consolidated other .gitignore files to the master one, but forgot to add some test output files.
* maint: consolidate several .gitignore filesEric Blake2012-02-031-2/+73
| | | | | | | | | | | | | | | | | | | | | | | Unlike .cvsignore under CVS, git allows for ignoring nested names. We weren't very consistent where new tests were being ignored (some in .gitignore, some in tests/.gitignore), and I found it easier to just consolidate everything. * .gitignore: Subsume entries from subdirectories. * daemon/.gitignore: Delete. * docs/.gitignore: Likewise. * docs/devhelp/.gitignore: Likewise. * docs/html/.gitignore: Likewise. * examples/dominfo/.gitignore: Likewise. * examples/domsuspend/.gitignore: Likewise. * examples/hellolibvirt/.gitignore: Likewise. * examples/openauth/.gitignore: Likewise. * examples/domain-events/events-c/.gitignore: Likewise. * include/libvirt/.gitignore: Likewise. * src/.gitignore: Likewise. * src/esx/.gitignore: Likewise. * tests/.gitignore: Likewise. * tools/.gitignore: Likewise.
* build: fix missing includeEric Blake2012-01-271-0/+1
| | | | | | | | | | | | Fix a build failure: virt-host-validate.c: In function 'main': virt-host-validate.c:82:5: error: implicit declaration of function 'setlocale' [-Werror=implicit-function-declaration] virt-host-validate.c:82:5: error: nested extern declaration of 'setlocale' [-Werror=nested-externs] virt-host-validate.c:82:20: error: 'LC_ALL' undeclared (first use in this function) * tools/virt-host-validate.c: Add <locale.h>. * .gitignore: Ignore built executable.
* hash: minor touchupsEric Blake2012-01-261-0/+1
| | | | | | | | | | | | | | On RHEL5, I got: util/virrandom.c:66: warning: nested extern declaration of '_gl_verify_function66' [-Wnested-externs] The fix is to hoist the verify earlier. Also some other hodge-podge fixes I noticed while reviewing Dan's recent series. * .gitignore: Ignore new test. * src/util/cgroup.c: Bump copyright year. * src/util/virhash.c: Fix typo in description. * src/util/virrandom.c (virRandomBits): Mark doc comment, and hoist assert to silence older gcc.
* Define keepalive protocolJiri Denemark2011-11-241-0/+1
| | | | | | | | | | The keepalive program has two procedures: PING, and PONG. Both are used only in asynchronous messages and the sender doesn't wait for any reply. However, the party which receives PING messages is supposed to react by sending PONG message the other party, but no explicit binding between PING and PONG messages is made. For backward compatibility neither server nor client are allowed to send keepalive messages before checking that remote party supports them.
* snapshot: test domainsnapshot indentationEric Blake2011-10-201-0/+1
| | | | | | | | | | | | | | | Add a test for the simple parts of my indentation changes, and fix the fallout. * tests/domainsnapshotxml2xmltest.c: New test. * tests/Makefile.am (domainsnapshotxml2xmltest_SOURCES): Build it. * src/conf/domain_conf.c (virDomainSnapshotDefFormat): Avoid NULL deref, match documented order. * src/conf/domain_conf.h (virDomainSnapshotDefFormat): Add const. * tests/domainsnapshotxml2xmlout/all_parameters.xml: Tweak output. * tests/domainsnapshotxml2xmlout/disk_snapshot.xml: Likewise. * tests/domainsnapshotxml2xmlout/full_domain.xml: Likewise. * .gitignore: Exempt new binary.
* build: ignore test executableEric Blake2011-10-191-0/+1
| | | | * .gitignore: Add exemption.
* Prevent crash from dlclose() of libvirt.soDaniel P. Berrange2011-09-161-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | When libvirt calls virInitialize it creates a thread local for the virErrorPtr storage, and registers a callback to cleanup memory when a thread exits. When libvirt is dlclose()d or otherwise made non-resident, the callback function is removed from memory, but the thread local may still exist and if a thread later exists, it will invoke the callback and SEGV. There may also be other thread locals with callbacks pointing to libvirt code, so it is in general never safe to unload libvirt.so from memory once initialized. To allow dlclose() to succeed, but keep libvirt.so resident in memory, link with '-z nodelete'. This issue was first found with the libvirt CIM provider, but can potentially hit many of the dynamic language bindings which all ultimately involve dlopen() in some way, either on libvirt.so itself, or on the glue code for the binding which in turns links to libvirt * configure.ac, src/Makefile.am: Ensure libvirt.so is linked with -z nodelete * cfg.mk, .gitignore, tests/Makefile.am, tests/shunloadhelper.c, tests/shunloadtest.c: A test case to unload libvirt while a thread is still running.
* maint: ignore generated filesEric Blake2011-09-141-0/+4
| | | | * .gitignore: Exempt recently added generated files.
* hyperv: Add OpenWSMAN based client for the Hyper-V WMI APIMatthias Bolte2011-08-261-0/+1
| | | | | | | | | | Add a generator script to generate the structs and serialization information for OpenWSMAN. openwsman.h collects workarounds for problems in OpenWSMAN <= 2.2.6. There are also disabled sections that would use ws_serializer_free_mem but can't because it's broken in OpenWSMAN <= 2.2.6. Patches to fix this have been posted upstream.
* maint: ignore generated fileEric Blake2011-08-181-0/+1
| | | | | | | I did 'git add .' while in the middle of 'make syntax-check', and it picked up a temporary file that should not be committed. * .gitignore: Ignore sc_* from syntax check.
* maint: ignore generated fileEric Blake2011-08-151-0/+1
| | | | * .gitignore: Ignore qemu-sanlock.conf.
* freebsd: Fix build problem due to picking up the wrong libvirt.hMatthias Bolte2011-07-291-1/+5
| | | | | | | | | | | | | | | | | | Gettext annoyingly modifies CPPFLAGS in-place, putting -I/usr/local/include into the search patch if libintl headers must be used from that location. But since we must support automake 1.9.6 which lacks AM_CPPFLAGS, and since CPPFLAGS is used prior to INCLUDES, this means that the build picks up the _old_ installed libvirt.h in priority to the in-tree version, leading to all sorts of weird build failures on FreeBSD. Fix this by teaching configure to undo gettext's actions, but to keep any changes required by gettext at the end of INCLUDES after all in-tree locations are used first. Also requires adding a wrapper Makefile.am and making gnulib-tool create just gnulib.mk files during the bootstrap process. Signed-off-by: Eric Blake <eblake@redhat.com>
* util: add virtkeycode moduleLai Jiangshan2011-07-211-0/+1
| | | | | | | | | | | | | | | | | | | | | Add virtkey lib for usage-improvment and keycode translating. Add 4 internal API for the aim const char *virKeycodeSetTypeToString(int codeset); int virKeycodeSetTypeFromString(const char *name); int virKeycodeValueFromString(virKeycodeSet codeset, const char *keyname); int virKeycodeValueTranslate(virKeycodeSet from_codeset, virKeycodeSet to_offset, int key_value); * include/libvirt/libvirt.h.in: extend virKeycodeSet enum * src/Makefile.am: add new virtkeycode module and rule to generate virkeymaps.h * src/util/virkeycode.c src/util/virkeycode.h: new module * src/util/virkeycode-mapgen.py: python generator for virkeymaps.h out of keymaps.csv * src/libvirt_private.syms: extend private symbols for new module * .gitignore: add generated virkeymaps.h
* build: detect doc generation failureEric Blake2011-07-191-0/+1
| | | | | | | | | | Commit 8665f85 introduced a slight regression in doc generation, since make only quits a rule on the first failed command ending with a newline rather than a semicolon. * docs/Makefile.am (html/index.html): Don't use xmllint unless xsltproc succeeded. * .gitignore: Ignore recently updated stamp file name.
* build: ignore generated fileEric Blake2011-06-301-0/+1
| | | | * .gitignore: Exempt jsontest binary.
* Convert libvirtd over to the new RPC handling APIsDaniel P. Berrange2011-06-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | This guts the libvirtd daemon, removing all its networking and RPC handling code. Instead it calls out to the new virServerPtr APIs for all its RPC & networking work As a fallout all libvirtd daemon error reporting now takes place via the normal internal error reporting APIs. There is no need to call separate error reporting APIs in RPC code, nor should code use VIR_WARN/VIR_ERROR for reporting fatal problems anymore. * daemon/qemu_dispatch_*.h, daemon/remote_dispatch_*.h: Remove old generated dispatcher code * daemon/qemu_dispatch.h, daemon/remote_dispatch.h: New dispatch code * daemon/dispatch.c, daemon/dispatch.h: Remove obsoleted code * daemon/remote.c, daemon/remote.h: Rewrite for new dispatch APIs * daemon/libvirtd.c, daemon/libvirtd.h: Remove all networking code * daemon/stream.c, daemon/stream.h: Update for new APIs * daemon/Makefile.am: Link to libvirt-net-rpc-server.la
* build: avoid long line testsEric Blake2011-06-241-0/+1
| | | | | | 'make syntax-check' regression introduced in commit 60b9c69. * tests/networkxml2argvdata/*.argv: Break long lines.
* Defines the basics of a generic RPC protocol in XDRDaniel P. Berrange2011-06-241-0/+1
| | | | | | | | | | | | | | | | | | | | This patch defines the basics of a generic RPC protocol in XDR. This is wire ABI compatible with the original remote_protocol.x. It takes everything except for the RPC calls / events from that protocol - The basic header virNetMessageHeader (aka remote_message_header) - The error object virNetMessageError (aka remote_error) - Two dummy objects virNetMessageDomain & virNetMessageNetwork sadly needed to keep virNetMessageError ABI compatible with the old remote_error The RPC protocol supports method calls, async events and bidirectional data streams as before * src/Makefile.am: Add rules for generating RPC code from protocol & define a new libvirt-net-rpc.la helper library * src/rpc/virnetprotocol.x: New generic RPC protocol
* * .gitignore: Exempt a new test binary.Eric Blake2011-05-311-0/+1
|
* maint: ignore generated fileEric Blake2011-05-161-0/+1
| | | | * .gitignore: Ignore recently added file.
* build: Remove all generated RPC files from GITDaniel P. Berrange2011-05-061-0/+3
| | | | | | | | | | | | | | | Stop storing the generated files for the remote protocol client and server in source control. The generated files will still be included in the result of 'make dist' to avoid end-users needing to generate the files Signed-off-by: Eric Blake <eblake@redhat.com> Unfortunately, this means that the strings marked for translation in generated files are not picked up by gnulib's syntax-check, I'm working on fixing that in gnulib. * .gitignore, cfg.mk, po/POTFILES.in: Reflect deletion.
* maint: ignore built fileEric Blake2011-04-181-0/+1
| | | | * .gitignore: Add exemption for hashtest.
* build: fix gitignore sortingEric Blake2011-04-071-6/+6
| | | | | | | | | | | | Make it so we don't have to 'git add -f' particular files like po/POTFILES.in all the time (tested by fixing one of our special-case files as part of the patch). * .gnulib: Update to latest. * bootstrap: Resync from coreutils. * .gitignore: Sort whitelist entries correctly, including ignoring files rather than directories. * m4/virt-compile-warnings.m4: Convert tabs to space.
* Remove acinclude.m4 fileDaniel P. Berrange2011-04-051-1/+1
| | | | | | | | | | | Split the bit acinclude.m4 file into smaller pieces named as m4/virt-XXXXX.m4 * .gitignore: Ignore gettext related files * acinclude.m4: Delete * m4/virt-compile-warnings.m4: Checks for GCC compiler flags * m4/virt-pkgconfig-back-compat.m4: Backcompat check for pkgconfig program
* maint: ignore new built fileEric Blake2011-03-291-0/+1
| | | | * .gitignore: Exclude libvirt_iohelper.
* Add vim configuration that makes vim auto-indent codeHu Tao2011-03-171-0/+1
|
* autobuild.sh: use VPATH buildEric Blake2011-02-211-0/+1
| | | | | | | Try to avoid future regressions on the VPATH front. * autobuild.sh: Uncomment VPATH use. * .gitignore: Exclude build directory.