1. 09 5月, 2013 29 次提交
  2. 08 5月, 2013 11 次提交
    • J
      virsh: Resolve Coverity 'MISSING_BREAK' · 55b46920
      John Ferlan 提交于
      Recent commit '53531e16' resulted in a new Coverity warning regarding
      a missing break in the ':' options processing. Adjust the commit to
      avoid the issue.
      55b46920
    • J
      lxc: Coverity false positive USE_AFTER_FREE · 649ecb70
      John Ferlan 提交于
      649ecb70
    • D
      Unmerge attach/update/modify device APIs in drivers · a605b7e0
      Daniel P. Berrange 提交于
      The LXC, QEMU, and LibXL drivers have all merged their handling of
      the attach/update/modify device APIs into one large
      
        'xxxxDomainModifyDeviceFlags'
      
      which then does a 'switch()' based on the actual API being invoked.
      While this saves some lines of code, it is not really all that
      significant in the context of the driver API impls as a whole.
      
      This merger of the handling of different APIs creates pain when
      wanting to automated analysis of the code and do things which
      are specific to individual APIs. The slight duplication of code
      from unmerged the API impls, is preferrable to allow for easier
      automated analysis.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      a605b7e0
    • D
      Pull parsing of migration xml up into QEMU driver APIs · 449e6b1b
      Daniel P. Berrange 提交于
      Currently the parsing of XML is pushed down into the various
      migration helper APIs. This makes it difficult to insert the
      correct access control checks, since one helper API services
      many public APIs. Pull the parsing of XML up to the top level
      of the QEMU driver APIs
      449e6b1b
    • D
      Don't allow renaming of domains by the backdoor · 03a60036
      Daniel P. Berrange 提交于
      Several APIs allow for custom XML to be passed in. This is
      checked for ABI stability, which will ensure the UUID is
      not being changed. There isn't validation that the name
      did not change though. This could allow renaming of guests
      via the backdoor, which in turn could allow for bypassing
      access control restrictions based on names.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      03a60036
    • D
      Fix naming of some node device APIs · 142e6e27
      Daniel P. Berrange 提交于
      In renaming driver API implementations to match the
      public API naming scheme, a few cases in the node
      device driver were missed.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      142e6e27
    • D
      Separate internal node suspend APIs from public API · 4a044d02
      Daniel P. Berrange 提交于
      The individual hypervisor drivers were directly referencing
      APIs in virnodesuspend.c in their virDriverPtr struct. Separate
      these methods, so there is always a wrapper in the hypervisor
      driver. This allows the unused virConnectPtr args to be removed
      from the virnodesuspend.c file. Again this will ensure that
      ACL checks will only be performed on invocations that are
      directly associated with public API usage.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      4a044d02
    • D
      Separate internal node device APIs from public API · 1c6d4ca5
      Daniel P. Berrange 提交于
      The individual hypervisor drivers were directly referencing
      APIs in src/nodeinfo.c in their virDriverPtr struct. Separate
      these methods, so there is always a wrapper in the hypervisor
      driver. This allows the unused virConnectPtr args to be
      removed from the nodeinfo.c file. Again this will ensure that
      ACL checks will only be performed on invocations that are
      directly associated with public API usage.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      1c6d4ca5
    • D
      Separate virGetHostname() API contract from driver APIs · ead63031
      Daniel P. Berrange 提交于
      Currently the virGetHostname() API has a bogus virConnectPtr
      parameter. This is because virtualization drivers directly
      reference this API in their virDriverPtr tables, tieing its
      API design to the public virConnectGetHostname API design.
      
      This also causes problems for access control checks since
      these must only be done for invocations from the public
      API, not internal invocation.
      
      Remove the bogus virConnectPtr parameter, and make each
      hypervisor driver provide a dedicated function for the
      driver API impl. This will allow access control checks
      to be easily inserted later.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      ead63031
    • D
      Include process start time when doing polkit checks · 979e9c56
      Daniel P. Berrange 提交于
      Since PIDs can be reused, polkit prefers to be given
      a (PID,start time) pair. If given a PID on its own,
      it will attempt to lookup the start time in /proc/pid/stat,
      though this is subject to races.
      
      It is safer if the client app resolves the PID start
      time itself, because as long as the app has the client
      socket open, the client PID won't be reused.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      979e9c56
    • D
      Rename "security context" to "selinux context" · b1d753fe
      Daniel P. Berrange 提交于
      There are various methods named "virXXXXSecurityContext",
      which are specific to SELinux. Rename them all to
      "virXXXXSELinuxContext". They will still raise errors at
      runtime if SELinux is not compiled in
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      b1d753fe