]>
source.dussan.org Git - tigervnc.git/log
Pierre Ossman [Mon, 18 May 2020 17:42:13 +0000 (19:42 +0200)]
Separate query and authentication handling
Otherwise we might send duplicate result codes and other weird things.
Pierre Ossman [Sat, 16 May 2020 10:26:08 +0000 (12:26 +0200)]
Check buffer usage with a simply boolean
External callers don't need to know the exact details, only if there is
data that needs to be flushed or not.
Pierre Ossman [Sat, 16 May 2020 10:14:43 +0000 (12:14 +0200)]
Dynamically allocate stream buffers
This allows us to handle peaks in input and output streams gracefully
without having to block processing.
Pierre Ossman [Sat, 16 May 2020 09:32:26 +0000 (11:32 +0200)]
Don't shuffle input buffer unless actually needed
Pierre Ossman [Fri, 15 May 2020 20:49:47 +0000 (22:49 +0200)]
Generalise corking to all output streams
The principle can be used in a more general fashion than just TCP
streams.
Pierre Ossman [Tue, 19 May 2020 17:49:41 +0000 (19:49 +0200)]
Remove unused bufSize argument from streams
Pierre Ossman [Tue, 19 May 2020 19:24:58 +0000 (21:24 +0200)]
Remove special functions from JPEG compressor
We can do what we want with the standard methods.
Pierre Ossman [Tue, 19 May 2020 19:07:05 +0000 (21:07 +0200)]
Simplify stream availability handling
Just have a simply number of bytes argument to avoid a lot of
complexity.
Pierre Ossman [Fri, 15 May 2020 18:20:53 +0000 (20:20 +0200)]
Create common base classes for buffered streams
Most streams are backed by a memory buffer. Create common base classes
for this functionality to avoid code duplication.
Pierre Ossman [Tue, 19 May 2020 18:45:22 +0000 (20:45 +0200)]
Add stream avail() methods
Makes it more readable to write code that needs to know how much
data/space is available in a stream.
Pierre Ossman [Fri, 15 May 2020 21:33:02 +0000 (23:33 +0200)]
Remove OutStream::skip()
It might leak data depending on what's in the buffer. Use pad() instead
where blank space is needed.
Pierre Ossman [Fri, 15 May 2020 17:23:56 +0000 (19:23 +0200)]
Remove unused stream methods
They were accidentally left unused in
fbad8a9 so they haven't been used
in some time.
Pierre Ossman [Tue, 19 May 2020 17:41:19 +0000 (19:41 +0200)]
Throw more descriptive error on decode error
We need to be able to tell this exception came from a decoder.
Pierre Ossman [Mon, 18 May 2020 17:41:40 +0000 (19:41 +0200)]
Use proper constants for socket shutdown()
For readability.
Pierre Ossman [Mon, 18 May 2020 17:40:49 +0000 (19:40 +0200)]
Flush data on close
There might be some final handshake data that is still stuck in the
buffers, so make a best effort attempt at getting it to the client.
Pierre Ossman [Fri, 23 Nov 2018 17:03:31 +0000 (18:03 +0100)]
Fix connection close log
The socket is closed at this point so we have to rely on a cached
value for the logging.
Pierre Ossman [Mon, 18 May 2020 16:57:26 +0000 (18:57 +0200)]
Move auth failure delay to SConnection
It's a generic feature that is better handled as part of SConnection's
state machine.
Pierre Ossman [Mon, 18 May 2020 16:53:43 +0000 (18:53 +0200)]
Support calling methods from timers
We can't safely use the normal timers in base classes as we cannot
guarantee that subclasses will call the base class' handleTimeout()
properly if the subclass overrides it.
Stéphane Aulery [Thu, 7 May 2020 16:11:00 +0000 (18:11 +0200)]
Update French translation
Lukas Vrabec [Wed, 6 May 2020 08:55:29 +0000 (10:55 +0200)]
[SELinux] Allow vnc_session_t type execute itself
vncsession-start is running in SELinux vnc_session_t domain because of
"SELinuxContext=system_u:system_r:vnc_session_t:s0" option in systemd
vncserver@.service unit file. vncsession-start executing binary
vncsession with SELinux label/type vnc_session_t. This access was not
allowed in vncsession policy.
Pierre Ossman [Mon, 20 Apr 2020 06:55:13 +0000 (08:55 +0200)]
Handle empty changes for every operation
It seems like many of the X11 operations can end up with no pixels
actually changing. So instead of discovering and adding workarounds for
each individually we'll just check very region added if it's empty.
Мирослав Николић [Thu, 2 Apr 2020 17:21:00 +0000 (19:21 +0200)]
Update Serbian translation
Pierre Ossman [Thu, 2 Apr 2020 10:50:37 +0000 (12:50 +0200)]
Update Ubuntu patches for current code
Pierre Ossman [Thu, 2 Apr 2020 10:49:54 +0000 (12:49 +0200)]
Update apt cache before running builds
Otherwise it might fail if the repositories have changed since the image
was generated.
Pierre Ossman [Thu, 2 Apr 2020 09:18:00 +0000 (11:18 +0200)]
Remove legacy Xorg code
We now require at least 1.16, so remove all code that handled older
versions than that.
Pierre Ossman [Thu, 2 Apr 2020 09:04:07 +0000 (11:04 +0200)]
Remove 8-bit support from documentation
We removed support in the code ages ago, but overlooked this part of the
documentation. Also remove some dead code in Xvnc on the same theme.
Pierre Ossman [Thu, 2 Apr 2020 08:56:51 +0000 (10:56 +0200)]
Merge branch 'systemd' of https://github.com/CendioOssman/tigervnc
Pierre Ossman [Thu, 26 Mar 2020 08:39:36 +0000 (09:39 +0100)]
Do maximize more properly on macOS
Pierre Ossman [Tue, 17 Mar 2020 12:54:16 +0000 (13:54 +0100)]
Don't resize viewer window when maximized
Most window managers won't like this, and it tends to provoke bugs in
FLTK, so let's avoid it. It's probably not what the user wants anyway.
Pierre Ossman [Thu, 26 Mar 2020 07:50:17 +0000 (08:50 +0100)]
Include error code in getaddrinfo() exceptions
Pierre Ossman [Thu, 26 Mar 2020 07:50:04 +0000 (08:50 +0100)]
Avoid using insecure variable length arrays
Pierre Ossman [Tue, 17 Mar 2020 15:15:39 +0000 (16:15 +0100)]
Merge branch 'unicode_translation' of https://github.com/CendioAlex/tigervnc
Alex Tanskanen [Tue, 10 Mar 2020 12:33:01 +0000 (13:33 +0100)]
Throw GAIException() for getaddrinfo errors
Created a new subclass of Exception called GAIException() that will
handle error messages from getaddrinfo() instead of letting Exception()
handle it. GAIException() will make use of gai_strerror() to map the
error code to text. On Windows, gai_strerrorW() must be used if the text
is encoded with UTF-8.
Alex Tanskanen [Thu, 5 Mar 2020 08:35:35 +0000 (09:35 +0100)]
Fix typo in SocketException message
Alex Tanskanen [Wed, 4 Mar 2020 09:27:02 +0000 (10:27 +0100)]
Make system error messeges in Windows 10 use UTF-8
The previous error messages did not support Unicode characters. This
commit will use UTF-8 encoding to be able to display error messages in
every language.
Pierre Ossman [Sat, 1 Feb 2020 10:28:08 +0000 (11:28 +0100)]
Remove support for old Xorg versions
No current distribution ship anything this ancient anyway.
Pierre Ossman [Fri, 1 Feb 2019 12:24:20 +0000 (13:24 +0100)]
Use standard install dir variable names
This makes our builds directly compatible with most distributions
without packagers/users having to specify extra flags.
Pierre Ossman [Thu, 19 Jul 2018 14:04:23 +0000 (16:04 +0200)]
Add SELinux policy file for vncsession
Running as a service on a SELinux system requires rules so we can
transition to our own context. We also need the proper permissions
to start new user sessions.
Pierre Ossman [Mon, 16 Jul 2018 13:58:06 +0000 (15:58 +0200)]
Start sessions via PAM
This sets up a more correct session as there are key tasks that
need to be performed by PAM. E.g. systemd will allocate cgroups
and start base services.
In order to easily handle this as a system service the mapping of
displays is now done via a configuration file.
Pierre Ossman [Mon, 16 Jul 2018 13:57:40 +0000 (15:57 +0200)]
Fix C linking when doing static builds
Pierre Ossman [Wed, 11 Jul 2018 13:49:46 +0000 (15:49 +0200)]
Make PAM mandatory
It is present on all UNIX systems anyway, so let's simplify things.
We will need it for more proper session startup anyway.
Pierre Ossman [Wed, 11 Mar 2020 15:48:25 +0000 (16:48 +0100)]
Stop searching for Xvnc
Assume we are part of a complete and proper installation and encode the
full expected path in to the vncserver script.
Pierre Ossman [Tue, 31 Jul 2018 14:06:17 +0000 (16:06 +0200)]
Start the sessions using xinit
It keeps much better track of the X server and startup files than
we can do.
Pierre Ossman [Wed, 23 Jan 2019 14:29:41 +0000 (15:29 +0100)]
Make vncserver always run in the foreground
We need to be started as a system service for things to work correctly
anyway, so delegate the work of starting and stopping things to the
system service manager (e.g. systemd).
Pierre Ossman [Fri, 27 Jul 2018 19:39:01 +0000 (21:39 +0200)]
Start sessions using session desktop file
This is how display managers (e.g. gdm or lightdm) start sessions
and is necessary to get the proper set of environment variables.
Pierre Ossman [Fri, 11 Jan 2019 16:08:41 +0000 (17:08 +0100)]
Don't create a default user config
We don't want to create files in the users home directory unless we
have to. Users can read about how this file works in our man pages.
Pierre Ossman [Wed, 23 Jan 2019 13:31:26 +0000 (14:31 +0100)]
Don't accept arbitrary arguments to vncserver
We now have config files for more fine grained control of these
things, so avoid duplicating the functionality.
Pierre Ossman [Fri, 27 Jul 2018 12:40:17 +0000 (14:40 +0200)]
Stop unsetting environment variables
These might contain values we want if we are start from a proper
environment.
Pierre Ossman [Fri, 22 Dec 2017 09:35:29 +0000 (10:35 +0100)]
Always install systemd services
It is the most common init system these days so it should not be
hidden in the contrib/ directory.
This also removes all old SysV files from the contrib packages.
Pierre Ossman [Wed, 23 Jan 2019 13:09:35 +0000 (14:09 +0100)]
Add default configuration files
Install some example files to make things more easily discoverable.
Pierre Ossman [Sat, 1 Feb 2020 10:12:27 +0000 (11:12 +0100)]
Remove old distribution packaging
These are EOL (or soon to be) and we want to start relying on things
present in current distributions.
Pierre Ossman [Thu, 27 Feb 2020 12:50:38 +0000 (13:50 +0100)]
Merge branch 'xorg-server-1.20.7' of https://github.com/lheckemann/tigervnc
Pierre Ossman [Thu, 27 Feb 2020 12:35:41 +0000 (13:35 +0100)]
Fix error check for zlib calls
There are multiple "okay" return values, not just Z_OK. Make sure we
don't bail out needlessly.
Pierre Ossman [Thu, 27 Feb 2020 11:43:47 +0000 (12:43 +0100)]
Fix framebuffer setup in encperf
We adapted to the wrong new callback in a previous commit.
Pierre Ossman [Thu, 27 Feb 2020 11:43:05 +0000 (12:43 +0100)]
Provide dummy output for dummy client connections
The CConnection base class wants to be able to write things these days,
so we need to provide it a place to do so.
Samuel Mannehed [Fri, 14 Feb 2020 12:28:06 +0000 (13:28 +0100)]
Merge pull request #958 from sequencer/env_userpass
Read username and passwrod from env.
Jiuyang liu [Mon, 10 Feb 2020 20:50:00 +0000 (20:50 +0000)]
bug fix for user is NULL
Jiuyang liu [Mon, 10 Feb 2020 20:46:10 +0000 (20:46 +0000)]
add man
Jiuyang liu [Thu, 6 Feb 2020 14:48:25 +0000 (14:48 +0000)]
implement username/password from env.
Linus Heckemann [Sat, 1 Feb 2020 10:08:26 +0000 (11:08 +0100)]
xserver: add no-op input thread init function
This allows Xvnc to build with xorg-server 1.20.7, which requires OS
layers to implement a ddxInputThreadInit function when configured with
--enable-input-thread (the default).
relevant xorg-server commit:
e3f26605d85d987da434640f52646d728f1fe919
Pierre Ossman [Thu, 30 Jan 2020 13:23:24 +0000 (14:23 +0100)]
Include Carbon when statically linking gettext on macOS
As gettext needs some stuff from Carbon and we don't want to rely on it
being pulled in as a side effect.
Pierre Ossman [Thu, 16 Jan 2020 13:26:48 +0000 (14:26 +0100)]
Update copyright year to 2020
Pierre Ossman [Thu, 16 Jan 2020 13:18:50 +0000 (14:18 +0100)]
Merge branch 'emulateMB' of https://github.com/CendioAlex/tigervnc
Pierre Ossman [Thu, 16 Jan 2020 13:18:08 +0000 (14:18 +0100)]
Use sys/time.h on Windows as well
Modern MinGW seems to provide this, so simplify things a bit. This also
side steps some of the issue of the windows.h/winsock2.h include
ordering.
Alex Tanskanen [Mon, 13 Jan 2020 14:23:20 +0000 (15:23 +0100)]
Add emulated middle mouse button
Not every mouse has three buttons e.g. laptops. Some OS might not
have support for middle mouse button emulation.
This commit adds emulation for middle mouse button when pressing both
left and right mouse button simultaneously.
Alex Tanskanen [Thu, 9 Jan 2020 15:17:06 +0000 (16:17 +0100)]
Remove "Dismiss menu" from context menu
This was not necessary since you could use ESC key or simply just
clicking outside of the context menu to close the menu.
Pierre Ossman [Fri, 3 Jan 2020 12:46:54 +0000 (13:46 +0100)]
Allow XK_Scroll_Lock when LED state isn't supported
Otherwise such clients cannot use Scroll Lock at all, and that is
probably worse than any effects we might get from getting out of sync.
Pierre Ossman [Fri, 3 Jan 2020 12:10:20 +0000 (13:10 +0100)]
Clean up initialization of DIBSectionBuffer
We had an unintentional conflict with PixelBuffer::setSize() here.
But we can simplify this further as this initialization is only used
by the subclass DeviceFrameBuffer, and only once.
Pierre Ossman [Mon, 30 Dec 2019 09:50:52 +0000 (10:50 +0100)]
Provide correct dimensions for XShm setup
Since
53f913a we initialize the underlying PixelBuffer with 0x0
dimensions, which means we need to keep more explicit track of what
we are trying to allocate in the setup methods.
Pierre Ossman [Mon, 30 Dec 2019 09:26:12 +0000 (10:26 +0100)]
Remove unneeded memory checks
new throws an exception on allocation errors rather than return NULL.
Pierre Ossman [Mon, 30 Dec 2019 09:24:11 +0000 (10:24 +0100)]
Fix saving of bad server certificates
This check is completely backwards and it is currently unknown how
this ever worked.
Brian P. Hinz [Sat, 28 Dec 2019 21:18:35 +0000 (16:18 -0500)]
el6 build improvements. dependency updates, link order fixes
Felipe Castro [Wed, 25 Dec 2019 15:34:00 +0000 (12:34 -0300)]
Update Esperanto translation
Pierre Ossman [Mon, 23 Dec 2019 15:26:40 +0000 (16:26 +0100)]
Set initial blank cursor
If the server doesn't support local cursors and want to render them
itself then we need to make sure the local cursor is invisible.
This also makes sure we always have some cursor allocated, so we can
remove the checks in some places.
Brian P. Hinz [Sun, 22 Dec 2019 19:17:16 +0000 (14:17 -0500)]
Update source URLs in el6 spec file
Brian P. Hinz [Sun, 22 Dec 2019 19:02:47 +0000 (14:02 -0500)]
Remove hard coded source URLs from travis-ci build script
Brian P. Hinz [Sat, 21 Dec 2019 23:15:19 +0000 (18:15 -0500)]
Allow non-interactive installs for bionic (travis-ci)
Brian P. Hinz [Sat, 21 Dec 2019 22:59:08 +0000 (17:59 -0500)]
Add ubuntu-bionic to travis-ci builds
Brian P. Hinz [Sat, 21 Dec 2019 22:48:28 +0000 (17:48 -0500)]
Make sure travis-ci builds java viewer with latest openjdk 8
Brian P. Hinz [Sat, 21 Dec 2019 21:51:33 +0000 (16:51 -0500)]
Mostly stylistic changes to java viewer to match recent changes to native viewer
Brian P. Hinz [Sat, 21 Dec 2019 17:04:32 +0000 (12:04 -0500)]
Fix travis-ci build scripts broken by
c59f195
Samuel Mannehed [Fri, 20 Dec 2019 15:13:17 +0000 (16:13 +0100)]
Fix maximum compress lvl in parameter list
Commit
4e61f8dbc51f83b1d71319b763fbd4d916d13e98 fixed the GUI but forgot
to change the other places in the code.
Samuel Mannehed [Fri, 20 Dec 2019 15:06:48 +0000 (16:06 +0100)]
Use the correct minimum value for compression lvl
There was even some confusion in the RFB protocol regarding this, but
the zlib implementation confirms that accepted values for compression
level is 0-9.
Samuel Mannehed [Fri, 20 Dec 2019 14:25:53 +0000 (15:25 +0100)]
Use the correct maximum value for compression lvl
The GUI incorrectly noted the max level to be 6 while it in fact is 9.
Samuel Mannehed [Fri, 20 Dec 2019 14:24:23 +0000 (15:24 +0100)]
Remove confusing note about compression level
Even if this note is true it just adds confusion.
Samuel Mannehed [Fri, 20 Dec 2019 13:47:04 +0000 (14:47 +0100)]
Simplify color level descriptions
The number of colors used isn't something the end-users should have to
concern themselves with. I intentionally left the information in the
man-pages.
Pierre Ossman [Fri, 20 Dec 2019 06:39:06 +0000 (07:39 +0100)]
Merge branch 'secfix' of https://github.com/CendioOssman/tigervnc
Brian P. Hinz [Mon, 16 Dec 2019 00:39:03 +0000 (19:39 -0500)]
Remove support for ubuntu trusty since it's been EoL for 6 months
Pierre Ossman [Mon, 9 Dec 2019 15:58:07 +0000 (16:58 +0100)]
Check the correct stream if there is more data pending
The input stream might no longer be the raw socket, so we need to
query what's currently active. That wrapping stream might have its
own buffering and may have more data even if the socket is drained.
Pierre Ossman [Mon, 9 Dec 2019 15:57:04 +0000 (16:57 +0100)]
Handle pending data in TLS buffers
There might be more bytes left in the current TLS record, even if
there is nothing on the underlying stream. Make sure we properly
return this when we aren't being requested to block.
Pierre Ossman [Mon, 9 Dec 2019 14:24:15 +0000 (15:24 +0100)]
Correctly calculate rects with no CopyRect support
The copied rects have already been merged in to the changed rects
at this point if the client doesn't support the CopyRect encoding.
Pierre Ossman [Mon, 9 Dec 2019 12:54:17 +0000 (13:54 +0100)]
Don't background the main session command
When used with -fg we expect the startup script to remain running until
the session is over. This will not happen if the session command is put
in the background using &.
Pierre Ossman [Mon, 9 Dec 2019 12:33:48 +0000 (13:33 +0100)]
Fix link order of nettle and hogweed
Hogweed needs nettle, not the other way around. So make sure they
are specified in the correct order for the static link to succeed.
Balázs Úr [Sat, 23 Nov 2019 22:25:00 +0000 (23:25 +0100)]
Update Hungarian translation
JiYoon Kwon [Sat, 23 Nov 2019 03:41:00 +0000 (12:41 +0900)]
Add Korean translation
Brian P. Hinz [Sun, 1 Dec 2019 01:51:39 +0000 (20:51 -0500)]
Use openjdk-8 to build java viewer for bionic
Brian P. Hinz [Sat, 30 Nov 2019 20:30:26 +0000 (15:30 -0500)]
Update build deps for Ubuntu Bionic packages
Brian P. Hinz [Thu, 28 Nov 2019 19:22:33 +0000 (14:22 -0500)]
Add support for VMwareCursor pseudo encoding to Java client
Brian P. Hinz [Fri, 22 Nov 2019 03:35:40 +0000 (22:35 -0500)]
Remove old Java applet support
Brian P. Hinz [Fri, 22 Nov 2019 01:00:49 +0000 (20:00 -0500)]
RFB refactoring to sync with native client