Commit Graph

356 Commits

Author SHA1 Message Date
Jim Meyering
1a741570e4 remove trailing blanks 2008-05-14 21:22:04 +00:00
Daniel P. Berrange
f7fe78dc82 Added listen_addr config param for daemon (Stefan de Konink) 2008-05-14 20:57:20 +00:00
David L. Leskovec
94311de539 Enable libvirtd drivers to handle signals, in lxc, sigchld triggers vm cleanup
Mon May 12 23:32:21 PST 2008 David L. Leskovec <dlesko@linux.vnet.ibm.com>

	* qemud/qemud.c: get siginfo with signals, distribute to drivers that
    register a handler
	* src/driver.h: add sighandler function to state driver table
	* src/internal.h: define virStateSigDispatcher functions
	* src/libvirt.c: add __virStateSigDispatcher function
	* src/libvirt_sym.version: add __virStateSigDispatcher
	* src/lxc_driver.c: add sig handler function, cleanup vm when sigchld
    received from container process
	* src/qemu_driver.c: NULL for sig handler (no handler) in state driver
	* src/remote_internal.c: NULL for sig handler (no handler) in state driver
	* src/storage_driver.c: NULL for sig handler (no handler) in state driver
2008-05-13 06:30:58 +00:00
Jim Meyering
25534052bc Use gnulib's c-ctype.h, not <ctype.h>.
# Convert uses of isspace to c_isspace, isdigit to c_isdigit, etc.
re=$(man isspace|grep is.....,.is|sed 's/ -.*//' \
  |tr -s ', \n' \||sed 's/^|//;s/|$//')
git grep -l -E "$re"|grep -Ev 'Chan|gnulib' \
  |xargs perl -pi -e 's/\b('"$re"')\b/c_$1/g'
# Remove all uses of to_uchar
git grep -l to_uchar|xargs perl -pi -e 's/to_uchar\((.*?)\)/$1/g'
* src/util.h (to_uchar): Remove definition.
(TOLOWER): Remove definition.
(__virMacAddrCompare): Use c_tolower, not TOLOWER.
Globally:
  Where needed, change <ctype.h> to <c-ctype.h>.
  Remove unnecessary inclusion of <ctype.h>.
Ensure the global changes are never needed again:
* Makefile.maint (sc_avoid_ctype_macros): Prohibit use of ctype
macros.   Recommend c-ctype.h instead.
(sc_prohibit_c_ctype_without_use): New rule.
(sc_prohibit_ctype_h): New rule.  Disallow use of <ctype.h>.
2008-05-09 13:50:14 +00:00
Daniel P. Berrange
d50cce8815 Ignore coverage data files 2008-04-30 13:14:40 +00:00
Jim Meyering
212472b813 avoid format-related warnings
* qemud/qemud.c (main): Fix a bogus format string reported as umarked.
* src/virsh.c (cmdVcpupin): Non-literal with no args.
2008-04-28 09:09:52 +00:00
Daniel Veillard
384c5cff37 group ownership of /var/run/libvirt/
* qemud/qemud.c: applied patch from Anton Protopopov to change
  group ownership of /var/run/libvirt/ to unix_sock_gid.
Daniel
2008-04-25 15:46:46 +00:00
Jim Meyering
5bf824ea10 convert TAB-based indentation in C sources to use only spaces
Done using this command (also includes .c.in and .h.in files):
for i in $(g ls-files|grep -E '\.[ch](\.in)?$'|grep -v gnulib); do
  expand -i $i > j && mv j $i;done
2008-04-10 16:54:54 +00:00
Jim Meyering
dc42a9d2de remove Vim and Emacs variable settings from C source files
Done with these commands:
git grep -l Local.variab|xargs \
  perl -0x3b -pi -e 's,\n+/\*\n \* vim:(.|\n)*,\n,'

git grep -l Local.variab|xargs \
  perl -0x3b -pi -e 's,\n+/\*\n \* Local variables:\n(.|\n)*,\n,'
2008-04-10 16:53:29 +00:00
Daniel P. Berrange
d4a6fe9f99 Don't do polkit auth as root 2008-04-04 15:09:19 +00:00
Jim Meyering
513bd04ce1 Mark many more strings for translation.
* Makefile.maint (err_func_re): Add to the list and make it readable.
* po/POTFILES.in: Add src/util.c and src/xm_internal.c, and sort.
* src/storage_backend.c: Fix comment.
* src/util.c (virFileLinkPointsTo): Mark a string.
* qemud/remote.c (remoteDispatchClientRequest): Mark strings.
(remoteDispatchOpen, CHECK_CONN, remoteDispatchGetType): Likewise.
(remoteDispatchDomainGetSchedulerType): Likewise.
(remoteDispatchDomainGetSchedulerParameters): Likewise.
(remoteDispatchDomainSetSchedulerParameters): Likewise.
(remoteDispatchDomainBlockStats): Likewise.
(remoteDispatchDomainInterfaceStats): Likewise.
(remoteDispatchDomainAttachDevice, remoteDispatchDomainCreate):
(remoteDispatchDomainDestroy, remoteDispatchDomainDetachDevice):
(remoteDispatchDomainDumpXml, remoteDispatchDomainGetAutostart):
(remoteDispatchDomainGetInfo, remoteDispatchDomainGetMaxMemory):
(remoteDispatchDomainGetMaxVcpus, remoteDispatchDomainGetOsType):
(remoteDispatchDomainGetVcpus): Likewise.
(remoteDispatchDomainMigratePerform): Likewise.
(remoteDispatchListDefinedDomains, remoteDispatchDomainPinVcpu):
(remoteDispatchDomainReboot, remoteDispatchDomainResume):
(remoteDispatchDomainSave, remoteDispatchDomainCoreDump):
(remoteDispatchDomainSetAutostart): Likewise.
(remoteDispatchDomainSetMaxMemory, remoteDispatchDomainSetMemory):
(remoteDispatchDomainSetVcpus, remoteDispatchDomainShutdown):
(remoteDispatchDomainSuspend, remoteDispatchDomainUndefine):
(remoteDispatchListDefinedNetworks, remoteDispatchListDomains):
(remoteDispatchListNetworks, remoteDispatchNetworkCreate):
(remoteDispatchNetworkDestroy, remoteDispatchNetworkDumpXml):
(remoteDispatchNetworkGetAutostart, remoteDispatchNetworkGetBridgeName):
(remoteDispatchNetworkSetAutostart, remoteDispatchNetworkUndefine):
(addrToString, remoteDispatchAuthSaslInit, remoteDispatchAuthSaslStart):
(remoteDispatchAuthSaslStep, remoteDispatchListDefinedStoragePools):
(remoteDispatchListStoragePools, remoteDispatchStoragePoolCreate):
(remoteDispatchStoragePoolBuild, remoteDispatchStoragePoolDestroy):
(remoteDispatchStoragePoolDelete, remoteDispatchStoragePoolRefresh):
(remoteDispatchStoragePoolGetInfo, remoteDispatchStoragePoolDumpXml):
(remoteDispatchStoragePoolGetAutostart): Likewise.
(remoteDispatchStoragePoolSetAutostart):
(remoteDispatchStoragePoolListVolumes):
(remoteDispatchStoragePoolNumOfVolumes):
(remoteDispatchStoragePoolUndefine, remoteDispatchStorageVolCreateXml):
(remoteDispatchStorageVolDelete, remoteDispatchStorageVolGetInfo):
(remoteDispatchStorageVolDumpXml, remoteDispatchStorageVolGetPath):
(remoteDispatchStorageVolLookupByName): Likewise.
* src/qemu_driver.c (qemudOpenMonitor, qemudStartVMDaemon):
(dhcpStartDhcpDaemon, qemudStartNetworkDaemon):
(qemudDomainSuspend, qemudDomainResume, qemudDomainShutdown):
(qemudDomainGetOSType, qemudDomainSetMaxMemory):
(qemudDomainSetMemory, qemudDomainGetInfo, qemudDomainSave):
(qemudDomainRestore, qemudDomainDumpXML, qemudDomainStart):
(qemudDomainUndefine, qemudDomainChangeCDROM):
(qemudDomainAttachDevice, qemudDomainGetAutostart):
(qemudDomainSetAutostart, qemudDomainInterfaceStats):
(qemudNetworkLookupByUUID, qemudNetworkLookupByName):
(qemudNetworkUndefine, qemudNetworkStart, qemudNetworkDestroy):
(qemudNetworkDumpXML, qemudNetworkGetAutostart):
(qemudNetworkSetAutostart): Likewise.
* src/virsh.c (cmdVcpupin, cmdAttachDevice, cmdDetachDevice): Likewise.
* src/xm_internal.c (xenXMConfigCacheRefresh, xenXMDomainPinVcpu): Likewise.
2008-03-27 13:43:01 +00:00
Jim Meyering
f4d2430d6c * qemud/remote.c: Don't include <getopt.h>. Not used. 2008-03-24 10:21:03 +00:00
Daniel Veillard
08ecf61b35 * NEWS virsh.1 docs//* include/libvirt/libvirt.h[.in] qemud/mdns.h
src/libvirt.c src/qemu.conf src/remote_internal.c src/xend_internal.c
  tests/confdata/libvirtd.conf tests/confdata/libvirtd.out: patch from
  Atsushi SAKAI fixing a ot more typo
