fsf changes, meant to be rebased on upstream
[squirrelmail.git] / config / config_local.example.php
CommitLineData
0c8f66b4 1<?php
4b4abf93 2
2d896bbf 3/**
4 * Local config overrides.
5 *
6 * You can override the config.php settings here.
7 * Don't do it unless you know what you're doing.
91e0dccc 8 * Use standard PHP syntax, see config.php for examples.
2d896bbf 9 *
33aab559 10 * @copyright 2002-2024 The SquirrelMail Project Team
4b4abf93 11 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
12 * @version $Id$
2d896bbf 13 * @package squirrelmail
14 * @subpackage config
15 */
99f175bc 16
17
18/**
19 * What follows are notes about "hidden" settings that
20 * are not defined in config.php and are only meant to
21 * be optionally defined by administrators who need to
22 * suit specific (unusual) setups. This file, of course,
23 * is not limited to setting these values - you can still
24 * specify overrides for anything in config.php.
25 *
26 * $custom_session_handlers (array) allows the definition
27 * of custom PHP session handlers. This feature is well
28 * documented in the code in include/init.php
29 *
9aaa9ae2 30 * $hide_squirrelmail_header (must be defined as a constant:
99f175bc 31 * define('hide_squirrelmail_header', 1);
32 * This allows the administrator to force SquirrelMail never
33 * to add its own Received headers with user information in
34 * them. This is VERY DANGEROUS and is HIGHLY DISCOURAGED
35 *
36 * $show_timezone_name allows (boolean) the addition of the
37 * timezone name to the Date header in outgoing messages.
38 * Turning this on violates RFC 822 syntax and can result in
39 * more serious problems (unencoded 8 bit characters in headers)
40 * on some systems.
41 *
42 * $force_crlf_default (string) Can be used to force CRLF or LF
43 * line endings in decoded message parts. In some environments
44 * this allows attachments to be downloaded with operating-system
45 * friendly line endings. This setting may be overridden by
46 * certain plugins or on systems running PHP versions less than
47 * 4.3.0. Set to 'CRLF' or 'LF' or, to force line endings to be
48 * unmolested, set to some other string, such as 'NOCHANGE'
49 *
55e34626 50 * $subfolders_of_inbox_are_special (boolean) can be set to TRUE
51 * if any subfolders of the INBOX should be treated as "special"
52 * (those that are displayed in a different color than other
53 * "normal" mailboxes).
54 *
36c59d84 55 * $hash_dirs_use_md5 (boolean) If set to TRUE, forces the
56 * hashed preferences directory calculation to use MD5 instead
57 * of CRC32.
58 *
59 * $hash_dirs_strip_domain (boolean) If set to TRUE, and if
60 * usernames are in full email address format, the domain
61 * part (beginning with "@") will be stripped before
62 * calculating the CRC or MD5.
63 *
2e6bbfcc 64 * $default_htmlspecialchars_encoding (string) is used to
65 * specify the charset that is used for htmlspecialchars()
66 * calls when an invalid charset was requested (PHP's
67 * htmlspecialchars() only supports a limited number of
68 * encodings). SquirrelMail defaults to iso-8859-1, but if
69 * you want to change the default to something like utf-8,
70 * you can use this setting for that.
71 *
a9805897 72 * $smtp_stream_options allows more control over the SSL context
73 * used when connecting to the SMTP server over SSL/TLS. See:
0e6fd2f8 74 * http://www.php.net/manual/context.php and in particular
9aaa9ae2 75 * http://php.net/manual/context.ssl.php
76 * For example, you can specify a CA file that corresponds
77 * to your server's certificate and make sure that the
78 * server's certificate is validated when connecting:
a9805897 79 * $smtp_stream_options = array(
0e6fd2f8 80 * 'ssl' => array(
81 * 'cafile' => '/etc/pki/tls/certs/ca-bundle.crt',
82 * 'verify_peer' => true,
83 * 'verify_depth' => 3,
84 * ),
9aaa9ae2 85 * );
86 *
a9805897 87 * $imap_stream_options allows more control over the SSL
88 * context used when connecting to the IMAP server over
89 * SSL/TLS. See: http://www.php.net/manual/context.php
90 * and in particular http://php.net/manual/context.ssl.php
9aaa9ae2 91 * For example, you can specify a CA file that corresponds
92 * to your server's certificate and make sure that the
93 * server's certificate is validated when connecting:
a9805897 94 * $imap_stream_options = array(
0e6fd2f8 95 * 'ssl' => array(
96 * 'cafile' => '/etc/pki/tls/certs/ca-bundle.crt',
97 * 'verify_peer' => true,
98 * 'verify_depth' => 3,
99 * ),
9aaa9ae2 100 * );
e4f360ed 101 *
102 * $disable_pdo (boolean) tells SquirrelMail not to use
103 * PDO to access the user preferences and address book
104 * databases as it normally would. When this is set to
105 * TRUE, Pear DB will be used instead, but this is not
106 * recommended.
107 *
108 * $pdo_show_sql_errors (boolean) causes the actual
109 * database error to be displayed when one is encountered.
110 * When set to FALSE, generic errors are displayed,
111 * preventing internal database information from being
112 * exposed. This should be set to TRUE only for debugging
113 * purposes.
114 *
115 * $pdo_identifier_quote_char (string) allows you to
116 * override the character used for quoting table and field
117 * names in database queries. Set this to the desired
118 * Quote character, for example:
119 * $pdo_identifier_quote_char = '"';
120 * Or you can tell SquirrelMail not to quote identifiers
121 * at all by setting this to "none". When this setting
122 * is empty or not found, SquirrelMail will attempt to
123 * quote table and field names with what it thinks is
124 * the appropriate quote character for the database type
125 * being used (backtick for MySQL (and thus MariaDB),
126 * double quotes for all others).
8cb60001 127 *
b0392fa8 128 * $prefs_db_charset (string) allows you to explicitly
129 * set the user preferences (SQL) database connection
130 * character set. In most cases, system defaults should
131 * be sufficient, even for UTF-8 preference values and
132 * so forth, but this allows you to specifically make
133 * the selection as needed, for example:
134 * $prefs_db_charset = 'utf8mb4';
135 *
35c97ac1 136 * $addrbook_db_charset (string) allows you to explicitly
137 * set the address book (SQL) database connection character
138 * set. In most cases, system defaults should be sufficient,
139 * even for UTF-8 contact names and so forth, but this
140 * allows you to specifically make the selection as needed,
141 * for example:
142 * $addrbook_db_charset = 'utf8mb4';
143 *
8cb60001 144 * $use_expiring_security_tokens (boolean) allows you to
145 * make SquirrelMail use short-lived anti-CSRF security
146 * tokens that expire as desired (not recommended, can
147 * cause user-facing issues when tokens expire unexpectedly).
148 *
149 * $max_token_age_days (integer) allows you to indicate how
150 * long a token should be valid for (in days) (only relevant
151 * when $use_expiring_security_tokens is enabled).
152 *
153 * $do_not_use_single_token (boolean) allows you to force
154 * SquirrelMail to generate a new token every time one is
155 * requested (which may increase obscurity through token
156 * randomness at the cost of some performance). Otherwise,
157 * only one token will be generated per user which will
158 * change only after it expires or is used outside of the
159 * validity period specified when calling
160 * sm_validate_security_token() (only relevant when
161 * $use_expiring_security_tokens is enabled).
162 *
c552d9d2 163 * $head_tag_extra can be used to add custom tags inside
164 * the <head> section of *ALL* pages. The string
165 * "###SM BASEURI###" will be replaced with the base URI
166 * for this SquirrelMail installation. This may be used,
167 * for example, to add custom favicon tags. If this
168 * setting is empty here, SquirrelMail will add a favicon
169 * tag by default. If you want to retain the default favicon
170 * while using this setting, you must include the following
171 * as part of this setting:
d7d9e676 172 * $head_tag_extra = '<link rel="shortcut icon" href="###SM BASEURI###favicon.ico" />...<YOUR CONTENT HERE>...';
629fb744 173 *
174 * $imap_id_command_args (array) causes the IMAP ID
175 * command (RFC 2971) to be sent after every login,
176 * identifying the client to the server. Each key in this
177 * array is an attibute to be sent in the ID command to
178 * the server. Values will be sent as-is except if the
179 * value is "###REMOTE ADDRESS###" (without quotes) in
180 * which case the current user's real IP address will be
181 * substituted. If "###X-FORWARDED-FOR###" is used and a
182 * "X-FORWARDED-FOR" header is present in the client request,
183 * the contents of that header are used (careful, this can
184 * be forged). If "###X-FORWARDED-FOR OR REMOTE ADDRESS###"
185 * is used, then the "X-FORWARDED-FOR" header is used if it
186 * is present in the request, otherwise, the client's
187 * connecting IP address is used. The following attributes
188 * will always be added unless they are specifically
189 * overridden with a blank value:
190 * name, vendor, support-url, version
191 * A parsed representation of server's response is made
192 * available to plugins as both a global and session variable
193 * named "imap_server_id_response" (a simple key/value array)
194 * unless response parsing is turned off by way of setting a
195 * variable in this file named
196 * $do_not_parse_imap_id_command_response to TRUE, in which
197 * case, the stored response will be the unparsed IMAP response.
198 * $imap_id_command_args = array('remote-host' => '###REMOTE ADDRESS###');
199 * $do_not_parse_imap_id_command_response = FALSE;
200 *
d8f038fd 201 * $remove_rcdata_rawtext_tags_and_content
202 * When displaying HTML-format email message content, a small
203 * number of HTML tags are parsed differently (RCDATA, RAWTEXT
204 * content), but can also be removed entirely (with their contents)
205 * if desired (in most cases, should be a safe thing with minimal
206 * impact). This would be done as a fallback security measure and
207 * can be enabled by adding this here:
208 * $remove_rcdata_rawtext_tags_and_content = TRUE;
209 *
8e7a34da 210 * $php_self_pattern
211 * $php_self_replacement
212 * These may be used to modify the value of the global $PHP_SELF
213 * variable used throughout the SquirrelMail code (though that
214 * variable is used less frequently in version 1.5.x). The
215 * pattern should be a full regular expression including the
216 * delimiters. This may be helpful when the web server sees
217 * traffic from a proxy so the normal $PHP_SELF does not resolve
218 * to what it should be for the real client.
219 *
3ab5b55b 220 * $upload_filesize_divisor allows the administrator to specify
221 * the divisor used when converting the size of an uploaded file
222 * as given by PHP's filesize() and converted to human-digestable
223 * form. By default, 1000 is used, but 1024 may be necessary in
224 * some environments.
225 * $upload_filesize_divisor = 1024;
226 *
f0d2cd40 227 * $same_site_cookies allows override of how cookies are set
228 * with the "SameSite" attribute. Normally you won't want to
229 * do anything with this. If you do, you can set it to "Lax"
230 * "Strict" (which is default) or "None" -- or set it to an
231 * empty string to cause cookies to be sent without adding
232 * the SameSite attribute at all and use the browser's default
99f175bc 233 */