| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We don't consistently use these, so they are just confusing.
Instead, we rely on the linker to not include unnecessary objects, and
hence irrelevant configuration objects.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
This allows smooth upgrades for users if the defaults change in the
future.
|
| | | |
| | | |
| | | |
| | | | |
This should have been cleaned up in adaedc9.
|
| |_|/
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is not providing protection for all of the logging, so it gives a
false sense of security. We're also not making use of this as we have
barely any threading.
The exception is the WinVNC code, which is very thread heavy. But it is
unmaintained and will not be a blocker for this.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is not providing adequate protectection in more complex cases, and
we're not making use of threads in a way that should require this.
The exception is the WinVNC code, which is very thread heavy. But it is
unmaintained and will not be a blocker for this.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Decoders are run in threads, and not everything in the logging system is
thread safe.
Normally decoders consider errors to be fatal and throw an exception.
But the H.264 decoder wants to be able to tolerate misbehaving H.264
encoders.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Reset individual contexts the same way we reset all contexts, i.e. by
deleting and recreating them. Avoids surprises by having a consistent
method.
|
| | |
| | |
| | |
| | |
| | | |
A false return value from these methods result in an exception anyway,
so let's keep things simple and throw the exception right away.
|
| | |
| | |
| | |
| | | |
It uses the size_t type, which might not otherwise be defined.
|
| |/
|/|
| |
| |
| | |
The decodered is already flagged as strictly ordered, which means it
will only be used from a single thread at a time.
|
| |
| |
| |
| |
| | |
This was a weird hack just to support the method that split arguments.
We don't need this know as we expect callers to do any string handling.
|
| |
| |
| |
| |
| | |
These two values were overlooked in the look-ahead list and hence did
not work reliably.
|
| |
| |
| |
| |
| | |
Avoid duplicating this complexity everywhere and make sure all commands
get the same handling and fixes.
|
| |
| |
| |
| | |
These never even had an implementation.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
The system shutdown() function doesn't drop buffered data, so neither
should we.
We had one fix in place, but that didn't cover all cases. Move this
handling to all socket like classes we have.
|
| |
| |
| |
| | |
We can make do with forward declarations for these classes.
|
| |
| |
| |
| |
| | |
A set restore point needs to be used or cleared. Release builds will let
this slide, but debug builds will kill the connection.
|
| |
| |
| |
| |
| |
| |
| | |
This got completely broken in baca73d0 where the templated method got
incorrectly called instead of the wrapper/multiplexer. It seems to have
been harmless on most systems, but caused crashes on CPUs with strict
memory alignment requirements.
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| | |
This is a general thing so move it in to the core library instead,
letting vncviewer focus on just translation of system events to VNC
ones.
|
| |
| |
| |
| |
| | |
This is required for the built in exceptions, so let's do the same to
avoid surprises.
|
| |
| |
| |
| |
| |
| | |
That type is not guaranteed to preserve anything useful at all. Instead,
try to either preserve a more specific type, or use std::runtime_error
which at least has a guaranteed message.
|
| | |
|
| | |
|
|\ \ |
|
| | |
| | |
| | |
| | | |
The reason for this is to keep a consistency through out the project.
|
| | |
| | |
| | |
| | | |
The reason for this is to keep a consistency through out the project.
|
| | |
| | |
| | |
| | | |
The reason for this is to keep a consistency through out the project.
|
| | |
| | |
| | |
| | |
| | | |
The issue was masked by it getting included by the TLS headers. But if
GnuTLS was disabled, then this file would fail to build.
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This commit implements the pseudo-encoding ExtendedMouseButtons which
makes it possible to use the back/forward mouse buttons.
This commit contains work originally done by
PixelSmith <manny33@frontbuffer.com>.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This commit adds support for the pseudo-encoding ExtendedMouseButtons in
Xvnc and x0vncserver, which makes it possible to use to use the
back/forward mouse buttons.
This commit contains work originally done by
PixelSmith <manny33@frontbuffer.com>.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
This makes things more consistent since we mix with the standard library
exceptions so often.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
There is no point to having our own generic exception class. Let's use
the one provided by the standard C++ library.
|
| | | |
| | | |
| | | |
| | | | |
Make it easier to identify communication issues.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Use the more specific already included exception classes for common
errors to keep things more understandable.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Implicitly gives us the correct exceptions on errors instead of us
having to check and throw ourselves.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Make sure our exceptions are part of the standard exception class
hierarchy.
|
| | | |
| | | |
| | | |
| | | | |
Harmonize with the standard C++ exceptions.
|
| |/ /
|/| |
| | |
| | |
| | | |
In preparation for using the built in C++ exception classes, which do
not accept a format string.
|
| |/
|/|
| |
| |
| | |
Otherwise the compiler will complain about a defined but unused static
function.
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Windows has (at least) two error namespaces, both errno and
GetLastResult(). These overlap, so it is important we keep track of
which one we are dealing with.
To make things extra problematic, the BSD socket API normally uses
errno, but on Windows it has been mapped in to the GetLastResult()
namespace.
Try to keep better control of this by using separate classes for the
namespaces.
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
Only the client that currently has buttons pressed should actually send
a release event as the client might not be currently in control of the
pointer state. This is most clearly seen in a client that hasn't event
authenticated properly yet.
Approximate this from the server by using the last known server cursor
position. It should hopefully not differ much from the last client
provided position.
Follow-up to 986280b382d57ef4f68d2d4afb13b26772e5acb0.
|
|
|
|
|
| |
Prefer this exception for failures involving errno as it gives a better
error description.
|
|
|
|
|
| |
These functions return a GnuTLS status, so we should use the correct
exception for that so we get the proper error messages.
|
|
|
|
|
| |
This is the user actively rejecting the connection, and should be
signalled as such for correct behaviour.
|