Daniel
2008-03-17 10:27:31 +00:00
Daniel Veillard
a7892ee000 String fixes #436620
* qemud/qemud.c src/virsh.c: fixing some user facing strings
  problems pointed out by Francesco Tombolini should fix #436620
Daniel
2008-03-14 15:21:15 +00:00
Daniel P. Berrange
028e4a6116 Don't run cleannup code for parent process in daemon mode 2008-03-11 14:22:12 +00:00
Jim Meyering
f9e94c2e13 Avoid segfault upon early libvirtd failure.
* qemud/qemud.c (main): Don't call qemudCleanup on an
uninitialized pointer.
2008-03-03 18:10:19 +00:00
Jim Meyering
6272a7d0c2 Plug saslUsernameWhitelist leak.
* qemud/qemud.c (qemudCleanup): Free the array as well as
the strings in it.
2008-03-03 13:17:05 +00:00
Jim Meyering
cd6eefd3e8 Plug skipped-qemudCleanup leak.
* qemud/qemud.c (main): Call qemudCleanup also upon failure.
Otherwise, an error return would skip it and induce leaks.
2008-03-03 13:16:31 +00:00
Jim Meyering
ba8459e859 Plug remoteReadConfigFile leak.
* qemud/qemud.c (remoteReadConfigFile): Be careful to free
"conf" after a successful virConfReadFile.
2008-03-03 13:15:57 +00:00
Daniel Veillard
39947cec85 fix a broken line split
* qemud/Makefile.am: fix a broken line split
Daniel
2008-02-29 17:02:41 +00:00
Richard W.M. Jones
bb8340c18d Many typos fixed (Atsushi SAKAI). 2008-02-29 12:53:10 +00:00
Jim Meyering
9262d88e28 Avoid link errors with "configure --disable-shared".
* src/Makefile.am: Create a convenience library, libvirt_test.la,
and don't restrict access to *its* symbols.
* tests/Makefile.am (LDADDS): Add ../src/libvirt_test.la, so that
"configure --disable-shared" no longer provokes link errors.
(LIBVIRT): Remove definition.
(LDADDS): Remove use.
($(LIBVIRT)): Remove rule.
(LDADDS): Use the new convenience library instead.
(CLEANFILES): Define.
* docs/examples/index.py (dump_Makefile): Append $(COVERAGE_LDFLAGS),
to the LDADDS definition, to avoid link error with the combination of
--enable-test-coverage and --disable-shared.
* docs/examples/Makefile.am: Regenerate.
* docs/examples/index.html: Likewise.
* qemud/Makefile.am (libvirtd_LDFLAGS): Append $(COVERAGE_LDFLAGS).
* src/libvirt_sym.version: Remove some SP-before-TAB.
2008-02-28 17:06:32 +00:00
Jim Meyering
46b427a310 Make qemud/'s rpcgen rules work.
* qemud/Makefile.am (SUFFIXES): Define to .x before implicit rule.
2008-02-27 19:12:58 +00:00
Jim Meyering
b1b23f76be avoid format string warnings
Avoid warnings like this:
file:nnn:format not a string literal and no format arguments

* qemud/qemud.c: Insert a "%s" format argument.
* qemud/remote.c: Likewise.
* src/iptables.c: Likewise.
* src/qemu_driver.c: Likewise.
* src/storage_backend.c: Likewise.
* src/storage_backend_fs.c: Likewise.
* src/storage_backend_iscsi.c Likewise.
* src/storage_backend_logical.c: Likewise.
* src/storage_conf.c: Likewise.
* src/storage_driver.c: Likewise.
2008-02-22 16:26:13 +00:00
Jim Meyering
b59d9c85f1 Use safewrite in place of write, in many cases.
Also add "make syntax-check" rules to ensure no new uses sneak in.

There are many uses of write like this:

    if (write (fd, xml, towrite) != towrite)
        return -1;

The problem is that the syscall can succeed, yet write less than
the requested number of bytes, so the caller should retry
rather than simply failing.

This patch changes most of them to use util.c's safewrite wrapper,
which encapsulates the process.  Also, there were a few cases in
which the retry loop was open-coded, and I replaced those, too.

* Makefile.maint (sc_avoid_write): New rule, to avoid recurrence.
* .x-sc_avoid_write: New file.  Record two legitimate exemptions.
* qemud/qemud.c (sig_handler, qemudClientWriteBuf): Use safewrite, not write.
* src/conf.c (__virConfWriteFile): Likewise.
* src/qemu_conf.c (qemudSaveConfig, qemudSaveNetworkConfig): Likewise.
* src/qemu_driver.c (qemudWaitForMonitor, qemudStartVMDaemon)
(qemudVMData, PROC_IP_FORWARD): Likewise.
* proxy/libvirt_proxy.c: Include "util.h".
(proxyWriteClientSocket): Use safewrite.
* src/test.c (testDomainSave, testDomainCoreDump): Likewise.
* src/proxy_internal.c (virProxyWriteClientSocket): Likewise.
* src/virsh.c: Include "util-lib.h".
(vshOutputLogFile): Use safewrite.
* src/console.c: Include "util-lib.h".
(vshRunConsole): Use safewrite.
2008-02-22 15:55:04 +00:00
Jim Meyering
a178a4e7bf Move safewrite and saferead to a separate file.
We currently use safewrite from inside libvirt and don't want to publish
any such function name.  However, we do want to use it in applications
like virsh, libvirtd and libvirt_proxy that link with libvirt.  To that
end, this change moves that function definition (along with the nearly
identical saferead) into a new file, util-lib.c.  To avoid maintaining
separate copies of even such small functions, we simply include that new
file from util.c.  Then, the separate applications that need to use
safewrite simply compile and link with util-lib.c.

Of course, this does mean that each of those applications will
containing two copies of these functions.  However, the functions
are so small that it's not worth worrying about that.

* src/util.c (saferead, safewrite): Move function definitions to
util-lib.c and include that .c file.
* src/util-lib.c (saferead, safewrite): New file.  Functions from src/util.c
with slight change (s/int r =/ssize_t r =/) to reflect read/write return type.
* src/util-lib.h: Declare the two moved functions.
* src/util.h: Remove declarations.  Include src/util-lib.h.
* proxy/Makefile.am (libvirt_proxy_SOURCES): Add src/util-lib.c.
* qemud/Makefile.am (libvirtd_SOURCES): Likewise.
* src/Makefile.am (virsh_SOURCES): Add util-lib.c.  Remove some SP-before-TAB.
2008-02-22 15:53:13 +00:00
Daniel P. Berrange
104cc98636 Update to work with new policy kit APIs 2008-02-20 16:54:35 +00:00
Daniel P. Berrange
049ff4e572 Set close-on-exec flag for signal pipe 2008-02-20 15:47:06 +00:00
Daniel P. Berrange
f48160cfb4 Add remote daemon support for storage APIs 2008-02-20 15:22:35 +00:00
Mark McLoughlin
3da5504e68 Fix gcc-4.3.0 "inlining failed" warning.
* src/internal.h: move xstrol() variants from here ...

* src/util.[ch]: ... to here and rename to virStrToLong()

* src/libvirt_sym.version: export __virStrToLong_i() for
virsh and qemud.

* src/nodeinfo.c, src/stats_linux.c, src/virsh.c,
  src/xend_internal.c, qemud/qemud.c: replace xstrtol()
calls with virStrToLong()

