| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Allow everything to flush properly so that both ends see a clean close,
rather than a reset connection. Avoids misleading error messages.
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
So it's not necessary to iterate over the internal list to obtain the
number of parameters.
Signed-off-by: Carlos Santos <casantos@redhat.com>
|
|
|
|
|
|
|
|
| |
Test if the "parts" vector is not empty in TcpFilter::parsePattern()
before attempting to access its first element.
Fixes: https://github.com/TigerVNC/tigervnc/issues/1958
Signed-off-by: Carlos Santos <casantos@redhat.com>
|
|
|
|
|
| |
Not as a single empty entry, which most parameters will not accept. The
whitespace is likely not intententional by the user.
|
|
|
|
|
| |
This should result in an empty list, not a list with a single empty
entry in it.
|
|
|
|
|
| |
This is a generic thing, not specific to the FLTK viewer. It belongs in
the core code.
|
|
|
|
|
| |
You need to activate the feature by setting supportsCursorPosition, so
there is no point in forcing everyone to implement the handler.
|
|
|
|
|
|
| |
We already had a field in the ServerParams structure, but we never
actually stored anything in it. Let's fix that so the cursor behaves
like other state we get from the server.
|
|
|
|
| |
These have never been used for anything and just clutter up the API.
|
|
|
|
|
| |
These are not per-client settings, so let's move the enforcement to the
common server object as much as possible.
|
|
|
|
|
|
| |
Access bits are part of SConnection, so let it handle all the basic
checks as well. This allows us to reduce the complexity of
VNCSConnectionST a bit.
|
|
|
|
|
|
| |
It's a bit confusing that some handling is done in
CMsgHandler/SMsgHandler, and some handling is done in
CConnection/SConnection.
|
|
|
|
|
|
| |
These are just for interactions internally within the connection objects
and their sub classes. Mark them as protected to make the API more
clear, and to avoid accidental use.
|
|
|
|
|
| |
Only override the actively used values, not the user values that are
stored and displayed in the options dialog.
|
|
|
|
|
|
|
| |
To be able to debug exactly what is wrong with the layout. Unfortunately
we don't know what log level is used for actual "invalid layout"
message, or if it is even logged as all, since that happens elsewhere.
So let's be cautious and use a debug log level here.
|
|
|
|
|
|
|
|
|
|
| |
Make sure everything on screen has a consistent look when the client
switches between different pixel formats.
Use the lossless refresh mechanism to make sure this doesn't interfere
with more important updates.
Based on a suggestion by Piotr Henryk Dabrowski.
|
|
|
|
|
|
|
|
| |
This is a revert of 0ce9fef. The object slicing is causing issues, e.g.
when we get a completely expected end_of_stream exception.
It's unclear what exceptions we needed this wrapping for. We'll just
have to remove it and see what problems we encounter.
|
|
|
|
| |
This is much more robust and flexible than what we came up with.
|
|
|
|
|
|
| |
It's rare, but there are some things that can go wrong in the
constructor for a new client object. Make sure we handle these and
properly close the socket, rather than leave it dangling.
|
|
|
|
| |
Broken in 4ff02ae.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
This is needed when we have very long defaults for list parameters.
Note that the logic gets a bit more convoluted as we want to keep the
comma with the word, unlike the whitespace.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
The client should support all server security types by default. Unsure
why this was overlooked.
|
| |
| |
| |
| | |
Same as IntListParameter and StringListParamter, but for enumerations.
|
| | |
|
| | |
|
| |
| |
| |
| | |
We don't do multiple threads on the server, so this is not needed.
|
| | |
|
| |
| |
| |
| |
| | |
Same as for IntListParameter, consolidate the list handling code to a
single place.
|
| |
| |
| |
| | |
Consolidate handling of a list of values in a single piece of code.
|
| |
| |
| |
| |
| | |
Consolidate validation of enumeration in a central place since this is
now a popular type of paramater.
|
| | |
|
| |
| |
| |
| |
| | |
Complain so that the user/developer sees the issue rather than just
silently ignoring the problem.
|
| |
| |
| |
| | |
This is undefined and crashes on macOS.
|
|\ \
| |/
|/| |
|
| | |
|
| |
| |
| |
| | |
This should have been done as part of cf1bc66.
|