Commit Graph

342 Commits

Author SHA1 Message Date
Daniel P. Berrange
a147ef3837 Split generic RPC message dispatch code out from remote protocol API handlers
* po/POTFILES.in: Add qemud/dispatch.c
* qemud/dispatch.c, qemud/dispatch.h: Generic code handling dispatch of
  RPC messages.
* qemud/Makefile.am: Add dispatch.c to build
* qemud/qemud.c: Include dispatch.h
* qemud/qemud.h: Remove remoteDispatchClientRequest, remoteRelayDomainEvent
  now in dispatch.h
* qemud/remote.c: Remove remoteDispatchClientRequest, remoteRelayDomainEvent
  now in dispatch.c, and dispatch_args, dispatch_ret, dispatch_fn & dispatch_data
  now in remote.h
* qemud/remote.h: Add typedefs for dispatch_args, dispatch_ret,
  dispatch_fn, dispath_data. Add remoteGetDispatchData() API
2009-07-16 16:09:41 +01:00
Jim Meyering
07613d2020 remove all trailing blank lines
by running this command:
git ls-files -z | xargs -0 perl -pi -0777 -e 's/\n\n+$/\n/'
This is in preparation for a more strict make syntax-check
rule that will detect trailing blank lines.
2009-07-16 15:06:42 +02:00
Daniel P. Berrange
845659340e Fix error reporting for security driver over remote protocol
* qemud/remote.c: Send back the actual libvirt connection error
  rather than formatting a generic error for security driver
  methods
* src/libvirt.c: Fix virDomainGetSecurityLabel, and
  virNodeGetSecurityModel to correctly set the error on
  the virConnectPtr object, and raise a full error rather
  than warning when not supported
2009-07-15 12:27:42 +01:00
Jim Meyering
fb98f4b10d remove all .cvsignore files 2009-07-08 16:17:51 +02:00
Daniel Veillard
2a004db6c7 Various logging cleanups in code and doc
* docs/logging.html[.in] qemud/libvirtd.conf qemud/qemud.c
  src/logging.[ch]: cleanup the logging code and docs to remove
  all references to log level 0, cleanup hardcoded values and add
  a default VIR_LOG_DEFAULT value, patch by Amy Griffis
daniel
2009-07-01 11:21:15 +00:00
Daniel Veillard
144276aa1a extend the configuration parser for VMX syntax
* qemud/qemud.c src/conf.c src/conf.h src/qemu_conf.c src/xen_unified.c
  src/xm_internal.c tests/conftest.c tests/xmconfigtest.c: extend
  the configuration parser for VMX syntax, patch by Matthias Bolte
Daniel
2009-06-19 12:34:30 +00:00
Daniel P. Berrange
0420a03240 Remove use of getuid()==0 for privilege checks 2009-06-12 13:20:13 +00:00
Daniel Veillard
3bdda17adc fixing a typo in error message
* qemud/remote.c: fixing a typo pointed out by Runa Bhattacharjee
Daniel
2009-06-11 15:34:37 +00:00
Daniel P. Berrange
7d633ec400 Fix logging initialization in daemon 2009-06-03 10:36:17 +00:00
Daniel P. Berrange
6c3ef35064 Avoid double-free in daemon client cleanup code 2009-05-29 14:34:35 +00:00
Daniel P. Berrange
8a1a2ac558 Fix Win32 portability problems with 'inteface' symbol clash 2009-05-29 14:29:22 +00:00
Daniel Veillard
b811851b8d Include the OpenNebula driver
* src/opennebula/one_conf.[ch] src/opennebula/one_driver.[ch]:
  the OpenNebula driver
* configure.in include/libvirt/virterror.h qemud/Makefile.am
  qemud/qemud.c src/Makefile.am src/domain_conf.[ch] src/driver.h
  src/libvirt.c src/virterror.c: integration of the OpenNebula
  driver in the libvirt infrastructure
* AUTHORS: add Abel Miguez Rodriguez
daniel
2009-05-25 11:56:00 +00:00
Daniel P. Berrange
60d4777190 Remote protocol support for domain XML conversion APIs 2009-05-21 13:50:56 +00:00
Daniel Veillard
73bc011483 Add the Interface config APIs
* configure.in include/libvirt/libvirt.h[.in]
  include/libvirt/virterror.h qemud/remote.c
  qemud/remote_dispatch_args.h qemud/remote_dispatch_prototypes.h
  qemud/remote_dispatch_ret.h qemud/remote_dispatch_table.h
  qemud/remote_protocol.[chx] src/Makefile.am src/datatypes.c
  src/datatypes.h src/driver.h src/libvirt.c src/remote_internal.c
  src/virterror.c src/libvirt_private.syms src/libvirt_public.syms:
  Add the Interface config APIs and remote stubs for those, patch
  by Laine Stump