* src/nodeinfo.h: don't include internal.h, which was only
needed for xstrtol(), but instead include libvirt.h which
is suffificient for the declarations in the header.
2008-02-08 09:15:16 +00:00
Jim Meyering
db4037e592 Enable another syntax-check rule.
* Makefile.cfg (local-checks-to-skip): Remove sc_no_have_config_h.
* qemud/mdns.c: Remove "#ifdef HAVE_CONFIG_H".
* Makefile.maint (sc_no_have_config_h): Tighten up regexp,
so that the above mention of "HAVE_CONFIG_H" doesn't match.
* .x-sc_no_have_config_h: New file, to exempt gnulib/ straggler.
2008-02-07 19:20:36 +00:00
Daniel Veillard
55f7de7821 missing ')'
* qemud/remote.c: fix a missing ')' introduced earlier
Daniel
2008-02-07 17:03:17 +00:00
Jim Meyering
247df6e448 Mark all qemudLog diagnostics for translation.
* po/POTFILES.in: Add names of many new files.
* Makefile.maint (err_func_re): Add qemudLog.
Mark diagnostics with _(...).  Split some long lines.
* qemud/qemud.c (remoteCheckCertFile, remoteInitializeGnuTLS):
(qemudDispatchSignalEvent, qemudSetCloseExec, qemudSetNonBlock):
(qemudWritePidFile, qemudListenUnix, remoteMakeSockets):
(remoteListenTCP, qemudInitPaths, qemudInitialize):
(qemudNetworkInit, remoteInitializeTLSSession, remoteCheckDN):
(remoteCheckCertificate, remoteCheckAccess, qemudDispatchServer):
(qemudClientReadBuf, qemudDispatchClientRead):
(qemudClientWriteBuf, qemudDispatchClientWrite, qemudOneLoop):
(remoteConfigGetStringList, checkType, GET_CONF_STR):
(remoteConfigGetAuth, remoteReadConfigFile, main):
* qemud/remote.c (remoteDispatchAuthSaslInit, remoteSASLCheckSSF):
(remoteSASLCheckAccess, remoteDispatchAuthSaslStart):
(remoteDispatchAuthSaslStep, remoteDispatchAuthSaslInit):
(remoteDispatchAuthSaslStart, remoteDispatchAuthSaslStep):
(qemudGetSocketIdentity, remoteDispatchAuthPolkit):
* src/iptables.c (notifyRulesUpdated, MAX_FILE_LEN, iptRulesSave):
(iptRulesReload):
* src/qemu_conf.c (qemudExtractVersionInfo, qemudLoadConfig):
(qemudLoadNetworkConfig, qemudScanConfigDir):
* src/qemu_driver.c (qemudSetCloseExec, qemudSetNonBlock):
(qemudAutostartConfigs, qemudStartup, qemudReload):
(qemudWaitForMonitor, qemudStartVMDaemon, qemudVMData):
(qemudShutdownVMDaemon, qemudStartNetworkDaemon):
(qemudShutdownNetworkDaemon, qemudMonitorCommand):
(qemudDomainUndefine, qemudNetworkUndefine):
* src/uuid.c (virUUIDGenerate):
* src/xm_internal.c (xenXMAttachInterface):
2008-02-07 16:50:17 +00:00
Jim Meyering
e04912a9f0 Remove all trailing blanks; turn on the rule to detect them.
* Makefile.cfg (local-checks-to-skip): Remove sc_trailing_blank.
* .x-sc_trailing_blank: New file, to exempt the few binary files.
2008-02-05 19:27:37 +00:00
Jim Meyering
2c72562374 Enable the <assert.h>-checking test; fix violations.
* Makefile.cfg (local-checks-to-skip)
[sc_prohibit_assert_without_use]: Enable.
* qemud/mdns.c: Don't include <assert.h>; no uses of assert here.
* qemud/qemud.c: Likewise.
* qemud/remote.c: Likewise.
2008-01-29 18:20:25 +00:00
Jim Meyering
a378188194 Enable the <config.h>-requiring test; fix violations
Use <config.h>, not "config.h", per autoconf documentation.
* Makefile.cfg (local-checks-to-skip) [sc_require_config_h]: Enable.
* .x-sc_require_config_h: New file, to list exempted files.
* Makefile.am (EXTRA_DIST): Add .x-sc_require_config_h.
2008-01-29 18:15:54 +00:00
Jim Meyering
acff2d11ac Given code like if (foo) free (foo); remove the useless "if (foo) " part.
Likewise, given if (foo != NULL) free (foo); remove the useless "if" test.

* proxy/libvirt_proxy.c: Remove unnecessary "if" test before free.
* python/generator.py: Likewise.
* qemud/qemud.c: Likewise.
* src/buf.c: Likewise.
* src/conf.c: Likewise.
* src/hash.c: Likewise.
* src/iptables.c: Likewise.
* src/libvirt.c: Likewise.
* src/openvz_conf.c: Likewise.
* src/qemu_conf.c: Likewise.
* src/qemu_driver.c: Likewise.
* src/remote_internal.c: Likewise.
* src/test.c: Likewise.
* src/virsh.c: Likewise.
* src/virterror.c: Likewise.
* src/xen_internal.c: Likewise.
* src/xen_unified.c: Likewise.
* src/xend_internal.c: Likewise.
* src/xm_internal.c: Likewise.
* src/xml.c: Likewise.
* src/xmlrpc.c: Likewise.
* src/xs_internal.c: Likewise.
* tests/testutils.c: Likewise.
* tests/xencapstest.c: Likewise.
* tests/xmconfigtest.c: Likewise.
2008-01-29 17:41:07 +00:00
Richard W.M. Jones
9cf2573c8a Portability improvements for Mac OS X.
* configure.in: Use PortableXDR if available.
        * qemud/internal.h: Use "socketcompat.h".
        * qemud/qemud.c: Use <signal.h>.
        * src/sexpr.c: Use <stdlib.h> instead of <malloc.h>.
        * src/socketcompat.h: Include <sys/un.h> for Mac OS X.
2008-01-23 14:54:41 +00:00
Jim Meyering
49230350fa Use a variable name as sizeof argument, not a type name.
Given code like: T *var = calloc (n, sizeof (T));
Convert to this: T *var = calloc (n, sizeof (*var));
This first-cut change adjusts all malloc, calloc, and
realloc statements.

The only binary differences are in remote_internal.c
(due to the bug fix) and in xmlrpc.c (due to factorization).

* python/libvir.c: As above.
* qemud/event.c: Likewise.
* qemud/mdns.c: Likewise.
* qemud/qemud.c: Likewise.
* qemud/remote.c: Likewise.
* src/bridge.c: Likewise.
* src/buf.c: Likewise.
* src/conf.c: Likewise.
* src/hash.c: Likewise.
* src/iptables.c: Likewise.
* src/openvz_conf.c: Likewise.
* src/qemu_conf.c: Likewise.
* src/qemu_driver.c: Likewise.
* src/test.c: Likewise.
* src/xen_internal.c: Likewise.
* src/xen_unified.c: Likewise.
* src/xm_internal.c: Likewise.
* src/xml.c: Likewise.
* tests/qemuxml2argvtest.c: Likewise.
* src/xmlrpc.c (xmlRpcValuePtr): Likewise, and minor factorization.
* src/remote_internal.c (remoteAuthMakeCredentials): Use the right
type when allocating space for an array of cred _pointers_.
2007-12-11 21:57:29 +00:00
Jim Meyering
5a190594f4 Test libvirtd's config-processing code.
And remove a minor diagnostic inconsistency.
* tests/daemon-conf: New test.
* tests/Makefile.am (TESTS_ENVIRONMENT): Prepend qemud/ to PATH,
so we can invoke libvirtd without an absolute name.
(test_scripts): Add daemon-conf.
* qemud/qemud.c (remoteConfigGetAuth): Use checkType,
rather than open-coding it with a different diagnostic.
2007-12-11 21:20:13 +00:00
Jim Meyering
7ff9eebeba qemud/qemud.c (qemudInitPaths): Remove unused code. 2007-12-06 16:41:43 +00:00
Richard W.M. Jones
21e0a86f25 Thu Dec 6 16:30:00 UTC 2007 Richard W.M. Jones <rjones@redhat.com>
* configure.in, qemud/Makefile.am: Added a --without-libvirtd
	  configure option.
2007-12-06 16:34:48 +00:00
Jim Meyering
87396257fc Include "config.h".
* qemud/event.c: Likewise.
* src/buf.c: Likewise.
* src/hash.c: Likewise.
* src/nodeinfo.c: Likewise.
* src/openvz_conf.c: Likewise.
* src/proxy_internal.c: Likewise.
* src/virterror.c: Likewise.
* src/xmlrpc.c: Likewise.
* src/xs_internal.c: Likewise.
* tests/conftest.c: Likewise.
* tests/xmlrpctest.c: Likewise.
This fixes a mingw build failure reported by Rich Jones.

Author: Jim Meyering <meyering@redhat.com>
2007-12-05 21:40:15 +00:00
Jim Meyering
261e7581b1 Use gnulib, starting with its physmem and getaddrinfo modules.
New files go into these directories:
  gnulib/lib
  gnulib/m4
  gnulib/tests

