qotdd(8) reads configuration options from /etc/qotd.conf, or some other file specified by the -c argument. This file contains lines of keyword-arguments pairs, which describe how the daemon is to behave. Empty lines or those starting with `#' are ignored and treated as comments. Optionally, you can surround your arguments with single or double quotes in order to represent arguments containing spaces. However you cannot specify escape sequences inside the quotes.
The supported keywords and their possible meanings are as follows. Keywords and their arguments are case-insensitive, except for filenames. Some options take a boolean, meaning you can write either `yes', `true', or `1' to enable an option, or `no', `false', or `0' to disable it.
Which transport protocol to use. This setting is either `udp' or `tcp'. By default TCP is used.
Which IP protocol to use. This setting is either `ipv4', `ipv6', or `both'. The default behavior is to listen on both IPv4 and IPv6.
Specifies an alternate port to listen on. The default value is `17', which is the port specified by RFC 865.
When this option is enabled, the daemon will perform checks on the permissions of files, and will refuse to start if the files are writeable by those other than the calling user. This argument is almost equivlent to the --lax argument, but obviously does not apply to configuration file, since it must be read before this option can be extracted. The default option is `yes'.
Takes a boolean. If this option is set, then once a connection is established, the program will drop privileges and run itself as the daemon user. However, if PidFile is set, the daemon will check the permissions on the directory of the containing directory. If the program will lack the permissions to delete the pid file, the daemon will quit. The default option is `yes'.
Specifies what pid file is to be used by the daemon. If this value is `none' or `/dev/null', then no pid file is written. The default is /run/qotd.pid, but if there is no /run directory, then /var/run/qotd.pid will be used instead.
If the daemon is unable to write to the pid file for any reason and this option is set, then the daemon will quit. Otherwise, the attempt to produce a pid file will be treated as an warning. This setting is ignored if PidFile is set to `none'. This option is a boolean, and the default argument is `yes'.
This option specifies what file the daemon uses to log status messages. If this file is set to `-', then the program's standard output is used, and if the value is set to `none' or `/dev/null', then the journal output is suppressed. The default behavior is to use standard output as the journal.
The source of the quotations to be displayed to the user. Note that any null bytes (`\0') found in the quotes file will be read as spaces instead. The default is to use the pre-installed quotes located at /usr/share/qotd/quotes.txt.
How quotes in the quotes file are separated. There are currently three possible options: `line', `percent', or `file'. If the value is `line', then each non-empty line is treated as a quotation to be possibly transmitted. If `percent' is set, then the program is instructed to separate each quote with a line that has only a percent sign (`%') on it. More specifically, the program looks for a sequence of newline, percent sign, and newline, and separates the string there. This is the same format that is used by fortune(6). If `file' is used, then the whole file is treated as one quote. The default argument is `line'.
Whether to place whitespace around the quotes to make them look nicer. When this is disabled, the daemon will only transmit the quotation itself. This option is a boolean, and the default argument is `yes'.
Whether to choose a random quote every day, or for every visit. If this option is set, then the same randomly-chosen quotation will be provided for all visits on the same day. Otherwise, each visit will yield a different quotation. This option is a boolean, and the default argument is `yes'.
RFC 865 specifies that quotes should be no bigger than 512 bytes. If this option is set, then this limit is ignored. Otherwise, quotes are automatically truncated to meet the byte limit. The default behavior is to disable this option.
Ammon Smith (email@example.com)