]> source.dussan.org Git - tigervnc.git/commit
Support both defaults and mandatory system config files 341/head
authorJeff Blaine <jblaine@kickflop.net>
Sat, 6 Aug 2016 20:22:18 +0000 (16:22 -0400)
committerJeff Blaine <jblaine@kickflop.net>
Sun, 21 Aug 2016 22:00:04 +0000 (18:00 -0400)
commit8a9abc1cf6810e141b0509f7e0b7a5daeb82bafc
tree928eb88cfca691f219a094bf4e704b8783222ad2
parent044e2b87da7121ef6cbd59e88b101d7d8e282896
Support both defaults and mandatory system config files

This commit introduces support for optional basic system-wide
configuration of vncserver.

The format and syntax of /etc/tigervnc/vncserver* match
that of $HOME/.vnc/config exactly.

Allows /etc/tigervnc/vncserver-config-defaults as well as
/etc/tigervnc/vncserver-config-mandatory. The former is optional
and sets user-overrideable vncserver settings. The latter is
optional, but if it exists takes precedence over all user
$HOME/.vnc/config settings of the same setting name. In the
case where /etc/tigervnc/vncserver-config-mandatory overrides
a setting in $HOME/.vnc/config, the user will be warned that
it has happened.

WARNING: Settings in /etc/tigervnc/vncserver-config-mandatory
are easily subverted by passing args to vncserver on the CLI.
The man page indicates this warning.

This commit also introduces (should have been separate) examination
of all config file settings (not just @ARGV!) when determining
whether or not $HOME/.vnc/passwd needs to be created. That is,
if /etc/tigervnc/vncserver* or $HOME/.vnc/config indicate that
we are NOT using VNC-native authentication, then we don't need
a $HOME/.vnc/passwd created.

Code cleanup:

$xstartup was renamed $xstartupFile for consistency with other
"file" variable names.

For VNC-auth checking, to determine if $HOME/.vnc/passwd needed
creation, the 3-string check against lc($arg2) was in 2 places
and was changed to a simple grep against the new @vncAuthStrings
unix/vncserver
unix/vncserver.man