aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Split out ServerParams from ConnParamsPierre Ossman2018-11-0130-176/+378
| | | | | | We need to track different things in the server and client, so separate things to two independent structures to keep things more clear.
* Encapsulate screen layout storage in ConnParamsPierre Ossman2018-11-0112-63/+84
| | | | | | | Avoid direct access to the screen dimensions and layout so that we can make sure it stays sane. This also makes sure the layout is properly updated when we only get the screen dimensions from the server.
* Respect geometry setting in screen layoutPierre Ossman2018-11-011-0/+14
| | | | | We might only be using part of the X server's screen, so make sure the layout we calculate is contained within this part.
* Move version reading/writing out of ConnParamsPierre Ossman2018-10-264-42/+41
| | | | | That object is just a container for the current state. Move the I/O to the classes already doing such stuff.
* Remove unused includePierre Ossman2018-10-262-2/+0
| | | | | We should not be including server headers from client code. It was not even needed, so simply remove it.
* Merge branch 'nojava' of https://github.com/CendioOssman/tigervncPierre Ossman2018-10-2632-1348/+12
|\
| * Remove Java web serverPierre Ossman2018-10-0932-1348/+12
| | | | | | | | | | Applets don't work anymore so remove everything that has to do with serving them.
* | Merge branch 'x0vncserver-run-destructors' of ↵Pierre Ossman2018-10-261-0/+7
|\ \ | | | | | | | | | https://github.com/x11clone/x11clone
| * | Run listener destructors before terminatingPeter Åstrand (astrand)2018-10-231-0/+7
| | | | | | | | | | | | Must be done in order to remove UNIX sockets etc.
* | | Merge branch 'master' of https://github.com/grulja/tigervncPierre Ossman2018-10-261-1/+1
|\ \ \
| * | | Avoid potential crash when replacing buffer in PlainPasswdJan Grulich2018-10-031-1/+1
| |/ /
* | | Fix rendering on big endian systemPierre Ossman2018-10-252-8/+34
| | | | | | | | | | | | | | | | | | Our XRender code assumes a certain pixel layout which was not guaranteed on big endian systems. The previous workaround only worked for some cases, so fix this properly now.
* | | Adjust some strings so they are easier to translatePierre Ossman2018-10-251-5/+8
| | |
* | | Update Danish translationjoe Hansen2018-10-231-98/+169
| | |
* | | Document tests for server keyboard handlingPierre Ossman2018-10-191-0/+37
| | |
* | | Clarify some keyboard test detailsPierre Ossman2018-10-191-5/+9
| | |
* | | Change to https for tigervnc URLPierre Ossman2018-10-1919-19/+19
| | | | | | | | | | | | Our main web site now supports https, so update all references.
* | | Log TLS handshake resultPierre Ossman2018-10-092-1/+5
| |/ |/| | | | | | | Makes it easier to debug TLS issues, and to see the effect of altering the priority string.
* | Include unix socket in vncviewer usagePierre Ossman2018-09-282-4/+17
|/ | | | | | | | We've had support for unix sockets for a while now. Make sure this is reflected in the -help output and the man page. Also make some minor tweaks to the section to get everything in sync with reality.
* Merge branches 'meta' and 'tlscrash' of https://github.com/CendioOssman/tigervncPierre Ossman2018-09-2144-167/+349
|\
| * Restore original streams when terminating TLSPierre Ossman2018-09-214-2/+27
| | | | | | | | | | | | In theory we could return to communicate without TLS after a shutdown. It also makes sure the connection object isn't left completely without streams.
| * Delete TLS streams before deleting the sessionPierre Ossman2018-09-214-33/+40
| | | | | | | | | | | | The streams depend on the session and can crash the program if they are removed in the wrong order. Do a general cleanup of the life time management of the streams.
| * Strongly bind security objects to connection objectPierre Ossman2018-09-2130-93/+123
| | | | | | | | | | There is already an implicit connection between them, so let's make it explicit. This allows easy lookup outside of the processMsg() function.
| * Initialise CSecurityTLS::cert_cred properlyPierre Ossman2018-09-211-1/+1
| | | | | | | | | | If we leave it at something random we'll get an invalid delete if the handshake fails.
| * Remove destroy functionsPierre Ossman2018-09-214-4/+4
| | | | | | | | | | These are just confusing and obfuscating. Do a normal delete of these objects instead.
| * Merge branch 'alrplus' of https://github.com/CendioOssman/tigervncPierre Ossman2018-09-2113-35/+158
| |\
| | * Estimate higher bandwidth in slow startPierre Ossman2018-09-211-2/+11
| | | | | | | | | | | | | | | | | | | | | If we are still in slow start then we haven't discovered the actual bandwidth limit yet. We also rely on the caller causing a bit of congestion to detect the limit. So report a higher bandwidth estimate than what we've currently tested in this scenario.
| | * Allow perceptually lossless refreshPierre Ossman2018-09-214-12/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Loosen the definition of "lossless" a bit so that we can use high quality JPEG to refresh damaged parts of the screen. Although this isn't bit perfect, it is close enough that most users will not be able to tell the difference. Level 9 is used rather than level 8 because some monitors have exaggerated contrast that allows the artefacts from level 8 to be noticeable.
| | * Add method to get compression settings from encoderPierre Ossman2018-09-203-0/+10
| | |
| | * Don't force encoders to specify palette sizePierre Ossman2018-09-205-5/+5
| | | | | | | | | | | | | | | Most encoders don't have a palette mode, so don't force them to specify a dummy value to the Encoder base class constructor.
| | * Limit maximum lossless refresh CPU usagePierre Ossman2018-09-201-2/+7
| | | | | | | | | | | | | | | | | | If we have plenty of bandwidth then CPU might be the limiting resource. Unfortunately we don't have a good number for that limit, so add a conservative hard coded value.
| | * Don't attempt to send empty lossless refreshPierre Ossman2018-09-201-6/+9
| | | | | | | | | | | | | | | If we're out of time then we will definitely overshoot, so don't even try.
| | * Fix calculation of maximum lossless refresh areaPierre Ossman2018-09-201-0/+3
| | | | | | | | | | | | | | | The update size is in bytes, but we are counting pixels. So make sure we convert things properly before comparing.
| | * Avoid refresh of recently changed areasPeter Åstrand (astrand)2018-09-204-11/+80
| | | | | | | | | | | | | | | | | | | | | | | | If an area recently changed then we can guess that it will most likely change again very soon. In such a case it is meaningless to send a lossless refresh as it will directly be overwritten. Keep track of such areas and avoid refreshing them until we no longer see any changes to them.
| | * Fix bad reference in Timer::getRemainingMs()Pierre Ossman2018-09-201-1/+1
| | | | | | | | | | | | | | | The reference for "dueTime" wasn't properly updated when this code was refactored from a static method to a normal object method.
| * | Link zlib statically on all platformsPeter Åstrand (astrand)2018-09-191-4/+1
| |/ | | | | | | | | The API and ABI isn't as stable as we need, so it isn't safe to link it dynamically even on Linux.
* | Interpret Meta as AltPierre Ossman2018-09-211-0/+2
| | | | | | | | | | Shift+Alt often generates Meta on Unix systems. Assume this is the same thing as Alt on Windows.
* | Replace Shift+Alt with Shift+Meta when possiblePierre Ossman2018-09-211-0/+24
| | | | | | | | | | | | | | | | Most layouts on Unix generate Meta for Shift+Alt but non-Unix clients will send XK_Alt_*. This results in us picking some other key which can confuse some applications. Try to detect this scenario and map XK_Alt_* to XK_Meta_*.
* | Update NumLock comment now that we have syncPierre Ossman2018-09-211-3/+3
|/
* Fix bad color of cursor with x0vncserverPierre Ossman2018-09-181-6/+5
| | | | | We cannot assume endian-ness for the cursor we get from XFixes. Adjust the algorithm to properly follow the specification.
* Stop tracking changes for each glyphPierre Ossman2018-09-131-20/+34
| | | | | | We get a whole bunch of very tiny areas, which is very inefficient to deal with. Instead create a rectangle around every "list" of connected glyphs (usually each line).
* Avoid compiler "use of uninitialised variable" warningsPierre Ossman2018-09-132-32/+39
| | | | | The compiler isn't smart enough to figure all of these out, so restructure things a bit to avoid warnings.
* Fix multi-head placement of overlay (again)Pierre Ossman2018-09-111-11/+4
| | | | | We should be looking at the physical monitor layout, not the current RFB layout. The latter might not be in sync with the local monitors.
* Remove dead overlay codePierre Ossman2018-09-111-5/+0
| | | | Remnants from an earlier version of the code.
* Explicitly check screen layout after changePierre Ossman2018-09-112-5/+16
| | | | | | | | There are some cases where the server state will not automatically be updated on a change. A prominent one is when only RFB attributes were changes (e.g. the screen ID) but nothing else. In that case there is no actual change in the X server, so it never sends any notification about change back to us.
* Adjust cursor position according to geometryPierre Ossman2018-09-101-0/+2
| | | | | x0vncserver might only be observing part of the display, so we need to adjust any coordinates before we give them to the RFB core.
* [Java] Fix error in VeNCrypt protocol implemtationBrian P. Hinz2018-08-201-6/+6
|
* Merge pull request #703 from pepijnve/patch-1Brian Hinz2018-08-201-38/+56
|\ | | | | Release queueMutex using finally blocks
| * Release queueMutex using finally blocksPepijn Van Eeckhoudt2018-08-201-38/+56
|/ | | Ensure queueMutex is always correctly released by using finally blocks. This is the closest approximation of AutoMutex style automatic release you can get in Java.
* Get correct GnuTLS version in travisPierre Ossman2018-08-161-1/+4
|