]>
source.dussan.org Git - tigervnc.git/log
Pierre Ossman [Thu, 7 Dec 2017 14:16:54 +0000 (15:16 +0100)]
Make VNC extension startup mandatory
No longer tolerate loading the VNC extension but not being able to
initialize it. This avoids a lot of error prone checking to see
if the extension has started fully or not.
Pierre Ossman [Thu, 7 Dec 2017 13:55:54 +0000 (14:55 +0100)]
Call FatalError on fatal exceptions
Pierre Ossman [Fri, 24 Nov 2017 11:34:28 +0000 (12:34 +0100)]
Stop using CopyRect in WinVNC
It cannot keep itself in sync with the actual screen contents well
enough for CopyRect to work accurately. Graphical glitches could
be seen in some cases.
Pierre Ossman [Fri, 17 Nov 2017 13:43:34 +0000 (14:43 +0100)]
Merge branch 'pause' of https://github.com/CendioOssman/tigervnc
Pierre Ossman [Thu, 16 Nov 2017 15:46:30 +0000 (16:46 +0100)]
Remove double cursor workaround in client
We've fixed the issue more properly in the server now, so remove the
workaround we had in the client.
Pierre Ossman [Thu, 16 Nov 2017 15:44:36 +0000 (16:44 +0100)]
Fix bug where server cursor might disappear
We shouldn't unconditionally remove the server side cursor just
because the client supports client side cursors. We need to also
check that the client fulfills the other criteria for taking over
the cursor.
Pierre Ossman [Thu, 16 Nov 2017 15:43:13 +0000 (16:43 +0100)]
Avoid extra framebuffer update messages
In most cases we will send an update at the end of processing client
messages so these extra calls only slow things down. Server initiated
events still need an explicit call though.
Pierre Ossman [Thu, 16 Nov 2017 15:40:44 +0000 (16:40 +0100)]
Fix for initial client side cursor
Improve the tracking of what cursor we've sent to the client to make
sure the initial cursor is sent properly. We previously tried to infer
this information based on if we've rendered a server side cursor or
not. This logic broke down if things triggered before we've sent the
first update to the client.
Brian P. Hinz [Thu, 16 Nov 2017 22:46:15 +0000 (17:46 -0500)]
Fix "int-in-bool-context" compile errors
Brian P. Hinz [Thu, 16 Nov 2017 22:44:49 +0000 (17:44 -0500)]
Fix compile error on windows when not building with GnuTLS
Brian P. Hinz [Wed, 15 Nov 2017 23:50:15 +0000 (18:50 -0500)]
Override default window manager key bindings better
Brian Hinz [Wed, 15 Nov 2017 13:40:57 +0000 (08:40 -0500)]
Merge pull request #500 from bphinz/issue106-rebase
Hook up the "Load X.509 Cert/Key" dialogs in winvnc. Fixes #106
Boyuan Yang [Wed, 15 Nov 2017 02:05:00 +0000 (10:05 +0800)]
Update Chinese (simplified) translation
Brian P. Hinz [Wed, 15 Nov 2017 10:08:16 +0000 (05:08 -0500)]
avoid putting more includes in headers than necessary
Brian P. Hinz [Wed, 15 Nov 2017 01:57:07 +0000 (20:57 -0500)]
Move gnutls functions into SSecurityTLS
Pierre Ossman [Tue, 14 Nov 2017 15:04:32 +0000 (16:04 +0100)]
Handle FLTK arguments at any position
E.g. vncviewer server.example.com:2 -display :2
Pierre Ossman [Tue, 14 Nov 2017 14:51:50 +0000 (15:51 +0100)]
Don't open X11 display too early
We have to wait until we've passed the command line arguments or
we might overlook a -display argument.
Brian P. Hinz [Tue, 14 Nov 2017 00:00:01 +0000 (19:00 -0500)]
Fix build Java errors caused by UTF-8 characters in source comments
See issue #534
Brian P. Hinz [Mon, 13 Nov 2017 23:33:40 +0000 (18:33 -0500)]
Raise minimum supported Java version to 7
Changes to keyboard handling require methods from the KeyEvent
class that were not introduced until Java 7.
Brian P. Hinz [Sun, 12 Nov 2017 20:42:23 +0000 (15:42 -0500)]
Override implicit focus transfer when "F10" key is pressed
Java L&F has pre-defined hook that transfers the focus to the
menu of the RootPane. Since the viewer doesn't have a menu
this just causes a loss of focus and subsequent unexpected
behavior of keyboard and mouse.
Brian P. Hinz [Sun, 12 Nov 2017 20:36:31 +0000 (15:36 -0500)]
Refactoring and implementation changes to keyboard and mouse handling
See issue #505
Brian P. Hinz [Sun, 12 Nov 2017 16:30:49 +0000 (11:30 -0500)]
Add formatted string function to LogWriter.
Need to be careful with escapes though.
Brian P. Hinz [Sun, 12 Nov 2017 16:03:25 +0000 (11:03 -0500)]
Rename CMsgWriter functions to match C++ code
Pierre Ossman [Mon, 13 Nov 2017 15:17:28 +0000 (16:17 +0100)]
Handle Ctrl+Alt+Delete in raw keyboard mode
Ctrl+Alt+Delete requires special handling to trigger on Windows.
Make sure this works in raw keyboard mode as well.
Pierre Ossman [Mon, 13 Nov 2017 08:08:50 +0000 (09:08 +0100)]
Send proper keysym when Break is pressed
Ctrl+Pause sends break which results in a different VKEY on Windows.
Make sure we map that properly to the equivalent keysym.
Pierre Ossman [Mon, 13 Nov 2017 08:07:59 +0000 (09:07 +0100)]
Handle right shift better on Windows
The shift buttons are a bit buggy on Windows unfortunately, but we
can do slightly better than we're doing today.
Pierre Ossman [Mon, 13 Nov 2017 08:06:03 +0000 (09:06 +0100)]
Handle Windows scan code exceptions
Windows mostly follows the AT set 1 scan codes that we want, but
there are a few exceptions.
Pierre Ossman [Wed, 8 Nov 2017 15:00:05 +0000 (16:00 +0100)]
Move XDesktop specific parameters in to same file
Pierre Ossman [Wed, 8 Nov 2017 14:59:42 +0000 (15:59 +0100)]
Fully standardise on send()/recv()
We already assume sockets here since we use select().
Pierre Ossman [Wed, 8 Nov 2017 14:22:44 +0000 (15:22 +0100)]
Merge branch 'x0-xdesktop-initial-cursor' of https://github.com/x11clone/x11clone
Peter Åstrand (astrand) [Wed, 18 Oct 2017 06:54:05 +0000 (08:54 +0200)]
x0vncserver does not support SetDesktopSize; remove -AcceptSetDesktopSize
Add a Configuration::removeParam to support such cases.
Peter Åstrand (astrand) [Tue, 17 Oct 2017 06:21:30 +0000 (08:21 +0200)]
Configuration::listParams wants width/nameWidth; not ConfigurationObject
Peter Åstrand (astrand) [Mon, 16 Oct 2017 13:18:00 +0000 (15:18 +0200)]
Removed IRIX/Solaris overlay support
Legacy systems.
Peter Åstrand (astrand) [Mon, 16 Oct 2017 13:09:58 +0000 (15:09 +0200)]
Remove support for Lynx/OS
Peter Åstrand (astrand) [Mon, 16 Oct 2017 09:11:45 +0000 (11:11 +0200)]
Added my/Cendio copyright where relevant
Peter Åstrand (astrand) [Wed, 11 Oct 2017 13:12:10 +0000 (15:12 +0200)]
Set the correct cursor when starting
XFixes only reports cursor changes. We must manually call
XFixesGetCursorImage() when starting.
Peter Åstrand (astrand) [Tue, 10 Oct 2017 11:56:51 +0000 (13:56 +0200)]
Use send() with MSG_DONTWAIT when possible
Peter Åstrand (astrand) [Tue, 10 Oct 2017 10:56:04 +0000 (12:56 +0200)]
Define cork() as pure virtual in Socket class
This makes it possible to create a derived class from Socket which is
not TCP based, without having VNCSConnectionST.cxx trying to call
setsockopt() on a non-socket.
Peter Åstrand (astrand) [Tue, 10 Oct 2017 10:27:38 +0000 (12:27 +0200)]
Move XDesktop to separate file
Define ledNames in XDesktop.cxx, rename N_LEDS to XDESKTOP_N_LEDS
Peter Åstrand (astrand) [Mon, 9 Oct 2017 12:59:24 +0000 (14:59 +0200)]
Using namespace rfb in header files is a bad idea
Peter Åstrand (astrand) [Mon, 9 Oct 2017 10:32:14 +0000 (12:32 +0200)]
Build with support for MIT-SHM
No need for ifdefs; we can assume MITSHM. Already done in vncviewer.
Pierre Ossman [Mon, 6 Nov 2017 12:16:35 +0000 (13:16 +0100)]
Avoid corner case of applications rendering at frame rate
There is a problematic corner case where an application is updating
at exactly the same rate that we're sending update. In that case we
may miss updates regularly, getting a very uneven final frame rate.
Avoid this by introducing a slight offset when we start updating.
Pierre Ossman [Mon, 6 Nov 2017 12:15:55 +0000 (13:15 +0100)]
Fix broken logic for sending mouse cursor
The logic got inverted resulting in the cursor being sent needlessly
whenever the cursor moved.
Brian P. Hinz [Mon, 30 Oct 2017 01:55:40 +0000 (21:55 -0400)]
Update distro package requirements
Brian P. Hinz [Mon, 30 Oct 2017 00:33:25 +0000 (20:33 -0400)]
Patch the el7 xorg source appropriately
Pierre Ossman [Thu, 12 Oct 2017 15:07:15 +0000 (17:07 +0200)]
Add debug trace when the clipboard changes
Pierre Ossman [Thu, 12 Oct 2017 15:06:18 +0000 (17:06 +0200)]
Don't validate timestamp on clipboard request
The normal Xorg server doesn't check this field, so neither can we
as there are applications relying on this leniancy.
Pierre Ossman [Thu, 12 Oct 2017 13:05:07 +0000 (15:05 +0200)]
Make exception classes have clearer messages
Include the type of exception in the string generated by each
subclass. Also simplify the constructs to what is needed.
Pierre Ossman [Fri, 6 Oct 2017 11:51:01 +0000 (13:51 +0200)]
Add Travis CI configuration
Pierre Ossman [Fri, 6 Oct 2017 12:30:26 +0000 (14:30 +0200)]
Improve test if library is a CMake target
Newer CMake complains when you try to get the property of something
that isn't a target so use the specific if operator instead.
Pierre Ossman [Fri, 6 Oct 2017 12:29:54 +0000 (14:29 +0200)]
Avoid getting LOCATION property
It's not supported in newer CMake, so try to deduce the library
filename from the target name.
Pierre Ossman [Wed, 4 Oct 2017 14:21:57 +0000 (16:21 +0200)]
Push query connect timeout back in to Xvnc
It was moved to the common code in
f8e3b34c6 , but it was unreliable
because the state could sometimes get out of sync. Push it back in
to Xvnc since it isn't necessarily something all servers will have.
Pierre Ossman [Wed, 4 Oct 2017 13:55:48 +0000 (15:55 +0200)]
Don't queue a query if it is directly rejected
Otherwise we'll wedge the desktop object which expects an approval
or rejection to eventually show up.
Pierre Ossman [Mon, 2 Oct 2017 09:06:04 +0000 (11:06 +0200)]
Keep alpha in cursor alpha conversion
Don't touch the existing value or we might mess it up when we avoid
division by zero.
Pierre Ossman [Mon, 2 Oct 2017 09:05:10 +0000 (11:05 +0200)]
Use current server time for XUngrabKeyboard
We might be calling this outside a normal FLTK event, so we cannot
trust fl_event_time to have a sane value.
Pierre Ossman [Fri, 22 Sep 2017 14:49:10 +0000 (16:49 +0200)]
Remove accidental debug output
Pierre Ossman [Fri, 22 Sep 2017 14:48:14 +0000 (16:48 +0200)]
Make sure to start the frame timer after a buffer change
The buffer is considered changed right away, so we might not get any
add_changed() calls to trigger a start of the timer.
Pierre Ossman [Fri, 22 Sep 2017 14:43:50 +0000 (16:43 +0200)]
Get rid of getFbSize()/getDesktopSize() in common
It was only used by WinVNC, so push it there instead.
Pierre Ossman [Thu, 21 Sep 2017 13:43:58 +0000 (15:43 +0200)]
Switch back to low resolution mode on macOS
This is a revert of
6c0181c . Testing showed that we got a big
performance hit by enabling this, and we also saw some graphical
artifacts. More work is needed before this can be enabled by default.
Pierre Ossman [Mon, 18 Sep 2017 14:22:41 +0000 (16:22 +0200)]
Update keyboard test notes for raw keyboard mode
Pierre Ossman [Mon, 18 Sep 2017 14:22:09 +0000 (16:22 +0200)]
Add keyboard test notes for LED state handling
Pierre Ossman [Mon, 18 Sep 2017 14:07:12 +0000 (16:07 +0200)]
Be explicit which Exception class we want
Pierre Ossman [Mon, 18 Sep 2017 14:05:48 +0000 (16:05 +0200)]
Release pointer grab when cursor leaves window
We don't need the grab any more if the pointer cannot click on our
window. This makes it possible to shift focus to another application
when we aren't covering all monitors.
Pierre Ossman [Fri, 15 Sep 2017 13:40:47 +0000 (15:40 +0200)]
Don't throw exceptions in destructors
Pierre Ossman [Fri, 15 Sep 2017 13:34:43 +0000 (15:34 +0200)]
Handle unknown keysyms properly in x0vncserver
We would accidentally store they keycode 0 for unknown keysyms, wedging
the lookup table.
Pierre Ossman [Fri, 15 Sep 2017 13:34:24 +0000 (15:34 +0200)]
Handle XKB groups properly in x0vncserver
Pierre Ossman [Fri, 15 Sep 2017 12:52:21 +0000 (14:52 +0200)]
Update mouse cursor position in x0vncserver
This is necessary to make sure the server side rendered cursor works
properly.
Pierre Ossman [Fri, 15 Sep 2017 12:23:34 +0000 (14:23 +0200)]
Only select XFixes event once
We never un-select it, and it's not a problem if we get extra ones so
register it once right away.
Pierre Ossman [Fri, 15 Sep 2017 11:10:54 +0000 (13:10 +0200)]
Merge branch 'cursor' of https://github.com/alanc/tigervnc
Pierre Ossman [Fri, 15 Sep 2017 11:03:33 +0000 (13:03 +0200)]
Merge branch 'fix-warnings'
Steve Kondik [Mon, 10 Jul 2017 15:56:00 +0000 (08:56 -0700)]
rfb: Avoid unused argument warnings in headers
Don't force users of these headers to squash compiler
warnings about unused arguments, annotate with __unused_attr.
Pierre Ossman [Tue, 12 Sep 2017 14:44:44 +0000 (16:44 +0200)]
Fix shift state test in lock key heuristics
Pierre Ossman [Fri, 15 Sep 2017 09:17:02 +0000 (11:17 +0200)]
Merge branch 'x0vncshift' of https://github.com/CendioOssman/tigervnc
Pierre Ossman [Fri, 15 Sep 2017 09:07:53 +0000 (11:07 +0200)]
Merge branch 'securemsg' of https://github.com/CendioOssman/tigervnc
Pierre Ossman [Fri, 15 Sep 2017 09:03:48 +0000 (11:03 +0200)]
Merge branch 'qemukbd-merge' of https://github.com/CendioOssman/tigervnc
Pierre Ossman [Fri, 15 Sep 2017 09:03:12 +0000 (11:03 +0200)]
Clear client cursor when switching to server side
Otherwise the client can end up with two visible cursors.
Pierre Ossman [Tue, 12 Sep 2017 10:07:21 +0000 (12:07 +0200)]
Remove unused FLTKPixelBuffer files
These are unused since
403ac27d , but the files were never removed.
Pierre Ossman [Thu, 13 Jul 2017 13:54:11 +0000 (15:54 +0200)]
Add support for raw keyboard in vncviewer
Make sure it can map between the key codes of the local system
in to the key codes used by the protocol.
Pierre Ossman [Tue, 16 May 2017 15:00:34 +0000 (17:00 +0200)]
Fix indentation bug
Pierre Ossman [Tue, 16 May 2017 12:42:07 +0000 (14:42 +0200)]
Add support for raw key codes to Xvnc/libvnc.so
Rahul Kale [Wed, 12 Jul 2017 22:35:58 +0000 (00:35 +0200)]
rfb_win32: Use scan codes if available
If scan codes are available using QEMU Extended Keyboard Messages
from clients, use that to inject scancodes directly into the
system using the SendInput API.
No conversion is needed as Windows uses the same scancode encoding.
Signed-off-by: Rahul Kale <Rahul.Kale@barco.com>
Signed-off-by: Peter Korsgaard <peter.korsgaard@barco.com>
Peter Korsgaard [Wed, 12 Jul 2017 22:35:57 +0000 (00:35 +0200)]
x0vncserver: keyEvent(): use scancodes if available
Use the client provided (using QEMU extendend key event) scancodes if
available instead of reverse mapping the keysym.
X11 unfortunately uses keyboard driver specific keycodes and provides
no direct way to query this, so guess based on the keyboard mapping.
Handle the two most likely keyboard drivers, the old xorgkbd and evdev.
Signed-off-by: Peter Korsgaard <peter.korsgaard@barco.com>
Pierre Ossman [Fri, 8 Sep 2017 13:28:39 +0000 (15:28 +0200)]
Include server name in TLS handshake for SNI
In case the server is a front-end to multiple systems and needs to
know which system we're after.
Pierre Ossman [Fri, 1 Sep 2017 09:15:57 +0000 (11:15 +0200)]
Use better security method description when using VeNCrypt
The sub-modules generally provide a better description than just the
short security method name.
Pierre Ossman [Fri, 1 Sep 2017 09:15:31 +0000 (11:15 +0200)]
Add better error message for insecure certificate algorithms
Pierre Ossman [Fri, 1 Sep 2017 09:14:35 +0000 (11:14 +0200)]
Display security state when asking for password
Indicate to the user how secure the transport channel is so they
can avoid entering their password for untrusted sites.
Pierre Ossman [Fri, 1 Sep 2017 07:24:43 +0000 (09:24 +0200)]
Merge authentication dialogs
Avoid having two separate code paths for the user/password and
only password dialogs. Makes it easier to extend things in the future.
Pierre Ossman [Tue, 16 May 2017 12:33:43 +0000 (14:33 +0200)]
Track keys based on client supplied key codes
This makes it easier to provide more sane events to the backend code
even with crazy clients.
Pierre Ossman [Tue, 16 May 2017 12:32:58 +0000 (14:32 +0200)]
Remove unused needsLastRect state variable
Pierre Ossman [Tue, 16 May 2017 12:32:09 +0000 (14:32 +0200)]
Fix wrong argument for CMsgWriter::clientCutText()
As a result we weren't overloading properly.
Pierre Ossman [Tue, 16 May 2017 12:30:38 +0000 (14:30 +0200)]
Basic support for QEMU Extended Key Events
This adds the basic infrastructure and handshake for the QEMU
Extended Key Events extension. No viewer or server makes use of
the extra functionality yet though.
Rahul Kale [Wed, 12 Jul 2017 22:36:02 +0000 (00:36 +0200)]
rfb_win32: Add support for LED state notifications
LED support added using Windows GetKeyState() API call.
The state is polled for change in CapsLock/NumLock/ScrollLock
status in the same code block where chages to Cursor shape is polled.
Signed-off-by: Rahul Kale <Rahul.Kale@barco.com>
Signed-off-by: Peter Korsgaard <peter.korsgaard@barco.com>
Peter Korsgaard [Wed, 12 Jul 2017 22:36:01 +0000 (00:36 +0200)]
x0vncserver: add support for led state notifications
Listen for XKb XkbIndicatorStateNotify events for scroll/num/caps lock and
map them to the RFB protocol.
Signed-off-by: Peter Korsgaard <peter.korsgaard@barco.com>
Pierre Ossman [Mon, 12 Dec 2016 15:59:15 +0000 (16:59 +0100)]
Send lock LED state from server to client
Pierre Ossman [Mon, 12 Dec 2016 14:39:54 +0000 (15:39 +0100)]
Add support for lock LED state to Xvnc/libvnc.so
Pierre Ossman [Sun, 11 Dec 2016 11:41:26 +0000 (12:41 +0100)]
Add server side lock key sync heuristic
Based on QEMU's behaviour.
Pierre Ossman [Sat, 10 Dec 2016 16:13:40 +0000 (17:13 +0100)]
Sync LED state when gaining focus
The state might have changed when we didn't have focus. Get
everything back in sync once we're back in control.
Pierre Ossman [Mon, 5 Dec 2016 14:26:21 +0000 (15:26 +0100)]
Add client support for LED state sync
Pierre Ossman [Thu, 24 Aug 2017 09:28:33 +0000 (11:28 +0200)]
Add libpng as a dependency for freetype for static builds
Newer versions of Freetype requires libpng as well.
Brian P. Hinz [Mon, 21 Aug 2017 22:10:32 +0000 (18:10 -0400)]
Hook up the "Load X.509 Cert/Key" dialogs in winvnc