1. 24 9月, 2013 4 次提交
    • G
      36cc0942
    • G
      libvirt: add new public API virConnectGetCPUModelNames · f90857b3
      Giuseppe Scrivano 提交于
      The new function virConnectGetCPUModelNames allows to retrieve the list
      of CPU models known by the hypervisor for a specific architecture.
      Signed-off-by: NGiuseppe Scrivano <gscrivan@redhat.com>
      Signed-off-by: NEric Blake <eblake@redhat.com>
      f90857b3
    • E
      build: ensure 'make check' sees up-to-date config.h · b0d9207b
      Eric Blake 提交于
      Nehal J. Wani reported on IRC a rather interesting build failure:
      
      In file included from util/virnetdevbridge.c:53:0:
      /usr/include/linux/in6.h:30:8: error: redefinition of 'struct in6_addr'
       struct in6_addr {
              ^
      
      I traced it to the fact that he ran 'git pull; make check' across
      commit e62e0094.  What happened is that the configure changes
      result in a new variable that was set to be defined on his system,
      but config.h was not regenerated to contain the value of that
      variable.  Running 'make' instead of 'make check' cleaned up the
      problem.  A bit more investigation, and I see that in Makefile.am,
      automake sticks rules that rebuild config.h as part of 'make all',
      and that we also had a dependency 'check-local: all'; BUT the
      rule for check-local is run only at the point when the top-level
      directory is visited.  Automake documents that SUBDIRS should
      contain an explicit '.' at the point the top-level should be
      visited (defaulting to last, if it doesn't appear).  Sure enough,
      with this patch, 'make check' now does the top-level 'all' rules,
      which regenerates 'config.h' BEFORE compiling any code that might
      depend on changed content of that file.
      
      * Makefile.am (SUBDIRS): Put '.' first, not last.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      b0d9207b
    • D
      Fix typo in identity code which is pre-requisite for CVE-2013-4311 · e4697b92
      Daniel P. Berrange 提交于
      The fix for CVE-2013-4311 had a pre-requisite enhancement
      to the identity code
      
        commit db7a5688
        Author: Daniel P. Berrange <berrange@redhat.com>
        Date:   Thu Aug 22 16:00:01 2013 +0100
      
          Also store user & group ID values in virIdentity
      
      This had a typo which caused the group ID to overwrite the
      user ID string. This meant any checks using this would have
      the wrong ID value. This only affected the ACL code, not the
      initial polkit auth. It also leaked memory.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      e4697b92
  2. 23 9月, 2013 4 次提交
  3. 21 9月, 2013 1 次提交
  4. 20 9月, 2013 9 次提交
  5. 19 9月, 2013 6 次提交
  6. 18 9月, 2013 15 次提交
    • G
      doc: fix XML for the RNG device example · ab42c226
      Giuseppe Scrivano 提交于
      Add a missing '/' to close the "source" element.
      Signed-off-by: NGiuseppe Scrivano <gscrivan@redhat.com>
      ab42c226
    • D
      Add support for using 3-arg pkcheck syntax for process (CVE-2013-4311) · 922b7fda
      Daniel P. Berrange 提交于
      With the existing pkcheck (pid, start time) tuple for identifying
      the process, there is a race condition, where a process can make
      a libvirt RPC call and in another thread exec a setuid application,
      causing it to change to effective UID 0. This in turn causes polkit
      to do its permission check based on the wrong UID.
      
      To address this, libvirt must get the UID the caller had at time
      of connect() (from SO_PEERCRED) and pass a (pid, start time, uid)
      triple to the pkcheck program.
      
      This fix requires that libvirt is re-built against a version of
      polkit that has the fix for its CVE-2013-4288, so that libvirt
      can see 'pkg-config --variable pkcheck_supports_uid polkit-gobject-1'
      Signed-off-by: NColin Walters <walters@redhat.com>
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      922b7fda
    • D
      Ensure system identity includes process start time · e65667c0
      Daniel P. Berrange 提交于
      The polkit access driver will want to use the process start
      time field. This was already set for network identities, but
      not for the system identity.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      e65667c0
    • D
      Also store user & group ID values in virIdentity · db7a5688
      Daniel P. Berrange 提交于
      Future improvements to the polkit code will require access to
      the numeric user ID, not merely user name.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      db7a5688
    • C
      daemon: Don't hardcode pki paths in help output · d0d013d9
      Christophe Fergeau 提交于
      There are constants for these paths in remote_driver.h so we can
      use these rather than duplicating them in the help output.
      Signed-off-by: NChristophe Fergeau <cfergeau@redhat.com>
      Signed-off-by: NEric Blake <eblake@redhat.com>
      d0d013d9
    • C
      daemon: Fix 'caert.pem' typo in privileged help output · 521b78d0
      Christophe Fergeau 提交于
      The help message indicates that the CA certificate is
      $sysconfdir/pki/CA/caert.pem while the actual path is
      $sysconfdir/pki/CA/cacert.pem
      Signed-off-by: NChristophe Fergeau <cfergeau@redhat.com>
      Signed-off-by: NEric Blake <eblake@redhat.com>
      521b78d0
    • J
      qemu: Avoid dangling job in qemuDomainSetBlockIoTune · 13e9bad5
      Jiri Denemark 提交于
      virDomainSetBlockIoTuneEnsureACL was incorrectly called after we already
      started a job. As a result of this, the job was not cleaned up when an
      access driver had forbidden the action.
      13e9bad5
    • T
      virsh: Add vshCompleter to each option · ffb7ccaa
      Tomas Meszaros 提交于
      completer and completer_flags added to the _vshCmdOptDef
      structure so it will be possible for completion generators to
      conveniently call option completer functions with desired flags.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      ffb7ccaa
    • D
      Add forwarder attribute to <dns/> element · 22547b4c
      Diego Woitasen 提交于
      Useful to set custom forwarders instead of using the contents of
      /etc/resolv.conf. It helps me to setup dnsmasq as local nameserver to
      resolve VM domain names from domain 0, when domain option is used.
      Signed-off-by: NDiego Woitasen <diego.woitasen@vhgroup.net>
      Signed-off-by: NEric Blake <eblake@redhat.com>
      22547b4c
    • D
      VMX: Add a VMWare Fusion 5 configuration for tests · 7ab7c9a2
      Doug Goldstein 提交于
      A user was having an issue with this specific VMWare Fusion config and
      he gave me permission to add it as part of our test suite to further
      expand our VMX test coverage. Unfortunately our VMX parser and
      generator does not support many features contained within and just
      silently ignores fields it does not understand so they had to
      be removed out in the xml2vmx test. The original unmodified version
      exists in the vmx2xml test.
      7ab7c9a2
    • D
      VMX: Add support for 'auto detect' fileNames · 834aebcc
      Doug Goldstein 提交于
      VMWare Fusion 5 can set the CD-ROM's device name to be 'auto detect' when
      using the physical drive via 'cdrom-raw' device type. VMWare will then
      connect to first available host CD-ROM to the virtual machine upon start
      up according to VMWare documentation. If no device is available, it
      appears that the device will remain disconnected.
      
      To better model this a CD-ROM that is marked as "auto detect" when in
      the off state would be modeled as the following with this patch:
        <disk type='block' device='lun'>
          <source startupPolicy='optional'/>
          <target dev='hda' bus='ide'/>
          <address type='drive' controller='0' bus='0' target='0' unit='0'/>
        </disk>
      
      Once the domain transitions to the powered on state, libvirt can
      populate the remaining source data with what is connected, if anything.
      However future power cycles, the domain may not always start with that
      device attached.
      834aebcc
    • D
      Allow <source> for type=block to have no dev · 4b5652d0
      Doug Goldstein 提交于
      Currently the XML parser already allows the following syntax:
        <disk type='block' device='cdrom'>
          <source startupPolicy='optional'/>
          <target dev='hda' bus='ide'/>
          <address type='drive' controller='0' bus='0' target='0' unit='0'/>
        </disk>
      
      But it if the dev value is NULL then it would not have the leading
      "<source ", resulting in invalid XML.
      4b5652d0
    • E
      build: skip ld_preload tests on non-Linux systems · caf65892
      Eric Blake 提交于
      A cross build to mingw fails with:
      
        CC       virsystemdtest-virsystemdtest.o
      ../../tests/virsystemdtest.c: In function 'testCreateNoSystemd':
      ../../tests/virsystemdtest.c:97:9: error: implicit declaration of function 'unsetenv' [-Werror=implicit-function-declaration]
               unsetenv("FAIL_NO_SERVICE");
               ^
      ../../tests/virsystemdtest.c:97:9: error: nested extern declaration of 'unsetenv' [-Werror=nested-externs]
      
      We could cop out and pull in the gnulib unsetenv module.  But when
      you stop and think about it, this test requires LD_PRELOAD to work,
      and systemd is a Linux-only concept anyways, both of which mean
      the test could never work on mingw in the first place.  Simpler is
      to just fix the test to behave like our other LD_PRELOAD tests.
      
      * tests/virsystemdtest.c: Provide non-Linux implementation.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      caf65892
    • E
      build: hoist system-specific checks before library checks · 0e1f012c
      Eric Blake 提交于
      Commit f92c7e31 fixed a regression for native builds, but introduced
      a regression for cross-compilation builds; in particular,
      ./autobuild.sh on a Fedora system with mingw cross-compiler fails
      with:
      
      checking for qemu-kvm... /usr/bin/qemu-kvm
      checking for yajl_parse_complete in -lyajl... no
      checking for yajl_tree_parse in -lyajl... no
      configure: error: You must install the libyajl library & headers to compile libvirt
      
      Since we default $with_qemu to 'yes' rather than 'check', and then
      flip that default based on platform-specific checks, those platform
      specifics need to come prior to any library checks that depend on
      the value of $with_qemu.
      
      * configure.ac: Ensure system defaults are sane before checking
      for things that make decisions based on system default.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      0e1f012c
    • E
      maint: ignore recently-added test · ceaa536d
      Eric Blake 提交于
      * .gitignore: Ignore metadatatest.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      ceaa536d
  7. 17 9月, 2013 1 次提交