* AUTHORS: add Laine
daniel
2009-05-20 14:26:49 +00:00
Daniel Veillard
e8da987570 cleanup of some direct stderr logging
* qemud/qemud.c src/console.c src/network_driver.c
  src/node_device_conf.c src/node_device_hal.c src/storage_conf.c
  src/util.c: cleanup of some direct stderr logging
daniel
2009-05-20 13:37:30 +00:00
Cole Robinson
f7ea2b5d7f Generate some config files at build time, not install time.
Generating at install time breaks 'make && sudo make install' if root
can't access the users home directory (NFS w/o no_root_squash for example).
2009-05-19 13:22:00 +00:00
Cole Robinson
adf4384501 Use virAsprintf, rather than VIR_ALLOC + strcpy + strcat 2009-05-19 13:15:50 +00:00
Cole Robinson
885de7f8cf Remote driver plumbing for virStorageVolCreateXMLFrom 2009-05-12 20:13:52 +00:00
Daniel P. Berrange
470317f5c7 Fix watch/timer event deletion 2009-05-12 16:43:04 +00:00
Daniel P. Berrange
0a31be6ba2 Fix interrupting of main event thread & protect against accidental uniniitalized variables 2009-05-12 16:41:49 +00:00
Daniel P. Berrange
72dc6d60ab Remove use of qemudSetNonBlock/SetCloseExec in favour of shared impl 2009-05-12 15:43:07 +00:00
Daniel Veillard
2a1c7b57ff Improve init.d file headers
* qemud/libvirtd.init.in: improve the LSB init header for the
  init.d file, patch by Frederik Himpe
Daniel
2009-05-07 07:34:05 +00:00
Daniel P. Berrange
62aa1b56d6 Add virNodeDeviceCreateXML / virNodeDeviceDestroy boilerplate public API and remote protocol impl 2009-04-24 13:11:23 +00:00
Guido Günther
a6c612a4ad don't hardcode buffer for getgrnam_r to 1024 bytes and increase it on ERANGE. 2009-04-16 14:53:19 +00:00
Daniel P. Berrange
92ff72b52c Misc NUMA related fixes 2009-04-03 12:45:05 +00:00
Daniel P. Berrange
b44af714d3 Support SASL auth for VNC server. 2009-03-16 13:54:26 +00:00
Daniel Veillard
aa08419ca8 Avoid some potential FILE * leaks
* qemud/qemud.c src/cgroup.c src/uml_driver.c src/util.c: close
  some potential FILE * leaks
Daniel
2009-03-16 10:41:37 +00:00
Daniel P. Berrange
29ed758ae0 Fix dispatch of FD events when one or more handles are marked deleted 2009-03-16 10:35:21 +00:00
Daniel P. Berrange
24a149cfa2 Fix handling of cpumaps arg to virDomainGetVcpus RPC dispatcher 2009-03-16 10:33:01 +00:00
Daniel P. Berrange
a8cd24b346 Remote protocol / RPC API for sVirt support (James Morris & Dan Walsh) 2009-03-03 09:27:02 +00:00
Daniel Veillard
1ca2bd7912 * qemud/qemud.c: fix qemu+tls handshake negotiation, patch by
Chris Lalancette
Daniel
2009-03-03 08:25:50 +00:00
Daniel Veillard
0231102863 Implement node attach/reattach/reset in the remote driver
* qemud/remote.c qemud/remote_dispatch_args.h
  qemud/remote_dispatch_prototypes.h qemud/remote_dispatch_table.h
  qemud/remote_protocol.c qemud/remote_protocol.h
  qemud/remote_protocol.x src/remote_internal.c: Implement
  attach/reattach/reset in the remote driver, patch by Mark
  McLoughlin.
Daniel
2009-03-02 16:30:59 +00:00
Daniel Veillard
a3ce3b1c71 * qemud/qemud.c src/node_device_hal.c: activate DBus multithreading
to avoid random crashes in the daemon, patch by Daniel Berrange
Daniel
2009-03-02 11:13:37 +00:00
Jim Meyering
f1b4ca52ff fix build failure due to invalid generated Makefile
* qemud/Makefile.am (libvirtd_LDADD): Unindent "if HAVE_*" directives.
Reported by Daniel Schwager.
2009-02-17 14:46:21 +00:00
Cole Robinson
125980cb76 Fix daemon TCP listen cleanup 2009-02-17 14:40:24 +00:00
Jim Meyering
81ba67b2b6 Avoid link failure when configured --with-driver-modules
* qemud/Makefile.am (WITH_DRIVER_MODULES): Link with libvirt_driver.la
and libvirt_util.la.  Indent for readability.
2009-02-17 10:34:30 +00:00
Daniel P. Berrange
4dce547640 Fix I/O errors in libvirtd daemon, and hang/crash in remote client upon I/O error 2009-02-17 09:44:18 +00:00
Mark McLoughlin
9fec27be49 Fix bridge.c warnings with gcc-4.4
bridge.c: In function 'brSetInetAddr':
 bridge.c:665: error: dereferencing pointer '({anonymous})' does break strict-aliasing rules
 bridge.c:665: note: initialized from here
 bridge.c:666: error: dereferencing pointer '({anonymous})' does break strict-aliasing rules
 bridge.c:666: note: initialized from here

