Jan Grulich
9b96266830
Utilize system-wide crypto policies
2 years ago
Pierre Ossman
ed079a4049
Remove vfb references from symbol names
Xvnc was originally based on Xvfb, but it's just confusing to keep the
names. So change all prefix to "vnc" instead to clearly mark things as
part of TigerVNC.
2 years ago
Pierre Ossman
ad76ff3c46
Remove zaphod mode from Xvnc
It isn't really useful as it behaves just like starting multiple
servers, so remove it in favour of keeping things simple.
2 years ago
Pierre Ossman
30eed8c080
Remove undocumented -linebias argument
This is a development flag with no real use, so remove it to clean up
the code.
2 years ago
Pierre Ossman
2dd5ce00a4
Clean up Xvnc screen struct
Remove stuff we don't use, and get it more in sync with Xvfb for easier
comparison.
2 years ago
Pierre Ossman
bbaf7b4193
Remove unused headers
2 years ago
Pierre Ossman
427fe2ecfd
Remove obsolete AIX hack
2 years ago
Pierre Ossman
acee988155
Remove obsolete comment about backing store
This was removed years ago.
2 years ago
Pierre Ossman
a52d8757df
Remove CloseScreen() wrapper
The memory leak this worked around was fixed in X.org 1.16.
2 years ago
Pierre Ossman
c11f8f9930
Do all RandR init in vncRandRInit()
Keep everything in one place to make it easier to read.
This also removes the call to RRInit() as that is done implicitly
anyway.
2 years ago
Pierre Ossman
d5cddf4b04
Use central SetRootClip()
There's been a common one since X.org 1.11, so use that instead of our
own copy.
2 years ago
Pierre Ossman
c4397676a1
Remove Darwin code from Xvnc
We don't build for that platform anyway, so this is just a remnant from
Xvfb.
2 years ago
Pierre Ossman
0480267070
Handle X.org patch level features
With the 1.20.x releases there has been features and API changes even on
patch level versions, so we need to update our macros to handle these as
well.
2 years ago
Pierre Ossman
b738b54049
Remove shared memory framebuffer option
This is a pointless remnant of Xvfb. We never print the id of the shared
memory, so no other application can access this memory anyway.
2 years ago
Pierre Ossman
e6a532ae9d
Remove more color map code from Xvnc
This hasn't been supported or used in many years, so clean out the final
remnants.
2 years ago
Pierre Ossman
828ff0e662
Remove DDXTIME code
This hasn't been used since xorg-server 1.1 so get rid of it.
2 years ago
Pierre Ossman
0d255914de
Call FatalError() on bad Xvnc arguments
This is consistent with other ddx behaviour.
2 years ago
Pierre Ossman
53ff8a2eec
Use CHECK_FOR_REQUIRED_ARGUMENTS() for arg check
This is what all the other ddx variants use, so do the same in Xvnc to
be consistent.
2 years ago
Pierre Ossman
43bfc0971f
Apply Xorg coding style to xvnc.c
Makes it easier to compare with upstream files as the formatting will be
the same.
2 years ago
Pierre Ossman
952bfab6e1
Remove #ifdef RENDER
RENDER has been mandatory since xorg-server 1.9, so remove these
checks.
2 years ago
Pierre Ossman
12c0f326e1
Move ddxInputThreadInit() to xvnc.c
This should only be in the ddx parts of an X server, and Input.c is used
by libvnc.so as well and can cause conflicts there.
2 years ago
Pierre Ossman
86a564a706
Correctly handle screen layout with offset
We miscalculated the screen layout if the geometry had an offset as we
adjusted the real screen layout to account for the offset, but compared
it to the unadjusted geometry.
3 years ago
Pierre Ossman
a29fe72102
Avoid some variable aliasing
3 years ago
Pierre Ossman
775d432ec7
Use <user>@<hostname> as the default desktop name
Is a lot more useful default than the previous "x11", or "x0vncserver".
At the same time give x0vncserver a parameter to change the name.
3 years ago
Pierre Ossman
17aee63066
Don't list clipboard parameters for x0vncserver
Better to just hide these parameters rather than stating that they are
unused in the man page.
3 years ago
Pierre Ossman
ef2dfd7c5f
Refer to HOWTO.md from config comments
Give people a chance to know about the documentation.
3 years ago
Pierre Ossman
04f19667cd
Include "session" in examples instead of "desktop"
It's almost mandatory to specify "session", but fairly rare to need to
set "desktop", so let's tweak the examples to avoid confusion and
mistakes.
3 years ago
Jan Grulich
dbf76d2ee8
Let user know that a view-only password is not used
3 years ago
Zdenek Pytela
47d56c959d
Add vnc_home_t type
The new vnc_home_t type for HOME/.vnc directory was added to the policy,
backed by a name transition. The vnc_session_t domain can manage files
and directories of this type.
3 years ago
Zdenek Pytela
3c8622691a
Allow vnc_session_t manage nfs dirs and files conditionally
The permissions set to manage directories and files with the nfs_t type
is allowed when the use_nfs_home_dirs boolean is turned on.
Resolves: https://github.com/TigerVNC/tigervnc/issues/1189
3 years ago
Zdenek Pytela
23cf514ac2
selinux: further style and comprehensibility improvements
Sections and rules blocks reordered according to the Style guide.
https://github.com/TresysTechnology/refpolicy/wiki/StyleGuide
3 years ago
Vit Mojzis
386542e6d5
selinux: Fix issues reported by SELint
Style guide [1] issues only. No impact on policy functionality.
[1] - https://github.com/TresysTechnology/refpolicy/wiki/StyleGuide
3 years ago
Jan Grulich
6125695b80
SELinux: Add missing compression and install policy to correct directory
3 years ago
Pierre Ossman
a8357a5305
Avoid absolute path for vncserver.users
Build flags control where this file ends up, so avoid assuming a
specific path in the HOWTO.
3 years ago
Pierre Ossman
1e55cffb74
Reflow HOWTO.md to 72 columns
The line width was very inconsitent in this file, so standardise on the
common 72 characters.
3 years ago
Pierre Ossman
0946e29807
Maintain static screen DPI on resize
Trying to dynamically track the DPI did not really work as we'd
start accumulating errors and eventually the DPI would start to
drift. Instead maintain a fixed, sensible DPI at all times.
5 years ago
Pierre Ossman
cd2a882e53
Fix logging in daemonized tl-session
stderr has been redirected to /dev/null so all logging needs to go to
syslog.
3 years ago
lhchavez
cb8629a213
Add support for notifying clients about pointer movements
This change adds support for the VMware Mouse Position
pseudo-encoding[1], which is used to notify VNC clients when X11 clients
call `XWarpPointer()`[2]. This function is called by SDL (and other
similar libraries) when they detect that the server does not support
native relative motion, like some RFB clients.
With this, RFB clients can choose to adjust the local cursor position
under certain circumstances to match what the server has set. For
instance, if pointer lock has been enabled on the client's machine and
the cursor is not being drawn locally, the local position of the cursor
is irrelevant, so the RFB client can use what the server sends as the
canonical absolute position of the cursor. This ultimately enables the
possibility of games (especially FPS games) to behave how users expect
(if the clients implement the corresponding change).
Part of: #619
1: https://github.com/rfbproto/rfbproto/blob/master/rfbproto.rst#vmware-cursor-position-pseudo-encoding
2: https://tronche.com/gui/x/xlib/input/XWarpPointer.html
3: https://hg.libsdl.org/SDL/file/28e3b60e2131/src/events/SDL_mouse.c#l804
3 years ago
Jan Grulich
5e07d538a0
Add documentation to the new systemd support
3 years ago
Pierre Ossman
18cc324543
Drop other selection on ownership change
Otherwise we might end up owners of something we cannot deliver data on,
which can hang applications.
3 years ago
Jocelyn Le Sage
701605e424
Added the ability to listen on both Unix socket and TCP port.
Setting `rfbport` to `-1` disables TCP port listening.
3 years ago
Pierre Ossman
6bc7ae91ff
Update copyright year to 2021
3 years ago
Pierre Ossman
d43c1b3cc1
Change to user's home directory before starting session
This is what display managers do, so it is expected by many
environments.
3 years ago
Pierre Ossman
fd52f3c538
Fix incorrect daemonization by vncsession
We terminated the child instead of the parent after fork().
Reported by Jan Grulich from Red Hat.
3 years ago
Pierre Ossman
0d22c7bd36
Update keycode maps to latest version
Mainly fixes for Japanese and Korean keyboard layouts.
3 years ago
Pierre Ossman
c6f5f8b0b9
Fix installation of vncsession.man
It is now dynamically generated, so it will be in the build directory
and not in the source directory.
3 years ago
Jan Grulich
40f104ffe1
Use /run instead of /var/run which is just a symlink
3 years ago
Koichiro IWAO
67b60e645c
Replace some more hard-coded /etc with sysconfdir
3 years ago
Pierre Ossman
38c6848b30
Tolerate specifying -BoolParam 0 and similar
This is needed by vncserver which doesn't know which parameters are
boolean, and it cannot use the -Param=Value form as that isn't tolerated
by the Xorg code.
3 years ago
Koichiro IWAO
02da591c56
Do not assume sysconfdir is always /etc
Refer @CMAKE_INSTALL_FULL_SYSCONF@ instead.
3 years ago