]>
source.dussan.org Git - tigervnc.git/log
Adam Halim [Fri, 4 Oct 2024 08:09:36 +0000 (10:09 +0200)]
vncviewer: support for back/forward mouse buttons
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>.
Adam Halim [Tue, 24 Sep 2024 14:38:35 +0000 (16:38 +0200)]
Use bit shifts for mouse buttonMask
It makes more sense to use bit shifts instead of decimals for each
button.
Adam Halim [Tue, 24 Sep 2024 13:55:21 +0000 (15:55 +0200)]
Add server support for forward/back mouse buttons
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>.
Pierre Ossman [Fri, 6 Sep 2024 15:14:52 +0000 (17:14 +0200)]
Filter duplicate server history entries
A server can be specified in many different ways, so it is easy to get
multiple entries in the history for the same thing.
Get rid of these by parsing each entry and comparing with existing
entries.
Pierre Ossman [Fri, 6 Sep 2024 14:30:02 +0000 (16:30 +0200)]
Move recent server to top of history
It's easier for the user if the most recently used entries are at the
top.
Pierre Ossman [Fri, 6 Sep 2024 14:29:25 +0000 (16:29 +0200)]
Use std::list for server history
We don't need random access to the entries, so a list fits just as well.
It also has better accessors we need.
Pierre Ossman [Fri, 6 Sep 2024 10:55:08 +0000 (12:55 +0200)]
Handle server history with '/' in entries
This happens if you've connected to a server using a Unix socket.
Pierre Ossman [Tue, 3 Sep 2024 07:10:14 +0000 (09:10 +0200)]
Add more usage of SystemException
Prefer this exception for failures involving errno as it gives a better
error description.
Pierre Ossman [Tue, 3 Sep 2024 06:07:11 +0000 (08:07 +0200)]
Fix reporting of some TLS errors
These functions return a GnuTLS status, so we should use the correct
exception for that so we get the proper error messages.
Pierre Ossman [Tue, 3 Sep 2024 06:03:41 +0000 (08:03 +0200)]
Correctly handling rejecting server key
This is the user actively rejecting the connection, and should be
signalled as such for correct behaviour.
Pierre Ossman [Tue, 3 Sep 2024 06:02:48 +0000 (08:02 +0200)]
Add missing config.h includes
Pierre Ossman [Mon, 2 Sep 2024 18:41:47 +0000 (20:41 +0200)]
Remove ConnFailedException
There were more unclear usage of this exception class, and since nothing
catches it it is very unclear what the purpose is. Go ahead and just
remove it.
Follow-up to
bcaaea7 .
Mingye Wang (Artoria2e5) [Mon, 2 Sep 2024 04:19:00 +0000 (12:19 +0800)]
Update Chinese (simplified) translation
Pierre Ossman [Fri, 30 Aug 2024 14:47:02 +0000 (16:47 +0200)]
Merge branch 'master' of https://github.com/0-wiz-0/tigervnc
Thomas Klausner [Tue, 27 Aug 2024 07:31:42 +0000 (09:31 +0200)]
vncviewer: add missing include for struct timeval
Pierre Ossman [Fri, 30 Aug 2024 14:15:09 +0000 (16:15 +0200)]
Correctly handle ZRLE cursors
Cursor data has a depth of 32 bits and hence cannot use CPIXELs.
This is a regression from
baca73d .
Pierre Ossman [Fri, 30 Aug 2024 14:09:38 +0000 (16:09 +0200)]
Only read first password from file
Read just the first password and ignore anything else in the password
file. This allows you to reuse a password file from the server that also
includes a view-only password.
This fixes a regression introduced in
b99daad .
Kang Lin [Tue, 30 Jul 2024 04:53:52 +0000 (12:53 +0800)]
Move getUserPasswd()/showMsgBox() to CConnection
Problems with the original code: A process can only establish one connection.
After modification, multiple connections can be supported.
Pierre Ossman [Thu, 29 Aug 2024 15:22:51 +0000 (17:22 +0200)]
Improve error messages for base directory creation
Pierre Ossman [Thu, 29 Aug 2024 15:19:40 +0000 (17:19 +0200)]
Handle failure getting VNC directories
Although rare, there are cases where we might fail to determine our base
directories. Make sure the code can handle it.
Pierre Ossman [Thu, 29 Aug 2024 15:16:43 +0000 (17:16 +0200)]
Move base directory creation to helper function
This is non-trivial now, so let's modularize this a bit.
linma (ThinLinc team) [Tue, 27 Aug 2024 09:15:57 +0000 (11:15 +0200)]
Merge pull request #1825 from LMattsson/macos-minimize-fixme
Add FIXME comment regarding macOS minimise fix
Linn Mattsson [Tue, 27 Aug 2024 08:39:10 +0000 (10:39 +0200)]
Add FIXME comment regarding macOS minimise fix
An issue with minimise not working when in fullscreen on macOS was
workaround in Pull Request #1813. The underlaying issue is currently
unknown.
macOS native fullscreen mode was looked into, but no clear answer was
given. See #1813 for details.
linma (ThinLinc team) [Fri, 23 Aug 2024 15:11:01 +0000 (17:11 +0200)]
Merge pull request #1813 from rudironsonijr/fix/macos-not-minimizing
Apple only: exit FL_Window fullscreen if active in order to minimize.
Pierre Ossman [Fri, 23 Aug 2024 14:49:10 +0000 (16:49 +0200)]
Merge branch 'h264-colour-spaces' of https://github.com/any1/tigervnc
Andri Yngvason [Thu, 22 Aug 2024 21:26:59 +0000 (21:26 +0000)]
H264Libav: Use nearest-neighbour sampling in scaler
sws_getCachedContext will set a default sampling method if 0 is passed
to the flags argument. This means that when it is called again, the
flags argument will not match the flags in the context, so a new one
will be allocated every time.
To get around this problem, we assign an explicit sampling method, one
that also happens to be more efficient and just as good for this
use-case as the default one, which is bicubic interpolation.
Andri Yngvason [Mon, 19 Aug 2024 22:34:37 +0000 (22:34 +0000)]
H264Libav: Handle colour space conversion
The scaler is now informed of the colour space encoded into the stream
so that it may do the proper conversion.
Rudimar Ronsoni Jr [Mon, 19 Aug 2024 19:08:01 +0000 (21:08 +0200)]
Apple only: exit FL_Window fullscreen if active in order to minimize.
Pierre Ossman [Mon, 19 Aug 2024 09:16:59 +0000 (11:16 +0200)]
Merge branch 'h264-buffer-size-fix' of https://github.com/any1/tigervnc
Andri Yngvason [Fri, 2 Aug 2024 09:20:24 +0000 (09:20 +0000)]
H264Libav: Clean up sws context
This fixes a memory leak
Andri Yngvason [Wed, 24 Jul 2024 20:50:14 +0000 (20:50 +0000)]
H264Libav: Use AVFrame for pixel format conversion buffer
This ensures that the buffer is allocated with the correct alignment and
padding for use with sws_scale.
This fixes out-of-bounds writes which would in some cases cause
segmentation faults and/or heap corruption.
Pierre Ossman [Thu, 15 Aug 2024 12:24:42 +0000 (14:24 +0200)]
Handle existing config directory in vncpasswd
This fixes commit
a79c33d .
Pierre Ossman [Thu, 15 Aug 2024 12:21:41 +0000 (14:21 +0200)]
Let pwquality check minimum length
This is a policy decision, so let's not enforce something on our own if
there is a system policy to rely on.
Pierre Ossman [Thu, 15 Aug 2024 12:21:06 +0000 (14:21 +0200)]
Only show pwquality setting where relevant
It's not used for Windows or macOS builds, so don't show the setting
there.
Pierre Ossman [Thu, 15 Aug 2024 12:14:59 +0000 (14:14 +0200)]
Merge branch 'master' of https://github.com/prownd/tigervnc
Pierre Ossman [Wed, 14 Aug 2024 08:56:38 +0000 (10:56 +0200)]
Merge branch 'old-log' of https://github.com/jcpunk/tigervnc
Pat Riehecky [Wed, 31 Jul 2024 19:43:46 +0000 (14:43 -0500)]
vncsession: Move existing log to log.old if present
hanjinpeng [Tue, 13 Aug 2024 16:56:10 +0000 (00:56 +0800)]
Limit the maximum length of a password to 8 characters
Password should not be greater than 8 characters.
Because only 8 valid characters are used.
hanjinpeng [Sun, 2 Jun 2024 09:42:17 +0000 (17:42 +0800)]
vncpasswd add password complexity rule check to enhance security
Use the library pwquality to check password complexity and improve security.
Additionally, optional enable support is also set in CMake.
Pierre Ossman [Tue, 13 Aug 2024 13:53:07 +0000 (15:53 +0200)]
Use proper gnutls_free() on Windows
The underlying issue requiring this hack was fixed ages ago.
Unfortunately, the fixed GnuTLS doesn't consider static linking. So we
need to add a new hack that permits that.
Pierre Ossman [Tue, 13 Aug 2024 13:36:10 +0000 (15:36 +0200)]
Avoid using excessive namespaces
Try to be more clear about what things are external to the current
context, and what aren't.
Pierre Ossman [Tue, 13 Aug 2024 13:31:05 +0000 (15:31 +0200)]
Avoid connection failed exception
The usage of this is unclear as it is never caught. Use the general
exception class, to stay consistent with all other protocol handling.
Andrew Kreimer [Mon, 12 Aug 2024 16:59:40 +0000 (19:59 +0300)]
Fix typos
Pierre Ossman [Tue, 3 Jan 2023 10:02:36 +0000 (11:02 +0100)]
Don't adjust manually sized window
It's unclear why this code was ever added, and it can be very confusing
that the window partially adjusts itself. The code is also in conflict
with the earlier comment that states we'll leave the window size alone
if it didn't perfectly match before the resize.
Pierre Ossman [Thu, 28 Dec 2023 12:40:09 +0000 (13:40 +0100)]
Remove unused setPixelFormat() callback
This was made obsolete in
dd45b44 when we extended the serverInit()
callback.
Pierre Ossman [Thu, 28 Dec 2023 08:33:07 +0000 (09:33 +0100)]
Remove fake framebuffer update request call
This method should only be called when the client actually sends a
framebuffer update request, otherwise we might send data the client is
not ready for.
It's unclear what the purpose of this call is, so we have no better fix
than to just remove it.
Pierre Ossman [Wed, 27 Dec 2023 15:32:36 +0000 (16:32 +0100)]
Update processMsg() description
This method is no longer blocking, so the description needed to be
adjusted.
Pierre Ossman [Sat, 25 Feb 2023 14:32:24 +0000 (15:32 +0100)]
Include key code for fake key events
Let's try to mimic a real event as much as possible to avoid bugs.
Pierre Ossman [Sat, 25 Feb 2023 14:16:18 +0000 (15:16 +0100)]
Better type for pointer button mask
This is a very limited bit field, so use an 8 bit type to clearly show
how many bits are available.
Pierre Ossman [Mon, 30 Jan 2023 06:51:51 +0000 (07:51 +0100)]
Remove InputHandler interface
The different uses of this interface are not that closely related and
there is no need for them to have a common interface class.
Pierre Ossman [Tue, 3 Jan 2023 10:02:01 +0000 (11:02 +0100)]
Remove ScaleFilters
This has been unused since
9fe3479 .
Pierre Ossman [Mon, 30 Jan 2023 09:50:32 +0000 (10:50 +0100)]
Remove IdentityVerifier forward declaration
This class has been removed since ages.
Pierre Ossman [Thu, 23 Feb 2023 06:19:09 +0000 (07:19 +0100)]
Don't parse empty fence messages
We need to return here or we'll do an out-of-bounds access on the data
array.
Johannes [Sat, 24 Jul 2021 14:02:29 +0000 (16:02 +0200)]
Don't ask for login data when reconnecting
Pierre Ossman [Wed, 7 Aug 2024 09:05:47 +0000 (11:05 +0200)]
Better error message for authentication failure
Pierre Ossman [Wed, 7 Aug 2024 08:35:51 +0000 (10:35 +0200)]
Don't abuse auth failure exception
This exception is for when the user fails to authenticate, not all
possible errors that might occur during the authentication phase.
Use more appropriate exception types for the various other problems that
might occur, so that we can present things more accurately to the user.
Pierre Ossman [Wed, 7 Aug 2024 08:08:43 +0000 (10:08 +0200)]
Remove auth exception prefix
This prefix often just added noise, and could sometimes be added
multiple times. It's better that user interface catch the specific
exception type and give a more descriptive presentation to the user.
This is partially a revert of
1922550 .
Pierre Ossman [Wed, 7 Aug 2024 07:49:22 +0000 (09:49 +0200)]
Correctly handle cancelled authentication
We should not be throwing up error messages, or asking to reconnect, if
the user has actively cancelled the authentication attempt.
Pierre Ossman [Tue, 6 Aug 2024 12:55:37 +0000 (14:55 +0200)]
Improve x0vncserver key allocation log line
Follow the standard XK_ prefix, and also include the hex value for
easier debugging.
Pierre Ossman [Tue, 6 Aug 2024 12:53:30 +0000 (14:53 +0200)]
Avoid XKeysymToString() conflict with libX11
We implement our own version of this, and because of this we carry our
lookup table generated by the same tool that libX11 uses. Unfortunately,
that table is a global symbol and as such there might be a mismatch of
which table should be used.
Make sure we get our own copy by changing the name of it. We use a
define rather than modifying ks_tables.h as that file is automatically
generated.
Pierre Ossman [Tue, 6 Aug 2024 12:17:40 +0000 (14:17 +0200)]
Merge branch 'fix-unknown-keysym' of https://github.com/gujjwal00/tigervnc
Pierre Ossman [Tue, 6 Aug 2024 11:22:30 +0000 (13:22 +0200)]
Merge branch 'min' of https://github.com/KangLin/tigervnc
Pierre Ossman [Mon, 29 Jul 2024 14:16:08 +0000 (16:16 +0200)]
Add missing comma in default security type list
Otherwise it merges with the next entry, removing both of them from the
default list.
Carlos Santos [Thu, 25 Jul 2024 21:39:59 +0000 (18:39 -0300)]
vncsession: use /bin/sh if the user shell is not set
An empty shell field in the password file is valid, although not common.
Use /bin/sh in this case, as documented in the passwd(5) man page, since
the vncserver script requires a non-empty SHELL environment variable.
Fixes issue #1786.
Signed-off-by: Carlos Santos <casantos@redhat.com>
Kang Lin [Thu, 25 Jul 2024 03:32:48 +0000 (11:32 +0800)]
Use std::min replace min
Pierre Ossman [Wed, 24 Jul 2024 11:47:58 +0000 (13:47 +0200)]
Merge branch 'h264-fix-context-reset' of https://github.com/any1/tigervnc
Pierre Ossman [Tue, 23 Jul 2024 14:06:14 +0000 (16:06 +0200)]
Generate better (fake) modelines
This is what Xwayland does, so let's try to do the same to avoid any
incompatibilites with applications.
Andri Yngvason [Mon, 22 Jul 2024 22:34:12 +0000 (22:34 +0000)]
H264Decoder: Fix context reset
This fixes a regression introduced by
12b3f4021641537b90727b23d42de5dff59006cd .
Pierre Ossman [Fri, 19 Jul 2024 15:37:04 +0000 (17:37 +0200)]
Fix overflow; "Timer: gettimeofday is broken"
The rounding misbehaved when the tv_usec calculation overflows.
Fixes issue #1782.
Pierre Ossman [Fri, 5 Jul 2024 12:05:45 +0000 (14:05 +0200)]
Be more careful with ComparingUpdateTracker pointer
As of
28c3f12 , we might now be running the frame clock even without a
framebuffer present. This means we need to be more careful accessing the
ComparingUpdateTracker, as it might be NULL.
Pierre Ossman [Fri, 5 Jul 2024 11:48:14 +0000 (13:48 +0200)]
Round up expiration time for timers
Otherwise we won't properly guarantee that we'll wait *at least* as long
as the specified time.
Pierre Ossman [Fri, 5 Jul 2024 11:24:52 +0000 (13:24 +0200)]
Fix x0vncserver handling of timers
Bug fix for
bf28683 .
Gaurav Ujjwal [Mon, 8 Apr 2024 11:18:11 +0000 (16:48 +0530)]
Improve unknown keysym handling
Instead of giving up after all free keycodes have been used, Keycodes from previously added keysyms will be reused.
Re: #93
Marián Haburaj [Tue, 25 Jun 2024 09:04:00 +0000 (11:04 +0200)]
Update Slovak translation
Pierre Ossman [Mon, 24 Jun 2024 12:35:43 +0000 (14:35 +0200)]
Merge branch 'c++11' of github.com:CendioOssman/tigervnc
Pierre Ossman [Sat, 20 Apr 2024 08:53:18 +0000 (10:53 +0200)]
Enforce not shadowing variables
Shadowing variable can easily lead to bugs, so let's enforce that this
is not allowed.
Pierre Ossman [Sun, 21 Apr 2024 00:18:22 +0000 (02:18 +0200)]
Avoid shadowing variables
It's a source of confusion and possibly bugs to reuse the same variable
name for multiple things.
Pierre Ossman [Sun, 21 Apr 2024 00:23:46 +0000 (02:23 +0200)]
Use "static" for helper functions
These functions act only on the input parameters, so let's make them
static to more clearly indicate that they do not act upon any object.
Pierre Ossman [Sun, 21 Apr 2024 00:22:38 +0000 (02:22 +0200)]
Simplify RandR output name handling
Store the name in a std::string to make things less complex as we don't
need to be as careful about making sure the data is free():d.
Pierre Ossman [Sun, 21 Apr 2024 00:20:32 +0000 (02:20 +0200)]
Avoid redundant arguments
Remove redundant arguments where the method already has access to the
relevant variable as an object attribute.
Pierre Ossman [Wed, 3 Apr 2024 20:05:49 +0000 (22:05 +0200)]
Simplify code using range-based for loops
These are often more readable as they avoid a lot of the boilerplate of
iterating over fixed arrays or STL containers.
Note that this change is very conservative to avoid noise in "git
blame". Only loops where this is a clear improvement have been
converted.
Pierre Ossman [Fri, 19 Apr 2024 21:48:37 +0000 (23:48 +0200)]
Remove careful client iteratation
Clients cannot remove themselves from the list as we are iterating, so
we don't need this complexity. If a client encounters a problem, it will
only mark it self as closed and will be removed from the list at a later
time.
Pierre Ossman [Fri, 19 Apr 2024 21:39:47 +0000 (23:39 +0200)]
Prefer std::find() over manual search
Let's avoid reimplementing something basic that's available in the
standard library. It also makes the code easier to read.
Pierre Ossman [Wed, 3 Apr 2024 16:49:24 +0000 (18:49 +0200)]
Remove unnecessary headers from Security.cxx
Pierre Ossman [Wed, 3 Apr 2024 16:44:33 +0000 (18:44 +0200)]
Enforce using "override"
Make sure developers don't miss marking methods correctly.
Pierre Ossman [Wed, 3 Apr 2024 15:26:03 +0000 (17:26 +0200)]
Mark overridden virtual functions
Use the new "override" keyword to properly differentiate between new
virtual methods, and existing virtual methods being overridden.
Pierre Ossman [Wed, 3 Apr 2024 10:42:43 +0000 (12:42 +0200)]
Enforce using nullptr for C++ code
The compiler can help out in making sure we are consistent in our use of
nullptr rather than NULL.
Pierre Ossman [Wed, 3 Apr 2024 10:38:04 +0000 (12:38 +0200)]
Disable gcc NULL warning for context menu
We use the pointer to just store an identifier for the menu, but this is
enough for gcc to think we are using 0 instead of nullptr and complain.
Even an explicit cast isn't enough to silence it here for some reason.
Pierre Ossman [Tue, 2 Apr 2024 14:13:23 +0000 (16:13 +0200)]
Use nullptr in all C++ code
It's more readable than 0, and a bit safer than NULL, so let's try to
follow modern norms.
Pierre Ossman [Tue, 2 Apr 2024 14:06:10 +0000 (16:06 +0200)]
Make sure we use C++ 11
It's rare we use a compiler that has anything older as a default, but it
does happen sometimes. So make sure to guarantee this so we can start
using more modern constructs.
Pierre Ossman [Sun, 21 Apr 2024 00:21:42 +0000 (02:21 +0200)]
Fix Windows installer dependencies
Make sure the dependencies point to the correct files, even if an out of
tree build is used.
Luna Jernberg [Sun, 23 Jun 2024 06:49:00 +0000 (08:49 +0200)]
Update Swedish translation
Lauri Nurmi [Sat, 22 Jun 2024 18:10:00 +0000 (21:10 +0300)]
Update Finnish translation
Petr Pisar [Fri, 21 Jun 2024 18:34:00 +0000 (20:34 +0200)]
Update Czech translation
Andika Triwidada [Fri, 21 Jun 2024 04:05:00 +0000 (11:05 +0700)]
Update Indonesian translation
Alexander Shopov [Fri, 21 Jun 2024 08:55:00 +0000 (10:55 +0200)]
Update Bulgarian translation
Luna Jernberg [Fri, 21 Jun 2024 08:03:00 +0000 (10:03 +0200)]
Update Swedish translation
Yaron Shahrabani [Fri, 21 Jun 2024 07:14:00 +0000 (10:14 +0300)]
Update Hebrew translation
Remus-Gabriel Chelu [Thu, 20 Jun 2024 23:03:00 +0000 (01:03 +0200)]
Update Romanian translation
Cristian Othón Martínez Vera [Thu, 20 Jun 2024 20:49:00 +0000 (14:49 -0600)]
Update Spanish translation