summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'connparams' of https://github.com/CendioOssman/tigervncPierre Ossman2018-12-1055-1084/+1234
|\
| * Make sure we always have a valid screen layoutPierre Ossman2018-12-102-6/+14
| | | | | | | | | | Add more checks and fix some callers to make sure that the server core always has a valid screen layout configured.
| * Handle line breaks in log messagesPierre Ossman2018-12-101-1/+10
| |
| * Require all SMsgWriter caller to check capabilitiesPierre Ossman2018-12-103-21/+18
| | | | | | | | | | | | Make the API consisitent by requiring the caller to check what the client supports before calling any of the write* functions. This avoids the confusion that the functions might not always do anything.
| * Abstract sending cursor and resizing the desktopPierre Ossman2018-12-105-158/+93
| | | | | | | | | | | | Avoid having the callers need to know about the different variants of these functions and instead have the writer pick the most appropriate extension.
| * Always send current screen layout to clientPierre Ossman2018-12-103-19/+7
| | | | | | | | | | | | This is what the protocol requires, rather than sending what the client specified in the request. This should be the same in practice except for failures and possibly some races.
| * Move client attributes out of ServerParamsPierre Ossman2018-11-015-35/+36
| | | | | | | | | | | | ServerParams should contain the server state and not information about client settings or capabilities. Move those things up a level to the CConnection object.
| * Merge client resize capabilitiesPierre Ossman2018-11-015-5/+28
| | | | | | | | | | | | No need to have one setting for each extension. All the client code needs to indicate is if it supports resize. The common code can then map this to relevant extensions.
| * Don't update screen layout directly on incoming client requestPierre Ossman2018-11-012-9/+2
| | | | | | | | It needs to be validated and take effect in the server first.
| * Remove unused flags from ServerParamsPierre Ossman2018-11-014-13/+2
| | | | | | | | These were either completely unused, or always true.
| * Simplify encoding list generatorPierre Ossman2018-11-011-30/+2
| | | | | | | | | | Tight is the default preferred encoding, so we don't really need special handling for it to be first in the list.
| * Use STL list for encoding listPierre Ossman2018-11-013-27/+29
| | | | | | | | | | This is a lot safer and cleaner. The old code had a fixed size that we didn't properly keep track of.
| * Make arguments explicit in all message writer methodsPierre Ossman2018-11-017-87/+88
| | | | | | | | | | | | Make sure all methods only write what is given as arguments, and avoid side effects by getting data from parameter objects. This keeps things readable in the calling code.
| * Move update request handling in to CConnectionPierre Ossman2018-11-014-199/+239
| | | | | | | | | | It's a generic client thing, so abstract it in to the common library. Makes it easier to integrate with other common code.
| * Let CMsgHandler::serverInit() handle initial set upPierre Ossman2018-11-018-25/+37
| | | | | | | | | | | | | | Avoid using the callbacks used for runtime changes for the initial setup. They weren't really useful anyway as you could not allocate a framebuffer without also knowing the pixel format. So make things more clear by letting serverInit() get the initial settings.
| * Stop requiring CConnection::serverInit() to be overriddenPierre Ossman2018-11-014-11/+19
| | | | | | | | | | Add an explicit callback for subclasses to do their startup in. This makes it easier to do proper ordering, and avoids mistakes.
| * Remove unused CConnection::getIdentityVerifier()Pierre Ossman2018-11-011-4/+0
| |
| * Stop using fences for pixel format switchPierre Ossman2018-11-012-56/+46
| | | | | | | | | | This method was only really useful when continuous updates was active, so let's rely on a single extension rather than two.
| * Remove indirect capability attributesPierre Ossman2018-11-016-108/+78
| | | | | | | | | | Better to check the actual list of supported encodings directly. Makes parts more readable, and no risk of getting out of sync.
| * Move copy rect handling to EncodeManagerPierre Ossman2018-11-014-24/+8
| | | | | | | | | | No need to spread things out. Keep all of the handling in a single place to make things clearer.
| * Rename ConnParams to ClientParamsPierre Ossman2018-11-0117-167/+163
| | | | | | | | | | | | Now that we've split out server state to ServerParams, ConnParams only contains state for a client. Rename the class and variables to reflect this.
| * 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.
* | Increase range of ComparingUpdateTracker statisticsPierre Ossman2018-11-301-1/+1
| | | | | | | | | | | | 32 bits are not enough to keep track of all the pixels that might flow through the system. Expand things to 64 bits, which should cover all reasonable uses.
* | Merge branch 'altgr' of https://github.com/CendioOssman/tigervncPierre Ossman2018-11-301-4/+40
|\ \
| * | Avoid using "fake" key codesPierre Ossman2018-11-301-4/+40
| | | | | | | | | | | | | | | | | | | | | There is a range of key codes that are never sent by a real keyboard and are therefore used by layouts to hide "fake" mappings. Make sure to only use these as a fallback as some applications get confused when they see these codes.
* | | Merge pull request #765 from bmwiedemann/timestampBrian Hinz2018-11-272-11/+6
|\ \ \ | | | | | | | | Use cmake TIMESTAMP function
| * | | Use cmake TIMESTAMP functionBernhard M. Wiedemann2018-11-182-11/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | because it is not only platform independent but also allows to override the build date This helps to make tigervnc builds reproducible See https://reproducible-builds.org/ for why this is good Also adds UTC flag, to be independent of timezone. Also changes JAVA_DATE format to ISO-8601 date format. Requires cmake-2.8.11+ from 2013
* | | | Document -AcceptSetDesktopSize in x0vncserver.manPierre Ossman2018-11-261-0/+4
| |/ / |/| | | | | | | | It now accepts this parameter, so make sure it is documented.
* | | Allow -AcceptSetDesktopSize in x0vncserverPierre Ossman2018-11-261-3/+0
| | | | | | | | | | | | | | | | | | We disabled it in 0a0e582 since it didn't have support for resizing. But it got that support in 242c5b2, yet we forgot to allow this setting again.
* | | EL7 with Xorg 1.2.0 needs --disable-dri3Brian P. Hinz2018-11-262-4/+7
| | |
* | | el7 bumped version of xorg to 1.20Brian P. Hinz2018-11-251-1/+1
| | |
* | | Remove Java viewer from debian packages (4a4453f broke nightly builds)Brian P. Hinz2018-11-252-8/+8
| | |
* | | Abort unsafe lossless refresh earlyPierre Ossman2018-11-231-13/+15
| | | | | | | | | | | | | | | | | | | | | We need to check earlier if we are going to send this refresh or not. Otherwise we send out pings pointlessly, and we also stall the request loop with a client as we clear the requested region without actually sending an update message.
* | | Move lossless refresh handling to separate methodPierre Ossman2018-11-232-45/+79
| | | | | | | | | | | | | | | It makes the logic a bit easier to follow, and also fixes the case where just a fake update is needed.
* | | Fix bad size check in Tight decoderPierre Ossman2018-11-231-1/+1
| | | | | | | | | | | | Fallout from beb59a43.
* | | Use larger integers for the cursor ditheringPierre Ossman2018-11-231-6/+6
| | | | | | | | | | | | | | | We need a larger range to handle the temporary overflow caused by the Floyd-Steinberg dithering.
* | | Merge branch 'vla' of https://github.com/CendioOssman/tigervncPierre Ossman2018-11-218-57/+72
|\ \ \
| * | | Do debug build in TravisPierre Ossman2018-11-211-1/+1
| | | | | | | | | | | | | | | | | | | | The debug builds do extra check, so chose that mode for Travis so we get early warnings for problems.
| * | | Remove variable length arraysPierre Ossman2018-11-077-45/+53
| | | | | | | | | | | | | | | | | | | | These are not allowed in C++, and have been made optional in C11. So let's just get rid of them and any issues they may cause.
| * | | Update gettext.h to latest versionPierre Ossman2018-11-071-11/+18
| | | |
* | | | Merge branch 'covscan' of https://github.com/grulja/tigervncPierre Ossman2018-11-2113-27/+47
|\ \ \ \ | |_|/ / |/| | |
| * | | Fix memory leaksJan Grulich2018-11-209-20/+37
| | | |
| * | | Check correct return codeJan Grulich2018-11-202-4/+7
| | | |
| * | | Do not duplicate default string twiceJan Grulich2018-09-261-2/+2
| | | |
| * | | Use empty address buffer when sockaddr sa_family is not what we wantJan Grulich2018-09-261-1/+1
| | | |
* | | | Save a few X11 server roundtrips by ignoring empty damage regions.Christian Authmann2018-11-111-0/+3
| | | | | | | | | | | | | | | | Logging revealed that a few empty damage regions are emitted on startup. Those don't need to be rendered to the Surface pixmap.