aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * Make sure length is reset on assignmentPierre Ossman2023-02-041-1/+3
| | | | | | | | | | Otherwise the old length is preserved, which will result in NULL pointer dereferencing if the parameter is ever accessed.
| * Clean up BinaryParameter typingPierre Ossman2023-02-043-16/+21
| | | | | | | | | | This is explicitly a byte sequence, so let's try to keep a consistent typing.
| * Move hex conversion helpers to utilPierre Ossman2023-02-049-88/+109
| | | | | | | | | | These are used here and there so let's make them more general rather than hiding them in the stream classes.
| * Use std::vector for basic data arraysPierre Ossman2023-02-0113-212/+150
| | | | | | | | | | Avoid our own custom types in favour of what's already included with C++.
| * Use stdint typesPierre Ossman2023-02-01151-1086/+1114
| | | | | | | | | | Avoid having our own custom stuff and instead use the modern, standard types, for familiarity.
| * Use templates for optimized codePierre Ossman2023-02-0131-2062/+1582
| | | | | | | | | | Avoid preprocessor magic and instead rely on templating to generate optimized functions for performance critical code.
* | Merge branch 'vncsession-create-homedir' of https://github.com/zpytela/tigervncPierre Ossman2023-02-281-0/+1
|\ \
| * | SELinux: Allow vncsession create ~/.vnc directoryZdenek Pytela2023-02-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Addresses the following AVC denial: type=PROCTITLE msg=audit(01/12/2023 02:58:12.648:696) : proctitle=/usr/sbin/vncsession fedora :1 type=PATH msg=audit(01/12/2023 02:58:12.648:696) : item=1 name=/home/fedora/.vnc nametype=CREATE cap_fp=none cap_fi=none cap_fe=0 cap_fver=0 cap_frootid=0 type=PATH msg=audit(01/12/2023 02:58:12.648:696) : item=0 name=/home/fedora/ inode=262145 dev=fc:02 mode=dir,700 ouid=fedora ogid=fedora rdev=00:00 obj=unconfined_u:object_r:user_home_dir_t:s0 nametype=PARENT cap_fp=none cap_fi=none cap_fe=0 cap_fver=0 cap_frootid=0 type=CWD msg=audit(01/12/2023 02:58:12.648:696) : cwd=/home/fedora type=SYSCALL msg=audit(01/12/2023 02:58:12.648:696) : arch=x86_64 syscall=mkdir success=no exit=EACCES(Permission denied) a0=0x7fff47d52540 a1=0755 a2=0x0 a3=0x0 items=2 ppid=2869 pid=2880 auid=fedora uid=fedora gid=fedora euid=fedora suid=fedora fsuid=fedora egid=fedora sgid=fedora fsgid=fedora tty=(none) ses=8 comm=vncsession exe=/usr/sbin/vncsession subj=system_u:system_r:vnc_session_t:s0 key=(null) type=AVC msg=audit(01/12/2023 02:58:12.648:696) : avc: denied { create } for pid=2880 comm=vncsession name=.vnc scontext=system_u:system_r:vnc_session_t:s0 tcontext=system_u:object_r:vnc_home_t:s0 tclass=dir permissive=0 Resolves: rhbz#2143704
* | | Merge branch 'master-clipboard-check-state-before-access' of ↵Pierre Ossman2023-02-281-3/+3
|\ \ \ | | | | | | | | | | | | https://github.com/MarkMielke/tigervnc
| * | | VNCSConnectionST clipboard functions should check state before access.Mark Mielke2023-02-201-3/+3
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | Clipboard functions may run on connections that are not yet at RFBSTATE_NORMAL. Due to recent hardening of the accessCheck() function, it is important to validate that the state is RFBSTATE_NORMAL before calling accessCheck(). Fixes #1599.
* | | Throw exception instead on bad access checkPierre Ossman2023-02-281-2/+2
| | | | | | | | | | | | | | | | | | An assert will kill the entire server, which is overly harsh when there is a problem with a single connection. Instead, throw an exception which will just disconnect that specific client.
* | | Update Serbian translationМирослав Николић2023-02-271-234/+277
|/ /
* | Sanity check when cleaning up keymap changesPierre Ossman2023-02-091-0/+4
| | | | | | | | | | Make sure we don't send a bogus request to the X server in the (common) case that we don't actually have anything to restore.
* | Update Friulian translationFabio T2023-02-031-324/+684
| |
* | Remove old mingw CMake checksPierre Ossman2023-01-302-10/+0
|/ | | | | This should have been removed with the code using these defines in 03ca975.
* Fix CRLF line endingsPierre Ossman2023-01-175-442/+442
| | | | Everything else uses LF line endings, so fix up the few stray ones.
* Merge branch 'libtool' of https://github.com/CendioOssman/tigervncPierre Ossman2023-01-102-25/+79
|\
| * Create .la files at the end of the cmake runPierre Ossman2023-01-102-11/+34
| | | | | | | | | | We might not have all the necessary information, e.g. all targets might not exist yet, until we're done going through all CMakeLists.
| * Bail on missing librariesPierre Ossman2023-01-101-2/+2
| | | | | | | | They may be crucial, so refuse to continue if this happens.
| * Fall back to dynamic libraries in .la filesPierre Ossman2023-01-101-3/+7
| | | | | | | | | | This is what the linker does, so we should do the same for correct behaviour.
| * Respect library search pathsPierre Ossman2023-01-101-1/+7
| | | | | | | | | | Things might be in odd places, so make sure we respect where we're told to look for libraries.
| * Include other targets in .la filesPierre Ossman2023-01-101-2/+5
| | | | | | | | | | | | We have internal dependencies that should be respected, as otherwise it will be up to the user of the .la file to figure out the correct order of the libraries.
| * Handle alternative library suffixesPierre Ossman2023-01-101-1/+9
| | | | | | | | | | I think this only affects macOS at the moment where they also have .tbd files for linking.
| * Make sure frameworks are included in .la filesPierre Ossman2023-01-101-1/+9
| | | | | | | | | | We don't really use the .la files for macOS at the moment, but let's try to be prepared.
| * Remove unnecessary regexp \\Pierre Ossman2023-01-101-3/+3
| | | | | | | | | | This serves no useful purpose as we have no reason to suspect there will be a dangerous first character in these variables.
| * Fix static library check regexpPierre Ossman2023-01-101-1/+1
| | | | | | | | | | Not sure how the old one ever worked as it incorrectly just tried to match last character and nothing else.
| * Get target libraries from INTERFACE_LINK_LIBRARIESPierre Ossman2023-01-101-4/+6
| | | | | | | | | | <target>_LIB_DEPENDS is an internal variable that contains lots of other weird stuff.
| * Use correct FATAL_ERROR CMake optionPierre Ossman2023-01-101-1/+1
|/
* Merge branch 'wextra' of https://github.com/CendioOssman/tigervncPierre Ossman2023-01-05125-584/+388
|\
| * Use __attribute__:s directlyPierre Ossman2023-01-059-65/+34
| | | | | | | | | | | | These are supported by gcc and clang, and I don't think MSVC works well with our code anyway, so let's keep things simple and use these directly.
| * Enable more warnings by defaultPierre Ossman2023-01-051-2/+2
| | | | | | | | | | | | | | | | These are also useful warnings that tend to find real bugs, so let's enable then. The downside is they require us to mark certain things so the compiler knows if they were on purpose or not.
| * Work around -Wcast-function-typePierre Ossman2023-01-052-10/+10
| | | | | | | | | | That warning doesn't play well with Windows' GetProcAddress(), so add some extra casting to work around it.
| * Remove old mingw compatibility codePierre Ossman2023-01-054-223/+0
| | | | | | | | | | This isn't needed with modern build environments, and can even conflict with them.
| * Don't partially init monitor informationPierre Ossman2023-01-051-1/+1
| | | | | | | | gcc will complain, and we will fill out all fields later anyway.
| * Fix incorrect typesPierre Ossman2023-01-054-8/+8
| | | | | | | | | | These types caused an incorrect signed/unsigned behaviour, so let's make sure we use the appropriate type.
| * Fix order of qualifiersPierre Ossman2023-01-051-1/+1
| | | | | | | | gcc can get upset if they aren't in this order.
| * Protect key variables from setjmp()Pierre Ossman2023-01-052-10/+13
| | | | | | | | | | If we don't mark these as volatile then they might get reset on longjmp() and the code will misbehave.
| * Remove useless const specifiersPierre Ossman2023-01-052-4/+4
| | | | | | | | | | These are just values, so setting const on them has no effect as the caller will get a copy.
| * Remove useless checksPierre Ossman2023-01-052-4/+1
| | | | | | | | These are all truisms because of the valid range of the types.
| * Explicitly mark switch case fall throughPierre Ossman2023-01-056-0/+11
| | | | | | | | | | This allows us to separate accidental fall through from explicit ones, which allows us to turn on such checks in the compiler.
| * Fix RSA-AES state machinesPierre Ossman2023-01-052-48/+44
| | | | | | | | | | | | | | | | | | | | If there isn't enough data, then the client reading the hash will fall down and try to read the subtype instead, which isn't correct. Invert the logic so we get a more consistent way through where we only break out when there is insufficient data. Do the same for the server code, for consistency.
| * Add missing breaks to Windows key grab codePierre Ossman2023-01-041-0/+2
| | | | | | | | | | These were not meant to fall through. Likely didn't have any adverse effects, but let's fix it anyway.
| * Explicitly mark unused parametersPierre Ossman2023-01-0481-163/+207
| | | | | | | | | | This allows us to separate accidentally unused, from explicitly unused parameters, which allows us to turn on such checks in the compiler.
| * Respect given server namePierre Ossman2023-01-041-1/+1
| | | | | | | | | | No practical difference currently, but let's respect what this API was supposed to do.
| * Don't include unused file path parameterPierre Ossman2023-01-041-3/+3
| |
| * Don't include palette to full color methodsPierre Ossman2023-01-044-9/+7
| | | | | | | | They have no need for it, so let's simplify things.
| * Remove unused flags to decoder contextsPierre Ossman2023-01-046-6/+13
| | | | | | | | Everything in flags is already handled at a higher level.
| * Stop supplying flags to clipboard peek handlerPierre Ossman2023-01-0410-10/+10
| | | | | | | | The flags should always be empty anyway.
| * Mark system include paths correctlyPierre Ossman2023-01-048-16/+16
| | | | | | | | | | This makes sure the compiler doesn't complain about problems in those files.
| * Always enable -WvlaPierre Ossman2023-01-041-4/+4
| | | | | | | | | | It's only the -Werror part we want to be conditional on being debug builds.