aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Don't automatically connect in CConn constructorHEADmasterPierre Ossman10 days3-36/+43
| | | | | | Constructors that do a lot of work and can fail under normal usage is confusing and difficult to work with. Move the connection stage to an explicit method instead.
* Fix crash on connection failuresPierre Ossman10 days1-29/+31
| | | | | | If we fail to connect, then socket object will never be created. Bug fix for 22dd29 and c2f5cfe.
* Merge branch 'cmakefind' of github.com:CendioOssman/tigervncPierre Ossman12 days31-282/+559
|\
| * Add trioptions for SELinux and systemdPierre Ossman12 days6-8/+31
| | | | | | | | To give users and packagers more control.
| * Make pwquality option a tristatePierre Ossman12 days1-2/+6
| | | | | | | | Just like the other options we have that rely on external components.
| * Create CMake find module for finding pwqualityPierre Ossman12 days3-7/+52
| | | | | | | | So we use the standard method to find libraries.
| * Create CMake find module for finding libsystemdPierre Ossman12 days3-8/+53
| | | | | | | | So we use the standard method to find libraries.
| * Create CMake find module for finding libselinuxPierre Ossman12 days3-8/+51
| | | | | | | | So we use the standard method to find libraries.
| * Create CMake find module for finding PAMPierre Ossman12 days4-11/+53
| | | | | | | | So we use the standard method to find libraries.
| * Switch to built in libintl find modulePierre Ossman12 days6-82/+21
| | | | | | | | CMake now includes a module for this, so avoid doing it ourselves.
| * Start linking libunistring statically as wellPierre Ossman12 days1-4/+2
| | | | | | | | MSYS2 now packages a static version of this library.
| * Remove bogus gettext pkg-config referencesPierre Ossman12 days1-2/+1
| | | | | | | | We don't use pkg-config to find gettext, so these are not set.
| * Always include libintl and libiconv for gettextPierre Ossman12 days1-13/+1
| | | | | | | | | | These are the core libraries for gettext, so no need to check if they exist or not.
| * Remove GnuTLS and libintl static build instructionsPierre Ossman12 days1-27/+0
| | | | | | | | These are misleading and likely out of date.
| * Use CMake's standard method for find modulesPierre Ossman12 days12-151/+171
| | | | | | | | | | Follow what CMake's own find modules do to get a consistent and understandable behaviour.
| * Fix bad PATH_SUFFIXESPierre Ossman12 days5-9/+9
| | | | | | | | | | | | These headers are supposed to include that directory in the #include statements. Only reason this "worked" so far was because we always managed to rely on the pkg-config information rather than find_path().
| * Handle Nettle's GMP dependency internallyPierre Ossman12 days3-7/+8
| | | | | | | | It's not something users of the find module should need to deal with.
| * Split FFmpeg find module to independent modulesPierre Ossman12 days5-56/+105
| | | | | | | | | | FFmpeg is a suite of independent libraries, and is often split up when packaged. Split our find modules the same way for clarity.
| * Fix find modules' capitlizationPierre Ossman12 days4-7/+7
| | | | | | | | Follow the naming convention that the upstream project uses.
| * Add standard comment to CMake find modulesPierre Ossman12 days5-8/+116
|/ | | | Follow the same style that CMake itself uses.
* Fix bad null constant in fallback codePierre Ossman14 days1-1/+1
|
* Use std::string for priority string handlingPierre Ossman14 days2-54/+30
| | | | Avoid error prone manual memory management and string handling.
* Merge branch 'RHEL-34880' of github.com:casantos/tigervncPierre Ossman2025-07-0214-153/+158
|\
| * Make Xvnc and x0vncserver pass the display name to PAM modules.Carlos Santos2025-06-136-1/+40
| | | | | | | | | | | | Fixes: https://issues.redhat.com/browse/RHEL-34880 Signed-off-by: Carlos Santos <casantos@redhat.com>
| * Send PAM error messages to VNC clientsCarlos Santos2025-06-137-14/+38
| | | | | | | | | | | | | | Send the generic "Authentication failed" if the PAM module does not pass an error message. Signed-off-by: Carlos Santos <casantos@redhat.com>
| * Move all PAM authentication code to UnixPasswordValidatorCarlos Santos2025-06-134-134/+77
| | | | | | | | | | | | It is not used anywhere else. Signed-off-by: Carlos Santos <casantos@redhat.com>
| * xvnc.c: faster handling of the display argument in ddxProcessArgument()Carlos Santos2025-06-131-5/+4
| | | | | | | | | | | | | | | | | | | | Return zero if the current argument starts with ":". It's useless to check if it matches any of the other Xvnc arguments. Also use the global variable explicit_display, set by the X server code, instead of a private flag. Signed-off-by: Carlos Santos <casantos@redhat.com>
* | Merge branch 'nofile-unlimited' of github.com:grulja/tigervncPierre Ossman2025-07-021-8/+4
|\ \
| * | SELinux: Use kernel_read_fs_sysctls interface instead custom policyJan Grulich2025-03-031-8/+4
| | | | | | | | | | | | | | | The kernel_read_fs_sysctls interface does exactly the same thing and we don't reinvent the wheel. It's also easier to maintain.
* | | Tell xgettext we use UTF-8 for source stringsPierre Ossman2025-06-271-0/+1
| | | | | | | | | | | | | | | We no longer restrict ourselves to just ASCII, so we need to tell xgettext the encoding we use in the source code.
* | | Remove explicit VeNCrypt from WinVNCPierre Ossman2025-06-231-3/+0
| | | | | | | | | | | | This should have been included way back in 674bf06.
* | | Merge branch 'fix/add_dependencies' of github.com:ceamac/tigervncPierre Ossman2025-06-231-5/+5
|\ \ \
| * | | Fix cmake add_dependencies callViorel Munteanu2025-06-201-5/+5
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Try to fix this error: CMake Error at release/CMakeLists.txt:66 (add_dependencies): Cannot add target-level dependencies to non-existent target "tigervnc-Linux-x86_64-1.15.80.tar.gz". The add_dependencies works for top-level logical targets created by the add_executable, add_library, or add_custom_target commands. If you want to add file-level dependencies see the DEPENDS option of the add_custom_target and add_custom_command commands. I get this error with cmake 3.31.7 and with cmake 4.0.2.
* | | Merge branch 'tlsalert' of github.com:CendioOssman/tigervncPierre Ossman2025-06-1818-323/+577
|\ \ \ | |/ / |/| |
| * | Gracefully shut down connectionsPierre Ossman2025-06-184-20/+88
| | | | | | | | | | | | | | | Allow everything to flush properly so that both ends see a clean close, rather than a reset connection. Avoids misleading error messages.
| * | Flush socket when closing the viewer connectionPierre Ossman2025-06-181-0/+2
| | | | | | | | | | | | In case there are any last termination messages pending.
| * | Only configure valid hostnames for SNIPierre Ossman2025-06-181-4/+20
| | | | | | | | | | | | | | | The specification states that servers should reject invalid names (e.g. IP addresses), so try to make sure we only set something valid.
| * | Send TLS alerts to peer on errorsPierre Ossman2025-06-182-18/+75
| | | | | | | | | | | | Better inform the peer why we are terminating the connection.
| * | Show TLS alerts in log and to userPierre Ossman2025-06-183-10/+42
| | | | | | | | | | | | | | | | | | If the peer decides to terminte the connection, then the reason will be sent as an alert rather than seen through the normal error code. Make sure we show this so it's easier to determine what went wrong.
| * | Propagate exceptions during TLS handshakePierre Ossman2025-06-181-0/+3
| | | | | | | | | | | | Just like we do for regular TLS communication.
| * | Let TLSSocket handle TLS handshakePierre Ossman2025-06-184-20/+27
| | | | | | | | | | | | More avoiding duplication and increasing encapsulation.
| * | Let TLSSocket handle TLS terminationPierre Ossman2025-06-184-42/+28
| | | | | | | | | | | | Let's avoid duplication and also raise the encapsulation a bit.
| * | Avoid static methods for TLSSocketPierre Ossman2025-06-182-27/+23
| | | | | | | | | | | | We can use lambdas as glue and let them be normal methods instead.
| * | Merge TLS I/O in common classPierre Ossman2025-06-1811-223/+316
| | | | | | | | | | | | | | | | | | Input and output do not happen independently in TLS streams, so we need to have a coordinating central object for all I/O. E.g. a TLS read can result in a low level write.
| * | Always include InStream::checkedBytesPierre Ossman2025-06-181-7/+1
|/ / | | | | | | | | The ABI for the class needs to be stable across modules, so we cannot have conditional class members like this.
* | Handle missing user in WinVNC query dialogPierre Ossman2025-06-131-1/+2
| | | | | | | | std::string doesn't like null strings. Give it an empty one instead.
| |
| \
*-. \ Merge branches 'wingrab' and 'hotkey' of github.com:CendioOssman/tigervncPierre Ossman2025-06-1326-440/+1987
|\ \ \
| | * | Keep active keys on no-op focus changePierre Ossman2025-05-281-3/+42
| | | | | | | | | | | | | | | | | | | | | | | | Avoid releasing all keys if we're not losing focus for real. This is useful if a keyboard shortcut is active when the keyboard is being grabbed, as it allows chaining keyboard shortcuts.
| | * | Show error grabbing keyboardPierre Ossman2025-05-282-31/+55
| | | | | | | | | | | | | | | | | | | | | | | | It is now very likely that this happens as we will not have permission to do this by default on macOS. So present a message to the user so they understand why the keyboard isn't working as expected.
| | * | Synchronously retry X11 keyboard grabPierre Ossman2025-05-282-21/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make this less complex by removing the timer and retrying things synchronously. This can freeze the UI, but we give up after half a second so it should hopefully not be noticable. The advantage is that we can directly determine if we succeeded or failed grabbing the keyboard. The previous code could in theory continue retrying forever.