1. 29 4月, 2016 1 次提交
    • B
      rpc: Don't leak fd via CreateXMLWithFiles · 5ba48584
      Ben Gray 提交于
      FD passing APIs like CreateXMLWithFiles or OpenGraphicsFD will leak
      file descriptors. The user passes in an fd, which is dup()'d in
      virNetClientProgramCall. The new fd is what is transfered to the
      server virNetClientIOWriteMessage.
      
      Once all the fds have been written though, the parent msg->fds list
      is immediately free'd, so the individual fds are never closed.
      
      This closes each FD as its send to the server, so all fds have been
      closed by the time msg->fds is free'd.
      
      https://bugzilla.redhat.com/show_bug.cgi?id=1159766
      5ba48584
  2. 21 4月, 2016 1 次提交
  3. 23 9月, 2015 2 次提交
    • J
      client rpc: Process pending data on error · adf3be57
      Jiri Denemark 提交于
      Even though we hit an error in client's IO loop, we still want to
      process any pending data. So instead of reporting the error right away,
      we can finish the current iteration and report the error once we're done
      with it. Note that the error is stored in client->error by
      virNetClientMarkClose so we don't need to worry about it being reset or
      rewritten by any API we call in the meantime.
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      adf3be57
    • J
      client rpc: Report proper error for keepalive disconnections · c91776d5
      Jiri Denemark 提交于
      Whenever a connection was closed due to keepalive timeout, we would log
      a warning but the interrupted API would return rather useless generic
      error:
      
          internal error: received hangup / error event on socket
      
      Let's report a proper keepalive timeout error and make sure it is
      propagated to all pending APIs. The error should be better now:
      
          internal error: connection closed due to keepalive timeout
      
      Based on an old patch from Martin Kletzander.
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      c91776d5
  4. 11 6月, 2015 1 次提交
  5. 10 3月, 2015 1 次提交
  6. 08 12月, 2014 1 次提交
  7. 15 11月, 2014 1 次提交
  8. 25 3月, 2014 1 次提交
  9. 20 3月, 2014 1 次提交
    • M
      virNetClientSetTLSSession: Restore original signal mask · 3d4b4f5a
      Michal Privoznik 提交于
      Currently, we use pthread_sigmask(SIG_BLOCK, ...) prior to calling
      poll(). This is okay, as we don't want poll() to be interrupted.
      However, then - immediately as we fall out from the poll() - we try to
      restore the original sigmask - again using SIG_BLOCK. But as the man
      page says, SIG_BLOCK adds signals to the signal mask:
      
      SIG_BLOCK
            The set of blocked signals is the union of the current set and the set argument.
      
      Therefore, when restoring the original mask, we need to completely
      overwrite the one we set earlier and hence we should be using:
      
      SIG_SETMASK
            The set of blocked signals is set to the argument set.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      3d4b4f5a
  10. 18 3月, 2014 3 次提交
  11. 10 3月, 2014 1 次提交
  12. 12 7月, 2013 1 次提交
    • P
      remote: Improve libssh2 password authentication · 273745b4
      Peter Krempa 提交于
      This patch enables the password authentication in the libssh2 connection
      driver. There are a few benefits to this step:
      
      1) Hosts with challenge response authentication will now be supported
      with the libssh2 connection driver.
      
      2) Credential for hosts can now be stored in the authentication
      credential config file
      273745b4
  13. 11 7月, 2013 1 次提交
  14. 10 7月, 2013 1 次提交
  15. 23 5月, 2013 1 次提交
  16. 21 5月, 2013 1 次提交
  17. 20 4月, 2013 1 次提交
    • E
      docs: fix usage of 'onto' · 1bf25ba2
      Eric Blake 提交于
      http://www.uhv.edu/ac/newsletters/writing/grammartip2009.07.01.htm
      (and several other sites) give hints that 'onto' is best used if
      you can also add 'up' just before it and still make sense. In many
      cases in the code base, we really want the two-word form, or even
      a simplification to just 'on' or 'to'.
      
      * docs/hacking.html.in: Use correct 'on to'.
      * python/libvirt-override.c: Likewise.
      * src/lxc/lxc_controller.c: Likewise.
      * src/util/virpci.c: Likewise.
      * daemon/THREADS.txt: Use simpler 'on'.
      * docs/formatdomain.html.in: Better usage.
      * docs/internals/rpc.html.in: Likewise.
      * src/conf/domain_event.c: Likewise.
      * src/rpc/virnetclient.c: Likewise.
      * tests/qemumonitortestutils.c: Likewise.
      * HACKING: Regenerate.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      1bf25ba2
  18. 27 3月, 2013 1 次提交
    • J
      rpc: Fix client crash when server drops connection · d8d4aa01
      Jiri Denemark 提交于
      Despite the comment stating virNetClientIncomingEvent handler should
      never be called with either client->haveTheBuck or client->wantClose
      set, there is a sequence of events that may lead to both booleans being
      true when virNetClientIncomingEvent is called. However, when that
      happens, we must not immediately close the socket as there are other
      threads waiting for the buck and they would cause SIGSEGV once they are
      woken up after the socket was closed. Another thing is we should clear
      all remaining calls in the queue after closing the socket.
      
      The situation that can lead to the crash involves three threads, one of
      them running event loop and the other two calling libvirt APIs. The
      event loop thread detects an event on client->sock and calls
      virNetClientIncomingEvent handler. But before the handler gets a chance
      to lock client, the other two threads (T1 and T2) start calling some
      APIs. T1 gets the buck and detects EOF on client->sock while processing
      its RPC call. Since T2 is waiting for its own call, T1 passes the buck
      on to it and unlocks client. But before T2 gets the signal, the event
      loop thread wakes up, does its job and closes client->sock. The crash
      happens when T2 actually wakes up and tries to do its job using a closed
      client->sock.
      d8d4aa01
  19. 14 3月, 2013 1 次提交
    • D
      Re-add DTrace probes on 'dispose' functions · ad9ea4a9
      Daniel P. Berrange 提交于
      When converting to virObject, the probes on the 'Free' functions
      were removed on the basis that there is a probe on virObjectFree
      that suffices. This puts a burden on people writing probe scripts
      to identify which object is being dispose. This adds back probes
      in the 'Dispose' functions and updates the rpc monitor systemtap
      example to use them
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      ad9ea4a9
  20. 21 2月, 2013 1 次提交
  21. 08 2月, 2013 1 次提交
  22. 23 1月, 2013 1 次提交
  23. 22 1月, 2013 1 次提交
  24. 18 1月, 2013 1 次提交
  25. 16 1月, 2013 2 次提交
  26. 14 1月, 2013 1 次提交
  27. 11 1月, 2013 1 次提交
  28. 09 1月, 2013 1 次提交
  29. 08 1月, 2013 1 次提交
  30. 21 12月, 2012 5 次提交
  31. 02 11月, 2012 1 次提交
  32. 21 9月, 2012 1 次提交