updates.
[silc.git] / doc / example_silcd.conf.in
1 #
2 # Example configuration file.  Note that this attempts to present various
3 # configuration possibilities and may not actually give any sensible
4 # configuration.  For real life example see the examples/ directory.
5 #
6
7 #
8 # General configuration options
9 #
10 General {
11         # This is the default path where to search modules
12         # You can comment it out to use builtin modules globally.
13         module_path = "@MODULESDIR@";
14
15         # If both passphrase and public key authentication is set for a
16         # connection the public key authentication is the preferred one
17         # to use.  Set this to `true' to prefer passphrase authentication
18         # over public key authentication in these cases.
19         #
20         # prefer_passphrase_auth = true;
21 };
22
23 #
24 # Configured ciphers
25 #
26 # The "Module" option can be either absolute or relative to the "ModulePath"
27 # option.
28 # If commented out forces using of built-in modules.
29 #
30 cipher {
31         name = "aes-256-cbc";
32         module = "aes.sim.so";
33         keylength = 32;
34         blocklength = 16;
35 };
36 cipher {
37         name = "aes-192-cbc";
38         module = "aes.sim.so";
39         keylength = 24;
40         blocklength = 16;
41 };
42 cipher {
43         name = "aes-128-cbc";
44         module = "aes.sim.so";
45         keylength = 16;
46         blocklength = 16;
47 };
48 cipher {
49         name = "twofish-256-cbc";
50         module = "twofish.sim.so";
51         keylength = 32;
52         blocklength = 16;
53 };
54 cipher {
55         name = "twofish-192-cbc";
56         module = "twofish.sim.so";
57         keylength = 24;
58         blocklength = 16;
59 };
60 cipher {
61         name = "twofish-128-cbc";
62         module = "twofish.sim.so";
63         keylength = 16;
64         blocklength = 16;
65 };
66 cipher {
67         name = "mars-256-cbc";
68         module = "mars.sim.so";
69         keylength = 32;
70         blocklength = 16;
71 };
72 cipher {
73         name = "mars-192-cbc";
74         module = "mars.sim.so";
75         keylength = 24;
76         blocklength = 16;
77 };
78 cipher {
79         name = "mars-128-cbc";
80         module = "mars.sim.so";
81         keylength = 16;
82         blocklength = 16;
83 };
84 cipher {
85         name = "none";
86         module = "none.sim.so";
87 };
88
89 #
90 # Configured hash functions
91 #
92 hash {
93         name = "sha1";
94         blocklength = 64;
95         digestlength = 20;
96 };
97 hash {
98         name = "md5";
99         blocklength = 64;
100         digestlength = 16;
101 };
102
103 #
104 # Configured HMAC functions. The hash function used in the HMAC must
105 # be configured in the hash section.
106 #
107 hmac {
108         name = "hmac-sha1-96";
109         hash = "sha1";
110         maclength = 12;
111 };
112 hmac {
113         name = "hmac-md5-96";
114         hash = "md5";
115         maclength = 12;
116 };
117 hmac {
118         name = "hmac-sha1";
119         hash = "sha1";
120         maclength = 20;
121 };
122 hmac {
123         name = "hmac-md5";
124         hash = "md5";
125         maclength = 16;
126 };
127
128 #
129 # Configured PKCS
130 #
131 PKCS { name = "rsa"; };
132
133 #
134 # Server information
135 #
136 ServerInfo {
137         #
138         # Server FQDN and IP address
139         #
140         hostname = "lassi.kuo.fi.ssh.com";
141         ip = "10.2.1.6";
142         port = 706;
143
144         #
145         # ServerType field specifies the purpose of this server
146         # This is only a descriptive field.
147         #
148         ServerType = "Test Server";
149
150         #
151         # Geographic location
152         #
153         Location = "Kuopio, Finland";
154
155         #
156         # Full admin name
157         #
158         Admin = "Pekka Riikonen";
159
160         #
161         # Admin's email address
162         #
163         EMail = "priikone@poseidon.pspt.fi";
164
165         #
166         # Run SILC server as specific user and group. The server must be 
167         # initially run as root.
168         #
169         User = "nobody";
170         Group = "nobody";
171
172         #
173         # Public and private keys
174         #
175         PublicKey = "@ETCDIR@/silcd.pub";
176         PrivateKey = "@ETCDIR@/silcd.prv";
177
178         #
179         # Motd file
180         #
181         # Specifies the text file displayed on client connection
182         #
183         #MotdFile = "@ETCDIR@/motd.txt";
184
185         #
186         # Pid file
187         #
188         PidFile = "@PIDFILE@";
189 };
190
191 #
192 # Log files.
193 #
194 # This section is used to set various logging files, their paths, maximum
195 # sizes and logging options.
196 # There are only four defined channels allowed for defining (see below).
197 # The log channels have an importance value, and most important channels
198 # are redirected on the less important ones, thus setting a valid logging
199 # file for "infologfile" will ensure logging for all channels, while setting
200 # logging file for "errorlogfile" will ensure logging for channels "error"
201 # and "fatal"
202 #
203 Logging {
204         #
205         # If QuickLogs is true, then the logging files will be updated
206         # real-time. This causes a bit more CPU and HDD activity, but
207         # reduces memory usage. (if unsure say true).
208         #
209         QuickLogs = false;
210
211         #
212         # (Only if QuickLogs is false)
213         # FlushDelay tells log files update delay in case you have chosen
214         # buffering output.
215         #
216         FlushDelay = 180;
217
218         Info {
219                 File = "@LOGSDIR@/silcd.log";
220                 Size = "50k";
221         };
222         Warnings {
223                 File = "@LOGSDIR@/silcd_warnings.log";
224                 Size = "50k";
225         };
226         Errors {
227                 File = "@LOGSDIR@/silcd_errors.log";
228                 Size = "50k";
229         };
230         Fatals {
231                 File = "@LOGSDIR@/silcd_fatals.log";
232                 Size = "50k";
233         };
234 };
235
236 #
237 # Connection classes (UNSUPPORTED)
238 #
239 # This section is used to define connection classes. These can be
240 # used to optimize the server and the connections.
241 #
242 #Class {
243 #       Name = "norm";
244 #       Ping = 100;
245 #       Connect = 100;
246 #       Links = 100;
247 #};
248
249 #
250 # Configured client connections.
251 #
252 # All fields except Class are optional.  Omitted fields are assumed
253 # to be generic (e.g. if the "Host" field is omitted all hosts will match
254 # this client class).
255 #
256 #Client {
257 #       Host = "127.0.0.1";
258 #       Port = 706;
259 #       Class = "local";
260 #};
261 Client {
262         Port = 706;
263         Class = "norm";
264 };
265
266 #
267 # Configured server administrator connections
268 #
269 # The fields "Host", "User", and "Nick", are optional but you are encouraged
270 # in using them to better identify your admins.
271 #
272 # The authentication data is specified by Passphrase and/or Publickey.
273 # If both are provided then both password and public key based authentication
274 # is allowed.  If the Publickey is used it includes the file path to the
275 # public key file.  If none of them is provided then authentication is not
276 # required.
277 #
278 Admin {
279         Host = "10.2.1.199";
280         User = "priikone";
281         Nick = "pekka";
282         Passphrase = "verysecret";
283         # Publickey = "/path/to/the/public.key";
284 };
285
286 #
287 # Denied connections
288 #
289 # These connections are denied to connect to our server.
290 #
291 # The "Reason" field is mandatory, while the "Host" and "Port" fields can be
292 # omitted to match everything.
293 #
294 #Deny {
295 #       Host = "10.2.1.99";
296 #       Port = 706;
297 #       Reason = "Go away spammer";
298 #};
299 #Deny {
300 #       Host = "10.3.*";
301 #       Reason = "You are not welcome.";
302 #};
303
304 #
305 # Configured server connections.
306 #
307 # If server connections are configured it means that this server is
308 # router server.  Normal servers must not configure server connections.
309 # Thus, if this server is not router do not configure this section.  If
310 # your server is router, this must be configured.
311 #
312 # The authentication data is specified by Passphrase and/or Publickey.
313 # If both are provided then both password and public key based authentication
314 # is allowed.  If the Publickey is used it includes the file path to the
315 # public key file.  If none of them is provided then authentication is not
316 # required.
317 #
318 # If the connection is backup connection then set the "Backup" option
319 # to true. For normal connections set it false. If it is set to true then
320 # this server will be backup router.
321 #
322 ServerConnection {
323         Host = "10.2.1.7";
324         Passphrase = "verysecret";
325         # Publickey = "/path/to/the/public.key";
326         VersionID = 1;
327         Class = "norm";
328         Backup = false;
329 };
330
331 #
332 # Configured router connections
333 #
334 # For normal servers only one entry maybe configured to this section.  It
335 # must be the router this server will be connected to.  For router servers,
336 # this section includes all configured router connections.  The first
337 # configured connection is the primary route.
338 #
339 # The authentication data is specified by Passphrase and/or Publickey.
340 # If both are provided then both password and public key based authentication
341 # is allowed.  If the Publickey is used it includes the file path to the
342 # public key file.  If none of them is provided then authentication is not
343 # required.
344 #
345 # If you are the initiator of the connection then set the "Initiator"
346 # option to true.  If you are the responder of the connection (waiting for
347 # incoming connection) then set it to false.
348 #
349 # If the connection is backup router connection then set the "BackupHost"
350 # option to the IP address of the router that the backup router will
351 # replace if it becomes unavailable.  Set also the router's port to the
352 # "BackupPort" option.  For normal connection leave both commented. If this
353 # backup router is in our cell then set the "LocalBackup" option to true.
354 # If the backup router is in other cell then set it to false.
355 #
356 RouterConnection {
357         Host = "10.2.1.100";
358         Port = 706;
359         Passphrase = "verysecret";
360         # Publickey = "/path/to/the/public.key";
361         VersionID = 1;
362         Class = "norm";
363         Initiator = true;
364         #BackupHost = "10.2.1.6";
365         #BackupPort = 706;
366         #LocalBackup = true;
367 };