1. 01 7月, 2014 2 次提交
    • P
      ui/vnc: fix potential memory corruption issues · bea60dd7
      Peter Lieven 提交于
      this patch makes the VNC server work correctly if the
      server surface and the guest surface have different sizes.
      
      Basically the server surface is adjusted to not exceed VNC_MAX_WIDTH
      x VNC_MAX_HEIGHT and additionally the width is rounded up to multiple of
      VNC_DIRTY_PIXELS_PER_BIT.
      
      If we have a resolution whose width is not dividable by VNC_DIRTY_PIXELS_PER_BIT
      we now get a small black bar on the right of the screen.
      
      If the surface is too big to fit the limits only the upper left area is shown.
      
      On top of that this fixes 2 memory corruption issues:
      
      The first was actually discovered during playing
      around with a Windows 7 vServer. During resolution
      change in Windows 7 it happens sometimes that Windows
      changes to an intermediate resolution where
      server_stride % cmp_bytes != 0 (in vnc_refresh_server_surface).
      This happens only if width % VNC_DIRTY_PIXELS_PER_BIT != 0.
      
      The second is a theoretical issue, but is maybe exploitable
      by the guest. If for some reason the guest surface size is bigger
      than VNC_MAX_WIDTH x VNC_MAX_HEIGHT we end up in severe corruption since
      this limit is nowhere enforced.
      Signed-off-by: NPeter Lieven <pl@kamp.de>
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      bea60dd7
    • P
      ui/vnc: limit client_cut_text msg payload size · f9a70e79
      Peter Lieven 提交于
      currently a malicious client could define a payload
      size of 2^32 - 1 bytes and send up to that size of
      data to the vnc server. The server would allocated
      that amount of memory which could easily create an
      out of memory condition.
      
      This patch limits the payload size to 1MB max.
      
      Please note that client_cut_text messages are currently
      silently ignored.
      Signed-off-by: NPeter Lieven <pl@kamp.de>
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      f9a70e79
  2. 23 6月, 2014 2 次提交
  3. 19 6月, 2014 3 次提交
  4. 04 6月, 2014 1 次提交
  5. 02 6月, 2014 2 次提交
  6. 25 4月, 2014 1 次提交
  7. 18 3月, 2014 1 次提交
  8. 10 3月, 2014 7 次提交
  9. 05 3月, 2014 2 次提交
  10. 22 6月, 2013 1 次提交
  11. 15 5月, 2013 1 次提交
  12. 04 5月, 2013 1 次提交
    • T
      TLS support for VNC Websockets · 0057a0d5
      Tim Hardeck 提交于
      Added TLS support to the VNC QEMU Websockets implementation.
      VNC-TLS needs to be enabled for this feature to be used.
      
      The required certificates are specified as in case of VNC-TLS
      with the VNC parameter "x509=<path>".
      
      If the server certificate isn't signed by a rooth authority it needs to
      be manually imported in the browser because at least in case of Firefox
      and Chrome there is no user dialog, the connection just gets canceled.
      
      As a side note VEncrypt over Websocket doesn't work atm because TLS can't
      be stacked in the current implementation. (It also didn't work before)
      Nevertheless to my knowledge there is no HTML 5 VNC client which supports
      it and the Websocket connection can be encrypted with regular TLS now so
      it should be fine for most use cases.
      Signed-off-by: NTim Hardeck <thardeck@suse.de>
      Reviewed-by: NAnthony Liguori <aliguori@us.ibm.com>
      Message-id: 1366727581-5772-1-git-send-email-thardeck@suse.de
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      0057a0d5
  13. 29 4月, 2013 3 次提交
  14. 26 4月, 2013 1 次提交
  15. 16 4月, 2013 3 次提交
  16. 02 4月, 2013 1 次提交
  17. 18 3月, 2013 5 次提交
  18. 22 1月, 2013 3 次提交