* bootstrap: A wrapper around gnulib-tool.
* configure.in: Invoke gl_EARLY and gl_INIT, being careful to put gl_EARLY
before any macro that uses AC_COMPILE_IFELSE.
(AC_OUTPUT): Add lib/Makefile and gl-tests/Makefile.  Remove m4/Makefile.
* Makefile.am (SUBDIRS): Add gnulib/lib and remove m4.  Add gnulib/tests
early enough that those tests run before any libvirt unit tests.
* m4/Makefile.am: Remove file.  Not needed.
* src/Makefile.am (INCLUDES): Add -I$(top_srcdir)/gnulib/lib -I../gnulib/lib.
(LDADDS, libvirt_la_LIBADD): Add ../gnulib/lib/libgnu.la.
* src/nodeinfo.c: Include "physmem.h".
* qemud/qemud.c, src/remote_internal.c: Include "getaddrinfo.h".
(MEMINFO_PATH, linuxNodeInfoMemPopulate): Remove definitions.
(virNodeInfoPopulate): Use physmem_total, not linuxNodeInfoMemPopulate.
* tests/Makefile.am (INCLUDES): Add -I$(top_srcdir)/gnulib/lib -I../gnulib/lib.
(LDADDS): Add ../gnulib/lib/libgnu.la.
* qemud/Makefile.am (libvirtd_LDADD): Add ../gnulib/lib/libgnu.la.
* tests/nodeinfotest.c (linuxTestCompareFiles): No longer read total
memory from a file.
Update expected output not to include "Memory: NNNN"
* tests/nodeinfodata/linux-nodeinfo-1.txt:
* tests/nodeinfodata/linux-nodeinfo-2.txt:
* tests/nodeinfodata/linux-nodeinfo-3.txt:
* tests/nodeinfodata/linux-nodeinfo-4.txt:
* tests/nodeinfodata/linux-nodeinfo-5.txt:
* tests/nodeinfodata/linux-nodeinfo-6.txt:
* src/test.c [WITH_TEST]: Remove definition of _GNU_SOURCE that
would conflict with the one now in "config.h".
* autogen.sh: Add -I gnulib/m4.
* src/conf.c, src/sexpr.c: Don't define _GNU_SOURCE.
Instead, include "config.h".
* qemud/qemud.c: Remove definition of _GNU_SOURCE.
* src/openvz_driver.c: Likewise.
* src/qemu_driver.c: Likewise.
* src/remote_internal.c: Likewise.

* configure.in: Use AC_CONFIG_AUX_DIR(build-aux), so that a bunch
of gettextize-generated files go into build-aux/, rather than in
the top-level directory.
* .cvsignore: Adjust.
* build-aux/.cvsignore: New file.


Author: Jim Meyering <meyering@redhat.com>
2007-12-05 21:31:07 +00:00
Daniel Veillard
1d1cf57b9b * qemud/remote.c: rename remoteDispatchAuthPolkitInit to
remoteDispatchAuthPolkit, the no-op init call when policykit
  is not available
Daniel
2007-12-05 20:45:37 +00:00
Daniel P. Berrange
2add6b3026 Fix compile issues when SASL is disabled 2007-12-05 19:25:44 +00:00
Daniel P. Berrange
60a6bbe6c5 Re-add listen_tcp/listen_tls config params accidentally lost 2007-12-05 18:56:27 +00:00
Daniel P. Berrange
282342c1c5 Added PolicyKit authentication support 2007-12-05 18:21:27 +00:00
Daniel P. Berrange
f8f1977826 Added missing sasl config file 2007-12-05 18:21:04 +00:00
Daniel P. Berrange
cfb62c9d5e Add whitelisting of users. Remove IP whitelisting. Make auth schemes configurable 2007-12-05 15:34:05 +00:00
Daniel P. Berrange
bb5371f668 Add data encryption using SASL SSF layer 2007-12-05 15:27:08 +00:00
Daniel P. Berrange
1b1d647439 Initial integration of SASL authentication, working for Kerberos only 2007-12-05 15:24:15 +00:00
Richard W.M. Jones
4bfdb77aae Wed Dec 5 13:48:00 UTC 2007 Richard W.M. Jones <rjones@redhat.com>
* python/libvir.c, python/libvirt_wrap.h, qemud/qemud.c,
        qemud/remote.c, src/internal.h, src/openvz_conf.c,
        src/openvz_driver.c, src/proxy_internal.h, src/qemu_conf.c,
        src/qemu_driver.c, src/remote_internal.h, src/test.h, src/util.c,
        src/xen_unified.c, src/xen_unified.h, tests/nodeinfotest.c,
        tests/qemuxml2argvtest.c, tests/qemuxml2xmltest.c, tests/reconnect.c,
        tests/sexpr2xmltest.c, tests/virshtest.c, tests/xencapstest.c,
        tests/xmconfigtest.c, tests/xml2sexprtest.c:
        Change #include <> to #include "" for local includes.
        Removed many includes from src/internal.h and put them in
        the C files which actually use them.
        Removed <ansidecl.h> - unused.
        Added a comment around __func__.
        Removed a clashing redefinition of VERSION symbol.
        All limits (PATH_MAX etc) now done in src/internal.h, so we
        don't need to include those headers in other files.
2007-12-05 13:56:22 +00:00
Jim Meyering
025c5df87b Avoid compile failure when HAVE_AVAHI is not defined.
* qemud/qemud.c (remoteReadConfigFile): Remove some of the
"#ifdef HAVE_AVAHI" guards around uses of mdns_name and mdns_adv.
2007-12-03 19:45:00 +00:00
Jim Meyering
c3c80a183e Detect heap allocation failure; factor out some duplication.
* qemud/qemud.c (tls_port, tcp_port, mdns_name, tls_allowed_ip_list):
  (tls_allowed_dn_list): Remove "const", now that we free these.
  (unix_sock_rw_mask): Rename from unix_sock_rw_perms, so that
  the latter name can be used as a local string variable, so that the
  variable name matches the config attribute name.
  (unix_sock_ro_mask): Rename from unix_sock_ro_perms, likewise.
  (remoteCheckDN, remoteCheckAccess): Adapt to const removal.
  (qemudDispatchServer): Check for heap allocation failure.
  (remoteConfigGetStringList): New function, based on code from Dan Berrangé.
  (CHECK_TYPE): Remove macro.
  (checkType): New function.
  (GET_CONF_INT, GET_CONF_STR): New macros.
  (remoteReadConfigFile): Use new macros to avoid duplication and to
  check for allocation failure.
* src/conf.h (virConfTypeName): New static inline function.
2007-11-30 15:43:42 +00:00
Jim Meyering
db444b2264 add a gcc-printf attribute to remoteDispatchError
Author: Jim Meyering <meyering@redhat.com>
2007-11-26 17:41:26 +00:00
Richard W.M. Jones
fe9d013c3e Mon Nov 26 11:56:00 UTC 2007 Richard W.M. Jones <rjones@redhat.com>
* qemud/qemud.c: If AF_INET6 not defined, don't test for it.
2007-11-26 11:56:41 +00:00
Richard W.M. Jones
31527e43d9 Mon Nov 26 11:54:00 UTC 2007 Richard W.M. Jones <rjones@redhat.com>
* qemud/internal.h: Miscellaneous header file fixes to allow
	  libvirtd to build under Cygwin.
2007-11-26 11:54:29 +00:00
Richard W.M. Jones
1ef8005d65 Mon Nov 26 11:44:00 UTC 2007 Richard W.M. Jones <rjones@redhat.com>
* configure.in, qemud/Makefile.am: Check for buggy glibc rpcgen
	  and only run Perl fix-up script for that.
2007-11-26 11:45:26 +00:00
Jim Meyering
3e4ea06702 Fix a typo in a variable name.
* qemud/qemud.c: Check crl_file, not ca_file, for revocation list,
in remoteInitializeGnuTLS.


Author: Jim Meyering <meyering@redhat.com>
2007-11-21 23:16:11 +00:00
Daniel P. Berrange
6bb2d376b5 Refactor processing of incoming packets to remove dead code 2007-11-17 11:17:48 +00:00
Jim Meyering
d5117af382 Make "make distcheck" work.
* Makefile.am: Expand some "*" wildcards, and (for now) disable
  the relatively unimportant, distuninstallcheck target.
  Fix a few redirect-directly-to-target bugs.
  Add a few $(srcdir)/ prefixes and add an uninstall-local rule.
* docs/Makefile.am: More of the same.  Split some long lines.
* python/Makefile.am: Likewise.
* python/tests/Makefile.am: Likewise.
* qemud/Makefile.am: Likewise.
* tests/Makefile.am: Remove the directories already listed in SUBDIRS.
* docs/examples/index.py: Adapt to produce the desired changes in
  docs/examples/Makefile.am. Also, sort *.c, so results are reproducible,
  and emit a comment telling emacs and vi that the file is read-only.
* docs/examples/Makefile.am: Regenerate.


Author: Jim Meyering <meyering@redhat.com>
2007-11-15 13:04:28 +00:00
Jim Meyering
5d25419188 Parse integers more carefully, cont'd.
* qemud/qemud.c: Replace uses of strtol with uses of xstrtol_i.
  Avoid overflow for very large --timeout=N values.
* src/nodeinfo.c: In linuxNodeInfoMemPopulate and
  linuxNodeInfoCPUPopulate, use xstrtol_i rather than strtol.
  Unlike in qemud.c, here we allow trailing "isspace", and in
  the case of "cpuinfo cpu MHz", also allow a "." terminator,
  since we ignore the decimal and any following digits.
