Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
61 | magnus | 1 | .\" -*- nroff -*- |
2 | .Dd 17 August 2008 |
||
3 | .Os "The Prayer Webmail Interface" |
||
4 | .ds volume-operating-system |
||
5 | .Dt PRAYER.CF 5 |
||
6 | .Sh NAME |
||
7 | .Nm prayer.cf |
||
8 | .Nd main Prayer configuration file |
||
9 | . |
||
10 | .Sh DESCRIPTION |
||
11 | . |
||
12 | .Pa prayer.cf |
||
13 | is the configuration file of |
||
14 | .Xr prayer 8 |
||
15 | and |
||
16 | .Xr prayer-session 8 . |
||
17 | . |
||
18 | .Sh SYNTAX |
||
19 | For the most part, prayer.cf consists of |
||
20 | .Ar option No = Ar value |
||
21 | pairs, but some configuration items are more complex. All values may |
||
22 | be enclosed in double quotes, which are stripped. Quotes must be used |
||
23 | if a value contains a |
||
24 | .Ql # |
||
25 | character. Otherwise, everything following it is treated as a comment. |
||
26 | Any line can be folded using a |
||
27 | .Ql \(rs |
||
28 | character at the end of the line; any linear white space at the beginning |
||
29 | of the next line is removed. |
||
30 | .Pp |
||
31 | Simple options can be of the following types: |
||
32 | .Bl -tag |
||
33 | . |
||
34 | .It Vt string |
||
35 | No particular restrictions. |
||
36 | .It Vt path |
||
37 | A file or directory name. The configuration parser expands occurences of a few macros |
||
38 | in settings of this type. See |
||
39 | .Cd prefix |
||
40 | .No and Cd var_prefix |
||
41 | below. |
||
42 | .It Vt boolean |
||
43 | The following forms are interpreted as |
||
44 | .Sy true : |
||
45 | .Ql true , |
||
46 | .Ql t , |
||
47 | and |
||
48 | .Ql 1 . |
||
49 | The following forms are interpreted as |
||
50 | .Sy false : |
||
51 | .Ql false , |
||
52 | .Ql nil , |
||
53 | .Ql 0 . |
||
54 | Capitalisation does not matter. |
||
55 | . |
||
56 | .It Vt number |
||
57 | An integer number (sequence of digits 0-9), optionally immediately followed by a single letter |
||
58 | .Ql K , |
||
59 | causing the number to be multiplied by 1024, or |
||
60 | .Ql M |
||
61 | multiplying it by 1024 \(pc 1024. |
||
62 | . |
||
63 | .It Vt time |
||
64 | An integer number (sequence of digits 0-9) of seconds, optionally immediately |
||
65 | followed by a single case-insignificant letter |
||
66 | .Ql s , |
||
67 | which has no effect, |
||
68 | .Ql m , |
||
69 | causing the number to be multiplied by 60, |
||
70 | .Ql h , |
||
71 | multiplying it by 60 \(pc 60, or |
||
72 | .Ql d , |
||
73 | for a multiple of 24 \(pc 60 \(pc 60. |
||
74 | .It Vt perm |
||
75 | A file permission mode; an octal number of exactly four digits, where the first digit must be 0. |
||
76 | .El |
||
77 | . |
||
78 | .Sh OPTIONS |
||
79 | . |
||
80 | .Bl -tag -width Ds |
||
81 | . |
||
82 | .It Cd prefix Vt ( string ) , Cd var_prefix Vt ( string ) |
||
83 | The values of these options can be referred to as |
||
84 | .Li $prefix |
||
85 | (or |
||
86 | .Li ${prefix} ) , |
||
87 | and |
||
88 | .Li $var_prefix |
||
89 | (or |
||
90 | .Li ${var_prefix} ) , |
||
91 | respectively, in settings of type |
||
92 | .Vt path |
||
93 | in the rest of the file. |
||
94 | .Pp |
||
95 | .Sy Default : No none. Need to be set only if referenced later. |
||
96 | . |
||
97 | .It Cd prayer_user Vt ( string ) , Cd prayer_uid Vt ( number ) |
||
98 | User name or ID to |
||
99 | .Xr setuid 2 |
||
100 | to if started as root. Either, but not both, must be set and must not specify |
||
101 | .Li uid 0 . |
||
102 | .Sy Default : |
||
103 | none. |
||
104 | . |
||
105 | .It Cd prayer_group Vt ( string ) , Cd prayer_gid Vt ( number ) |
||
106 | Group name or ID to |
||
107 | .Xr setgid 2 |
||
108 | to if we start off as root. In addition, prayer calls |
||
109 | .Xr initgroups 3 |
||
110 | if |
||
111 | .Cd prayer_user |
||
112 | is set. |
||
113 | .Sy Default : |
||
114 | none. |
||
115 | . |
||
116 | .It Cd prayer_background Vt ( boolean ) |
||
117 | Run prayer as background process. If true, prayer will return as soon |
||
118 | as valid configuration is found. |
||
119 | .Sy Default : Li true |
||
120 | . |
||
121 | .It Cd file_perms Vt ( perm ) |
||
122 | Create mode for new files. |
||
123 | .Sy Default : Li 0640 No if Cd prayer_uid No or Cd prayer_user No is set, otherwise Li 0644 . |
||
124 | . |
||
125 | .It Cd directory_perms Vt ( perm ) |
||
126 | Create mode for new directories. |
||
127 | .Sy Default : Li 0750 No if Cd prayer_uid No or Cd prayer_user No is set, otherwise Li 0755 . |
||
128 | . |
||
129 | .It Cd check_directory_perms Vt ( boolean ) |
||
130 | Check existing directories under |
||
131 | .Li ${var_prefix} ? |
||
132 | .El |
||
133 | . |
||
134 | .Ss Mail server settings |
||
135 | . |
||
136 | .Bl -tag -width Ds |
||
137 | .It Cd imapd_server Vt ( string ) |
||
138 | Specifies the default IMAP server(s) using libc-client syntax: |
||
139 | .Bd -literal -offset indent |
||
140 | .Sm Ar host Oo : Ar port Oc Op / Ar flag Oo / Ar flag Oc Ar ... |
||
141 | .Sm on |
||
142 | .Ed |
||
143 | .Pp |
||
144 | Multiple server specifications can be listed, separated by commas. Common flags are: |
||
145 | .Bl -tag -compact |
||
146 | .It Li /ssl |
||
147 | Use SSL-on-connect (on port 993 by default). |
||
148 | .It Li /tls |
||
149 | Force use of TLS (using STARTTLS on the normal IMAP port) to encrypt the |
||
150 | session. Recommended if the server is remote, since otherwise a |
||
151 | downgrade attack is possible. |
||
152 | .It Li /notls |
||
153 | Don't issue STARTTLS even if the server supports it. Recommended if |
||
154 | the server is |
||
155 | .Li localhost . |
||
156 | .It Li /novalidate-cert |
||
157 | Don't check the integrity of the server certificate. |
||
158 | .El |
||
159 | For the full list of flags, see naming.txt.gz in the current |
||
160 | libc-client package. |
||
161 | . |
||
162 | .It Cd imapd_user_map Vt ( path ) |
||
163 | CDB lookup map overriding default imapd_server location. For information on CDB, see |
||
164 | .Bl -bullet -compact |
||
165 | .It |
||
166 | http://cr.yp.to/cdb.html |
||
167 | .It |
||
168 | http://en.wikipedia.org/wiki/Constant_Data_Base |
||
169 | .El |
||
170 | . |
||
171 | .It Cd prefs_folder_name Vt ( string ) |
||
172 | Name of Prayer user preferences folder on IMAP server. |
||
173 | . |
||
174 | .It Cd use_namespace ( Vt boolean ) |
||
175 | Use IMAP NAMESPACE command to find |
||
176 | .Cd personal_hierarchy No and Cd hiersep . |
||
177 | .Sy Default : Li true . |
||
178 | . |
||
179 | .It Cd personal_hierarchy ( Vt string ) |
||
180 | If not supplied by NAMESPACE. |
||
181 | .Sy Default : Li """""" . |
||
182 | . |
||
183 | .It Cd hiersep ( Vt string ) |
||
184 | If not supplied by NAMESPACE. |
||
185 | .Sy Default : Li """/""" . |
||
186 | . |
||
187 | .It Cd dualuse ( Vt boolean ) |
||
188 | Hint to Prayer that new mailboxes are dual use (i.e. can contain both |
||
189 | mail and inferior mailboxes). Things will mostly work if dualuse set to |
||
190 | .Li false No on a server which supports it, but people will be |
||
191 | unable to create children of newly created mailboxes without |
||
192 | refreshing the view. |
||
193 | .Pp |
||
194 | .Sy Default : Li false . |
||
195 | . |
||
196 | .It Cd sieved_server Vt ( string ) |
||
197 | Talk to Cyrus timsieved using MANAGESIEVE protocol. Syntax is similar to |
||
198 | .Cd imapd_server , |
||
199 | except the only recognised flag is |
||
200 | .Li /ssl . |
||
201 | . |
||
202 | .It Cd sieved_user_map Vt ( path ) |
||
203 | Can be used to provide individualised imapd_server settings in the form of a CDB file. |
||
204 | . |
||
205 | .It Cd sieved_timeout Vt ( time ) |
||
206 | Default timsieved timeout is 10 minutes |
||
207 | .El |
||
208 | . |
||
209 | .Ss Mail domain configuration |
||
210 | . |
||
211 | .Bl -tag -width Ds |
||
212 | . |
||
213 | .It Cd local_domain |
||
214 | Define a valid local domain, and optionally the valid local parts in that domain. |
||
215 | This is a special directive that can appear multiple times and does not use an equals sign: |
||
216 | .Bd -unfilled |
||
217 | .Cd local_domain Ar domain Op Ar map |
||
218 | .Ed |
||
219 | .Pp |
||
220 | .No Without Ar map , Cd local_domain |
||
221 | simply defines a domain which will appear on the list visible to user |
||
222 | preferences. With |
||
223 | .Ar map , |
||
224 | it also defines a list a CDB map file which defines valid entries in |
||
225 | that domain; used for personal name expansion and checking for valid |
||
226 | addresses: The keys are the valid local parts and the values are the |
||
227 | corresponding full names of the users. |
||
228 | .Pp |
||
229 | .Sy Default : No A single entry which corresponds to |
||
230 | .Cd default_domain . |
||
231 | . |
||
232 | .It Cd return_path_domain Vt ( string ) |
||
233 | Domain used in the return address given to |
||
234 | .Xr sendmail 8 . |
||
235 | .Sy Default : No the default domain. |
||
236 | . |
||
237 | .It Cd filter_domain_pattern Vt ( string ) |
||
238 | A filter pattern which is equivalent to, or at least approximates the |
||
239 | list of local domains. |
||
240 | .Sy Default : No the default domain. |
||
241 | . |
||
242 | .It Cd hostname Vt ( string ) |
||
243 | Hostname is the canonical name for this particular system, used in |
||
244 | session and icon URLs which are generated by Prayer. This is derived |
||
245 | automatically using |
||
246 | .Xr gethostname 2 |
||
247 | .No and Xr gethostbyname 3 |
||
248 | if no value is provided. However, there are situations, especially |
||
249 | involving SSL certificates, where the default hostname may not be |
||
250 | appropriate. The special value |
||
251 | .Ql __UNDEFINED__ |
||
252 | here means the startup script or command line must provide a hostname |
||
253 | using a |
||
254 | .Fl -config-option |
||
255 | override or via the environment variable |
||
256 | .Ev PRAYER_HOSTNAME . |
||
257 | This is just a safeguard for systems which use DNS round robining to |
||
258 | distribute load across a number of machines. |
||
259 | . |
||
260 | .It Cd hostname_service Vt ( string ) |
||
261 | Host name common for all Prayer installations part of the same webmail |
||
262 | service. (Only) useful for large installations using DNS round robin |
||
263 | for load balancing (example: webmail.hermes.cam.ac.uk is an alias for |
||
264 | webmail[123].hermes.cam.ac.uk). This setting is used for two things: |
||
265 | The user is redirected to this hostname after logging out, and HTTP |
||
266 | requests are sanity checked against it in addition to the canonical |
||
267 | hostname. |
||
268 | .Pp |
||
269 | .Sy Default : No none |
||
270 | . |
||
271 | .It Cd fix_from_address ( Vt boolean ) |
||
272 | suppresses the From address option from the Preferences and Roles |
||
273 | screens. |
||
274 | .Sy Default : Li false . |
||
275 | . |
||
276 | .It Cd lookup_rpasswd ( Vt path ) |
||
277 | Path to a CDB file that maps arbitrary search keys to colon- or |
||
278 | comma-separated lists of user names. |
||
279 | .Sy Note : No Keys must be Em lowercase ; |
||
280 | Prayer converts search strings to lowercase in order to provide |
||
281 | case-insensitive lookup. |
||
282 | . |
||
283 | .It Cd lookup_rusername ( Vt path ) |
||
284 | Path to a second CDB file that maps arbitrary search keys to colon- or |
||
285 | comma-separated lists of user names. |
||
286 | .Pp |
||
287 | If the user enters a valid and existing username according to |
||
288 | .Xr getpwnam 3 , Prayer does not search these first two CDB files, |
||
289 | but skips directly to the second stage of looking up user information. |
||
290 | . |
||
291 | .It Cd lookup_username ( Vt path ) |
||
292 | Path to a CDB file that maps usernames to records consisting of the user's |
||
293 | .Dq registered name |
||
294 | and his/her affiliation (department), separated by a vertical bar |
||
295 | .Ql ( "|" ) . |
||
296 | Additionally, if a second vertical bar follows, the account is |
||
297 | regarded as cancelled. |
||
298 | .Pp |
||
299 | When presenting the search results, the usernames found are combined with the |
||
300 | .Cd default_domain |
||
301 | to form email addresses. It is not possible at this time to let users |
||
302 | search for addresses in more than one domain using this facility. |
||
303 | . |
||
304 | .It Cd lookup_fullname ( Vt path ) |
||
305 | Path to a CDB file that maps usernames to |
||
306 | .Dq display names , |
||
307 | possibly provided by the users themselves in some way. The display name |
||
308 | of a user is used together with the email address in recipient fields |
||
309 | .Pp |
||
310 | Note that all four lookup options must be set to valid CDB files for |
||
311 | the local lookup to work, but more than one option may conceivably |
||
312 | point to the same file. |
||
313 | . |
||
314 | .It Cd ldap_server ( Vt string ) |
||
315 | Name or address of LDAP server. |
||
316 | . |
||
317 | .It Cd ldap_base_dn ( Vt string ) |
||
318 | Base DN to search. After binding anonymously, Prayer performs a |
||
319 | one-level-scope search for entries with |
||
320 | .Li surname No or Li mail No attributes containing the search string. |
||
321 | The following attributes are fetched and presented: |
||
322 | .Bl -bullet -compact |
||
323 | .It |
||
324 | .Li uid |
||
325 | .It |
||
326 | .Li displayName |
||
327 | .It |
||
328 | .Li cn Dq ( registered name ) |
||
329 | .It |
||
330 | .Li ou Dq ( affiliation ) |
||
331 | .It |
||
332 | .Li mail |
||
333 | .It |
||
334 | .Li telephoneNumber |
||
335 | .El |
||
336 | . |
||
337 | .It Cd ldap_timeout ( Vt time ) |
||
338 | Search timeout. |
||
339 | .Sy Default : Li 30s . |
||
340 | .El |
||
341 | . |
||
342 | .Ss HTTP and other frontend settings |
||
343 | . |
||
344 | .Bl -tag -width Ds |
||
345 | . |
||
346 | .It Cd use_http_port , use_https_port |
||
347 | Define a single HTTP[S] port to bind to. You can define an arbitary list |
||
348 | of ports of both kinds by using a series of separate |
||
349 | .Cd use_http_port No and Cd use_https_port |
||
350 | directives, with one port on each line. Syntax: |
||
351 | .Bd -literal -offset indent |
||
352 | .Cd use_http_port Oo Ar interface : Oc Ns Ar port |
||
353 | .Cd use_https_port Oo Ar interface : Oc Ns Ar port |
||
354 | .Ed |
||
355 | .Pp |
||
356 | .Ar interface |
||
357 | can be an IP (v4 or v6) address or a hostname. If provided, it is passed to |
||
358 | .Xr getaddrinfo 3 |
||
359 | for resolution, and the first resulting address is used to bind to. Otherwise, |
||
360 | .Xr prayer 8 |
||
361 | .No binds to Ar port No on all interfaces. |
||
362 | . |
||
363 | .It Cd ssl_default_port Vt ( number ) |
||
364 | Prayer will put a warning on the login page for HTTP connections if |
||
365 | both HTTP and HTTPS sessions are available. This will provide a link |
||
366 | to the SSL version of the service, defaulting to port 443 or failing |
||
367 | that the first defined HTTPS port. ssl_default_port overrides the |
||
368 | built in logic. |
||
369 | .Pp |
||
370 | Should be rarely required now that Prayer automatically derives an |
||
371 | appropriate port if none is provided here. |
||
372 | . |
||
373 | .It Cd ssl_cert_file Vt ( path ) |
||
374 | Locatation of SSL certificate file (only used if SSL ports defined). |
||
375 | Required if we are going to provide SSL services. |
||
376 | . |
||
377 | .It Cd ssl_privatekey_file Vt ( path ) |
||
378 | Location of SSL private key file (only used if SSL ports defined). |
||
379 | Required if we are going to provide SSL services. |
||
380 | . |
||
381 | .It Cd ssl_rsakey_lifespan Vt ( time ) |
||
382 | Master server will regenerate shared RSA key at this interval. |
||
383 | .Sy Default : Li 15m . |
||
384 | . |
||
385 | .It Cd ssl_rsakey_freshen Vt ( time ) |
||
386 | RSA key remains fresh in child process for this long after first actual use. |
||
387 | .Sy Default : Li 15m . |
||
388 | . |
||
389 | .It Cd ssl_session_timeout Vt ( time ) |
||
390 | SSL session cache TTL. |
||
391 | .Sy Default : Li 0 No (SSL session cache not used). |
||
392 | .Xr prayer-ssl-prune 8 should be run periodically to purge any stale session |
||
393 | data from the DBD database. |
||
394 | . |
||
395 | .It Cd egd_socket Vt ( path ) |
||
396 | Path to entropy gathering daemon socket. If provided, it will be used in place of |
||
397 | or in addition to |
||
398 | .Pa /dev/urandom |
||
399 | . |
||
400 | .It Cd contact_email Vt ( string ) |
||
401 | System administrator email address. |
||
402 | .Sy This setting is currently not used. |
||
403 | If you want to display support information to your users, customise the templates. |
||
404 | . |
||
405 | .It Cd fatal_dump_core Vt ( boolean ) |
||
406 | Dump core on |
||
407 | .Fn fatal |
||
408 | error. |
||
409 | .Sy Default : No false. |
||
410 | . |
||
411 | .It Cd log_debug Vt ( boolean ) |
||
412 | Enable somewhat more verbose logging, mainly in relation to SSL. |
||
413 | .Sy Default : No false. |
||
414 | . |
||
415 | .It Cd fix_client_ipaddr Vt ( boolean ) |
||
416 | Client must connect from consistent IP addresses. May be useful as |
||
417 | a security measure in LAN environments. Painful for dialup users |
||
418 | whose connections may drop out. |
||
419 | .Sy Default : No false. |
||
420 | . |
||
421 | .It Cd gzip_allow_nets Vt ( string ) , Cd gzip_deny_nets Vt ( string ) |
||
422 | .Xr prayer-session 8 |
||
423 | gzip-compresses pages sent to clients if: |
||
424 | .Bl -enum -compact |
||
425 | .It |
||
426 | gzip compression enabled at compile time, |
||
427 | .It |
||
428 | .Cd use_gzip No is set in user preferences, |
||
429 | .It |
||
430 | User agent is known to support Content-Encoding: gzip, |
||
431 | .It |
||
432 | User agent asks for Content-Encoding: gzip or x-gzip, |
||
433 | .It |
||
434 | IP address of client appears in |
||
435 | .Cd gzip_allow_nets |
||
436 | .Em or No IP address of client does Em not No appear in Cd gzip_deny_nets . |
||
437 | .El |
||
438 | .Pp |
||
439 | The format of these options is a sequence of |
||
440 | .Ar ipaddr Ns Op / Ns Ar masklen |
||
441 | items, separated by colons |
||
442 | .Em and No whitespace (to allow for IPv6 addresses to be parsed easily). If |
||
443 | .Ar masklen No is omitted, the item is interpreted as a full host address. |
||
444 | . |
||
445 | .It Cd log_name_nets Vt ( string ) |
||
446 | A network list in the same format as |
||
447 | .Cd gzip_allow_nets |
||
448 | above. To avoid delay when a user logs in, |
||
449 | .Xr prayer-session 8 |
||
450 | only performs a reverse lookup of the remote address if matches this list. |
||
451 | .Sy Default : No empty; no reverse lookup are performed. |
||
452 | . |
||
453 | .It Cd limit_vm Vt ( number ) |
||
454 | Virtual memory limit imposed on each process to stop runaway process killing system. See |
||
455 | .Xr setrlimit 2 . |
||
456 | .Sy Default : No no limit. |
||
457 | . |
||
458 | .It Cd http_max_method_size Vt ( number ) |
||
459 | Prayer should in theory be able to cope with input of arbitrary |
||
460 | size. In practice however, the incoming request has to be stored |
||
461 | somewhere and without limits an attacker may exhaust available memory, |
||
462 | causing a denial of service attack. |
||
463 | .Pp |
||
464 | This sets the maximum size of the initial line of an HTTP request. |
||
465 | .Sy Default : No no limit. |
||
466 | . |
||
467 | .It Cd http_max_hdr_size Vt ( number ) |
||
468 | Maximum for headers associated with this request. |
||
469 | . |
||
470 | .It Cd http_max_body_size Vt ( number ) |
||
471 | Maximum for HTTP payload. This is the most significant one in normal use. |
||
472 | . |
||
473 | .It Cd draft_att_single_max ( Vt number ) |
||
474 | Maximum size of a single attachment when composing a mail. |
||
475 | .Sy Default : Li 0 No (unlimited). |
||
476 | . |
||
477 | .It Cd draft_att_total_max ( Vt number ) |
||
478 | Maximum size of all attachments. |
||
479 | .Sy Default : Li 0 No (unlimited). |
||
480 | . |
||
481 | .It Cd http_min_servers Vt ( number ) |
||
482 | Minimum number of preforked |
||
483 | .Xr prayer 8 HTTP servers. The master process forks new slave processes |
||
484 | whenever the number of idle slaves falls below this number, unless the |
||
485 | total number of slaves would exceed |
||
486 | .Cd http_max_servers . |
||
487 | .Sy Default : Li 4. |
||
488 | . |
||
489 | .It Cd http_max_servers Vt ( number ) |
||
490 | Maximum number of preforked |
||
491 | .Xr prayer 8 HTTP servers (active and idle). The master process does not, |
||
492 | however, enforce any maximum number of |
||
493 | .Em idle No slave processes; they have to terminate voluntarily by timing out |
||
494 | or serving the maximum number of connections. |
||
495 | .Sy Default : Li 64 . |
||
496 | . |
||
497 | .It Cd http_max_connections Vt ( number ) |
||
498 | Maximum number of connections that each frontend server will process. |
||
499 | .Sy Default : Li 0 No (no limit). |
||
500 | . |
||
501 | .It Cd http_timeout_idle Vt ( time ) |
||
502 | Timeout for (dirty) spare server waiting for another HTTP connection. |
||
503 | .Sy Default : Li 30s . |
||
504 | . |
||
505 | .It Cd http_timeout_icons Vt ( time ) |
||
506 | Timeout for HTTP connection that last served static content. |
||
507 | .Sy Default : Li 10s . |
||
508 | . |
||
509 | .It Cd http_timeout_session Vt ( time ) |
||
510 | Timeout for HTTP connection that last served a session URL or has not served anything yet. |
||
511 | .Sy Default : Li 60s . |
||
512 | . |
||
513 | .It Cd http_cookie_use_port Vt ( boolean ) |
||
514 | Present HTTP cookies to browser as |
||
515 | .Dq Li username:port=value |
||
516 | rather than |
||
517 | .Dq Li username=value . |
||
518 | Allows simultaneous login sessions from a single client browser. |
||
519 | However can leave a trail of cookies behind. Probably don't want this |
||
520 | in the long term, it's here for experimentation purposes only at the |
||
521 | moment. |
||
522 | . |
||
523 | .It Cd icon_expire_timeout Vt ( time ) |
||
524 | The amount of time in the future to set the HTTP |
||
525 | .Li Expires: No field for static content. |
||
526 | .Sy Default : Li 7d . |
||
527 | (In contrast sessions URLs expire immediately: Browsers really |
||
528 | shouldn't be trying to cache this stuff, especially when it is coming |
||
529 | in over HTTPS). |
||
530 | .El |
||
531 | . |
||
532 | .Ss Session specific configuration |
||
533 | . |
||
534 | .Bl -tag -width Ds |
||
535 | . |
||
536 | .It Cd session_idle_time Vt ( time ) |
||
537 | Session switches to idle mode after this much time: connections to |
||
538 | IMAP and accountd servers are shut down. |
||
539 | .Sy Default : Li 0 No (idle mode disabled). |
||
540 | . |
||
541 | .It Cd session_timeout Vt ( time ) |
||
542 | Session terminates after this much idle time. |
||
543 | .Ql 0 |
||
544 | means session never times out. |
||
545 | .Sy Default : Li 4h . |
||
546 | . |
||
547 | .It Cd session_timeout_compose Vt ( time ) |
||
548 | Session terminates after this much idle time instead when the last command was |
||
549 | .Ql compose |
||
550 | .No or Ql sieve . |
||
551 | It should probably not be set lower than |
||
552 | .Cd session_timeout . |
||
553 | .Sy Default : Li 0 No (always use the same timeout). |
||
554 | . |
||
555 | .It Cd stream_ping_interval Vt ( time ) |
||
556 | Ping INBOX, Other, and Draft streams at this interval. |
||
557 | .Sy Default : Li 5m . |
||
558 | . |
||
559 | .It Cd stream_checkpoint Vt ( boolean ) |
||
560 | .No Use Li CHECKPOINT No instead of Li PING Li to \(lqping\(rq streams. |
||
561 | .Sy Default : Li true . |
||
562 | . |
||
563 | .It Cd stream_misc_timeout Vt ( time ) |
||
564 | Shut down Postponed, Preferences and Transfer streams entirely |
||
565 | after this much idle time, but only if idle mode doesn't beat us to it. |
||
566 | .Sy Default : Li 0 No (disabled). |
||
567 | . |
||
568 | .It Cd log_ping_interval Vt ( time ) |
||
569 | .Xr stat 2 log files at this interval to see if target file has been |
||
570 | renamed or removed. |
||
571 | .Ql 0s |
||
572 | means stat() log file every time something is logged. |
||
573 | .Sy Default : Li 5m . |
||
574 | . |
||
575 | .It Cd db_ping_interval Vt ( time ) |
||
576 | Interval at which to re-read CDB files containing the local domain. |
||
577 | .Sy Default : Li 30m . |
||
578 | .El |
||
579 | . |
||
580 | .Ss Display specific configuration |
||
581 | . |
||
582 | .Bl -tag -width Ds |
||
583 | .It Cd login_banner Vt ( string ) |
||
584 | Used in the |
||
585 | .Li <title> |
||
586 | and heading of the login page, unless |
||
587 | .Cd login_prefix_path |
||
588 | specifies a custom first HTML part. |
||
589 | .Sy Default : Li """Webmail Service Login""" . |
||
590 | . |
||
591 | .It Cd login_service_name Vt ( string ) |
||
592 | Used in the |
||
593 | .Li <title> No and elsewhere to refer to the webmail system |
||
594 | .Em after No the user has logged in. |
||
595 | .Sy Default : Li """Prayer""" . |
||
596 | . |
||
597 | .It Cd login_prefix_path Vt ( path ) |
||
598 | File to use as the part of the login page before the login |
||
599 | form. Should include everything including DOCTYPE and <html> tag. If |
||
600 | unset, Prayer constructs a fairly safe and boring login page |
||
601 | consisting of the |
||
602 | .Cd login_banner . |
||
603 | on the background colour of the default main theme. |
||
604 | . |
||
605 | .It Cd motd_path Vt ( path ) |
||
606 | File to use as the part of the login page immediately following the login form. |
||
607 | . |
||
608 | .It Cd login_suffix_path Vt ( path ) |
||
609 | File to use as the last part of the login page. If unset, Prayer simply outputs |
||
610 | .Dq Li </body></html> . |
||
611 | . |
||
612 | .It Cd ssl_encouraged ( Vt boolean ) |
||
613 | If the user connects over unencrypted HTTP, do not show the login form on the start |
||
614 | .Pa ( / ) No page. A link to Pa /login , No where the form is still displayed, is still provided. |
||
615 | .Sy Default : Li false . No Ignored if Cd ssl_redirect No or Cd ssl_required No is Li true . |
||
616 | . |
||
617 | .It Cd ssl_redirect ( Vt boolean ) |
||
618 | If the user connects over unencrypted HTTP, return a |
||
619 | .Ql 302 |
||
620 | redirect to the default SSL port. Only the start |
||
621 | .Pa ( / ) No page is redirected and it may be possible to switch between http and |
||
622 | https after loggin in, subject to cookie rules. |
||
623 | .Pp |
||
624 | .Sy Default : Li false . |
||
625 | . |
||
626 | .It Cd ssl_required ( Vt boolean ) |
||
627 | Return a |
||
628 | .Ql 403 Forbidden |
||
629 | error if the user tries to access anything over unencrypted HTTP. |
||
630 | .Cd ssl_redirect No still has effect, however. |
||
631 | . |
||
632 | .It Cd list_addr_maxlen Vt ( number ) |
||
633 | The maximum number of characters to show from addresses on the mailbox list screen. |
||
634 | .Sy Default : Li 30 . |
||
635 | . |
||
636 | .It Cd list_subject_maxlen Vt ( number ) |
||
637 | The maximum number of characters to show from the subject on the mailbox list screen. |
||
638 | .Sy Default : Li 30 . |
||
639 | . |
||
640 | .It Cd change_max_folders ( Vt number ) |
||
641 | The maximum number of folders allowed in the quick folder change |
||
642 | dropdown list. If there would be too many folders, the quick list is |
||
643 | disabled altogether. Only folders that are expanded in the folder view |
||
644 | are included. |
||
645 | .Pp |
||
646 | .Sy Default : Li 20 . |
||
647 | . |
||
648 | .It Cd template_path ( Vt path ) |
||
649 | Path to uncompiled template sets (directories). |
||
650 | .Sy Default : Li """../templates""" No (relative to |
||
651 | .Cd tmp_dir ) . |
||
652 | . |
||
653 | .It Cd template_set ( Vt string ) |
||
654 | Template set to use. |
||
655 | .Sy Default : Li """xhtml_strict""" . |
||
656 | . |
||
657 | .It Cd template_use_compiled ( Vt boolean ) |
||
658 | Use the compiled-in templates, ignoring |
||
659 | .Cd template_path . |
||
660 | .Sy Default : Li true . |
||
661 | .Pp |
||
662 | As a Debian extension, |
||
663 | .Xr prayer-session 8 |
||
664 | will fall back to the compiled-in template version of any template |
||
665 | that it cannot find in the template directory. This enables |
||
666 | customization of some templates without having to compile all of them |
||
667 | at run time, although attempting to open each template still incurs a |
||
668 | certain penalty. |
||
669 | . |
||
670 | .It Cd theme |
||
671 | Define themes and their colors. |
||
672 | .Em Semi-deprecated ; No Colours set with this directive are only used by the |
||
673 | .Li xhtml_transitional No template set. The |
||
674 | .Li xhtml_strict No template set, as well as the login screen, use CSS instead. |
||
675 | It is still necessary to tell Prayer which themes are available, however. |
||
676 | .Pp |
||
677 | Syntax: |
||
678 | .Bd -literal -offset indent |
||
679 | .Cd theme Ar name Li description Ar description |
||
680 | .Cd theme Ar name element colour |
||
681 | .Cd theme Ar name element colour |
||
682 | \&... |
||
683 | .Ed |
||
684 | .Pp |
||
685 | .Ar description No is the label shown in the theme dropdown lists on the |
||
686 | General Preferences page. |
||
687 | .Pp |
||
688 | .Ar element No is one of |
||
689 | .Li fgcolor , fgcolor_link , bgcolor , bgcolor_banner , bgcolor_row1 , bgcolor_row2 , |
||
690 | .Li bgcolor_status , bgcolor_status_none , fgcolor_quote1 , fgcolor_quote2 , |
||
691 | .Li fgcolor_quote3 , No and Li fgcolor_quote4 . |
||
692 | The first three are not used by any standard template set, but are |
||
693 | available. Please study the templates to understand how the rest are |
||
694 | used. |
||
695 | .Pp |
||
696 | .Ar colour No is any valid HTML Vt %Color No value. |
||
697 | Remember that strings containing hash marks need to be quoted. |
||
698 | .It Cd theme_default_main ( Vt string ) |
||
699 | .No The Ar name No of the default theme. |
||
700 | . |
||
701 | .It Cd theme_default_main ( Vt string ) |
||
702 | .No The Ar name No of the default theme in help mode. |
||
703 | . |
||
704 | .It Cd use_ispell_language |
||
705 | Ispell languages that we want to support, with some descriptive text |
||
706 | for the preferences screen. Syntax: |
||
707 | .Bd -literal -offset indent |
||
708 | .Cd use_ispell_language Ar wordlist Ar description |
||
709 | .Ed |
||
710 | .Pp |
||
711 | Example: |
||
712 | .Bd -literal -offset indent |
||
713 | .Li use_ispell_language british Qq British English |
||
714 | .Ed |
||
715 | .El |
||
716 | . |
||
717 | .Ss Paths etc. |
||
718 | . |
||
719 | .Bl -tag -width Ds |
||
720 | . |
||
721 | .It Cd aspell_path ( Vt path ) |
||
722 | Location of Aspell Binary (takes precedence over |
||
723 | .Cd ispell_path ) . |
||
724 | . |
||
725 | .It Cd bin_dir ( Vt path ) |
||
726 | Location of Prayer binaries |
||
727 | .Xr ( prayer 8 and |
||
728 | .Xr prayer-session 8 ) . |
||
729 | .Sy Default : No none. Sy Must be set. |
||
730 | . |
||
731 | .It Cd icon_dir ( Vt path ) |
||
732 | Location of icon files. |
||
733 | .Sy Default : No none. Sy Must be set. |
||
734 | . |
||
735 | .It Cd ispell_path ( Vt path ) |
||
736 | Location of Ispell Binary (backwards compatibility only). |
||
737 | . |
||
738 | .It Cd log_dir ( Vt path ) |
||
739 | Location of log files. |
||
740 | .Sy Default : No none. Sy Must be set. |
||
741 | . |
||
742 | .It Cd pid_dir ( Vt path ) |
||
743 | Location for PID files of prayer and prayer-session master processes. |
||
744 | .Sy Default : No none. Sy Must be set. |
||
745 | . |
||
746 | .It Cd sendmail_path ( Vt path ) |
||
747 | Location of sendmail binary or drop in replacement such as Exim. |
||
748 | .Sy Default : Pa /usr/lib/sendmail . |
||
749 | . |
||
750 | .It Cd socket_dir ( Vt path ) |
||
751 | Location for unix domain sockets which connect |
||
752 | .Xr ( prayer 8 to |
||
753 | .Xr prayer-session 8 ) . |
||
754 | . |
||
755 | .It Cd socket_split_dir ( Vt boolean ) |
||
756 | Split socket directory into 64 subdirs keyed on first letter of |
||
757 | sessionID. It is possible to switch back and forth without moving |
||
758 | sockets or killing sessions, since |
||
759 | .Xr prayer 8 tries both variants. \&In effect, this setting merely controls where |
||
760 | .Xr prayer-session 8 creates the socket files. |
||
761 | .Sy Default : Li false . |
||
762 | . |
||
763 | .It Cd init_socket_name ( Vt string ) |
||
764 | Name of Unix domain socket (in |
||
765 | .Cd socket_dir ) No used for initial handshake |
||
766 | between prayer and prayer-session processes when a user logs in. |
||
767 | .Sy Default : No none. Sy Must be set. |
||
768 | . |
||
769 | .It Cd ssl_session_dir ( Vt path ) |
||
770 | Location of the SSL session cache database. |
||
771 | .Sy Default : No none. Sy Must be set , No even if the SSL session cache is disabled. |
||
772 | . |
||
773 | .It Cd static_dir ( Vt path ) |
||
774 | Location of other static files (CSS). |
||
775 | .Sy Default : No none. If unset, Prayer will not serve CSS files. |
||
776 | . |
||
777 | .It Cd tmp_dir ( Vt path ) |
||
778 | As the directory both daemons |
||
779 | .Xr chdir 2 |
||
780 | to at startup, it is where temporary files, such as attachments and |
||
781 | folders in transist during upload and download operations, are |
||
782 | written. Core files also end up here. |
||
783 | .Sy Default : No none. Sy Must be set. |
||
784 | .El |
||
785 | . |
||
786 | .Ss Defaults for user preferences |
||
787 | . |
||
788 | .Bl -tag -width Ds |
||
789 | . |
||
790 | .It Cd confirm_logout ( Vt boolean ) |
||
791 | Confirmation dialogue when user logs out. |
||
792 | .Sy Default : Li true . |
||
793 | . |
||
794 | .It Cd confirm_expunge ( Vt boolean ) |
||
795 | Confirmation dialogue when user hits expunge. |
||
796 | .Sy Default : Li false . |
||
797 | . |
||
798 | .It Cd confirm_rm ( Vt boolean ) |
||
799 | Confirmation dialogue when user deletes mail folder or directory. |
||
800 | .Sy Default : Li true . |
||
801 | . |
||
802 | .It Cd default_domain Vt ( string ) |
||
803 | Default domain for outgoing mail. Defaults to |
||
804 | .Cd hostname No setting. |
||
805 | . |
||
806 | .It Cd html_inline ( Vt boolean ) |
||
807 | Show text/html bodyparts inline. Content is scrubbed to remove |
||
808 | dangerous tags; see documentation for more details. |
||
809 | .Sy Default : Li true . |
||
810 | . |
||
811 | .It Cd html_inline_auto ( Vt boolean ) |
||
812 | Same as above for text/* bodyparts which start "<HTML>" (case-independent!) |
||
813 | Does anyone other than spammers actually use this? |
||
814 | .Sy Default : Li true . |
||
815 | . |
||
816 | .It Cd ispell_language ( Vt string ) |
||
817 | Language for ispell. |
||
818 | .Sy Default : Li """british""" . |
||
819 | . |
||
820 | .It Cd msgs_per_page ( Vt number ) |
||
821 | Number of messages per screen on message list screen. |
||
822 | .Sy Default : Li 12 . |
||
823 | . |
||
824 | .It Cd msgs_per_page_max ( Vt number ) |
||
825 | Maximum value that users are allowed to set |
||
826 | .Cd msgs_per_page No to. |
||
827 | .Sy Default : Li 50 . |
||
828 | . |
||
829 | .It Cd msgs_per_page_min ( Vt number ) |
||
830 | Minimum value that users are allowed to set |
||
831 | .Cd msgs_per_page No to. |
||
832 | .Sy Default : Li 4 . |
||
833 | . |
||
834 | .It Cd abook_per_page ( Vt number ) |
||
835 | Number of addressbook entries per page on address book list screen. |
||
836 | .Sy Default : Li 12 . |
||
837 | . |
||
838 | .It Cd abook_per_page_max ( Vt number ) |
||
839 | Maximum value that users are allowed to set |
||
840 | .Cd abook_per_page No to. |
||
841 | .Sy Default : Li 50 . |
||
842 | . |
||
843 | .It Cd abook_per_page_min ( Vt number ) |
||
844 | Minimum value that users are allowed to set |
||
845 | .Cd abook_per_page No to. |
||
846 | .Sy Default : Li 4 . |
||
847 | . |
||
848 | .It Cd maildir ( Vt string ) |
||
849 | Mail directory in user's account. |
||
850 | .Sy Default : Li """""" . |
||
851 | Typically needed with uw-imap. Typically not needed with e.g. Dovecot or Courier. |
||
852 | . |
||
853 | .It Cd suppress_dotfiles ( Vt boolean ) |
||
854 | Supress dotfiles from directory listing. |
||
855 | .Sy Default : Li true . |
||
856 | . |
||
857 | .It Cd postponed_folder ( Vt string ) |
||
858 | Name of the folder where messages to be sent later, a.k.a. drafts, are stored. |
||
859 | .Sy Default : Li """postponed-msgs""" . |
||
860 | . |
||
861 | .It Cd sent_mail_folder ( Vt string ) |
||
862 | Name of folder for sent mail. |
||
863 | .Sy Default : Li """sent-mail""" . |
||
864 | . |
||
865 | .It Cd small_cols ( Vt number ) |
||
866 | Width of small compose textarea in columns. |
||
867 | .Sy Default : Li 80 . |
||
868 | . |
||
869 | .It Cd small_rows ( Vt number ) |
||
870 | Height of small compose textarea in lines. |
||
871 | .Sy Default : Li 18 . |
||
872 | . |
||
873 | .It Cd large_cols ( Vt number ) |
||
874 | Width of large compose textarea in columns. |
||
875 | .Sy Default : Li 80 . |
||
876 | . |
||
877 | .It Cd large_rows ( Vt number ) |
||
878 | Height of large compose textarea in lines. |
||
879 | .Sy Default : Li 32 . |
||
880 | . |
||
881 | .It Cd sort_mode ( Vt string ) |
||
882 | Default Sort mode for mailbox list. One of |
||
883 | .Li ARRIVAL , DATE , FROM , TO , CC , SIZE , SUBJECT , REFERENCES , ORDEREDSUBJECT . |
||
884 | .Sy Default : Li ARRIVAL No is most efficient, and recommended. |
||
885 | . |
||
886 | .It Cd sort_reverse ( Vt boolean ) |
||
887 | Favour reverse sort rather than normal sort order? |
||
888 | .Sy Default : Li false . |
||
889 | . |
||
890 | .It Cd abook_sort_mode ( Vt string ) |
||
891 | Default Sort mode for addressbook list. One of: |
||
892 | .Li ORDERED , ALIAS , NAME , COMMENT , ADDRESS . |
||
893 | .Sy Default : Li ORDERED . |
||
894 | . |
||
895 | .It Cd abook_sort_reverse ( Vt boolean ) |
||
896 | Favour reverse sort rather than normal sort order? |
||
897 | .Sy Default : Li false . |
||
898 | . |
||
899 | .It Cd line_wrap_len ( Vt number ) |
||
900 | Wrap lines at this many characters. |
||
901 | .Sy Default : Li 76 . |
||
902 | . |
||
903 | .It Cd line_wrap_advanced ( Vt boolean ) |
||
904 | Enable advanced line wrap options? |
||
905 | .Sy Default : Li false . |
||
906 | . |
||
907 | .It Cd line_wrap_on_reply ( Vt boolean ) |
||
908 | Line wrap automatically on reply. |
||
909 | .Sy Default : Li true . |
||
910 | . |
||
911 | .It Cd line_wrap_on_spell ( Vt boolean ) |
||
912 | Line wrap automatically on spell check. |
||
913 | .Sy Default : Li true . |
||
914 | . |
||
915 | .It Cd line_wrap_on_send ( Vt boolean ) |
||
916 | Line wrap automatically on send. |
||
917 | .Sy Default : Li true . |
||
918 | . |
||
919 | .It Cd preserve_mimetype ( Vt boolean ) |
||
920 | Send message Content-Type through to browser. If |
||
921 | .Li false , No Content-Type is replaced with |
||
922 | .Ql application/octet-stream |
||
923 | which should force download to local disk, bypassing any automatic |
||
924 | processing of bodyparts by the User-Agent. Unclear at the moment |
||
925 | whether we need to do this, or whether this should be done selectively |
||
926 | based on the User-Agent. |
||
927 | .Sy Default : Li true . |
||
928 | . |
||
929 | .It Cd use_sent_mail ( Vt boolean ) |
||
930 | .No Make the Dq Save copy |
||
931 | checkbox on the compose screen checked default. |
||
932 | .Sy Default : Li true . |
||
933 | . |
||
934 | .It Cd use_mark_persist ( Vt boolean ) |
||
935 | Use persistent mark for aggregate operations. |
||
936 | .Sy Default : Li false . |
||
937 | . |
||
938 | .It Cd use_search_zoom ( Vt boolean ) |
||
939 | Zoom automatically after sucessful search |
||
940 | .Sy Default : Li true . |
||
941 | . |
||
942 | .It Cd use_agg_unmark ( Vt boolean ) |
||
943 | Unmark messages after sucessful aggregate operation. |
||
944 | .Sy Default : Li true . |
||
945 | . |
||
946 | .It Cd use_icons ( Vt boolean ) |
||
947 | Use icons: may be overriden by value of User-Agent. |
||
948 | .Sy Default : Li true . |
||
949 | . |
||
950 | .It Cd use_welcome ( Vt boolean ) |
||
951 | Enable welcome screen . |
||
952 | .Sy Default : Li true . |
||
953 | . |
||
954 | .It Cd use_tail_banner ( Vt boolean ) |
||
955 | Duplicate banner icons (toolbar) at the bottom of the Message screen. |
||
956 | .Sy Default : Li true . |
||
957 | .El |
||
958 | . |
||
959 | .Ss Hidden preferences |
||
960 | . |
||
961 | The following options are internally handled as user preferences, but |
||
962 | the Preferences screen no longer provides any means for changing them. |
||
963 | . |
||
964 | .Bl -tag -width Ds |
||
965 | .It Cd use_cookie ( Vt boolean ) |
||
966 | Use HTTP cookie for Session-ID, if the browser supports cookies |
||
967 | If disabled, or user rejects the cookie, then the session-ID is stored in the URL. |
||
968 | .Sy Default : Li true . |
||
969 | . |
||
970 | .It Cd use_substitution ( Vt boolean ) |
||
971 | Use page substiution rather than HTTP redirects. Faster, but the URLs |
||
972 | that are generated are less predictable. Page substitution and browser |
||
973 | history mechanism don't coexist well at the moment (Prayer would need to |
||
974 | cache final page value for each substiution event). |
||
975 | .Pp |
||
976 | .Sy Default : Li true . |
||
977 | . |
||
978 | .It Cd use_http_1_1 ( Vt boolean ) |
||
979 | Allow HTTP/1.1, if the browser supports it. |
||
980 | .Sy Default : Li true . |
||
981 | . |
||
982 | .It Cd use_pipelining ( Vt boolean ) |
||
983 | Allow HTTP/1.1 pipelining, if the browser supports it. |
||
984 | .Sy Default : Li true . |
||
985 | . |
||
986 | .It Cd use_embed_http ( Vt boolean ) |
||
987 | Allow HTTP links embedded in HTTPS responses, if the browser supports it. |
||
988 | .Sy Default : Li true . |
||
989 | . |
||
990 | .It Cd use_persist ( Vt boolean ) |
||
991 | Allow persistent HTTP/1.1 and HTTP/1.0 persistent connections, |
||
992 | if the browser supports them. |
||
993 | .Sy Default : Li true . |
||
994 | . |
||
995 | .It Cd use_short ( Vt boolean ) |
||
996 | Allow short URLs, if the browser supports them. |
||
997 | .Sy Default : Li true . |
||
998 | . |
||
999 | .It Cd use_gzip ( Vt boolean ) |
||
1000 | Allow gzip compression, if the browser supports it. |
||
1001 | .Sy Default : Li true . |
||
1002 | . |
||
1003 | .El |
||
1004 | . |
||
1005 | .Sh SEE ALSO |
||
1006 | . |
||
1007 | .Xr prayer 8 , |
||
1008 | .Xr prayer-session 8 |
||
1009 | . |
||
1010 | .Sh AUTHORS |
||
1011 | . |
||
1012 | This manual page was put together by |
||
1013 | .An "Magnus Holmgren" <holmgren@debian.org> |
||
1014 | using documentation written by |
||
1015 | .An "David Carter" <dpc22@cam.ac.uk> . |