summaryrefslogtreecommitdiff
path: root/manifests/xdmcpserver.pp
blob: 2206b426d8f4eacf77d0af178bf39567ce1d8c5e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# @summary XDMCP Server configuration
#
# The authentication key is a 56 bit DES key specified in hex as 0xnnnnnnnnnnnnnn.  Alternatively
# it can be a word and the first 7 characters are used as the key.
#
# @param enabled
#   True if XDMCP connections should be allowed
# @param port
#   UDP/IP port to listen for connections on
# @param listen_address
#   Host/address to listen for XDMCP connections (use all addresses if not present)
# @param key
#   Authentication key to use for XDM-AUTHENTICATION-1 or blank to not
#   use authentication (stored in keys.conf)
# @param hostname
#   Hostname to report to XDMCP clients (defaults to system hostname if unset)
class lightdm::xdmcpserver (
  Boolean $enabled = true,
  # getent services xdmcp
  Stdlib::Port $port = 177,
  Optional[String] $listen_address = undef,
  Optional[String] $key = undef,
  Optional[String] $hostname = undef,
) {
  $conf = {
    'enabled'        => $enabled,
    'port'           => $port,
    'listen-address' => $listen_address,
    'key'            => $key,
    'hostname'       => $hostname,
  }

  concat::fragment { 'lightdm - config - xdmcpserver':
    target  => $lightdm::config::filename,
    order   => $lightdm::conf::seat_fragment_min + 1,
    content => {
      sections => { 'XDMCPServer' => $conf },
    },
  }
}