* src/internal.h: Define xstrtol_ui, too.


Author: Jim Meyering <meyering@redhat.com>
2007-11-14 10:53:05 +00:00
Jim Meyering
5f78eccd1c Make qemud's install-init rule work in a non-srcdir build.
* qemud/Makefile.am: In the install-init, remove an unneeded
$(srcdir)/ prefix.


Author: Jim Meyering <meyering@redhat.com>
2007-11-13 14:39:20 +00:00
Daniel P. Berrange
85ef19558c Added default example configs for libvirtd/qemu driver 2007-10-12 19:54:15 +00:00
Daniel P. Berrange
27b4293285 Switch to use pkg-config to find gnutls 2007-09-19 17:42:40 +00:00
Daniel P. Berrange
e1f4399150 Added config params to customize UNIX sock perms & ownership 2007-09-19 02:28:01 +00:00
Daniel P. Berrange
8f4e48edff Added support for Avahi mDNS advertisement 2007-09-19 01:56:55 +00:00
Daniel P. Berrange
c79514fda0 Allow updating of existing timers & file handle event watches 2007-09-19 01:27:32 +00:00
Richard W.M. Jones
442a15770c Tue Aug 21 10:58:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* src/libvirt.c (virDomainBlockStats, virDomainInterfaceStats):
	  Added block device and network interface statistics.
	* src/xen_internal.c: Support for stats from Xen domains.
	* qemud/remote.c, qemud/remote_protocol.x, qemud/remote_internal.c:
	  Support for fetching device and network interface stats
	  across remote connections.
	* src/virsh.c: Added 'virsh domblkstat' and 'virsh domifstat'
	  commands to display stats.
	* docs/libvir.html, docs/hvsupport.html: Updated hvsupport
	  documentation.
2007-08-21 10:08:12 +00:00
Richard W.M. Jones
81005437f4 Tue Aug 21 10:21:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* src/libvirt.c (virDomainMigrate): Added virDomainMigrate
	  API call.
	* src/xend_internal.c, src/xen_unified.c: Support for migration
	  of Xen domains.
	* src/xen_internal.c: Xen capabilities indicates level of
	  support for migration.
	* qemud/remote.c, qemud/remote_protocol.x, src/remote_internal.c:
	  Support for migration between remote hypervisors.
	* src/virsh.c: Added 'virsh migrate' command.
	* docs/libvir.html, docs/hvsupport.html: Updated hvsupport
	  documentation.
2007-08-21 09:31:12 +00:00
Richard W.M. Jones
19e21d8672 Tue Aug 21 09:56:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* qemud/remote.c, qemud/remote_protocol.x, src/driver.h,
          src/internal.h, src/libvirt.c, src/libvirt_sym.version,
          src/qemu_driver.c, src/remote_internal.c, src/test.c:
          Add a private interface so that libvirt.c coordination
          functions can detect the availability of features in
          underlying drivers, using the VIR_DRV_SUPPORTS_FEATURE
          macro.
2007-08-21 09:03:55 +00:00
Daniel P. Berrange
46b433f069 Cleanup UUID apis & constants 2007-08-09 20:19:12 +00:00
Richard W.M. Jones
c47b4c8295 Tue Aug 7 14:18:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* qemud/qemud.c: Fix --config/-f option to libvirtd.
2007-08-07 13:24:22 +00:00
Richard W.M. Jones
c946c197fe Tue Aug 7 13:58:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* acinclude.m4, configure.in: ./configure option
          --disable-stack-protector.
        * src/gnutls_1_0_compat.h: Compatibility with GnuTLS 1.0.
        * src/bridge.c: If no bridge ioctls, give an error at runtime.
