1. 28 Aug, 2015 1 commit
  2. 15 Aug, 2014 1 commit
  3. 09 Mar, 2014 1 commit
    • Ryan Lortie's avatar
      libvncserver: fix non-literal format string issue · e2901096
      Ryan Lortie authored
      vino is built with -Werror=format-nonliteral by default and uses a
      non-literal format string.
      
      Tag the function that it is used from so that the compiler allows it.
      This has a side effect of ensuring that the users of this function are
      doing it correctly.
      
      The easiest way to do this correctly is to use the macro in glib, so we
      must include the header from this file (which did not yet have it).
      
      https://bugzilla.gnome.org/show_bug.cgi?id=726002
      e2901096
  4. 31 Jan, 2014 1 commit
  5. 23 Jan, 2014 1 commit
  6. 16 Sep, 2013 1 commit
    • Daniel P. Berrange's avatar
      Fix reading of TLS data to account for cached data · 3b38cf49
      Daniel P. Berrange authored
      When you ask GnuTLS to read 'n' bytes of data it is free to read many
      more than just 'n' bytes, since there is no 1-1 mapping between
      encrypted and unencrypted byte counts.
      
      The Vino I/O handle triggered when POLLIN reads one single RFB message,
      then checks if POLLIN is still set. This is broken if gnutls has
      previously read more than one RFB message worth of data.
      
      A symptom of this brokeness is that when connecting to a Vino server
      with gtk-vnc, the screen will be initially black until the user moves
      the mouse or presses a key.  Even then there will be periodic delays in
      updates if the pending data condition arises again.
      
      Fortunately GnuTLS has a function gnutls_record_check_pending which lets
      apps determine if there is any cached data read off the wire.
      Signed-off-by: default avatarDaniel P. Berrange <berrange@redhat.com>
      
      https://bugzilla.gnome.org/show_bug.cgi?id=703326
      3b38cf49
  7. 12 Sep, 2013 1 commit
    • David King's avatar
      Reject new clients if in the deferred state · 86033723
      David King authored
      As mentioned in bug 641811, Vino can get stuck trying to process the
      same data in an infinite loop if an authentication request is received
      from a client while that client is in the deferred state.
      
      Avoid this situation by closing new connections from the same client
      when it is in the deferred state.
      86033723
  8. 17 Dec, 2012 1 commit
    • Huzaifa Sidhpurwala's avatar
      Do not leak clipboard to unauthenticated clients · 9c8b9f81
      Huzaifa Sidhpurwala authored
      vino_server_clipboard_cb() in vino-server.c is the callback which is
      triggered when a clipboard copy event is fired.
      
      After doing some initial checks, (1. If there are any connected clients,
      2. If the server is on hold etc), it converts the text to UTF-8 and then
      passes it on to rfbSendServerCutText(). Here data is pasted to each
      client, without verifying if the client is authenticated.
      
      The patch checks if the client is authenticated and only then it allows
      the clipboard text to be sent to it.
      
      Fixes bug 678434. This is a security issue, and has been assigned
      CVE-2012-4429:
      http://www.openwall.com/lists/oss-security/2012/09/14/1
      9c8b9f81
  9. 12 Nov, 2012 1 commit
  10. 07 May, 2012 2 commits
  11. 02 May, 2011 1 commit
    • David King's avatar
      Avoid out-of-bounds memory accesses · 8beefcf7
      David King authored
      This fixes two critical security vulnerabilities that lead to an
      out-of-bounds memory access with a crafted client framebuffer update
      request packet. The dimensions of the update from the packet are checked
      to ensure that they are within the screen dimensions.
      
      Thanks to Kevin Chen from the Bitblaze group for the reports in bugs
      641802 and 641803. The CVE identifiers for these vulnerabilities are
      CVE-2011-0904 and CVE-2011-0905.
      8beefcf7
  12. 26 Apr, 2011 1 commit
  13. 20 Apr, 2011 1 commit
    • Jordi Mallach's avatar
      Fix defines to match configure script output · ada79e18
      Jordi Mallach authored
      In 99d0f293, configure was changed to
      prefix all AC_DEFINE macros with VINO_, and features were changed to use
      AC_ARG_WITH.
      
      Some of the guarded features didn't have their defines updated in the
      code, resulting in any build having NetworkManager, GCrypt/GnuTLS,
      libnotify or Telepathy support.
      
      Fixes bug 648322.
      ada79e18
  14. 17 Apr, 2011 1 commit
  15. 11 Apr, 2011 1 commit
    • mirabilos's avatar
      Bind both an IPv4 and an IPv6 socket · 37ae3fbf
      mirabilos authored
      Under some configurations on Linux, and an BSD, the dfault behaviour is
      to bind only an IPv6 socket when IPv6 support is enabled. The default
      Linux kernel configuration is to bind both an IPv4 and an IPv6 socket.
      Using two listening sockets fixes the problem, bug 604809.
      37ae3fbf
  16. 04 Mar, 2011 1 commit
  17. 02 Mar, 2011 2 commits
  18. 27 Feb, 2011 1 commit
    • David King's avatar
      Overhaul configure script · 99d0f293
      David King authored
      Rename configure.in to configure.ac. Rearrange to recommended standard
      layout. Use M4sh where possible. Enable automake warnings, disable
      defines and disable standard includes. Switch all configure arguments
      that enable support for external libraries to use AC_ARG_WITH, and be
      automatically enabled by default. Prefix all defines from AC_DEFINE
      macros with 'VINO_'. Discover glib-genmarshal path from GLib pkg-config
      file. Drop confusing checking of both zlib and libz, and replace with
      just checking for zlib. Drop checking for Perl to decide whether to
      rebuild generated files. Drop configure summary.
      
      Additionally, make the minimum adjustments necessary in other files to
      enable the build to succeed.
      99d0f293
  19. 21 Jun, 2010 1 commit
  20. 06 Sep, 2009 1 commit
  21. 15 May, 2009 1 commit
  22. 02 May, 2009 1 commit
  23. 13 Feb, 2009 1 commit
  24. 08 Jan, 2009 1 commit
    • Halton Huo's avatar
      Use self-implmented getifaddrs() and freeifaddrs() when system like · 92659706
      Halton Huo authored
      2009-01-08  Halton Huo <halton.huo@sun.com>
      
      	Use self-implmented getifaddrs() and freeifaddrs() when system like
      	Solaris does not have them. Closes #565422
      	* capplet/Makefile.am:
      	* configure.in:
      	* server/libvncserver/Makefile.am:
      	* server/libvncserver/getifaddrs.c: (get_lifreq), (nbytes),
      	(addrcpy), (populate), (getifaddrs), (freeifaddrs):
      	* server/libvncserver/ifaddrs.h:
      
      
      svn path=/trunk/; revision=1042
      92659706
  25. 22 Dec, 2008 1 commit
    • Jonh Wendell's avatar
      Resets cursorWasMoved and cursorWasChanged flags, thus eliminating mouse · 503a0d55
      Jonh Wendell authored
      2008-12-22  Jonh Wendell  <jwendell@gnome.org>
      
      	* server/libvncserver/rfbserver.c (rfbSendFramebufferUpdate):
      	Resets cursorWasMoved and cursorWasChanged flags, thus eliminating
      	mouse update changes, when there's no mouse change. Closes #494059.
      	Thanks to Oliver Gerlich for the patch.
      
      
      svn path=/trunk/; revision=1030
      503a0d55
  26. 12 Dec, 2008 1 commit
    • Jorge Pereira's avatar
      Removed the feature localOnly, added correct support for IPv4 mapped IPv6, · 2ce388dc
      Jorge Pereira authored
      2008-11-25  Jorge Pereira  <jorge@jorgepereira.com.br>
      
      	* capplet/vino-preferences.c:
      	(vino_preferences_dialog_update_for_allowed),
      	(vino_preferences_load_network_interfaces),
      	(vino_preferences_dialog_network_interface_update_combox),
      	(vino_preferences_dialog_network_interface_notify),
      	(vino_preferences_dialog_network_interface_changed),
      	(vino_preferences_dialog_setup_network_interface_combox),
      	(vino_preferences_dialog_init):
      	* capplet/vino-preferences.glade:
      	* configure.in:
      	* server/libvncserver/main.c: (rfbGetScreen):
      	* server/libvncserver/rfb/rfb.h:
      	* server/libvncserver/rfbserver.c: (rfbNewClient):
      	* server/libvncserver/sockets.c: (rfbInitListenSock),
      	(rfbSetAutoPort), (rfbSetPort), (rfbProcessNewConnection),
      	(rfbCheckFds), (ListenOnTCPPort), (NewSocketListenTCP),
      	(rfbSetNetworkInterface):
      	* server/vino-prefs.c: (vino_prefs_network_interface_changed),
      	(vino_prefs_create_server), (vino_prefs_init):
      	* server/vino-server.c: (vino_server_new_connection_pending),
      	(vino_server_init_from_screen), (vino_server_finalize),
      	(vino_server_set_property), (vino_server_get_property),
      	(vino_server_class_init), (vino_server_get_network_interface),
      	(vino_server_set_network_interface):
      	* server/vino-server.h:
      	* server/vino-server.schemas.in:
      	Removed the feature localOnly, added correct support for IPv4 mapped 
      	IPv6, and added a new feature to able to set network interface for 
      	accept connection. Closes #403183,#403192,#488354.
      
      
      svn path=/trunk/; revision=1015
      2ce388dc
  27. 13 Nov, 2008 1 commit
    • Jorge Pereira's avatar
      Drop some warning messages. Closes #558135. · 499773d5
      Jorge Pereira authored
      2008-11-13  Jorge Pereira  <jorge@jorgepereira.com.br>
      	* server/libvncserver/auth.c:
      	* server/libvncserver/main.c:
      	* server/libvncserver/rfbserver.c:
      	* server/vino-prefs.c:
      	* server/vino-util.h:
      	* tools/vino-passwd.c:
      	Drop some warning messages.
      	Closes #558135.
      
      
      svn path=/trunk/; revision=1006
      499773d5
  28. 12 Feb, 2008 1 commit
  29. 30 Nov, 2006 1 commit
    • Mark McLoughlin's avatar
      Based on patch from John Wendell <wendell_listas@bani.com.br> in bug · ae82fad5
      Mark McLoughlin authored
      2006-11-30  Mark McLoughlin  <mark@skynet.ie>
      
              Based on patch from John Wendell <wendell_listas@bani.com.br>
              in bug #156967.
      
              * server/libvncserver/main.c:
              (rfbGetScreen): strdup the default desktop name.
              (rfbSetDesktopName): add new function.
              (rfbScreenCleanup): free the desktop name
      
              * server/libvncserver/rfb/rfb.h: make desktopName not const
              and add rfbSetDesktopName()
      
              * server/vino-server.c: (vino_server_init_from_screen): set the
              desktop name here to user@host
      ae82fad5
  30. 17 Nov, 2006 1 commit
  31. 20 Oct, 2006 3 commits
    • Mark McLoughlin's avatar
      And here's where we actually create an IPv6 socket. · 696f017f
      Mark McLoughlin authored
      2006-10-20  Mark McLoughlin  <mark@skynet.ie>
      
      	And here's where we actually create an IPv6 socket.
      
      	* vino/server/libvncserver/sockets.c:
      	(ListenOnTCPPort): if ipv6 support is compiled in,
      	always try and create an AF_INET6 socket and fallback
      	to an AF_INET one if it fails.
      696f017f
    • Mark McLoughlin's avatar
      Use inet_ntop() instead of inet_ntoa() · e7a01da0
      Mark McLoughlin authored
      2006-10-20  Mark McLoughlin  <mark@skynet.ie>
      
      	Use inet_ntop() instead of inet_ntoa()
      
      	* vino/server/libvncserver/rfbserver.c:
      	(rfbSockaddrToHostname): function to use inet_ntop
      	on ipv4, ipv4-mapped ipv6 and ipv6 addresses.
      	(rfbNewClient): use it.
      
      	* vino/server/libvncserver/CHANGES: add note.
      e7a01da0
    • Mark McLoughlin's avatar
      remove a heap of threading stuff which we don't use. · a5b3c74c
      Mark McLoughlin authored
      2006-10-20  Mark McLoughlin  <mark@skynet.ie>
      
      	* vino/server/libvncserver/main.c,
      	vino/server/libvncserver/sockets.c,
      	vino/server/libvncserver/rfbserver.c,
      	vino/server/libvncserver/rfb/rfb.h: remove
      	a heap of threading stuff which we don't
      	use.
      
      	* vino/server/libvncserver/CHANGES: add note.
      a5b3c74c
  32. 18 Oct, 2006 2 commits
  33. 16 Oct, 2006 1 commit
    • Dan Winship's avatar
      define this. · c9740526
      Dan Winship authored
      	* server/libvncserver/rfb/rfbproto.h (rfbProtocolMinorVersion8):
      	define this.
      
      	* server/libvncserver/auth.c (rfbAuthNewClient,
      	rfbAuthProcessSecurityTypeMessage, rfbAuthPasswordChecked):
      	Minor updates to support RFB 3.8.
      
      	* server/libvncserver/rfbserver.c
      	(rfbProcessClientProtocolVersion): allow the client to specify
      	protocol version 3.8 even though we still only advertise 3.7. See
      	bug #356131.
      c9740526
  34. 13 Oct, 2006 2 commits
    • Mark McLoughlin's avatar
      Add "use_alternative_port" and "alternative_port" GConf keys, allowing · 3420e26b
      Mark McLoughlin authored
      2006-10-13  Mark McLoughlin  <mark@skynet.ie>
      
      	Add "use_alternative_port" and "alternative_port" GConf
      	keys, allowing people to specify a specific port to listen
      	on.
      
      	Based on patch from John Wendell <wendell_listas@bani.com.br>
      	in bug #333752.
      
      	* vino/server/vino-server.schemas.in: add new keys.
      
      	* vino/server/vino-prefs.c:
      	(vino_prefs_use_alternative_port_changed),
      	(vino_prefs_alternative_port_changed): handle changes to new keys
      	(vino_prefs_create_server): create server with new props
      	(vino_prefs_init): read new keys and set up notify handlers
      
      	* vino/server/vino-server.[ch]:
      	(vino_server_init_from_screen): explictly set port and turn
      	off autoPort if use_alternative_port is set.
      	(vino_server_set_property), (vino_server_get_property),
      	(vino_server_class_init): add new properties.
      	(vino_server_get_use_alternative_port),
      	(vino_server_set_use_alternative_port),
      	(vino_server_get_alternative_port),
      	(vino_server_set_alternative_port): add accessors - re-init
      	the listening port if things change after the server is running.
      
      	* vino/server/libvncserver/sockets.c:
      	(rfbInitSockets): split out some of this into
      	(rfbInitListenSock): this.
      	(rfbSetAutoPort), (rfbSetPort): add these two.
      
      	* vino/server/libvncserver/rfb/rfb.h: add rfbSetAutoPort()
      	and rfbSetPort().
      
      	* vino/server/libvncserver/CHANGES: add note.
      3420e26b
    • Mark McLoughlin's avatar
      Add a "local_only" GConf key, for people who want to exclusively use SSH · e952324e
      Mark McLoughlin authored
      2006-10-12  Mark McLoughlin  <mark@skynet.ie>
      
      	Add a "local_only" GConf key, for people who want to exclusively
      	use SSH tunnels to access the server.
      
      	Based on patch from Shaya Potter <spotter@cs.columbia.edu>
      	in bug #156242
      
      	* server/libvncserver/sockets.c:
      	(rfbInitSockets): pass rfbScreen->localOnly to ListenOnTcpPort()
      	(rfbSetLocalOnly): re-bind the socket if localOnly changes.
      	(ListenOnTcpPort): add localOnly argument and bind with
      	INADDR_LOOPBACK if true.
      
      	* server/libvncserver/rfb/rfb.h: modify ListenOnTcpPort()
      	prototype and add rfbSetLocalOnly()
      
      	* server/libvncserver/main.c: (rfbGetScreen): init localOnly.
      
      	* server/libvncserver/CHANGES: add note.
      
      	* server/vino-server.schemas.in: add local_only GConf key
      
      	* server/vino-prefs.c:
      	(vino_prefs_local_only_changed),
      	(vino_prefs_create_server),
      	(vino_prefs_init): add handling for local_only key
      
      	* server/vino-server.[ch]:
      	(vino_server_init_from_screen): propogate local_only to rfbScreen.
      	(vino_server_set_property), (vino_server_get_property),
      	(vino_server_class_init): add "local-only" property
      	(vino_server_get_local_only),
      	(vino_server_set_local_only): add accessors. Call rfbSetLocalOnly()
      	if it changes.
      e952324e