1. 19 2月, 2011 2 次提交
    • E
      build: fix broken mingw cross-compilation · 7b6286b7
      Eric Blake 提交于
      Two regressions:
      Commit df1011ca broke builds for systems that lack devmapper
      (non-Linux, as well as Linux with ./autogen.sh --without-libvirtd
      and without the libraries present).
      Commit ce6fd650 broke cross-compilation, due to a gnulib bug.
      
      * .gnulib: Update to latest, for cross-compilation fix.
      * src/util/util.c (virIsDevMapperDevice): Provide stub for
      platforms not using storage driver.
      * configure.ac (devmapper): Arrange to define HAVE_LIBDEVMAPPER_H.
      devmapper issue reported by Wen Congyang.
      7b6286b7
    • E
      build: speed up non-maintainer builds · 1c072334
      Eric Blake 提交于
      * configure.ac (gl_ASSERT_NO_GNULIB_POSIXCHECK): Use to reduce
      time spent in configure.
      1c072334
  2. 17 2月, 2011 2 次提交
    • O
      storage: Allow to delete device mapper disk partition · df1011ca
      Osier Yang 提交于
      The name convention of device mapper disk is different, and 'parted'
      can't be used to delete a device mapper disk partition. e.g.
      
      Name                 Path
      -----------------------------------------
      3600a0b80005ad1d7000093604cae912fp1 /dev/mapper/3600a0b80005ad1d7000093604cae912fp1
      
      Error: Expecting a partition number.
      
      This patch introduces 'dmsetup' to fix it.
      
      Changes:
        - New function "virIsDevMapperDevice" in "src/utils/utils.c"
        - remove "is_dm_device" in "src/storage/parthelper.c", use
          "virIsDevMapperDevice" instead.
        - Requires "device-mapper" for 'with-storage-disk" in "libvirt.spec.in"
        - Check "dmsetup" in 'configure.ac' for "with-storage-disk"
        - Changes on "src/Makefile.am" to link against libdevmapper
        - New entry for "virIsDevMapperDevice" in "src/libvirt_private.syms"
      
      Changes from v1 to v3:
        - s/virIsDeviceMapperDevice/virIsDevMapperDevice/g
        - replace "virRun" with "virCommand"
        - sort the list of util functions in "libvirt_private.syms"
        - ATTRIBUTE_NONNULL(1) for virIsDevMapperDevice declaration.
      
      e.g.
      
      Name                 Path
      -----------------------------------------
      3600a0b80005ad1d7000093604cae912fp1 /dev/mapper/3600a0b80005ad1d7000093604cae912fp1
      
      Vol /dev/mapper/3600a0b80005ad1d7000093604cae912fp1 deleted
      
      Name                 Path
      -----------------------------------------
      df1011ca
    • D
      Release of libvirt-0.8.8 · 43f8773c
      Daniel Veillard 提交于
      * configure.ac docs/news.html.in libvirt.spec.in: bump version and add docs
      * po/*.po*: updated Gujarati, Polish and Dutch localisations and regenerated
      43f8773c
  3. 16 2月, 2011 1 次提交
    • M
      Avoid empty strings when --with-packager(-version) is not specified · 251ad3b2
      Matthias Bolte 提交于
      Make with_packager and with_packager_version default to "no". This way
      --without-packager-version (as shorthand for --with-packager(-version)=no)
      works correctly too.
      
      Prior to this patch libvirt outputs a line like this when
      --with-packager(-version) was not specified
      
      # ./daemon/libvirtd
      14:11:15.018: 31796: info : libvirt version: 0.8.8, package:  ()
      
      Now the unspecified parts are correctly omitted.
      
      Reported by Osier Yang.
      251ad3b2
  4. 11 2月, 2011 1 次提交
    • D
      Imprint all logs with version + package build information · cee61fc2
      Daniel P. Berrange 提交于
      The logging functions are enhanced so that immediately prior to
      the first log message being printed to any output channel, the
      libvirt package version will be printed.
      
      eg
      
       $ LIBVIRT_DEBUG=1 virsh
       18:13:28.013: 17536: info : libvirt version: 0.8.7
       18:13:28.013: 17536: debug : virInitialize:361 : register drivers
       ...
      
      The 'configure' script gains two new arguments which can be
      used as
      
         --with-packager="Fedora Project, x86-01.phx2.fedoraproject.org, 01-27-2011-18:00:10"
         --with-packager-version="1.fc14"
      
      to allow distros to append a custom string with package specific
      data.
      
      The RPM specfile is modified so that it appends the RPM version,
      the build host, the build date and the packager name.
      
      eg
      
       $ LIBVIRT_DEBUG=1 virsh
       18:14:52.086: 17551: info : libvirt version: 0.8.7, package: 1.fc13 (Fedora Project, x86-01.phx2.fedoraproject.org, 01-27-2011-18:00:10)
       18:14:52.086: 17551: debug : virInitialize:361 : register drivers
      
      Thus when distro packagers receive bug reports they can clearly
      see what version was in use, even if the bug reporter mistakenly
      or intentionally lies about version/builds
      
      * src/util/logging.c: Output version data prior to first log message
      * libvirt.spec.in: Include RPM release, date, hostname & packager
      * configure.ac: Add --with-packager & --with-packager-version args
      cee61fc2
  5. 02 2月, 2011 1 次提交
  6. 19 1月, 2011 1 次提交
    • E
      build: use more gnulib modules for simpler code · c5b11b3c
      Eric Blake 提交于
      * .gnulib: Update to latest, for sigpipe and sigaction modules.
      * bootstrap.conf (gnulib_modules): Add siaction, sigpipe, strerror_r.
      * tools/virsh.c (vshSetupSignals) [!SIGPIPE]: Delete, now that
      gnulib guarantees it.
      (SA_SIGINFO): Define for mingw fallback.
      * src/util/virterror.c (virStrerror): Simplify, now that gnulib
      guarantees the POSIX interface.
      * configure.ac (AC_CHECK_FUNCS_ONCE): Drop redundant check.
      (AM_PROG_CC_STDC): Move earlier, to keep autoconf happy.
      c5b11b3c
  7. 08 1月, 2011 1 次提交
  8. 04 1月, 2011 1 次提交
    • D
      Release of libvirt-0.8.7 · 6675e007
      Daniel Veillard 提交于
      * configure.ac libvirt.spec.in docs/news.html.in: bump version and add
        documentation
      * po/*po*: regenerate po and pot files
      6675e007
  9. 24 12月, 2010 5 次提交
    • L
      new virSetUIDGID() utility function · d596c6dc
      Laine Stump 提交于
      virSetUIDGID() sets both the real and effective group and user of the
      process, and additionally calls initgroups() to assure that the
      process joins all the auxiliary groups that the given uid is a member
      of.
      d596c6dc
    • L
      Run radvd for virtual networks with IPv6 addresses · 8090a568
      Laine Stump 提交于
      Running an instance of the router advertisement daemon (radvd) allows
      guests using the virtual network to automatically acquire an IPv6
      address and default route. Note that acquiring an address only works
      for networks with a prefix length of exactly 64 - radvd is still run
      in other circumstances, and still advertises routes, but autoconf will
      not work because it requires exactly 64 bits of address info from the
      network prefix.
      
      This patch avoids a race condition with the pidfile by manually
      daemonizing radvd rather than allowing it to daemonize itself, then
      creating our own pidfile (in addition to radvd's own file, which is
      unnecessary, but there is no way to tell radvd to not create it). This
      is accomplished by exec'ing it with "--debug 1" in the commandline,
      and using virCommand's features to fork, create a pidfile, and detach
      from the newly forked process.
      8090a568
    • L
      Update iptables.c to also support ip6tables. · 537e65e7
      Laine Stump 提交于
      All of the iptables functions eventually call down to a single
      bottom-level function, and fortunately, ip6tables syntax (for all the
      args that we use) is identical to iptables format (except the
      addresses), so all we need to do is:
      
      1) Get an address family down to the lowest level function in each
         case, either implied through an address, or explicitly when no
         address is in the parameter list, and
      
      2) At the lowest level, just decide whether to call "iptables" or
         "ip6tables" based on the family.
      
      The location of the ip6tables binary is determined at build time by
      autoconf. If a particular target system happens to not have ip6tables
      installed, any attempts to run it will generate an error, but that
      won't happen unless someone tries to define an IPv6 address for a
      network. This is identical behavior to IPv4 addresses and iptables.
      537e65e7
    • L
      Replace brSetInetAddress/brSetInetNetmask with brAddInetAddress · 20718b8b
      Laine Stump 提交于
      brSetInetAddress can only set a single IP address on the bridge, and
      uses a method (ioctl(SIOCSETIFADDR)) that only works for IPv4. Replace
      it and brSetInetNetmask with a single function that uses the external
      "ip addr add" command to add an address/prefix to the interface - this
      supports IPv6, and allows adding multiple addresses to the interface.
      
      Although it isn't currently used in the code, we also add a
      brDelInetAddress for completeness' sake.
      
      Also, while we're modifying bridge.c, we change brSetForwardDelay and
      brSetEnableSTP to use the new virCommand API rather than the
      deprecated virRun, and also log an error message in bridge_driver.c if
      either of those fail (previously the failure would be completely
      silent).
      20718b8b
    • W
      fix syntax error in configure.ac · 9a4af303
      Wen Congyang 提交于
      When I run configure, I receive some syntax error.
      
      .....
      checking where to find <rpc/rpc.h>... none
      checking for library containing dlopen... -ldl
      /configure: line 52500: test: =: unary operator expected
      /configure: line 52766: test: =: unary operator expected
      checking linux/kvm.h usability... yes
      checking linux/kvm.h presence... yes
      .....
      Signed-off-by: NWen Congyang <wency@cn.fujitsu.com>
      9a4af303
  10. 22 12月, 2010 1 次提交
    • M
      esx: Move VMX handling code out of the driver directory · 42b2f35d
      Matthias Bolte 提交于
      Now the VMware driver doesn't depend on the ESX driver anymore.
      
      Add a WITH_VMX option that depends on WITH_ESX and WITH_VMWARE.
      Also add a libvirt_vmx.syms file.
      
      Move some escaping functions from esx_util.c to vmx.c.
      
      Adapt the test suite, ESX and VMware driver to the new code layout.
      42b2f35d
  11. 21 12月, 2010 3 次提交
    • E
      build: make building on cygwin easier · da24a892
      Eric Blake 提交于
      * configure.ac (dlopen): Cygwin dlopen is in libc; avoid spurious
      failure.
      (XDR_CFLAGS): Define when needed.
      * src/Makefile.am (libvirt_driver_remote_la_CFLAGS): Use it.
      da24a892
    • E
      build: allow older libselinux again · 8e2b26db
      Eric Blake 提交于
      * configure.ac (with_selinux): Check for <selinux/label.h>.
      * src/security/security_selinux.c (getContext): New function.
      (SELinuxRestoreSecurityFileLabel): Use it to restore compilation
      when using older libselinux.
      8e2b26db
    • E
      build: allow autoconf 2.59 again · 8837d3c7
      Eric Blake 提交于
      Autoconf 2.59 doesn't define ${localedir}, so libvirt was failing
      to compile due to a missing LOCALEDIR until today's configmake fix.
      
      * .gnulib: Update to latest for configmake fix.
      * configure.ac (libpcap): Avoid AS_CASE.
      8837d3c7
  12. 18 12月, 2010 3 次提交
    • M
      vbox: Add glue layer for MSCOM on Windows · 448347f8
      Matthias Bolte 提交于
      Don't require dlopen, but link to ole32 and oleaut32 on Windows.
      
      Don't expose g_pVBoxFuncs anymore. It was only used to get the
      version of the API. Make VBoxCGlueInit return the version instead.
      This simplifies the implementation of the MSCOM glue layer.
      
      Get the VirtualBox version from the registry.
      
      Add a dummy implementation of the nsIEventQueue to the MSCOM glue
      as there seems to be no direct equivalent with MSCOM. It might be
      implemented using the normal window message loop. This requires
      additional investigation.
      448347f8
    • J
      Add VMware Workstation and Player driver · cddd2a06
      Jean-Baptiste Rouault 提交于
      cddd2a06
    • E
      maint: improve tests distribution · 65532f45
      Eric Blake 提交于
      * tests/Makefile.am (EXTRA_DIST): Sort, and add directories.
      (SUBDIRS): Drop automake recursion into subdirs.
      * tests/commanddata/Makefile.am: Delete.
      * tests/confdata/Makefile.am: Likewise.
      * tests/sexpr2xmldata/Makefile.am: Likewise.
      * tests/xencapsdata/Makefile.am: Likewise.
      * tests/xmconfigdata/Makefile.am: Likewise.
      * tests/xml2sexprdata/Makefile.am: Likewise.
      65532f45
  13. 14 12月, 2010 2 次提交
  14. 10 12月, 2010 1 次提交
    • E
      build: distribute commandtest files · 2a5ccbef
      Eric Blake 提交于
      * tests/Makefile.am (SUBDIRS): Add commanddata.
      * tests/commandtest.c (checkoutput): Delete correct file.
      (test4): Delete pid file.
      (mymain): Delete unused variable.
      * tests/commanddata/Makefile.am: New file.
      * configure.ac (AC_OUTPUT): Build new makefile.
      Reported by Dominik Klein.
      2a5ccbef
  15. 08 12月, 2010 1 次提交
  16. 01 12月, 2010 1 次提交
    • D
      Release of libvirt 0.8.6 · a33db6cb
      Daniel Veillard 提交于
      - configure.ac libvirt.spec.in: bump version, add a missing systemtap
        build requirement
      - docs/news.html.in: add informations about the release
      - po/*: updated Polish and Dutch localizations, and regenerated
      - tests/qemuxml2argvtest.c: Fix build problem
      a33db6cb
  17. 23 11月, 2010 1 次提交
    • D
      Include a thread identifier in log messages · 9288c31b
      Daniel P. Berrange 提交于
      To allow messages from different threads to be untangled,
      include an integer thread identifier in log messages.
      
      * src/util/logging.c: Include thread ID
      * src/util/threads.h, src/util/threads.h, src/util/threads-pthread.c:
        Add new virThreadSelfID() function
      * configure.ac: Check for sys/syscall.h
      9288c31b
  18. 15 11月, 2010 1 次提交
  19. 13 11月, 2010 1 次提交
  20. 12 11月, 2010 1 次提交
    • D
      Add a generic internal API for handling any FD based stream · 7c08fcc4
      Daniel P. Berrange 提交于
      To avoid the need for duplicating implementations of virStream
      drivers, provide a generic implementation that can handle any
      FD based stream. This code is copied from the existing impl
      in the QEMU driver, with the locking moved into the stream
      impl, and addition of a read callback
      
      The FD stream code will refuse to operate on regular files or
      block devices, since those can't report EAGAIN properly when
      they would block on I/O
      
      * include/libvirt/virterror.h, include/libvirt/virterror.h: Add
        VIR_FROM_STREAM error domain
      * src/qemu/qemu_driver.c: Remove code obsoleted by the new
        generic streams driver.
      * src/fdstream.h, src/fdstream.c, src/fdstream.c,
        src/libvirt_private.syms: Generic reusable FD based streams
      7c08fcc4
  21. 09 11月, 2010 1 次提交
  22. 29 10月, 2010 2 次提交
    • D
      Release of libvirt-0.8.5 · 4c2b3e1d
      Daniel Veillard 提交于
      * configure.ac libvirt.spec.in: new version
      * docs/news.html.in: update news page and improve format
      * po/*.po*: Update po again
      4c2b3e1d
    • M
      vbox: Stop hardcoding a single path for VBoxXPCOMC.so · f4a8542d
      Matthias Bolte 提交于
      This partly reverts df90ca76.
      
      Don't disable the VirtualBox driver when configure can't find
      VBoxXPCOMC.so, rely on detection at runtime again instead.
      
      Keep --with-vbox=/path/to/virtualbox intact, added to for:
      https://bugzilla.redhat.com/show_bug.cgi?id=609185
      
      Detection order for VBoxXPCOMC.so:
      
      1. VBOX_APP_HOME environment variable
      2. configure provided location
      3. hardcoded list of known locations
      4. dynamic linker search path
      
      Also cleanup the glue code and improve error reporting.
      f4a8542d
  23. 27 10月, 2010 1 次提交
    • E
      build: fix shell detection bug · 5ee03c25
      Eric Blake 提交于
      A missing shell was noisy, and the use of command to decipher a
      shell's absolute path requires "" rather than ''.
      
      * configure.ac (lv_cv_wrapper_shell): Fix logic errors if candidate
      shell is not available.
      * .gitignore: Ignore file created when /bin/sh is old dash.
      Reported by Matthias Bolte.
      5ee03c25
  24. 26 10月, 2010 2 次提交
    • E
      qemu: work around dash 0.5.5 bug in managed save · f22e670b
      Eric Blake 提交于
      Older dash mistakenly truncates regular files when using <> redirection;
      this kills our use of double dd to reduce storage overhead when
      saving qemu images.  But qemu insists on running a command through
      /bin/sh, so we work around it by having qemu run $sh -c 'real command'
      when we have a replacement $sh in mind.
      
      * configure.ac (VIR_WRAPPER_SHELL): Define to a replacement shell,
      if /bin/sh is broken on <> redirection.
      * src/qemu/qemu_monitor.h (VIR_WRAPPER_SHELL_PREFIX)
      (VIR_WRAPPER_SHELL_SUFFIX): New macros.
      * src/qemu/qemu_monitor_text.c (qemuMonitorTextMigrateToFile): Use
      them.
      * src/qemu/qemu_monitor_json.c (qemuMonitorJSONMigrateToFile):
      Likewise.
      f22e670b
    • J
      docs: make the location of the xml catalog file a configure option · ff9bbffc
      Justin Clift 提交于
      The default location for the XML catalog file, /etc/xml/catalog,
      used when validating the generated html docs, isn't correct for
      MacOS X.
      
      This commit adds an option to the configure script, allowing the
      default to be overridden:
      
        --with-xml-catalog-file=/path/to/xml/catalog/file
      ff9bbffc
  25. 22 10月, 2010 2 次提交
    • D
      Include socket address in client probe data · 4b16b9c7
      Daniel P. Berrange 提交于
      It is useful to know where the client is connecting from,
      so include the socket address in probe data.
      
      * daemon/libvirtd.h: Use virSocketAddr for storing client
        address and keep printable address handy for logging
      * daemon/libvirtd.c: Include socket address in client
        connect/disconnect probes
      * daemon/probes.d: Add socket address to probes
      * examples/systemtap/client.stp: Print socket address
      * src/util/network.h: Add sockaddr_un to virSocketAddr union
      4b16b9c7
    • D
      Add dtrace static probes in libvirtd · 968eb4e5
      Daniel P. Berrange 提交于
      Adds initial support for dtrace static probes in libvirtd
      daemon, assuming use of systemtap dtrace compat shim on
      Linux. The probes are inserted for network client connect,
      disconnect, TLS handshake states and authentication protocol
      states.
      
      This can be tested by running the xample program and then
      attempting to connect with any libvirt client (virsh,
      virt-manager, etc).
      
       # stap examples/systemtap/client.stp
        Client fd=44 connected readonly=0
        Client fd=44 auth polkit deny pid:24997,uid:500
        Client fd=44 disconnected
        Client fd=46 connected readonly=1
        Client fd=46 auth sasl allow test
        Client fd=46 disconnected
      
      The libvirtd.stp file should also really not be required,
      since it is duplicated info that is already available in
      the main probes.d definition file. A script to autogenerate
      the .stp file is needed, either in libvirtd tree, or better
      as part of systemtap itself.
      
      * Makefile.am: Add examples/systemtap subdir
      * autobuild.sh: Disable dtrace for mingw32
      * configure.ac: Add check for dtrace
      * daemon/.gitignore: Ignore generated dtrace probe file
      * daemon/Makefile.am: Build dtrace probe header & object
        files
      * daemon/libvirtd.stp: SystemTAP convenience probeset
      * daemon/libvirtd.c: Add connect/disconnect & TLS probes
      * daemon/remote.c: Add SASL and PolicyKit auth probes
      * daemon/probes.d: Master probe definition
      * daemon/libvirtd.h: Add convenience macro for probes
        so that compilation is a no-op when dtrace is not available
      * examples/systemtap/Makefile.am, examples/systemtap/client.stp
        Example systemtap script using dtrace probe markers
      * libvirt.spec.in: Enable dtrace on F13/RHEL6
      * mingw32-libvirt.spec.in: Force disable dtrace
      968eb4e5
  26. 20 10月, 2010 1 次提交
    • D
      Basic framework for auditing integration · 8f680ad3
      Daniel P. Berrange 提交于
      Integrate with libaudit.so for auditing of important operations.
      libvirtd gains a couple of config entries for auditing. By
      default it will enable auditing, if its enabled on the host.
      It can be configured to force exit if auditing is disabled
      on the host. It will can also send audit messages via libvirt
      internal logging API
      
      Places requiring audit reporting can use the VIR_AUDIT
      macro to report data. This is a no-op unless auditing is
      enabled
      
      * autobuild.sh, mingw32-libvirt.spec.in: Disable audit
        on mingw
      * configure.ac: Add check for libaudit
      * daemon/libvirtd.aug, daemon/libvirtd.conf,
        daemon/test_libvirtd.aug, daemon/libvirtd.c: Add config
        options to enable auditing
      * include/libvirt/virterror.h, src/util/virterror.c: Add
        VIR_FROM_AUDIT source
      * libvirt.spec.in: Enable audit
      * src/util/virtaudit.h, src/util/virtaudit.c: Simple internal
        API for auditing messages
      8f680ad3