2007-08-07 13:02:35 +00:00
Daniel P. Berrange
f3df229592 Fixed over eager caching of virDomainPtr objects in libvirt daemon 2007-07-24 14:21:03 +00:00
Daniel P. Berrange
c0a3f03f4d Clean virConnectPtr object on client disconnect. Fix cleanup when access checks fail 2007-07-12 15:04:05 +00:00
Daniel P. Berrange
a219c3aba8 Improved error checking for cert/key files 2007-07-12 14:54:45 +00:00
Daniel Veillard
44b20d1056 Ignore libvirtd.init, Daniel 2007-07-06 07:11:24 +00:00
Daniel Veillard
b454313c5d * src/xend_internal.c: fix typo in function comment
* po/*: updated the localizations
* qemud/libvirtd.init.in: LSB'ization of the init script and
  couple of fixups
Daniel
2007-07-05 16:04:11 +00:00
Daniel P. Berrange
a07f0a00da Move the QEMU driver & utility files from qemud/ to src/ 2007-06-27 00:12:29 +00:00
Daniel P. Berrange
a78a6602df Move QEMU driver into main libvirt.so and use single daemon for all drivers 2007-06-26 23:48:46 +00:00
Daniel P. Berrange
b6b8583663 Rename the daemon to libvirtd 2007-06-26 23:04:49 +00:00
Daniel P. Berrange
de5bd324dc Rename init script 2007-06-26 23:03:48 +00:00
Daniel P. Berrange
ec834baa9c Remove use of libsysfs from bridge code 2007-06-26 23:01:54 +00:00
Daniel P. Berrange
70da0494c1 Add driver API for global startup/shutdown/reload hooks 2007-06-26 22:56:14 +00:00
Daniel P. Berrange
25905a78f2 Switch to using internal event API for QEMU driver 2007-06-26 22:51:01 +00:00
Daniel P. Berrange
133fdfe9e8 Move code relating to vm/network lookups into conf.c 2007-06-26 22:42:47 +00:00
Daniel P. Berrange
a041de159f Update to comply with internal driver API 2007-06-26 22:39:53 +00:00
Daniel P. Berrange
2f02d292da Move virBuffer functions into src/buf.c,h 2007-06-26 22:33:22 +00:00
Daniel P. Berrange
675ba3170d Rename buffer functions 2007-06-26 22:21:22 +00:00
Daniel P. Berrange
3d6a119de8 Rename UUID functions 2007-06-26 22:19:38 +00:00
Daniel P. Berrange
b63f8cc9f9 Split up struct qemud_server to move qemu stuff into conf.c 2007-06-26 22:13:21 +00:00
Daniel P. Berrange
498cc57835 Updated to use virError object & APIs for error reporting 2007-06-26 20:51:00 +00:00
Daniel P. Berrange
2dd21783ec Move code dealing with global startup/shutdown/reload into driver.c 2007-06-26 20:45:21 +00:00
Daniel P. Berrange
9f25d22a6f Move process lifecycle code from qemud.c to driver.c 2007-06-26 20:41:25 +00:00
Daniel P. Berrange
8ebda57b2e Move capabilities XML generation into driver.c 2007-06-26 19:49:50 +00:00
Daniel P. Berrange
0cb54b45f1 Re-factoring event loop 2007-06-26 19:11:00 +00:00
Richard W.M. Jones
2be812bbc9 Tue Jun 26 12:40:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* include/libvirt/libvirt.h.in, src/libvirt.c: (and numerous
	  other files) Added support for virConnectGetHostname
	  and virConnectGetURI calls.
2007-06-26 11:42:46 +00:00
Richard W.M. Jones
56cd4140d4 Mon Jun 25 09:19:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* qemud/remote.c, src/remote_internal.c: Fix virDomainGetVcpus
	  in the remote case.
	* src/libvirt.c: Allow virConnectListDomains,
	  virConnectListDefinedDomains, virConnectListNetworks and
	  virConnectListDefinedNetworks to work in the case where
	  they are called with maxids/maxnames == 0.
	* src/remote_internal.c: Fix virDomainGetMaxVcpus in remote
	  case so that it copies sufficient data.
	* src/xen_unified.c: Remove autostart functions.
2007-06-25 08:23:10 +00:00
Richard W.M. Jones
137847e55d Fri Jun 22 14:15:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* qemud/remote.c, qemud/remote_protocol.x, src/remote_internal.c:
	  Add support for setting scheduler parameters over remote
	  connections.
2007-06-22 13:16:10 +00:00
Daniel Veillard
65d0b1910b * qemud/driver.c: apply patch from Jim Meyering to handle realloc
failure without leaking.
Daniel
2007-06-22 10:14:48 +00:00
Richard W.M. Jones
a770b4c357 Fri Jun 15 14:42:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* src/test.c, src/virsh.c, src/xend_internal.c, src/xm_internal.c:
	  Replace calls to deprecated {,r}index with str{,r}chr.
2007-06-15 13:44:19 +00:00
Richard W.M. Jones
0bbe8da810 Some fixes for RPM builds:
Mon Jun 11 14:10:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>

	* libvirt.spec.in: BuildRequires gnutls-devel and
	  set the remote PIDfile when configuring.
	* qemud/Makefile.am: Distribute the Perl scripts.
	* qemud/qemud.c: Only use QEMUD_DEBUG when ENABLE_DEBUG
	  is defined.
2007-06-11 13:24:45 +00:00
Richard W.M. Jones
9172d0ec27 Mon Jun 11 12:49:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* qemud/Makefile.am, qemud/dispatch.c, qemud/dispatch.h,
	  qemud/internal.h, qemud/protocol.c,
	  qemud/protocol.h, qemud/protocol.x, qemud/qemud.c:
	  libvirt_qemud server-side modifications to use
	  XDR-based protocol instead of homebrew (Dan Berrange).
	  QEMUD server modified to dispatch calls from remote
	  clients (Richard Jones).  Added TLS support (Richard Jones).
	  Added TCP & IPv6 support (Richard Jones).
	  Additional configuration file, command-line handling, and
	  usage (Richard Jones).
	* qemud/conf.c: Remove unnecessary header file.
2007-06-11 12:04:54 +00:00
Richard W.M. Jones
b9f8610a1e Mon Jun 11 12:45:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* qemud/remote.c, qemud/remote_generate_stubs.pl,
	  qemud/remote_dispatch_localvars.h,
	  qemud/remote_dispatch_proc_switch.h,
	  qemud/remote_dispatch_prototypes.h: Server side of
	  the remote patch, deals with call dispatch.
2007-06-11 11:47:01 +00:00
Richard W.M. Jones
fc23185e84 Mon Jun 11 12:34:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* qemud/remote_protocol.x qemud/rpcgen_fix.pl
	  qemud/remote_protocol.c qemud/remote_protocol.h: Client/server
	  protocol used by remote.
2007-06-11 11:36:17 +00:00
Richard W.M. Jones
0832c58c0a +Tue May 29 15:41:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
+
+       * TODO: Added a note about requiring C++ compiler because of a
+         possible problem with libtool autoconf macros.
+       * docs/examples/Makefile.am, proxy/Makefile.am, qemud/Makefile.am,
+         src/Makefile.am, tests/Makefile.am: Pass $(WARN_CFLAGS) when
+         linking, so if -fstack-protector is there, gcc will link to
+         the stack protector library.
+       * tests/xencapstest.c: Allow this test to compile when Xen
+         libraries are not enabled.
+
2007-05-29 14:44:15 +00:00
Daniel P. Berrange
f58ac222be Fixed missing return value checks on write 2007-05-18 19:00:37 +00:00
Daniel P. Berrange
85e9f9fb47 Added per-VM logging 2007-05-18 18:36:24 +00:00
Daniel P. Berrange
ef38afcfd4 Fixed stack overflow. Fixed bridge network 2007-05-14 15:41:57 +00:00
Richard W.M. Jones
cbad699ffe Thu May 11 13:23:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* .cvsignore, qemud/uuid.c: Add some generated files to .cvsignore.
          Remove an unused #include from uuid.c.
2007-05-11 12:28:10 +00:00
Daniel P. Berrange
6723c50b5c Support <on_reboot> action 2007-05-03 16:10:40 +00:00
Mark McLoughlin
f8fa07c107 Wed May 2 17:55:12 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/libvirtd.in: synchronously restart the daemon in
        order to avoid https://bugzilla.redhat.com/238492
2007-05-02 16:56:03 +00:00
Daniel P. Berrange
6a12fee135 Use --strict-order with dnsmasq 2007-05-02 15:51:14 +00:00
Daniel P. Berrange
733c5a2350 Check for existance of QEMU binary 2007-04-16 13:14:28 +00:00
Daniel P. Berrange
cc05eaf803 Fixed integer overflow in QEMU guest CPU time 2007-04-15 19:58:44 +00:00
Daniel P. Berrange
19c6ddcce5 Fixed up IPtables rules to be more strict 2007-04-10 23:17:46 +00:00
Richard W.M. Jones
ad8bef84d1 Wed Apr 4 10:30:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* configure.in, qemud/Makefile.am: Set QEMUD_PID_FILE macro
	  correctly (expand ${prefix} in Makefile).
	* qemud/qemud.c: Add command line help.
	* ChangeLog: Remove a CVS '>>>>' conflict line which had
	  been committed inadvertently.
2007-04-04 09:32:00 +00:00
Mark McLoughlin
8ba930c380 Wed Mar 30 17:25:33 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/iptables.c: As suggested by danpb, make libvirt_qemud
        handle SIGHUP by re-loading the iptables rules.
2007-03-30 16:25:02 +00:00
Mark McLoughlin
812b34fdd8 Wed Mar 30 17:24:48 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/iptables.c: Re-factor things a little so that we
        maintain the rules in memory even when we're not going
        to write them to disk.
2007-03-30 16:24:13 +00:00
Mark McLoughlin
42d4b85d86 Wed Mar 30 17:21:08 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/iptables.c: Remove the target interface parameter
        from iptablesPhysdevForward(). This rule is intended to
        allow frames to be forwarded across the bridge from the
        supplied bridge port. In this context, the --out parameter
        would match the outgoing bridge port, which will never
        be network->def->forwardDev.
2007-03-30 16:23:04 +00:00
Mark McLoughlin
27c1d7b9fa Wed Mar 30 17:17:15 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/iptables.c: ensure iptablesContext is zereod out
        when allocating so we don't try and free an invalid pointer.
2007-03-30 16:20:19 +00:00
Daniel P. Berrange
1109ba44e2 Fixed bridge networking for QEMU 2007-03-27 14:46:45 +00:00
Richard W.M. Jones
17d0bf6454 * qemud/qemud.c: If using FORTIFY_SOURCE, remove warning
warn_unused_result by counting errors found in signal
	  handler and logging them in the main loop.
2007-03-27 10:28:45 +00:00
Daniel Veillard
80fb564b0d * TODO qemud/conf.c src/virsh.c src/xend_internal.c src/xs_internal.c:
replaced all sprintf instances by snprintf ones
Daniel
2007-03-23 16:15:07 +00:00
Daniel Veillard
fb624fbecf * qemud/iptables.c qemud/qemud.c src/conf.c src/hash.c src/libvirt.c
src/virsh.c src/xm_internal.c: change malloc/memset(0) pairs to
  using calloc()
Daniel
2007-03-22 18:30:57 +00:00
Daniel P. Berrange
07e38ad6e8 Remove realloc call which caused overflow 2007-03-21 15:32:32 +00:00
Daniel Veillard
f2ffea858c * qemud/buf.c src/xml.c: clarified virBufferGrow (and bufferGrow)
routines documentation and fixes a couple of places where this
  was misused as pointed by Daniel Berrange.
Daniel
2007-03-21 15:24:56 +00:00
Daniel P. Berrange
07fb9d64b0 Fixed buffer overflow in qemu networking 2007-03-20 16:50:42 +00:00
Daniel Veillard
5af3ccc8f8 * qemud/protocol.h src/internal.h: applied patch from Jim Meyering
removing global variables (using named enum instead).
Daniel
2007-03-19 14:18:05 +00:00
Daniel Veillard
9e170a88cd * qemud/conf.c qemud/driver.h qemud/internal.h src/internal.h
src/sexpr.h src/test.c src/xm_internal.c src/xml.c src/xml.h:
  applied patch from Richard Jones adding check to printf-like
  functions and fixing the problems raised
Daniel
2007-03-16 15:03:21 +00:00
Daniel P. Berrange
33134578b3 Fixed two bugs in QEMU impl of capabilities call 2007-03-15 18:23:00 +00:00
Daniel Veillard
d3d6ea5a80 Oops forgot them, daniel 2007-03-15 17:30:04 +00:00
Daniel Veillard
635ae38979 * include/libvirt/libvirt.h[.in] include/libvirt/virterror.h
proxy/libvirt_proxy.c qemud/Makefile.am qemud/conf.c qemud/conf.h
  qemud/dispatch.c qemud/internal.h qemud/protocol.h
  src/driver.h src/internal.h src/libvirt.c src/libvirt_sym.version
  src/proxy_internal.c src/proxy_internal.h src/qemu_internal.c
  src/test.c src/virsh.c src/virterror.c src/xen_internal.c
  src/xen_internal.h src/xend_internal.c src/xm_internal.c
  src/xml.h src/xs_internal.c: applied patch from Richard Jones
  adding virConnectGetCapabilities(), plus various small little
  fixes
* docs/*: fixed the api extractor script and regenerated
Daniel
2007-03-15 17:24:56 +00:00
Daniel P. Berrange
a534de5281 Improve support for virtual networking 2007-03-13 22:43:22 +00:00
Daniel P. Berrange
a274fe6574 Generate random UUID for network config 2007-03-12 14:10:14 +00:00
Daniel P. Berrange
03d48a87ed Fix double free in XML parsing 2007-03-09 03:08:34 +00:00
Daniel P. Berrange
aeccfe85be Make sure to create system socket directory 2007-03-08 23:31:28 +00:00
Daniel P. Berrange
8ebe070edc Don't try to create default.xml autostart link if it already exists 2007-03-08 14:00:00 +00:00
Mark McLoughlin
60796a554b Wed Mar 07 11:53:22 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/default-network.xml: add a default network

        * qemud/Makefile.am: install it, and the autostart symlink

        * libvirt.spec.in: update
2007-03-07 11:54:29 +00:00
Daniel P. Berrange
8cb208cd57 Fixed unlink of readonly mode socket 2007-03-06 16:51:48 +00:00
Daniel P. Berrange
b5dfaef4dc Wait for monitor at startup 2007-03-05 17:15:20 +00:00
Mark McLoughlin
868bcd72c7 Mon Mar 05 16:39:54 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/qemud.c: don't try and listen to a null socket
        path when run as a session daemon. Noticed by Rich Jones
2007-03-05 16:40:34 +00:00
Mark McLoughlin
7911e22ef7 Mon Mar 05 11:33:18 IST 2007 Mark McLoughlin <markmc@redhat.com:
* qemud/driver.c: fix a couple of invalid free() calls
2007-03-05 12:34:27 +00:00
Mark McLoughlin
51d5609843 Thu Mar 01 16:17:48 EST 2007 Mark McLoughlin <markmc@redhat.com>
* acinclude.m4: add LIBVIRT_COMPILE_WARNINGS, copied from
        GNOME but with a few more flags we'd been using.

        * configure.in: use that instead of setting CFLAGS
        directly.

        * proxy/Makefile.am, python/Makefile.am, qemud/Makefile.am,
          src/Makefile.am, tests/Makefile.am: use $(WARN_CFLAGS)
2007-03-01 16:18:55 +00:00
Mark McLoughlin
35f911c815 Mon Feb 26 15:33:08 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/conf.c, qemud/uuid.[ch]: move qemudParseUUID()
        into uuid.c
2007-02-26 15:34:24 +00:00
Mark McLoughlin
bce1d26ef3 Mon Feb 26 15:31:23 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/uuid.[ch]: add uuid generation code

        * qemud/Makefile.am: build it

        * qemud/conf.c: generate a UUID if not specified in the XML
2007-02-26 15:32:27 +00:00
Mark McLoughlin
d76f6b54a5 Mon Feb 26 15:20:56 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/conf.c: qemudAutostartConfigs(): print the detailed
        error message from a guest/network autostart failure.
2007-02-26 15:21:38 +00:00
Mark McLoughlin
e0952bad01 Mon Feb 26 14:20:18 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/conf.c: check for malloc failure in GenerateXML()
        and GenerateNetworkXML()

        * qemud/driver.c: free the XML output after returning it
        from the DumpXML() commands.
2007-02-26 14:21:21 +00:00
Daniel P. Berrange
73048102c0 Autodetect QEMU version and adjust command line arg accordingly 2007-02-23 17:15:18 +00:00
Daniel P. Berrange
66a55a4d48 Added init script to RPM. Fixup paths to init script & libvirt_qemud 2007-02-23 15:53:56 +00:00
Mark McLoughlin
fb9f90c942 Fri Feb 23 14:32:54 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/conf.c: don't load config files unless they have
        a ".xml" suffix, e.g. backup files ... we spew a warning
        later if we do.
2007-02-23 14:33:37 +00:00
Mark McLoughlin
fbcd25d3a7 Fri Feb 23 12:49:11 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/libvirtd.in: add init script for libvirt_qemud

        * qemud/Makefile.am: install it unless we were configured
        with --with-init-scripts=none

        * configure.in: add --with-init-scripts to allow us
        have different flavour init scripts
2007-02-23 12:50:58 +00:00
Mark McLoughlin
d758313d67 Fri Feb 23 12:46:44 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/qemud.c: add --pid-file and default to writing
        out a PID file to /var/run/libvirt_qemud.pid in daemon
        mode.

        * configure.in: add --with-pid-file arg
2007-02-23 12:48:36 +00:00
Mark McLoughlin
cf0e5df048 Fri Feb 23 12:45:08 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/Makefile.am: install libvirt_qemud in /usr/sbin
        instead of /usr/libexec

        * src/Makefile.am, src/qemu_internal.c: pass the correct
        path to libvirt
2007-02-23 12:46:35 +00:00
Mark McLoughlin
91e461ffdd Fri Feb 23 09:11:53 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/conf.c: actually autostart guests/networks at startup
        as appropriate.
2007-02-23 09:11:52 +00:00
Mark McLoughlin
08cfcae91b Fri Feb 23 09:03:19 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/internal.h: put the config directory paths in
        an array in order to make them easier to initialize,
        but still expose pointers to each of them as members
        in the server struct.

        * qemud/qemud.c: cleanup the config directory path
        initialization.
2007-02-23 09:10:28 +00:00
Mark McLoughlin
56d2857f95 Fri Feb 23 09:03:19 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/driver.c: maintain the autostart flag on disk
        using symlinks from the "autostart" directories to
        the corresponding config files.

        * qemud/internal.h: add paths to the autostart links
        to the vm/network structures and paths to the autostart
        dirs to the server struct.

        * qemud/qemud.c: initialize the server autostart dir
        patches.

        * qemud/conf.h: expose qemudEnsureDir()

        * qemud/conf.c: check the autostart symlinks when
        loading config files at startup.
2007-02-23 09:07:41 +00:00
Mark McLoughlin
efe538b709 Fri Feb 23 09:00:13 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/protocol.h: add the (domain/network)(Get/Set)Autostart
        requests and replies to the protocol.

        * src/qemu_internal.c: hookup the qemu driver autostart
        methods

        * qemud/dispatch.c, qemud/driver.[ch], internal.h: add
        the daemon side, but just set an in-memory autostart
        flag for now.
2007-02-23 09:03:25 +00:00
Mark McLoughlin
d954480892 Fri Feb 23 08:41:34 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/conf.[ch]: significantly re-factor qemudLoadConfigXML()
        so that "parse the XML", "assign the def to a VM" and
        "save the XML" operations are in separate functions.
        Add qemudRemoveInactiveVM() and qemudRemoveInactiveNetwork().
        Report errors when loading config files at startup. Check
        that a domain/network's name matches the config filename.

        * qemud/driver.c: update the Create() and Define() functions
        to explicitly parse/assign/save. Also, fix bug where if
        Create() failed, we would free the VM without removing it
        from the inactive list.

        * qemud/qemud.c: use qemudRemoveInactiveVM/Network()
2007-02-23 08:48:02 +00:00
Mark McLoughlin
593d20d400 Fri Feb 23 08:40:52 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/driver.[ch], qemud/dispatch.c: fix the fact that
        qemudDispatchDomainStart() doesn't report an error if the uuid
        lookup fails and also move the uuid lookup into the driver
        so that it matches the way we do Destroy().
2007-02-23 08:41:23 +00:00
Mark McLoughlin
6ecd4045aa Fri Feb 22 08:37:23 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/conf.c, qemud/driver.c, qemud/internal.h,
        qemud/qemud.c: Merge the ->activevms and ->inactivevms
        into a single ->vms list in order to make things
        easier to manage. Likewise for networks. Also add
        qemudIsActiveVM() and qemudIsActiveNetwork() inline
        functions.
2007-02-23 08:39:49 +00:00
Mark McLoughlin
68f1003652 Thu Feb 22 10:37:08 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/conf.c: fix another xml property leak.
2007-02-22 10:39:38 +00:00
Mark McLoughlin
5687da2c7a Tue Feb 20 19:08:58 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/conf.c: use strerror(errno) in some error messages
        to make them a bit more useful
2007-02-20 19:09:44 +00:00
Mark McLoughlin
4579467783 Fri Feb 20 19:07:12 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/conf.c: don't free active networks/vms if we
        fail to save the new config
2007-02-20 19:08:09 +00:00
Mark McLoughlin
1e20b80a91 Fri Feb 20 17:49:22 IST 2007 Mark McLoughlin <markmc@redhat.com>
Fix a few leaks

        * qemud/qemud.c: qemudCleanup(): free the socket
        structures

        * qemud/conf.c: fix various leaks in the xml parsing

        * qemud/iptables.c: fix a typo causing a leak
2007-02-20 17:51:41 +00:00
Mark McLoughlin
c5b3181ad9 Fri Feb 20 16:49:53 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/conf.c, qemud/qemud.c: only create config dirs
        when actually trying to write out config.
2007-02-20 16:55:56 +00:00
Mark McLoughlin
5ed716484e Fri Feb 20 09:56:35 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/bridge.c: change the fix for the alignment warning
        a little.
2007-02-20 09:57:47 +00:00
Mark McLoughlin
28a07e4c80 Fri Feb 20 09:03:05 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/qemud.c: clean up qemudInitialize() and qemudListen()
        so as to coalesce the two "system vs. user" code paths and
        fix up some problems noticed by dan.
2007-02-20 09:04:27 +00:00
Mark McLoughlin
96b89415a3 Fri Feb 19 16:59:18 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/qemud.c: don't shutdown guest and networks on
        SIGHUP
2007-02-19 17:00:05 +00:00
Mark McLoughlin
272639aaac Fri Feb 19 16:58:53 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/qemud.c: handle SIGQUIT.
2007-02-19 16:59:15 +00:00
Daniel P. Berrange
10041b979d Fixed data type casts to address endianness issues on ia64 2007-02-19 15:01:20 +00:00
Mark McLoughlin
cfa655f9b8 Fri Feb 16 18:28:32 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/qemud.c, qemud/dispatch.c, qemud/internal.h
        qemud/conf.c, qemud/driver.c, configure.in: add a
        qemudLog() function which uses syslog() if we're in daemon
        mode, doesn't output INFO/DEBUG messages unless the
        verbose flag is set and doesn't output DEBUG messages
        unless compiled with --enable-debug. Also, make a first
        pass through fatal errors and add error messages for them.
2007-02-16 18:30:55 +00:00
Mark McLoughlin
49fe28206a Fri Feb 16 18:26:55 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/internal.h, qemud/qemud.c: improve signal handling
        and handle SIGHUP by shutting down all guests and networks
        and re-loading configs, and handle SIGINT and SIGTERM
        by shutting down cleanly.
2007-02-16 18:28:17 +00:00
Mark McLoughlin
49dcc264e5 Fri Feb 16 18:24:08 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/qemud.c, qemud/bridge.c, qemud/iptables.c: fix
	our FD_CLOEXEC usage so that all fds which should be
	closed on exec are marked as such and that we leave
	exec() to do the actual closing.
2007-02-16 18:26:18 +00:00
Mark McLoughlin
80820ec7a9 Fri Feb 16 18:23:15 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/qemud.c: fix qemudEnableIpForwarding() to not leak
        an fd if writing to /proc/sys/net/ipv4/ip_forward fails.
2007-02-16 18:24:14 +00:00
Daniel P. Berrange
9d0fa40919 Remove mistaken includes for gnutls 2007-02-16 15:44:08 +00:00
Mark McLoughlin
fb387cbe27 Thu Feb 15 19:07:24 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/conf.c: fix <interface type='network'> output
2007-02-15 19:08:08 +00:00
Mark McLoughlin
e8f064000d Thu Feb 15 19:06:56 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/conf.c: fix the <graphics> output - we weren't
        handling sdl
2007-02-15 19:07:06 +00:00
Mark McLoughlin
4e2fa18166 Thu Feb 15 19:06:22 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/conf.c: fix a couple of typos
2007-02-15 19:06:10 +00:00
Mark McLoughlin
9839cf3798 Thu Feb 15 19:05:48 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/conf.c: fix segfault
2007-02-15 19:05:27 +00:00
Mark McLoughlin
7902317a4f Thu Feb 15 19:04:10 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/conf.h: move qemudFreeVMDef() down a bit
2007-02-15 19:04:45 +00:00
Mark McLoughlin
ca4553d0e7 Thu Feb 15 16:00:05 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/bridge.c: don't output bridge parameters if they
        are the default.
2007-02-15 16:01:09 +00:00
Mark McLoughlin
f9f7aeb4b7 Thu Feb 15 15:56:32 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/conf.[ch], qemud/dispatch.c, qemud/internal.h,
	  qemud/qemud.c, qemud/driver.c: allow re-defining network
	configs; basically copying dan's patch for domains.
2007-02-15 16:00:16 +00:00
Mark McLoughlin
bf5fae6a8c Thu Feb 15 15:47:46 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/conf.c: fix a couple of qemud_vm_def leaks

        * driver.c: simplify qemudDomainDefine()
2007-02-15 15:52:28 +00:00
Daniel P. Berrange
6ad5b9d5fb Pre-create the toplevel libvirt config directory 2007-02-14 22:01:40 +00:00
Daniel P. Berrange
31ea5e9733 Fix <features> block. Only include ID & VNC port for active domain XML 2007-02-14 21:47:59 +00:00
Daniel Veillard
de48dae9f0 * libvirt.spec.in: spec cleanup and missing BuildRequires
* qemud/Makefile.am: avoid -Werror
daniel
2007-02-14 18:54:26 +00:00
Daniel P. Berrange
f9b263118f Moved qemu sockets/configs 2007-02-14 17:35:38 +00:00
Daniel P. Berrange
2e5e51151c Refactor to allowing changing config of active domains 2007-02-14 17:05:55 +00:00
Mark McLoughlin
3ea88b568d Tue Feb 14 16:23:25 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/iptables.[ch]: add code for managing iptables
        rules.

        * qemud/Makefile.am: add iptables.[ch].

        * qemud/qemud.c: add and remove iptables rules as
        appropriate.

        * qemud/conf.c: when starting a guess, add a rule
        allowing it to forward packets across the networks
        bridge.

        * qemud/internal.h: add iptables context ptr

        * configure.in: add --with-iptables-dir and
        --with-iptables-prefix to allow us to put our rules
        in a chain with the given prefix and save the rules
        in files in the given dir so as to integrate with
        the proposed "service iptables restart" solution
        in:

           https://bugzilla.redhat.com/227011
2007-02-14 16:26:42 +00:00
Mark McLoughlin
8356c43e42 Tue Feb 14 16:17:51 IST 2007 Mark McLoughlin <markmc@redhat.com>
* include/libvirt/libvirt.h.in, src/libvirt.c: add
        virNetworkGetBridgeName() to allow finding out what
        bridge to connect to in order to join a network.

        * src/driver.h: add networkGetBridgeName() to vtable.

        * qemud/protocol.h: add the request and reply to
        the qemud protocol.

        * qemud/dispatch.c, qemud/driver.[ch]: handle them
        here.

        * src/qemu_internal.c: implement GetBridgeName()
        in the qemu driver.

        * src/libvirt_sym.version: add new symbol.
2007-02-14 16:20:38 +00:00
Mark McLoughlin
0c15bd8b87 Tue Feb 14 16:08:55 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/conf.c: add support for connecting a qemu
        guest to a bridge using a tap device in order to
        connect it to a virtual network.

        * qemud/internal.h: add <interface type="network">
        config and track tapfds so as to not close them
        on exec.

        * qemud/qemud.c: don't close tapfds on exec and
        disconnect the iface when the guest shuts down.
2007-02-14 16:09:37 +00:00
Mark McLoughlin
3fbd82faa0 Tue Feb 14 15:07:26 EST 2007 Mark McLoughlin <markmc@redhat.com>
* src/conf.h: fix merge error - remove the argc argument
        from qemudBuildCommandLine()
2007-02-14 16:07:27 +00:00
Mark McLoughlin
ee777358b8 Tue Feb 14 16:04:48 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/conf.c, qemud/internal.h: add dhcp config

        * qemud/qemud.c: start dnsmasq to provide dns/dhcp
        for virtual networks.
2007-02-14 16:05:29 +00:00
Mark McLoughlin
4e6c38e10f Tue Feb 14 16:02:23 IST 2007 Mark McLoughlin <markmc@redhat.com>
* configure.in: add --disable-bridge-params, check
        for libsysfs and various kernel headers

        * bridge.[ch]: add code for managing bridges

        * qemud/Makefile.am: add bridge.[ch] and link against
        libsysfs if enabled.

        * qemud/conf.c: add support for bridge config.

        * qemud/internal.h: add various bridging bits

        * qemud/qemud.c: implement qemudStartNetworkDaemon()
        and qemudShutdownNetworkDaemon().
2007-02-14 16:02:40 +00:00
Mark McLoughlin
36d597380e Tue Feb 14 14:57:52 EST 2007 Mark McLoughlin <markmc@redhat.com
* src/conf.c: qemudSaveConfig() will always report a
        more specific error, so we should avoid overwriting
        this error.
2007-02-14 15:58:21 +00:00
Mark McLoughlin
2439573270 Tue Feb 14 15:55:02 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/conf.[ch]: implement parsing and saving network
        configs.

        * qemud/driver.c: flesh out the stubs

        * qemud/internal.h: add networks list etc. to
        struct qemud_server

        * qemud/qemud.c: add qemudStartNetworkDaemon() and
        qemudShutdownNetworkDaemon() stubs.
2007-02-14 15:58:06 +00:00
Mark McLoughlin
db3ad7cba7 Tue Feb 14 14:54:25 EST 2007 Mark McLoughlin <markmc@redhat.com
* qemud/qemud.c: Re-factor out qemudExec() so that it can
        be used to launch dnsmasq.

        * qemud/conf.c: don't return argc from qemudBuildCommandLine()
        as exec() doesn't need it.
2007-02-14 15:54:47 +00:00