| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| |
| |
| | |
Fixes: https://issues.redhat.com/browse/RHEL-34880
Signed-off-by: Carlos Santos <casantos@redhat.com>
|
| |
| |
| |
| |
| |
| |
| | |
Send the generic "Authentication failed" if the PAM module does not pass
an error message.
Signed-off-by: Carlos Santos <casantos@redhat.com>
|
| |
| |
| |
| |
| |
| | |
It is not used anywhere else.
Signed-off-by: Carlos Santos <casantos@redhat.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | | |
The kernel_read_fs_sysctls interface does exactly the same thing and we
don't reinvent the wheel. It's also easier to maintain.
|
| | |
| | |
| | |
| | |
| | | |
We no longer restrict ourselves to just ASCII, so we need to tell
xgettext the encoding we use in the source code.
|
| | |
| | |
| | |
| | | |
This should have been included way back in 674bf06.
|
|\ \ \ |
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|\ \ \
| |/ /
|/| | |
|
| | |
| | |
| | |
| | |
| | | |
Allow everything to flush properly so that both ends see a clean close,
rather than a reset connection. Avoids misleading error messages.
|
| | |
| | |
| | |
| | | |
In case there are any last termination messages pending.
|
| | |
| | |
| | |
| | |
| | | |
The specification states that servers should reject invalid names (e.g.
IP addresses), so try to make sure we only set something valid.
|
| | |
| | |
| | |
| | | |
Better inform the peer why we are terminating the connection.
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | | |
Just like we do for regular TLS communication.
|
| | |
| | |
| | |
| | | |
More avoiding duplication and increasing encapsulation.
|
| | |
| | |
| | |
| | | |
Let's avoid duplication and also raise the encapsulation a bit.
|
| | |
| | |
| | |
| | | |
We can use lambdas as glue and let them be normal methods instead.
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|/ /
| |
| |
| |
| | |
The ABI for the class needs to be stable across modules, so we cannot
have conditional class members like this.
|
| |
| |
| |
| | |
std::string doesn't like null strings. Give it an empty one instead.
|
| | | |
| \ | |
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Provide some UI feedback that the keyboard is currently grabbed and
local input is prevented.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
It can get a bit annoying if you keep getting these constantly, so only
show them again if enough time has passed since we last showed them.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
These modes can be non-obvious for users how to get out of, so show an
overlay with how to get back to normal when these modes are enabled.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
We want to show tips for more things, so rework the overlay
infrastructure so it can handle an arbitrary amount of messages.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If we lose focus whilst the keyboard grab is active, then it should mean
we didn't lose it the way you normally do using the keyboard (e.g.
Alt+Tab). Common scenarios are opening the context menu, or clicking on
another monitor or application.
In these cases, the user likely wants to keep the same state, i.e.
grabbed, when they return to the viewer window.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Allows you to grab the keyboard input from the desktop environment even
in windowed mode.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
It will fail on at least X11, causing needless noise.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Open up control of this to other parts of the viewer, in preparation for
adding keyboard shortcuts.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Otherwise it will provide the wrong time in some of its X11 calls,
making them fail.
|
| | | |
| | | |
| | | |
| | | | |
Allows you to quickly enter and leave full-screen mode.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
No matter how carefully you choose your shortcut modifiers, there might
still be situations where you need to send those key combinations to
the server instead.
This commit adds a method for this by letting the <modifiers>+Space
combination temporarily bypass the keyboard shortcut logic and send
everything to the server (until all keys are released again).
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We want to be able to define more keyboard combinations that allows the
user to control the client instead of sending the keys to the server.
Instead of adding a never ending stream of random keys that just
confuses things, we'll define a set of modifiers that are the base for
all client control commands.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
When we need to know all possible symbols a specific physical key might
possibly generate. Needed for the incoming keyboard shortcut logic.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Make sure that they can wrap, and that the button is large enough for
the entire text.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
We don't have to be careful about this since we haven't used FLTK for
keyboard events since 56610fb.
|
| | | |
| | | |
| | | |
| | | | |
We had overlooked two of them for some reason.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Windows will not see the key events we decide to intercept. That means
it will fail to update its internal state of which keys are pressed or
not.
Avoid this by letting key release through if the key was pressed before
we started intercepting events.
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Some keyboard events are modified before being delivered to the
application. When we do a low-level hook, we bypass this modification.
Make sure we modify events in the same way Windows would, to avoid
surprises for the application code getting these events.
|
| | |
| | |
| | |
| | |
| | | |
This was supposed to be removed in e97e225 when we moved this to the
core library.
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This:
ret = vncHandleParamArg(argc, argv, i);
if (ret != 0)
return ret;
return 0;
Is the same as
return vncHandleParamArg(argc, argv, i);
Signed-off-by: Carlos Santos <casantos@redhat.com>
|