1. 30 3月, 2012 1 次提交
  2. 23 3月, 2012 2 次提交
  3. 25 2月, 2012 1 次提交
    • M
      Fixed URI parsing · 9f748277
      Martin Kletzander 提交于
      Function xmlParseURI does not remove square brackets around IPv6
      address when parsing. One of the solutions is making wrappers around
      functions working with xmlURI*. This assures that uri->server will be
      always properly assigned and it doesn't have to be changed when used
      on some new place in the code.
      For this purpose, functions virParseURI and virSaveURI were
      added. These function are wrappers around xmlParseURI and xmlSaveUri
      respectively.
      Also there is one new syntax check function to prohibit these functions
      anywhere else.
      
      File changes:
       - src/util/viruri.h        -- declaration
       - src/util/viruri.c        -- definition
       - src/libvirt_private.syms -- symbol export
       - src/Makefile.am          -- added source and header files
       - cfg.mk                   -- added sc_prohibit_xmlURI
       - all others               -- ID name and include fixes
      9f748277
  4. 02 12月, 2011 1 次提交
    • E
      maint: typo fixes · a6997934
      Eric Blake 提交于
      Many of these were mentioned by Yuri Chornoivan in:
      https://bugzilla.redhat.com/show_bug.cgi?id=669506
      
      * src/esx/esx_vi.c (esxVI_WaitForTaskCompletion): Fix spelling.
      * src/conf/netdev_vport_profile_conf.c
      (virNetDevVPortProfileParse): Likewise.
      * src/xen/xend_internal.c (xenDaemonDomainSetVcpusFlags):
      Likewise.
      * src/xen/xm_internal.c (xenXMDomainSetVcpusFlags): Likewise.
      * src/esx/esx_util.c (esxUtil_ResolveHostname): Likewise.
      * src/storage/storage_backend_fs.c
      (virStorageBackendFileSystemBuild): Likewise.
      * daemon/libvirtd.conf: Likewise.
      * src/util/logging.c (virLogMessage): Likewise.
      * src/uml/uml_conf.c (umlBuildCommandLineNet): Likewise.
      * src/vmx/vmx.c (virVMXFormatEthernet): Likewise.
      a6997934
  5. 02 11月, 2011 1 次提交
    • M
      esx: Support folders in the path of vpx:// connection URIs · 23247a1e
      Matthias Bolte 提交于
      Allow the datacenter and compute resource parts of the path
      to be prefixed with folders. Therefore, the way the path is
      parsed has changed. Before, it was split in 2 or 3 items and
      the items' meanings were determined by their positions. Now
      the path can have 2 or more items and the the vCenter server
      is asked whether a folder, datacenter of compute resource
      with the specified name exists at the current hierarchy level.
      
      Before the datacenter and compute resource lookup automatically
      traversed folders during lookup. This is logic got removed
      and folders have to be specified explicitly.
      
      The proper datacenter path including folders is now used when
      accessing a datastore over HTTPS. This makes virsh dumpxml
      and define work for datacenters in folders.
      
      https://bugzilla.redhat.com/show_bug.cgi?id=732676
      23247a1e
  6. 05 5月, 2011 1 次提交
    • M
      esx: Remove dead store in esxUtil_ParseDatastorePath · d0a8f99c
      Matthias Bolte 提交于
      The ++ on preliminaryFileName was a left over from a previous version
      of this function that explicitly returned the filename and did a strdup
      on preliminaryFileName afterwards.
      
      As the filename isn't returned explicitly anymore remove the preliminary
      variable for it and reuse the tmp variable instead.
      
      Reported by Eric Blake, detected by clang.
      d0a8f99c
  7. 04 3月, 2011 1 次提交
    • M
      esx: Escape password for XML · b31d6c12
      Matthias Bolte 提交于
      Passwords are allowed to contain <, >, &, ', " characters.
      Those need to be replaced by the corresponding entities.
      
      Reported by Hereward Cooper.
      b31d6c12
  8. 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
  9. 19 10月, 2010 1 次提交
    • M
      esx: Handle non-UTF-8 encoded VMX files · 1c616489
      Matthias Bolte 提交于
      ESX(i) uses UTF-8, but a Windows based GSX server writes
      Windows-1252 encoded VMX files.
      
      Add a test case to ensure that libxml2 provides Windows-1252
      to UTF-8 conversion.
      1c616489
  10. 15 10月, 2010 1 次提交
  11. 04 9月, 2010 1 次提交
  12. 03 9月, 2010 1 次提交
    • M
      esx: Rework datastore path parsing and handling · 84768912
      Matthias Bolte 提交于
      Instead of splitting the path part of a datastore path into
      directory and file name, keep this in one piece. An example:
      
        "[datastore] directory/file"
      
      was split into this before:
      
        datastoreName = "datastore"
        directoryName = "directory"
        fileName = "file"
      
      Now it's split into this:
      
        datastoreName = "datastore"
        directoryName = "directory"
        directoryAndFileName = "directory/file"
      
      This simplifies code using esxUtil_ParseDatastorePath, because
      directoryAndFileName is used more often than fileName. Also the
      old approach expected the datastore path to reference an actual
      file, but this isn't always correct, especially when listing
      volumes. In that case esxUtil_ParseDatastorePath is used to parse
      a path that references a directory. This fails for a vpx://
      connection because the vCenter returns directory paths with a
      trailing '/'. The new approach is robust against this and the
      actual decision if the datastore path should reference a file or
      a directory is up to the caller of esxUtil_ParseDatastorePath.
      
      Update the tests accordingly.
      84768912
  13. 03 8月, 2010 2 次提交
    • M
      esx: Make storage pool lookup by name and UUID more robust · 5254546b
      Matthias Bolte 提交于
      Don't rely on summary.url anymore, because its value is different
      between an esx:// and vpx:// connection. Use host.mountInfo.path
      instead.
      
      Don't fallback to lookup by UUID (actually lookup by absolute path)
      in esxVI_LookupDatastoreByName when lookup by name fails. Add a
      seperate function for this: esxVI_LookupDatastoreByAbsolutePath
      5254546b
    • M
      esx: Parse the path of the URI · ac041072
      Matthias Bolte 提交于
      The path will be used to specify the datacenter, compute resource
      and host system to be used with a vpx:// connection.
      ac041072
  14. 24 6月, 2010 1 次提交
  15. 09 6月, 2010 2 次提交
  16. 27 5月, 2010 1 次提交
    • M
      esx: Simplify goto usage · 041aac86
      Matthias Bolte 提交于
      Eliminate almost all backward jumps by replacing this common pattern:
      
      int
      some_random_function(void)
      {
          int result = 0;
          ...
      
        cleanup:
          <unconditional cleanup code>
          return result;
      
        failure:
          <cleanup code in case of an error>
          result = -1;
          goto cleanup
      }
      
      with this simpler pattern:
      
      int
      some_random_function(void)
      {
          int result = -1;
          ...
          result = 0;
      
        cleanup:
          if (result < 0) {
              <cleanup code in case of an error>
          }
      
          <unconditional cleanup code>
          return result;
      }
      
      Add a bool success variable in functions that don't have a int result
      that can be used for the new pattern.
      
      Also remove some unnecessary memsets in error paths.
      041aac86
  17. 12 5月, 2010 1 次提交
    • E
      build: update gnulib · e8a1a730
      Eric Blake 提交于
      * .gnulib: Update to latest.
      * bootstrap.conf (gnulib_modules): Import netdb.
      * src/esx/esx_util.c (AI_ADDRCONFIG): Rely on gnulib.
      * src/remote/remote_driver.c (AI_ADDRCONFIG): Likewise.
      * tools/virsh.c (WEXITSTATUS, O_SYNC): Likewise.
      e8a1a730
  18. 16 4月, 2010 1 次提交
  19. 07 4月, 2010 1 次提交
    • M
      esx: Mark error messages for translation · 028db0bf
      Matthias Bolte 提交于
      Also define ESX_ERROR and ESX_VI_ERROR in a central place, instead of
      defining them in each source file.
      
      Add ESX_ERROR and ESX_VI_ERROR to the msg_gen_function list in cfg.mk.
      
      Update po/POTFILES.in accordingly.
      028db0bf
  20. 23 3月, 2010 1 次提交
  21. 17 3月, 2010 1 次提交
  22. 08 3月, 2010 1 次提交
    • E
      build: consistently use C99 varargs macros · 2e56fb2b
      Eric Blake 提交于
      Prior to this patch, there was an inconsistent mix between GNU and C99.
      
      For consistency, and potential portability to other compilers, stick
      with the C99 vararg macro syntax.
      
      * src/conf/cpu_conf.c (virCPUReportError): Use C99 rather than GNU
        vararg macro syntax.
      * src/conf/domain_conf.c (virDomainReportError): Likewise.
      * src/conf/domain_event.c (eventReportError): Likewise.
      * src/conf/interface_conf.c (virInterfaceReportError): Likewise.
      * src/conf/network_conf.c (virNetworkReportError): Likewise.
      * src/conf/node_device_conf.h (virNodeDeviceReportError): Likewise.
      * src/conf/secret_conf.h (virSecretReportError): Likewise.
      * src/conf/storage_conf.h (virStorageReportError): Likewise.
      * src/esx/esx_device_monitor.c (ESX_ERROR): Use C99 rather than
        GNU vararg macro syntax.
      * src/esx/esx_driver.c (ESX_ERROR): Likewise.
      * src/esx/esx_interface_driver.c (ESX_ERROR): Likewise.
      * src/esx/esx_network_driver.c (ESX_ERROR): Likewise.
      * src/esx/esx_secret_driver.c (ESX_ERROR): Likewise.
      * src/esx/esx_storage_driver.c (ESX_ERROR): Likewise.
      * src/esx/esx_util.c (ESX_ERROR): Likewise.
      * src/esx/esx_vi.c (ESX_VI_ERROR): Likewise.
      * src/esx/esx_vi_methods.c (ESX_VI_ERROR): Likewise.
      * src/esx/esx_vi_types.c (ESX_VI_ERROR): Likewise.
      * src/esx/esx_vmx.c (ESX_ERROR): Likewise.
      * src/util/hostusb.c (usbReportError): Use C99 rather than GNU
        vararg macro syntax.
      * src/util/json.c (virJSONError): Likewise.
      * src/util/macvtap.c (ReportError): Likewise.
      * src/util/pci.c (pciReportError): Likewise.
      * src/util/stats_linux.c (virStatsError): Likewise.
      * src/util/util.c (virUtilError): Likewise.
      * src/util/xml.c (virXMLError): Likewise.
      * src/xen/proxy_internal.c (virProxyError): Use C99 rather than
        GNU vararg macro syntax.
      * src/xen/sexpr.c (virSexprError): Likewise.
      * src/xen/xen_driver.c (xenUnifiedError): Likewise.
      * src/xen/xen_hypervisor.c (virXenError): Likewise.
      * src/xen/xen_inotify.c (virXenInotifyError): Likewise.
      * src/xen/xend_internal.c (virXendError): Likewise.
      * src/xen/xm_internal.c (xenXMError): Likewise.
      * src/xen/xs_internal.c (virXenStoreError): Likewise.
      * src/cpu/cpu.h (virCPUReportError): Use C99 rather than GNU
        vararg macro syntax.
      * src/datatypes.c (virLibConnError): Likewise.
      * src/interface/netcf_driver.c (interfaceReportError): Likewise.
      * src/libvirt.c (virLibStreamError): Likewise.
      * src/lxc/lxc_conf.h (lxcError): Likewise.
      * src/network/bridge_driver.c (networkReportError): Likewise.
      * src/nodeinfo.c (nodeReportError): Likewise.
      * src/opennebula/one_conf.h (oneError): Likewise.
      * src/openvz/openvz_conf.h (openvzError): Likewise.
      * src/phyp/phyp_driver.c (PHYP_ERROR): Likewise.
      * src/qemu/qemu_conf.h (qemuReportError): Likewise.
      * src/remote/remote_driver.c (errorf): Likewise.
      * src/security/security_driver.h (virSecurityReportError): Likewise.
      * src/test/test_driver.c (testError): Likewise.
      * src/uml/uml_conf.h (umlReportError): Likewise.
      * src/vbox/vbox_driver.c (vboxError): Likewise.
      * src/vbox/vbox_tmpl.c (vboxError): Likewise.
      2e56fb2b
  23. 09 2月, 2010 1 次提交
  24. 26 1月, 2010 1 次提交
  25. 19 12月, 2009 1 次提交
    • M
      esx: Add automatic question handling · f66d5745
      Matthias Bolte 提交于
      Questions can block tasks, to handle them automatically the driver can answers
      them with the default answer. The auto_answer query parameter allows to enable
      this automatic question handling.
      
      * src/esx/README: add a detailed explanation for automatic question handling
      * src/esx/esx_driver.c: add automatic question handling for all task related
        driver functions
      * src/esx/esx_util.[ch]: add handling for the auto_answer query parameter
      * src/esx/esx_vi.[ch], src/esx/esx_vi_methods.[ch], src/esx/esx_vi_types.[ch]:
        add new VI API methods and types and additional helper functions for
        automatic question handling
      f66d5745
  26. 16 12月, 2009 1 次提交
  27. 23 9月, 2009 4 次提交
    • M
      ESX replace esxUtil_EqualSuffix() with virFileHasSuffix() · 8ce9f2b1
      Matthias Bolte 提交于
      * src/esx/esx_util.[ch]: remove esxUtil_EqualSuffix()
      * src/esx/esx_driver.c, src/esx/esx_vmx.c: replace esxUtil_EqualSuffix()
        with virFileHasSuffix()
      8ce9f2b1
    • M
      ESX add esxDomainDefineXML() · 49faa15e
      Matthias Bolte 提交于
      A given domain XML gets converted to a VMX config, uploaded to the host
      and registered as new virtual machine.
      
      * src/esx/esx_driver.c: refactor datastore related path parsing into
        esxUtil_ParseDatastoreRelatedPath()
      * src/esx/esx_util.[ch]: add esxUtil_ParseDatastoreRelatedPath()
      * src/esx/esx_vi.[ch]: add esxVI_Context_UploadFile(), add datastores to
        the traversal in esxVI_BuildFullTraversalSpecList(), add
        esxVI_LookupDatastoreByName()
      * src/esx/esx_vi_methods.[ch]: add esxVI_RegisterVM_Task()
      * src/esx/esx_vi_types.c: make some error message more verbose
      * src/esx/esx_vmx.[ch]: add esxVMX_AbsolutePathToDatastoreRelatedPath()
        to convert a path into a datastore related path, add esxVMX_ParseFileName()
        to convert from VMX path format to domain XML path format, extend the other
        parsing function to be datastore aware, add esxVMX_FormatFileName() to
        convert from domain XML path format to VMX path format, fix VMX ethernet
        entry formating
      * tests/esxutilstest.c: add test for esxUtil_ParseDatastoreRelatedPath()
      * tests/vmx2xmldata/*: update domain XML files to use datastore related paths
      * tests/xml2vmxdata/*: update domain XML files to use datastore related paths,
        update VMX files to use absolute paths
      49faa15e
    • M
      ESX Whitespace cleanup · 0d4d04e5
      Matthias Bolte 提交于
      0d4d04e5
    • M
      ESX Set challenge for auth callback to hostname · 6f9d8bdb
      Matthias Bolte 提交于
      This enables the auth callback to automatically distinguish between
      requests for ESX host and vCenter credentials.
      
      * src/esx/esx_util.[ch]: set challenge for auth callback to hostname
      6f9d8bdb
  28. 05 9月, 2009 1 次提交
  29. 02 9月, 2009 1 次提交
    • M
      VMware ESX: Don't warn on some query parameter · b8ee9810
      Matthias Bolte 提交于
      * src/esx/esx_util.c: esxUtil_ParseQuery() warns if a known query
        parameter should be ignored due to the corresponding char/int pointer
        being NULL, instead of silently ignoring it. Fix the control flow.
      b8ee9810
  30. 06 8月, 2009 1 次提交
  31. 31 7月, 2009 1 次提交
    • D
      Enable ESX driver build on Mingw32 · 84e96866
      Daniel P. Berrange 提交于
      * autobuild.sh, mingw32-libvirt.spec.in: Enable esx on mingw32
      * src/esx/esx_driver.c: Define AI_ADDRCONFIG if not set
      * src/esx/esx_util.c, src/esx/esx_vi_types.c: Always use
        %lld & friends, since gnulib guarentees we have these
        and not the target's own variants
      84e96866
  32. 27 7月, 2009 1 次提交
    • M
      Add no_verify query parameter to ESX URIs · e4e50f52
      Matthias Bolte 提交于
      * src/esx/esx_driver.c src/esx/esx_util.c src/esx/esx_util.h
        src/esx/esx_vi.c src/esx/esx_vi.h: adds a no_verify query parameter to
        stop libcurl from verifying theserver certificate for the https
        transport.
      e4e50f52
  33. 24 7月, 2009 1 次提交
    • M
      First version of the driver for VMWare ESX · e2aeee68
      Matthias Bolte 提交于
      * src/esx/esx_*.[ch]: the driver, uses a remote minimal SOAP client
        to talk to the VI services on ESX nodes.
      * configure.in include/libvirt/virterror.h src/Makefile.am src/driver.h
        src/libvirt.c src/virterror.c: glue in the new driver
      e2aeee68