Fix qemud.c warnings with gcc-4.4

 qemud.c: In function ‘remoteListenTCP’:
 qemud.c:675: error: dereferencing pointer ‘sa.72’ does break strict-aliasing rules
 qemud.c:675: note: initialized from here
 qemud.c:678: error: dereferencing pointer ‘sa.73’ does break strict-aliasing rules
 qemud.c:678: note: initialized from here
2009-02-13 19:10:55 +00:00
Jim Meyering
98352a103b libvirtd: new config-file option: unix_sock_dir
Before this change, the unix socket directory was hard-coded
to be e.g., /var/run/libvirt for euid==0 and ~/.libvirt otherwise.
With this change, you may now specify that directory in libvirtd's
config file via a line like this: unix_sock_dir = "/var/run/libvirt".
This is essential for running tests that do not impinge on any
existing libvirtd process, and in running tests in parallel.
* qemud/libvirtd.conf (unix_sock_dir): Add comment and example.
* qemud/qemud.h (struct qemud_server) [logDir]: Change type
from char[PATH_MAX] to char*.
* qemud/qemud.c (unix_sock_dir): New global
(remoteReadConfigFile): Set the global.
(qemudInitPaths): Use the global, unix_sock_dir, if non-NULL.
One minor improvement: unlink both sockets or none, never
just one of them.
(qemudCleanup): Free logDir.
(main): Use the new global rather than hard-coding "/run/libvirt".
* qemud/libvirtd.aug (sock_acl_entry): Add "unix_sock_dir".
2009-02-09 17:52:38 +00:00
Jim Meyering
3557096d44 don't print uninitialized in debug diagnostic
* qemud/mdns.c (libvirtd_mdns_timeout_new): Don't use local, t,
uninitialized.
2009-02-09 15:38:06 +00:00
Daniel P. Berrange
9a86716446 Fix 100% libvirt CPU usage when --timeout is set 2009-02-06 14:43:52 +00:00
Jim Meyering
bafd7389e4 remove remainder of offending strerror uses
* qemud/qemud.c (GET_CONF_STR): Use virStrerror, not strerror.
* qemud/remote.c (remoteDispatchDomainBlockPeek): Likewise.
(remoteDispatchDomainMemoryPeek, remoteDispatchAuthSaslInit): Likewise.
(remoteDispatchAuthPolkit): Likewise.
* src/lxc_container.c (lxcContainerAvailable): Likewise.
* src/network_driver.c (networkStartNetworkDaemon): Likewise.
(networkShutdownNetworkDaemon): Likewise.
* src/qemu_conf.c (qemudExtractVersion, qemudNetworkIfaceConnect):
* src/storage_conf.c (virStoragePoolLoadAllConfigs): Likewise.
* src/storage_driver.c (storagePoolUndefine): Likewise.
* src/uml_driver.c (umlStartup, umlStartVMDaemon): Likewise.
* src/util.c (virFileReadAll): Likewise.
* src/uuid.c (virUUIDGenerate): Likewise.
* src/xen_internal.c (get_cpu_flags): Likewise.
2009-02-05 16:28:30 +00:00
Jim Meyering
d22a844b46 don't include raw errno in diagnostics
* src/uml_driver.c (umlStartVMDaemon): Don't print raw errno value.
* qemud/remote.c (remoteDispatchAuthSaslInit): Likewise.
2009-02-05 16:28:15 +00:00
Jim Meyering
d2758fa13e qemud.c: use virStrerror, not strerror 2009-02-05 16:28:03 +00:00
Daniel P. Berrange
e2da806861 Fix leak in serializing error message from daemon to client 2009-01-30 16:48:02 +00:00
Daniel P. Berrange
3801794908 Support VNC password setting in QEMU driver 2009-01-29 17:50:00 +00:00
Daniel P. Berrange
9322b2e861 Solaris portability for RPC code data types 2009-01-28 21:33:56 +00:00
Jim Meyering
555de859cc avoid printf format-mismatch warnings
* qemud/qemud.c (qemudClientReadBuf, qemudClientWriteBuf):
Use %lld and a (long long int) cast to print a ssize_t value.
2009-01-28 11:31:39 +00:00
Jim Meyering
7523642c01 qemud: don't dereference NULL on failed virGetUserDirectory
* qemud/qemud.c (qemudInitPaths): Return right away,
upon virGetUserDirectory failure.
2009-01-23 13:50:59 +00:00
Daniel P. Berrange
1b745219c7 Remove use of non-reentrant POSIX apis 2009-01-22 19:41:48 +00:00