1. 15 9月, 2011 8 次提交
  2. 14 9月, 2011 13 次提交
  3. 13 9月, 2011 2 次提交
    • G
      snapshot: fix double free of qemuImgBinary · 011eeb41
      Guannan Ren 提交于
      Regression introduced in commit 3881a470, due to an improper rebase
      of a cleanup written beforehand but only applied after a rebased of
      a refactoring that created a new function in commit 25fb3ef1.
      
      Also avoids passing NULL to printf %s.
      
      * src/qemu/qemu_driver.c: In qemuDomainSnapshotForEachQcow2()
      it free up the memory of qemu_driver->qemuImgBinary in the
      cleanup tag which leads to the garbage value of qemuImgBinary
      in qemu_driver struct and libvirtd crash when running
      "virsh snapshot-create" command a second time.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      011eeb41
    • D
      Do not log invalid operations in libvirtd logs · 7f2498ef
      Daniel Veillard 提交于
        This is a bit painful for example when starting virt-manager
      it tends to clutter libvirtd.log with invalid operation on cpu pinning
      for defined but not running domains. A priori those kind of errors
      don't indicate an error when executing the command but on a precondition
      for running the API, and honnestly while the application should report
      it, logging it as an error in libvirtd.log is not really useful,
      
         Related bug: https://bugzilla.redhat.com/show_bug.cgi?id=590807
      
      * daemon/libvirtd.c: extend daemonErrorLogFilter() to filter out
         errors of type VIR_ERR_OPERATION_INVALID
      7f2498ef
  4. 09 9月, 2011 4 次提交
    • M
      virnetsocket: Pass KRB5CCNAME env variable · afc984af
      Michal Privoznik 提交于
      So we can allow GSSAPI authentication for ssh.
      Signed-off-by: NMatthias Witte <witte@netzquadrat.de>
      afc984af
    • M
      selinux: Detect virt_use_nfs boolean set · c9b37fee
      Michal Privoznik 提交于
      If we fail setting label on a file and this file is on NFS share,
      it is wise to advise user to set virt_use_nfs selinux boolean
      variable.
      c9b37fee
    • P
      Fix URL-escaping for domainDefine · b14e7d2a
      Philipp Hahn 提交于
      '+' in strings get translated to ' ' when editing domains.
      While xenDaemonDomainCreateXML() did URL-escape the sexpr,
      xenDaemonDomainDefineXML() did not.
      
      Remove the explicit urlencode() in xenDaemonDomainCreateXML() and add
      the direct encoding calls to xend_op_ext() because it calls xend_post()
      which uses "Content-Type: application/x-www-form-urlencoded". According
      to <http://www.w3.org/TR/html4/interact/forms.html#h-17.13.4.1> this
      requires all parameters to be url-encoded as specified in rfc1738.
      
      Notice: virBufferAsprintf(..., "%s=%s", ...) is again replaced by three
      calls to virBufferURIEncodeString() and virBufferAddChar() because '='
      is a "reserved" character, which would get escaped by
      virBufferURIEncodeString(), which - by the way - escapes anything not
      c_isalnum().
      Signed-off-by: NPhilipp Hahn <hahn@univention.de>
      b14e7d2a
    • P
      xml: Change virtual file names of xml documents parsed in memory · 498d7833
      Peter Krempa 提交于
      While parsing XML strings from memory, the previous convention in
      libvirt was to set the virtual file name to "domain.xml" or something
      similar. This could potentialy trick the user into looking for a file
      named domain.xml on the disk in an attempt to fix the error.
      
      This patch changes these filenames to something that can't be as easily
      confused for a valid filename.
      
      Examples of error messages:
      ---------------------------
      Error while loading file from disk:
      
      15:07:59.015: 527: error : catchXMLError:709 : /path/to/domain.xml:1: StartTag: invalid element name
      <domain type='kvm'><
      --------------------^
      
      Error while parsing definition in memory:
      
      15:08:43.581: 525: error : catchXMLError:709 : (domain definition):2: error parsing attribute name
        <name>vm1</name>
      --^
      498d7833
  5. 08 9月, 2011 12 次提交
    • E
      snapshot: fix regression with system checkpoints · 2acd4a16
      Eric Blake 提交于
      Regression introduced in commit d6f6b2d1.  Running
      'virsh snapshot-create dom' would mistakenly report that
      disks can only be specified for disk snapshots.
      
      * src/conf/domain_conf.c (virDomainSnapshotDefParseString): Only
      give error about no disk support when <disk> was found.
      2acd4a16
    • E
      maint: update to latest gnulib · ae2bee4c
      Eric Blake 提交于
      * .gnulib: Update to latest.
      ae2bee4c
    • E
      snapshot: use new API for less work · a00c37f2
      Eric Blake 提交于
      This has the added benefit of making 'snapshot-create dom --no-metadata'
      now able to tell you the name of the just-generated snapshot.
      
      * tools/virsh.c (vshSnapshotCreate, cmdSnapshotCurrent): Don't get
      XML just for name.
      a00c37f2
    • E
      snapshot: new APIs for inspecting snapshot object · 6c14439e
      Eric Blake 提交于
      These functions access internals of the opaque object, and do
      not need any rpc counterpart.  It could be argued that we should
      have provided these when snapshot objects were first introduced,
      since all the other vir*Ptr objects have at least a GetName accessor.
      
      * include/libvirt/libvirt.h.in (virDomainSnapshotGetName)
      (virDomainSnapshotGetDomain, virDomainSnapshotGetConnect): Declare.
      * src/libvirt.c (virDomainSnapshotGetName)
      (virDomainSnapshotGetDomain, virDomainSnapshotGetConnect): New
      functions.
      * src/libvirt_public.syms: Export them.
      6c14439e
    • S
      Don't treat pci_system_init failure as fatal if no PCI bus is present · 9c728316
      Soren Hansen 提交于
      Xen PV domU's have no PCI bus. node_device_udev.c calls pci_system_init
      which looks for /sys/bus/pci. If it does not find /sys/bus/pci (which it
      won't in a Xen PV domU) it returns unsuccesfully (ENOENT), which libvirt
      considers fatal. This makes libvirt unusable in this environment, even
      though there are plenty of valid virtualisation options that work
      there (LXC, UML, and QEmu spring to mind)
      
      https://bugzilla.redhat.com/show_bug.cgi?id=709471Signed-off-by: NSoren Hansen <soren@linux2go.dk>
      9c728316
    • A
      doc: fix incorrect option in send-key · 9acaca7c
      Alex Jia 提交于
      * tools/virsh.pod: fix a option typo of send-key section.
      Signed-off-by: NAlex Jia <ajia@redhat.com>
      9acaca7c
    • A
      virsh: fix typo in opts_send_key · 07331bba
      Alex Jia 提交于
      * tools/virsh.c: millseconds should be milliseconds in opts_send_key.
      Signed-off-by: NAlex Jia <ajia@redhat.com>
      07331bba
    • A
      rpc: avoid memory leak on virNetTLSContextValidCertificate · db8ffc2d
      Alex Jia 提交于
      * src/rpc/virnettlscontext.c: fix memory leak on
        virNetTLSContextValidCertificate.
      
      * Detected in valgrind run:
      
      ==25667==
      ==25667== 6,085 (44 direct, 6,041 indirect) bytes in 1 blocks are definitely
      lost in loss record 326 of 351
      ==25667==    at 0x4005447: calloc (vg_replace_malloc.c:467)
      ==25667==    by 0x4F2791F3: _asn1_add_node_only (structure.c:53)
      ==25667==    by 0x4F27997A: _asn1_copy_structure3 (structure.c:421)
      ==25667==    by 0x4F276A50: _asn1_append_sequence_set (element.c:144)
      ==25667==    by 0x4F2743FF: asn1_der_decoding (decoding.c:1194)
      ==25667==    by 0x4F22B9CC: gnutls_x509_crt_import (x509.c:229)
      ==25667==    by 0x805274B: virNetTLSContextCheckCertificate
      (virnettlscontext.c:1009)
      ==25667==    by 0x804DE32: testTLSSessionInit (virnettlscontexttest.c:693)
      ==25667==    by 0x804F14D: virtTestRun (testutils.c:140)
      ==25667==
      ==25667== 23,188 (88 direct, 23,100 indirect) bytes in 11 blocks are definitely
      lost in loss record 346 of 351
      ==25667==    at 0x4005447: calloc (vg_replace_malloc.c:467)
      ==25667==    by 0x4F22B841: gnutls_x509_crt_init (x509.c:50)
      ==25667==    by 0x805272B: virNetTLSContextCheckCertificate
      (virnettlscontext.c:1003)
      ==25667==    by 0x804DDD1: testTLSSessionInit (virnettlscontexttest.c:673)
      ==25667==    by 0x804F14D: virtTestRun (testutils.c:140)
      
      * How to reproduce?
      % cd libvirt && ./configure && make && make -C tests valgrind
      or
      % valgrind -v --leak-check=full ./tests/virnettlscontexttest
      Signed-off-by: NAlex Jia <ajia@redhat.com>
      db8ffc2d
    • A
      tests: avoid memory leak on testTLSSessionInit · 3a89819d
      Alex Jia 提交于
      * tests/virnettlscontexttest: fix memory leak on virnettlscontext test case.
      
      * Detected in valgrind run:
      
      ==25667==
      ==25667== 86,651 (34,680 direct, 51,971 indirect) bytes in 10 blocks are
      definitely lost in loss record 350 of 351
      ==25667==    at 0x4005447: calloc (vg_replace_malloc.c:467)
      ==25667==    by 0x4F1F515D: gnutls_init (gnutls_state.c:270)
      ==25667==    by 0x8053432: virNetTLSSessionNew (virnettlscontext.c:1181)
      ==25667==    by 0x804DD24: testTLSSessionInit (virnettlscontexttest.c:624)
      ==25667==    by 0x804F14D: virtTestRun (testutils.c:140)
      ==25667==
      ==25667== 100,578 (38,148 direct, 62,430 indirect) bytes in 11 blocks are
      definitely lost in loss record 351 of 351
      ==25667==    at 0x4005447: calloc (vg_replace_malloc.c:467)
      ==25667==    by 0x4F1F515D: gnutls_init (gnutls_state.c:270)
      ==25667==    by 0x8053432: virNetTLSSessionNew (virnettlscontext.c:1181)
      ==25667==    by 0x804DD3C: testTLSSessionInit (virnettlscontexttest.c:625)
      ==25667==    by 0x804F14D: virtTestRun (testutils.c:140)
      
      * How to reproduce?
      % cd libvirt && ./configure && make && make -C tests valgrind
      or
      % valgrind -v --leak-check=full ./tests/virnettlscontexttest
      Signed-off-by: NAlex Jia <ajia@redhat.com>
      3a89819d
    • A
      libxl: avoid a dereference of a null pointer · 4b4e4a69
      Alex Jia 提交于
      Variable 'l_disk' initialized to a null pointer value, control jumps to 'case
      VIR_DOMAIN_DISK_DEVICE_DISK and then taking false branch, Within the expansion
      of the macro 'libxlError': Field access results in a dereference of a null
      pointer (loaded from variable 'l_disk').
      
      * src/libxl/libxl_driver.c: Field access results in a dereference of a null
        pointer (loaded from variable 'l_disk')
      Signed-off-by: NAlex Jia <ajia@redhat.com>
      4b4e4a69
    • E
      blockinfo: fix qemu regression in handling disk name · 6977fd95
      Eric Blake 提交于
      Regression introduced in commit 89b6284f, due to an incorrect
      conversion to the new means of converting disk names back to
      the correct object.
      
      * src/qemu/qemu_driver.c (qemuDomainGetBlockInfo): Avoid NULL deref.
      6977fd95
    • M
      esx: Fix managed object lookup with optional occurrence · 4d3d3e47
      Matthias Bolte 提交于
      Exit early if managed object is not found, instead of dereferencing
      a NULL pointer and triggering a segfault.
      4d3d3e47
  6. 07 9月, 2011 1 次提交
    • M
      Threadpool: Initialize new dynamic workers · d1a366be
      Michal Privoznik 提交于
      Although we were initializing worker threads during pool creating,
      we missed this during virThreadPoolSendJob. This bug led to segmenation
      fault as worker thread free() given argument.
      d1a366be