summaryrefslogtreecommitdiff
path: root/man/challenger.conf.5
blob: 44a65180bdcef8c911ac1fab323a64ddda25cc0b (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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
.\" Man page generated from reStructuredText.
.
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "CHALLENGER.CONF" "5" "May 18, 2023" "0.9" "GNU Taler"
.SH NAME
challenger.conf \- Challenger configuration file
.SH DESCRIPTION
.sp
The configuration file is line\-oriented.
Blank lines and whitespace at the beginning and end of a line are ignored.
Comments start with \fB#\fP or \fB%\fP in the first column
(after any beginning\-of\-line whitespace) and go to the end of the line.
.sp
The file is split into sections.
Every section begins with “[SECTIONNAME]” and
contains a number of options of the form “OPTION=VALUE”.
There may be whitespace around the \fB=\fP (equal sign).
Section names and options are \fIcase\-insensitive\fP\&.
.sp
The values, however, are \fIcase\-sensitive\fP\&.
In particular, boolean values are one of \fBYES\fP or \fBNO\fP\&.
Values can include whitespace by surrounding
the entire value with \fB"\fP (double quote).
Note, however, that there are no escape characters in such strings;
all characters between the double quotes (including other double quotes)
are taken verbatim.
.sp
Values that represent filenames can begin with a \fB/bin/sh\fP\-like
variable reference.
This can be simple, such as \fB$TMPDIR/foo\fP, or complex,
such as \fB${TMPDIR:\-${TMP:\-/tmp}}/foo\fP\&.
See \fB[PATHS]\fP (below).
.sp
Values that represent a time duration are represented as a series
of one or more \fBNUMBER UNIT\fP pairs, e.g. \fB60 s\fP, \fB4 weeks 1 day\fP,
\fB5 years 2 minutes\fP\&.
.sp
Values that represent an amount are in the usual amount syntax:
\fBCURRENCY:VALUE.FRACTION\fP, e.g. \fBEUR:1.50\fP\&.
The \fBFRACTION\fP portion may extend up to 8 places.
.sp
The “[PATHS]” section is special in that it contains paths that can be
referenced using “$” in other configuration values that specify
\fIfilenames\fP\&. Note that configuration options that are not specifically
retrieved by the application as \fIfilenames\fP will not see “$”\-expressions
expanded. To expand “$”\-expressions when using \fBtaler\-config\fP, you must pass
the \fB\-f\fP command\-line option.
.sp
The system automatically pre\-populates the “[PATHS]” section with a few values
at run\-time in addition to the values that are in the actual configuration
file.  These automatically generated values refer to installation properties
from \fI\%GNU autoconf\fP\&. The
values are usually dependent on an \fBINSTALL_PREFIX\fP which is determined by
the \fB\-\-prefix\fP option given to configure.  The canonical values are:
.INDENT 0.0
.INDENT 3.5
.INDENT 0.0
.IP \(bu 2
LIBEXECDIR = $INSTALL_PREFIX/taler/libexec/
.IP \(bu 2
DOCDIR = $INSTALL_PREFIX/share/doc/taler/
.IP \(bu 2
ICONDIR = $INSTALL_PREFIX/share/icons/
.IP \(bu 2
LOCALEDIR = $INSTALL_PREFIX/share/locale/
.IP \(bu 2
PREFIX = $INSTALL_PREFIX/
.IP \(bu 2
BINDIR = $INSTALL_PREFIX/bin/
.IP \(bu 2
LIBDIR = $INSTALL_PREFIX/lib/taler/
.IP \(bu 2
DATADIR = $INSTALL_PREFIX/share/taler/
.UNINDENT
.UNINDENT
.UNINDENT
.sp
Note that on some platforms, the given paths may differ depending
on how the system was compiled or installed, the above are just the
canonical locations of the various resources.
.sp
Files containing default values for many of the options described below
are installed under \fB$PREFIX/share/challenger/config.d/\fP\&.
The configuration file given with \fB\-c\fP to Challenger binaries
overrides these defaults.
.sp
A configuration file may include another, by using the \fB@INLINE@\fP directive,
for example, in \fBmain.conf\fP, you could write \fB@INLINE@ sub.conf\fP to
include the entirety of \fBsub.conf\fP at that point in \fBmain.conf\fP\&.
.sp
Be extra careful when using \fBchallenger\-config \-V VALUE\fP to change configuration
values: it will destroy all uses of \fB@INLINE@\fP and furthermore remove all
comments from the configuration file!
.SS GLOBAL OPTIONS
.sp
The following options are from the “[challenger]” section.
This is normally the only section in a challenger.conf file.
.INDENT 0.0
.TP
.B SERVE
This can either be \fBtcp\fP or \fBunix\fP\&.
.TP
.B PORT
Port on which the HTTP server listens, e.g.\ 9967.
Only used if \fBSERVE\fP is \fBtcp\fP\&.
.TP
.B BIND_TO
Which IP address should we bind to?  E.g. \fB127.0.0.1\fP or \fB::1\fP
for loopback.  Can also be given as a hostname.  We will bind to
the wildcard (dual\-stack) if left empty.
Only used if \fBSERVE\fP is \fBtcp\fP\&.
.TP
.B UNIXPATH
Which unix domain path should we bind to?
Only used if \fBSERVE\fP is \fBunix\fP\&.
.TP
.B UNIXPATH_MODE = 660
What should be the file access permissions for \fBUNIXPATH\fP?
Only used if \fBSERVE\fP is \fBunix\fP\&.
.TP
.B DB
Plugin to use for the database, e.g.\ “postgres”.
.TP
.B VALIDATION_DURATION
How long is a validation challenge valid. After this time period, a fresh random challenge code will be generated and the retry limit counter (against guessing attacks) will be reset (to 3).
.TP
.B VALIDATION_EXPIRATION
How long is a validation allowed to take (time from
\fB/setup\fP to \fB/token\fP). After this time, the garbage collection process can delete all associated data. (Note that tokens will always allow access to 1h after they have been issued, regardless of when the validation expires).
.TP
.B AUTH_COMMAND
Which command should we execute to transmit the challenge code to the address. The address is given as the first argument, while the message to send is provided on stdin. Templates (possibly without the necessary credentials) for such commands are provided as challenger\-send\-email.sh, challenger\-send\-post.sh and challenger\-send\-sms.sh.
.TP
.B ADDRESS_TYPE
Type of the address that is being collected, returned as part of the \fBaddress_type\fP in the \fB/info\fP endpoint. Examples include \fBemail\fP or \fBphone\fP\&.
.UNINDENT
.SH SEE ALSO
.sp
challenger\-dbinit(1), challenger\-httpd(1), challenger\-config(1).
.SH BUGS
.sp
Report bugs by using \fI\%https://bugs.taler.net/\fP or by sending electronic
mail to <\fI\%taler@gnu.org\fP>.
.SH AUTHOR
GNU Taler contributors
.SH COPYRIGHT
2014-2022 Taler Systems SA (GPLv3+ or GFDL 1.3+)
.\" Generated by docutils manpage writer.
.