1. 28 4月, 2015 1 次提交
  2. 21 5月, 2013 12 次提交
    • D
      Convert Xen domain core dump driver methods to use virDomainDefPtr · fa9b8b04
      Daniel P. Berrange 提交于
      Introduce use of a virDomainDefPtr in the domain coredump
      APIs to simplify introduction of ACL security checks.
      The virDomainPtr cannot be safely used, since the app
      may have supplied mis-matching name/uuid/id fields. eg
      the name points to domain X, while the uuid points to
      domain Y. Resolving the virDomainPtr to a virDomainDefPtr
      ensures a consistent name/uuid/id set.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      fa9b8b04
    • D
      Convert Xen domain stats/peek driver methods to use virDomainDefPtr · 89d819f2
      Daniel P. Berrange 提交于
      Introduce use of a virDomainDefPtr in the domain stats &
      peek APIs to simplify introduction of ACL security checks.
      The virDomainPtr cannot be safely used, since the app
      may have supplied mis-matching name/uuid/id fields. eg
      the name points to domain X, while the uuid points to
      domain Y. Resolving the virDomainPtr to a virDomainDefPtr
      ensures a consistent name/uuid/id set.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      89d819f2
    • D
      Convert Xen domain scheduler driver methods to use virDomainDefPtr · f6e95ac0
      Daniel P. Berrange 提交于
      Introduce use of a virDomainDefPtr in the domain scheduler
      APIs to simplify introduction of ACL security checks.
      The virDomainPtr cannot be safely used, since the app
      may have supplied mis-matching name/uuid/id fields. eg
      the name points to domain X, while the uuid points to
      domain Y. Resolving the virDomainPtr to a virDomainDefPtr
      ensures a consistent name/uuid/id set.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      f6e95ac0
    • D
      Convert Xen domain autostart driver methods to use virDomainDefPtr · d305e869
      Daniel P. Berrange 提交于
      Introduce use of a virDomainDefPtr in the domain autostart
      APIs to simplify introduction of ACL security checks.
      The virDomainPtr cannot be safely used, since the app
      may have supplied mis-matching name/uuid/id fields. eg
      the name points to domain X, while the uuid points to
      domain Y. Resolving the virDomainPtr to a virDomainDefPtr
      ensures a consistent name/uuid/id set.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      d305e869
    • D
      Convert Xen domain device hotplug driver methods to use virDomainDefPtr · 21213a4b
      Daniel P. Berrange 提交于
      Introduce use of a virDomainDefPtr in the domain hotplug
      APIs to simplify introduction of ACL security checks.
      The virDomainPtr cannot be safely used, since the app
      may have supplied mis-matching name/uuid/id fields. eg
      the name points to domain X, while the uuid points to
      domain Y. Resolving the virDomainPtr to a virDomainDefPtr
      ensures a consistent name/uuid/id set.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      21213a4b
    • D
      Convert Xen domain VCPU driver methods to use virDomainDefPtr · 95e18efd
      Daniel P. Berrange 提交于
      Introduce use of a virDomainDefPtr in the domain VCPU
      APIs to simplify introduction of ACL security checks.
      The virDomainPtr cannot be safely used, since the app
      may have supplied mis-matching name/uuid/id fields. eg
      the name points to domain X, while the uuid points to
      domain Y. Resolving the virDomainPtr to a virDomainDefPtr
      ensures a consistent name/uuid/id set.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      95e18efd
    • D
      Convert Xen domain create/define/getxml/migration APIs to use virDomainDefPtr · 18b14012
      Daniel P. Berrange 提交于
      Introduce use of a virDomainDefPtr in the domain create, migrate,
      getxml, & define APIs to simplify introduction of ACL security
      checks. The virDomainPtr cannot be safely used, since the app
      may have supplied mis-matching name/uuid/id fields. eg
      the name points to domain X, while the uuid points to
      domain Y. Resolving the virDomainPtr to a virDomainDefPtr
      ensures a consistent name/uuid/id set.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      18b14012
    • D
      Convert Xen domain managed save driver methods to use virDomainDefPtr · 0a6fc8ab
      Daniel P. Berrange 提交于
      Introduce use of a virDomainDefPtr in the domain save
      APIs to simplify introduction of ACL security checks.
      The virDomainPtr cannot be safely used, since the app
      may have supplied mis-matching name/uuid/id fields. eg
      the name points to domain X, while the uuid points to
      domain Y. Resolving the virDomainPtr to a virDomainDefPtr
      ensures a consistent name/uuid/id set.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      0a6fc8ab
    • D
      Convert Xen domain property driver methods to use virDomainDefPtr · 249fbea0
      Daniel P. Berrange 提交于
      Introduce use of a virDomainDefPtr in the domain property
      APIs to simplify introduction of ACL security checks.
      The virDomainPtr cannot be safely used, since the app
      may have supplied mis-matching name/uuid/id fields. eg
      the name points to domain X, while the uuid points to
      domain Y. Resolving the virDomainPtr to a virDomainDefPtr
      ensures a consistent name/uuid/id set.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      249fbea0
    • D
      Convert Xen domain lifecycle driver methods to use virDomainDefPtr · f547c520
      Daniel P. Berrange 提交于
      Introduce use of a virDomainDefPtr in the domain lifecycle
      APIs to simplify introduction of ACL security checks.
      The virDomainPtr cannot be safely used, since the app
      may have supplied mis-matching name/uuid/id fields. eg
      the name points to domain X, while the uuid points to
      domain Y. Resolving the virDomainPtr to a virDomainDefPtr
      ensures a consistent name/uuid/id set.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      f547c520
    • D
      Convert Xen domain lookup driver methods to use virDomainDefPtr · 5ed5783b
      Daniel P. Berrange 提交于
      Introduce use of a virDomainDefPtr in the domain lookup
      APIs to simplify introduction of ACL security checks.
      The virDomainPtr cannot be safely used, since the app
      may have supplied mis-matching name/uuid/id fields. eg
      the name points to domain X, while the uuid points to
      domain Y. Resolving the virDomainPtr to a virDomainDefPtr
      ensures a consistent name/uuid/id set.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      5ed5783b
    • E
      maint: use LGPL correctly · d7f53c7b
      Eric Blake 提交于
      Several files called out COPYING or COPYING.LIB instead of using
      the normal boilerplate.  It's especially important that we don't
      call out COPYING from an LGPL file, since COPYING is traditionally
      used for the GPL.  A few files were lacking copyright altogether.
      
      * src/rpc/gendispatch.pl: Add missing copyright.
      * Makefile.nonreentrant: Likewise.
      * src/check-symfile.pl: Likewise.
      * src/check-symsorting.pl: Likewise.
      * src/driver.h: Likewise.
      * src/internal.h: Likewise.
      * tools/libvirt-guests.sh.in: Likewise.
      * tools/virt-pki-validate.in: Mention copyright in comment, not just code.
      * tools/virt-sanlock-cleanup.in: Likewise.
      * src/rpc/genprotocol.pl: Spell out license terms.
      * src/xen/xend_internal.h: Likewise.
      * src/xen/xend_internal.c: Likewise.
      * Makefile.am: Likewise.
      * daemon/Makefile.am: Likewise.
      * docs/Makefile.am: Likewise.
      * docs/schemas/Makefile.am: Likewise.
      * examples/apparmor/Makefile.am: Likewise.
      * examples/domain-events/events-c/Makefile.am: Likewise.
      * examples/dominfo/Makefile.am: Likewise.
      * examples/domsuspend/Makefile.am: Likewise.
      * examples/hellolibvirt/Makefile.am: Likewise.
      * examples/openauth/Makefile.am: Likewise.
      * examples/python/Makefile.am: Likewise.
      * examples/systemtap/Makefile.am: Likewise.
      * examples/xml/nwfilter/Makefile.am: Likewise.
      * gnulib/lib/Makefile.am: Likewise.
      * gnulib/tests/Makefile.am: Likewise.
      * include/Makefile.am: Likewise.
      * include/libvirt/Makefile.am: Likewise.
      * python/Makefile.am: Likewise.
      * python/tests/Makefile.am: Likewise.
      * src/Makefile.am: Likewise.
      * tests/Makefile.am: Likewise.
      * tools/Makefile.am: Likewise.
      * configure.ac: Likewise.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      d7f53c7b
  3. 09 5月, 2013 12 次提交
  4. 21 12月, 2012 1 次提交
  5. 08 3月, 2012 1 次提交
    • E
      xml: use long long internally, to centralize overflow checks · 73b99771
      Eric Blake 提交于
      On 64-bit platforms, unsigned long and unsigned long long are
      identical, so we don't have to worry about overflow checks.
      On 32-bit platforms, anywhere we narrow unsigned long long back
      to unsigned long, we have to worry about overflow; it's easier
      to do this in one place by having most of the code use the same
      or wider types, and only doing the narrowing at the last minute.
      Therefore, the memory set commands remain unsigned long, and
      the memory get command now centralizes the overflow check into
      libvirt.c, so that drivers don't have to repeat the work.
      
      This also fixes a bug where xen returned the wrong value on
      failure (most APIs return -1 on failure, but getMaxMemory
      must return 0 on failure).
      
      * src/driver.h (virDrvDomainGetMaxMemory): Use long long.
      * src/libvirt.c (virDomainGetMaxMemory): Raise overflow.
      * src/test/test_driver.c (testGetMaxMemory): Fix driver.
      * src/rpc/gendispatch.pl (name_to_ProcName): Likewise.
      * src/xen/xen_hypervisor.c (xenHypervisorGetMaxMemory): Likewise.
      * src/xen/xen_driver.c (xenUnifiedDomainGetMaxMemory): Likewise.
      * src/xen/xend_internal.c (xenDaemonDomainGetMaxMemory):
      Likewise.
      * src/xen/xend_internal.h (xenDaemonDomainGetMaxMemory):
      Likewise.
      * src/xen/xm_internal.c (xenXMDomainGetMaxMemory): Likewise.
      * src/xen/xm_internal.h (xenXMDomainGetMaxMemory): Likewise.
      * src/xen/xs_internal.c (xenStoreDomainGetMaxMemory): Likewise.
      * src/xen/xs_internal.h (xenStoreDomainGetMaxMemory): Likewise.
      * src/xenapi/xenapi_driver.c (xenapiDomainGetMaxMemory):
      Likewise.
      * src/esx/esx_driver.c (esxDomainGetMaxMemory): Likewise.
      * src/libxl/libxl_driver.c (libxlDomainGetMaxMemory): Likewise.
      * src/qemu/qemu_driver.c (qemudDomainGetMaxMemory): Likewise.
      * src/lxc/lxc_driver.c (lxcDomainGetMaxMemory): Likewise.
      * src/uml/uml_driver.c (umlDomainGetMaxMemory): Likewise.
      73b99771
  6. 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
  7. 29 7月, 2011 1 次提交
    • E
      xen: make direct call when there is only one subdriver · a1e641a5
      Eric Blake 提交于
      No need to use a for loop if we know there is exactly one client.
      Found by:
      
      for f in $(sed -n 's/.*Drv[^ ]* \([^;]*\);.*/\1/p' src/xen/xen_driver.h)
      do
        git grep "\(\.\|->\)$f\b" src/xen
      done | cat
      
      and looking through the resulting list to see which callback struct
      members are used exactly once.  The next patch will ensure that we
      don't reintroduce uses of these callbacks.
      
      * src/xen/xen_driver.c (xenUnifiedClose): Call close
      unconditionally, to match xenUnifiedOpen.
      (xenUnifiedNodeGetInfo, xenUnifiedDomainCreateXML)
      (xenUnifiedDomainSave, xenUnifiedDomainRestore)
      (xenUnifiedDomainCoreDump, xenUnifiedDomainUpdateDeviceFlags):
      Make direct call to lone implementation.
      * src/xen/xend_internal.h (xenDaemonDomainCoreDump)
      (xenDaemonUpdateDeviceFlags, xenDaemonCreateXML): Add prototypes.
      * src/xen/xend_internal.c (xenDaemonDomainCoreDump)
      (xenDaemonUpdateDeviceFlags, xenDaemonCreateXML): Export.
      a1e641a5
  8. 22 7月, 2011 1 次提交
    • E
      build: fix bugs with destroyFlags patches · 934fdcb3
      Eric Blake 提交于
      Build failure on xenapi_driver from compiler warnings (flags was unused).
      
      Build failure on xen (incorrect number of arguments).  And in fixing
      that, I obeyed the comments of struct xenUnifiedDriver that state
      that we want to minimize the number of callback functions in that
      struct, not add to it.
      
      * src/xen/xen_driver.c (xenUnifiedDomainDestroyFlags): Use correct
      arguments.
      (xenUnifiedDomainDestroy): Simplify.
      * src/xen/xen_driver.h (xenUnifiedDriver): Remove unused callback.
      * src/xen/xen_hypervisor.c (xenHypervisorDestroyDomain): Likewise.
      * src/xen/xend_internal.c (xenDaemonDomainDestroy): Likewise.
      * src/xen/xend_internal.h (xenDaemonDomainDestroyFlags): Likewise.
      * src/xen/xm_internal.c (xenXMDriver): Likewise.
      * src/xen/xs_internal.c (xenStoreDriver): Likewise.
      * src/xen/xen_inotify.c (xenInotifyDriver): Likewise.
      * src/xenapi/xenapi_driver.c (xenapiDomainDestroyFlags): Reject
      unknown flags.
      934fdcb3
  9. 21 7月, 2011 1 次提交
    • E
      maint: fix typos on guaranteed · a7143405
      Eric Blake 提交于
      * src/conf/domain_event.c (virDomainEventDispatch): Fix typo.
      * src/internal.h (ATTRIBUTE_FMT_PRINTF): Likewise.
      * src/libvirt.c (virStreamEventUpdateCallback): Likewise.
      * src/remote/remote_driver.c (doRemoteOpen): Likewise.
      * src/storage/storage_backend_fs.c (virStorageBackendProbeTarget):
      Likewise.
      * src/util/virterror.c (virConnCopyLastError, virCopyLastError):
      Likewise.
      * src/xen/xend_internal.h (xend_wait_for_devices): Likewise.
      a7143405
  10. 16 7月, 2011 1 次提交
    • E
      xen: reject unknown flags · 6a713b31
      Eric Blake 提交于
      Also fix a logic bug in xenXMDomain{Attach,Detach}DeviceFlags,
      where (flags & VIR_DOMAIN_DEVICE_MODIFY_CURRENT) is always false.
      
      * src/xen/xen_driver.c (xenUnifiedDomainXMLFromNative)
      (xenUnifiedDomainXMLToNative, xenUnifiedDomainBlockPeek): Reject
      unknown flags.
      * src/xen/xen_hypervisor.c (xenHypervisorOpen)
      (xenHypervisorGetDomainState): Likewise.
      * src/xen/xen_inotify.c (xenInotifyOpen): Likewise.
      * src/xen/xs_internal.c (xenStoreOpen, xenStoreDomainGetState)
      (xenStoreDomainReboot): Likewise.
      * src/xen/xend_internal.c (xenDaemonOpen, xenDaemonDomainReboot)
      (xenDaemonDomainCoreDump, xenDaemonDomainGetState)
      (xenDaemonDomainMigratePrepare, xenDaemonDomainSetVcpusFlags,
      xenDaemonDomainGetVcpusFlags, xenDaemonAttachDeviceFlags,
      xenDaemonDetachDeviceFlags): Likewise.
      (xenDaemonDomainGetXMLDesc): Prefer unsigned flags.
      * src/xen/xend_internal.h (xenDaemonDomainGetXMLDesc): Likewise.
      * src/xen/xm_internal.h (xenXMDomainGetXMLDesc): Likewise.
      * src/xen/xm_internal.c (xenXMDomainGetXMLDesc): Likewise.
      (xenXMOpen, xenXMDomainGetState, xenXMDomainSetVcpusFlags)
      (xenXMDomainGetVcpusFlags): Reject unknown flags.
      (xenXMDomainAttachDeviceFlags, xenXMDomainDetachDeviceFlags):
      Likewise, and avoid always-false conditional.
      * src/xen/xen_driver.h (XEN_MIGRATION_FLAGS): New define.
      6a713b31
  11. 08 7月, 2011 1 次提交
    • E
      drivers: prefer unsigned int for flags · 1740c381
      Eric Blake 提交于
      Now that the public APIs always use unsigned flags, the internal
      driver callbacks might as well do likewise.
      
      * src/driver.h (vrDrvOpen, virDrvDomainCoreDump)
      (virDrvDomainGetXMLDesc, virDrvNetworkGetXMLDesc)
      (virDrvNWFilterGetXMLDesc): Update type.
      * src/remote/remote_protocol.x (remote_open_args)
      (remote_domain_core_dump_args, remote_domain_get_xml_desc_args)
      (remote_network_get_xml_desc_args)
      (remote_nwfilter_get_xml_desc_args): Likewise.
      * src/test/test_driver.c: Update clients.
      * src/remote/remote_driver.c: Likewise.
      * src/xen/xen_hypervisor.c: Likewise.
      * src/xen/xen_hypervisor.h: Likewise.
      * src/xen/xen_driver.c: Likewise.
      * src/xen/xend_internal.c: Likewise.
      * src/xen/xend_internal.h: Likewise.
      * src/xen/xm_internal.c: Likewise.
      * src/xen/xm_internal.h: Likewise.
      * src/xen/xs_internal.c: Likewise.
      * src/xen/xs_internal.h: Likewise.
      * src/xen/xen_inotify.c: Likewise.
      * src/xen/xen_inotify.h: Likewise.
      * src/phyp/phyp_driver.c: Likewise.
      * src/openvz/openvz_driver.c: Likewise.
      * src/vmware/vmware_driver.c: Likewise.
      * src/vbox/vbox_driver.c: Likewise.
      * src/vbox/vbox_tmpl.c: Likewise.
      * src/xenapi/xenapi_driver.c: Likewise.
      * src/esx/esx_driver.c: Likewise.
      * src/esx/esx_interface_driver.c: Likewise.
      * src/esx/esx_network_driver.c: Likewise.
      * src/esx/esx_storage_driver.c: Likewise.
      * src/esx/esx_device_monitor.c: Likewise.
      * src/esx/esx_secret_driver.c: Likewise.
      * src/esx/esx_nwfilter_driver.c: Likewise.
      * src/interface/netcf_driver.c: Likewise.
      * src/nwfilter/nwfilter_driver.c: Likewise.
      * src/libxl/libxl_driver.c: Likewise.
      * src/qemu/qemu_driver.c: Likewise.
      * src/lxc/lxc_driver.c: Likewise.
      * src/uml/uml_driver.c: Likewise.
      * src/network/bridge_driver.c: Likewise.
      * src/secret/secret_driver.c: Likewise.
      * src/storage/storage_driver.c: Likewise.
      * src/node_device/node_device_hal.c: Likewise.
      * src/node_device/node_device_udev.c: Likewise.
      * src/remote_protocol-structs: Likewise.
      1740c381
  12. 16 5月, 2011 1 次提交
  13. 11 5月, 2011 1 次提交
    • M
      Rename internal DumpXML functions to GetXMLDesc · 9817604a
      Matthias Bolte 提交于
      This matches the public API and helps to get rid of some special
      case code in the remote generator.
      
      Rename driver API functions and XDR protocol structs.
      
      No functional change included outside of the remote generator.
      9817604a
  14. 24 2月, 2011 1 次提交
  15. 22 2月, 2011 2 次提交
  16. 20 10月, 2010 2 次提交
    • E
      vcpu: improve support for setting xen vcpu counts · e443a003
      Eric Blake 提交于
      Tested with RHEL 5.6 (xendConfigVersion 2, where xend_internal
      controls live domains and xm_internal controls inactive domains).
      Hopefully this works with xendConfigVersion 3 (where xend_internal
      controls everything).
      
      * src/xen/xen_driver.c (xenUnifiedDomainSetVcpusFlags): Support
      more flags.
      (xenUnifiedGetMaxVcpus): Export.
      * src/xen/xm_internal.h (xenXMDomainSetVcpusFlags): New prototype.
      * src/xen/xend_internal.h (xenDaemonDomainSetVcpusFlags): Likewise.
      * src/xen/xen_driver.h (xenUnifiedGetMaxVcpus): Likewise.
      * src/xen/xm_internal.c (xenXMDomainSetVcpusFlags): New function.
      * src/xen/xend_internal.c (xenDaemonDomainSetVcpusFlags): Likewise.
      e443a003
    • E
      vcpu: improve support for getting xen vcpu counts · 290ea331
      Eric Blake 提交于
      * src/xen/xen_driver.c (xenUnifiedDomainGetVcpusFlags): Support
      more flags.
      * src/xen/xend_internal.h (xenDaemonDomainGetVcpusFlags): New
      prototype.
      * src/xen/xm_internal.h (xenXMDomainGetVcpusFlags): Likewise.
      * src/xen/xend_internal.c (virDomainGetVcpusFlags): New function.
      * src/xen/xm_internal.c (xenXMDomainGetVcpusFlags): Likewise.
      290ea331