| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|\ |
|
| | |
|
| |
| |
| |
| |
| | |
We need to examine the incoming PixelBuffer, not the previous one
(which might not even be valid).
|
|\ \
| | |
| | | |
fix test order in convertLF and convertCRLF
|
| |/
| |
| |
| | |
The new order of test avoid ready invalid memory address in ca.buf
|
| |
| |
| |
| |
| |
| |
| |
| | |
We need to check the buffer length before accessing the incoming
string. Probably not a problem in practice as there should be a
final null in most incoming strings.
Issue found by Pavel Cheremushkin from Kaspersky Lab.
|
| | |
|
| |
| |
| |
| |
| | |
They have very different purpose, so make things easier to work
with by having multiple directories.
|
|/
|
|
|
| |
Window hooks aren't working well on modern systems so switch the
default to polling until we can fix things.
|
|\
| |
| | |
Do not return returncode indicating error when listing sessions
|
|/ |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Implements support in both client and server for the extended
clipboard format first seen in UltraVNC. Currently only implements
text handling, but that is still an improvement as it extends the
clipboard from ISO 8859-1 to full Unicode.
|
| |
| |
| |
| |
| | |
In prepartion for better clipboard extensions that can send Unicode
data between the client and server.
|
| |
| |
| |
| |
| | |
Change the internal clipboard API to use a request based model in
order to be prepared for more advanced clipboard transfers.
|
| |
| |
| |
| |
| | |
We convert between UTF-8 and ISO 8859-1 (latin 1) in several places
so create some common routines for this.
|
| |
| |
| |
| |
| |
| | |
We now filter incoming data, which means we can start assuming the
clipboard data is always null terminated. This allows us to clean
up a lot of the internal handling.
|
| |
| |
| |
| |
| |
| | |
This is required by the protocol so we should make sure it is
enforced. We are tolerant of clients that violate this though and
convert incoming clipboard data.
|
| |
| |
| |
| |
| | |
It was unused and added complexity and bugs to the code. So let's
remove it rather than trying to clean up a function no one needed.
|
| |
| |
| |
| | |
Makes it easier to see what is overloaded and what isn't.
|
| |
| |
| |
| |
| | |
We're usually white listed, but let's be a good citizen and formally
request the keyboard grab ability from the compositor.
|
| | |
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Result of overflow on signed integer arithmetic is undefined in C/C++ standard.
So in previous version clang was compiling the statement as (int)a > (int)b (i.e. assuming no overflow), which leads to incorrect result.
Correct deterministic behavior means doing overflow arithmetic as unsigned, i.e.
a != b && a - b <= UINT_MAX / 2
|
| |
| |
| |
| |
| | |
We will log the exception, so avoid direct writes to stderr by
simply removing these log lines.
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
|
| |
Some input sources are still using input methods even though they
claim to be "ASCII" input. This causes our input handling to fail
since we need to query the layout to handle dead keys.
Fortunately there is another API to get the raw, underlying input
source that the input method uses. So let's use that and be sure
that we're always getting something we can use.
|
| |
|
|
|
|
|
|
| |
There is some bug in gcc's new -Werror=format-overflow that makes it
think majorVersion could end up being very large. Increase the target
buffer for now to keep gcc happy.
|
| |
|
|
|
|
|
|
| |
The parameter files are used to make sure changes in the UI are
persistent. Storing anything else results in behaviours that the
user has no easy way of changing.
|
|
|
|
|
|
| |
It is already hidden in the UI, so make sure it also is gone as a
command line parameter. This follows the behaviour of the similar
sendPrimary parameter.
|
|
|
|
|
|
|
| |
This provides some basic rate limiting that will make it difficult
for an attacker to brute force passwords. Only relevant when the
blacklist is disabled as otherwise the attacker only gets a very
limited number of attempts.
|
|
|
|
|
|
| |
We need to make sure it is null terminated on truncation. We also
need to avoid giving a too large size argument or modern gcc will
complain.
|
|
|
|
|
| |
It is not enough to create an exception object, you need to throw
it as well.
|
|
|
|
|
| |
It's not common knowledge these days how X geometry is specified, and
even the man page X(7) is missing on many systems now.
|
|
|
|
|
| |
FLTK has some options (that we've also documented in the man page)
that should be mentioned in the --help output.
|
|
|
|
|
| |
We can use a dummy value here as we set up the buffer and stride
further down in the constructor.
|
|
|
|
|
|
| |
There might be multiple clients using a single IP (e.g. NAT), which
can make the blacklist do more harm than good. So add a setting to
disable it if needed.
|
|
|
|
|
| |
No need to expose these, so keep them internal to the implementation,
like most settings are.
|
|\ |
|
| | |
|
|/
|
|
|
|
|
|
|
|
| |
We always sync when we get focus, so this code path is really only
for when the server announces LED state support after we already
have focus.
Make sure we only handle this specific scenario as otherwise we
could end up syncing twice, which just toggles things back and forth
and ends up syncing incorrectly.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This is where to install headers to, not where to find headers to
build against. Toolchains should know where to locate their system
headers while non-system headers should be found using
pkg-config. Users with bizarre setups where the toolchain really
cannot find the system headers should set CPPFLAGS.
|
|
|
|
|
| |
Travis wants "cpp", not "c++". It just happened to work anyway
because the base image includes the same tools.
|