[go: up one dir, main page]

File: config.xml

package info (click to toggle)
uhub 0.4.1-3.3
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 1,508 kB
  • sloc: ansic: 18,133; xml: 575; perl: 568; sh: 368; makefile: 24
file content (662 lines) | stat: -rw-r--r-- 26,302 bytes parent folder | download | duplicates (5)
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
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
<?xml version='1.0' standalone="yes" ?>
<config>

	<option name="hub_enabled" type="boolean" default="1">
		<short>Is server enabled</short>
		<description><![CDATA[
			Use this to disable the hub for a while.
		]]></description>
		<since>0.1.3</since>
	</option>

	<option name="server_port" type="int" default="1511">
		<check min="1" max="65535" />
		<since>0.1.0</since>
		<short>Server port to bind to</short>
		<description><![CDATA[This specifies the port number the hub should listen on.]]></description>
	</option>

	<option name="server_bind_addr" type="string" default="any">
		<check regexp="(\d\.\d\.\d\.\d\)|(any)|(loopback)|(.*)" /><!-- FIXME: add better IPv6 regexp in the future! -->
		<short>Server bind address</short>
		<description><![CDATA[
			Specify the IP address the local hub should bind to. This can be an IPv4 or IPv6 address, or one of the special addresses "any" or "loopback". <br />
			When "any" or "loopback" is used, the hub will automatically detect if IPv6 is supported and prefer that.
		]]></description>
		<syntax>
			IPv4 address, IPv6 address, "any" or "loopback"
		</syntax>
		<since>0.1.2</since>
		<example><![CDATA[
				<p>
				To listen to a specific IP:<br />
				server_bind_addr = "192.168.12.69"
				</p>
				<p>
				To listen to any IPv4 address:<br />
				server_bind_addr = "0.0.0.0"
				</p>
				<p>
				Or to listen to any address including IPv6 (if supported):<br />
				server_bind_addr = "any"
				</p>
		]]></example>
	</option>

	<option name="server_listen_backlog" type="int" default="50">
		<check min="5" />
		<short>Server listen backlog</short>
		<description><![CDATA[
			<p>
			This specifies the number of connections the hub will be able to accept in the backlog before they must be processed by the hub.
			</p>
			<p>
			A too low number here will mean the hub will not accept connections fast enough when users are reconnecting really fast. The hub should under normal circumstances be able to empty the listen backlog several times per second.
			</p>
		]]></description>
		<since>0.3.0</since>
	</option>

	<option name="server_alt_ports" type="string" default="">
		<check regexp="((\d+)(,(\d+))*)?" />
		<short>Comma separated list of alternative ports to listen to</short>
		<description><![CDATA[
		In addition to the server_port the hub can listen to a list of alternative ports.
		]]></description>
		<example><![CDATA[
			server_alt_ports = 1295,1512,53990
		]]></example>
		<since>0.3.0</since>
	</option>

	<option name="show_banner" type="boolean" default="1">
		<short>Show banner on connect</short>
		<description><![CDATA[
			If enabled, the hub will announce the software version running to clients when they connect with a message like: "Powered by uhub/0.x.y"
		]]></description>
		<since>0.1.0</since>
	</option>

	<option name="show_banner_sys_info" type="boolean" default="1">
		<short>Show banner on connect</short>
		<description><![CDATA[
			If enabled, the hub will announce the operating system and CPU architecture to clients when they join.<br />
			This option has no effect if show_banner is disabled.
		]]></description>
		<since>0.3.0</since>
	</option>

	<option name="max_users" type="int" default="500">
		<check min="1" max="1048576" />
		<short>Maximum number of users allowed on the hub</short>
		<description><![CDATA[
			The maximum amount of users allowed on the hub.
			No new users will be allowed to enter the hub if this number is exceeded, however privileged users (operators, admins, etc) are still able to log in.
		]]></description>
		<since>0.1.0</since>
		<example><![CDATA[
			To run a hub for max 25 users:<br />
				max_users = 25
		]]></example>
	</option>

	<option name="registered_users_only" type="boolean" default="0">
		<short>Allow registered users only</short>
		<description><![CDATA[
			If this is enabled only registered users will be able to use the hub. A user must be registered in the acl file (file_acl).
		]]></description>
		<since>0.1.1</since>
	</option>

   <option name="register_self" type="boolean" default="0">
	   <short>Allow users to register themselves on the hub.</short>
		<description><![CDATA[
			If this is enabled guests can register their nickname on the hub.
			Otherwise only operators can register users.
		]]></description>
		<since>0.4.0</since>
   </option>

	<option name="obsolete_clients" type="boolean" default="0">
		<short>Support obsolete clients using a ADC protocol prior to 1.0</short>
		<description><![CDATA[
			If this is enabled users using old ADC clients are allowed to enter the hub,
			however they cannot log in using passwords since the protocols are incompatible.
		]]></description>
		<since>0.3.1</since>
	</option>

	<option name="chat_is_privileged" type="boolean" default="0">
		<short>Allow chat for operators and above only</short>
		<description><![CDATA[
			If enabled only operators and admins are allowed to chat in the main chat.
		]]></description>
		<since>0.2.4</since>
	</option>

	<option name="hub_name" type="string" default="uhub">
		<short>Name of hub</short>
		<description><![CDATA[
		Configures the name of the hub
		]]></description>
		<since>0.1.0</since>
		<example><![CDATA[
			hub_name = "my hub"
		]]></example>
	</option>

	<option name="hub_description" type="string" default="no description">
		<short>Short hub description, topic or subject.</short>
		<description><![CDATA[
		This is the description of the hub, as seen by users and hub lists.
		]]></description>
		<since>0.1.0</since>
		<example><![CDATA[
			hub_description = "a friendly hub for friendly people"
		]]></example>
	</option>

	<option name="redirect_addr" type="string" default="">
		<check regexp="(adc|adcs|dchub)://.*" />
		<short>A common hub redirect address.</short>
		<description><![CDATA[
		This is the redirect address used when the hub wants to redirect a client for not fulfilling some requirements.
		]]></description>
		<since>0.3.2</since>
	</option>


	<option name="max_recv_buffer" type="int" default="4096" advanced="true" >
		<check min="1024" max="1048576" />
		<short>Max read buffer before parse, per user</short>
		<description><![CDATA[
			Maximum receive buffer allowed before commands are procesed. If a single ADC message exceeds this limit, it will be discarded by the hub. Use with caution.
		]]></description>
		<since>0.1.3</since>
	</option>

	<option name="max_send_buffer" type="int" default="131072" advanced="true" >
		<check min="2048" />
		<short>Max send buffer before disconnect, per user</short>
		<description><![CDATA[
			Maximum amount of bytes allowed to be queued for sending to any particular user before the hub will disconnect the user. The lower the limit, the more aggressive the hub will be to disconnect slow clients. Use with caution.
		]]></description>
		<since>0.1.3</since>
	</option>

	<option name="max_send_buffer_soft" type="int" default="98304" advanced="true" >
		<check min="1024" />
		<short>Max send buffer before message drops, per user</short>
		<description><![CDATA[
			Same as max_send_buffer, however low priority messages may be discarded if this limit is reached. Use with caution.
		]]></description>
		<since>0.1.3</since>
	</option>

	<option name="low_bandwidth_mode" type="boolean" default="0" advanced="true" >
		<short>Enable bandwidth saving measures</short>
		<description><![CDATA[
			If this is enabled the hub will remove excessive information from each user's info message before broadcasting to all connected users.
			Description, e-mail address will be removed. This saves upload bandwidth for the hub.
		]]></description>
		<since>0.2.2</since>
	</option>

	<option name="max_chat_history" type="int" default="20">
		<check min="0" max="250" />
		<short>Number of chat messages kept in history</short>
		<description><![CDATA[
			This specifies the number of main chat messages that are kept in the history buffer.
			Users can use the "!history" command to list these messages.
		]]></description>
		<since>0.3.0</since>
	</option>

	<option name="max_logout_log" type="int" default="20">
		<check min="0" max="2000" />
		<short>Number of log entries for people leaving the hub</short>
		<description><![CDATA[
			Operators can use the "!log" command to list users who have recently left the hub.
			This option specifies the maximum size of this log.
		]]></description>
		<since>0.3.0</since>
	</option>

	<option name="limit_max_hubs_user" type="int" default="10">
		<check min="0" />
		<short>Max concurrent hubs as a guest user</short>
		<description><![CDATA[
		This limits the number of hubs a user can be logged into as a guest user. If this number is exceeded, the user will not be allowed to enter the hub.
		]]></description>
		<syntax>0 = off</syntax>
		<since>0.2.0</since>
	</option>

	<option name="limit_max_hubs_reg" type="int" default="10">
		<check min="0" />
		<short>Max concurrent hubs as a registered user</short>
		<description><![CDATA[
		This limits the number of hubs a user can be logged into as a registered user. If this number is exceeded, the user will not be allowed to enter the hub.
		]]></description>
		<syntax>0 = off</syntax>
		<since>0.2.0</since>
	</option>

	<option name="limit_max_hubs_op" type="int" default="10">
		<check min="0" />
		<short>Max concurrent hubs as a operator (or admin)</short>
		<description><![CDATA[
		This limits the number of hubs a user can be logged into as an operator. If this number is exceeded, the user will not be allowed to enter the hub.
		]]></description>
		<syntax>0 = off</syntax>
		<since>0.2.0</since>
	</option>

	<option name="limit_max_hubs" type="int" default="25">
		<check min="0" />
		<short>Max total hub connections allowed, user/reg/op combined.</short>
		<description><![CDATA[
		Limit the number of hubs a user can be logged into in total regardless of registrations or privileges.
		If this number is exceeded, the user will not be allowed to enter the hub.
		]]></description>
		<syntax>0 = off</syntax>
		<since>0.2.0</since>
	</option>

	<option name="limit_min_hubs_user" type="int" default="0">
		<check min="0" />
		<short>Minimum concurrent hubs as a guest user</short>
		<description><![CDATA[
		Only allow users that are logged into other hubs with guest privileges to enter this hub.
		]]></description>
		<syntax>0 = off</syntax>
		<since>0.2.0</since>
	</option>

	<option name="limit_min_hubs_reg" type="int" default="0">
		<check min="0" />
		<short>Minimum concurrent hubs as a registered user</short>
		<description><![CDATA[
		Only allow users that are logged into other hubs as a registered user to enter this hub.
		]]></description>
		<syntax>0 = off</syntax>
		<since>0.2.0</since>
	</option>

	<option name="limit_min_hubs_op" type="int" default="0">
		<check min="0" />
		<short>Minimum concurrent hubs as a operator (or admin)</short>
		<description><![CDATA[
		Only allow users that are logged into other hubs with operator privileges to enter this hub.
		]]></description>
		<syntax>0 = off</syntax>
		<since>0.2.0</since>
	</option>

	<option name="limit_min_share" type="int" default="0">
		<check min="0" />
		<short>Limit minimum share size in megabytes</short>
		<description><![CDATA[
		Minimum share limit in megabytes (MiB). Users sharing less than this will not be allowed to enter the hub.
		]]></description>
		<syntax>0 = off</syntax>
		<since>0.2.0</since>
		<example><![CDATA[
			To require users to share at least 1 GB in order to enter the hub:<br />
			limit_min_share = 1024
		]]></example>
	</option>

	<option name="limit_max_share" type="int" default="0">
		<check min="0" />
		<short>Limit maximum share size in megabytes</short>
		<description><![CDATA[
		Maximum share limit in megabytes (MiB). Users sharing more than this will not be allowed to enter the hub.
		]]></description>
		<syntax>0 = off</syntax>
		<since>0.2.0</since>
	</option>


	<option name="limit_min_slots" type="int" default="0">
		<check min="0" />
		<short>Limit minimum number of upload slots open per user</short>
		<description><![CDATA[
		Minimum number of upload slots required. Users with less than this will not be allowed to enter the hub.
		]]></description>
		<syntax>0 = off</syntax>
		<since>0.2.0</since>
	</option>

	<option name="limit_max_slots" type="int" default="0">
		<check min="0" />
		<short>Limit minimum number of upload slots open per user</short>
		<description><![CDATA[
		Maximum number of upload slots allowed. Users with more than this will not be allowed to enter the hub.
		]]></description>
		<syntax>0 = off</syntax>
		<since>0.2.0</since>
	</option>

	<option name="flood_ctl_interval" type="int" default="0">
		<check min="1" max="60" />
		<short>Time interval in seconds for flood control check.</short>
		<description><![CDATA[
			This is the time interval that will be used for all flood control calculations.
			If this is 0 then all flood control is disabled.
		]]></description>
		<example><![CDATA[
			To limit maximum chat messages to 5 messages on 10 seconds: <br />
			flood_ctl_interval = 10 <br />
			flood_ctl_chat = 5<br />
		]]></example>
		<syntax>0 = off</syntax>
		<since>0.3.1</since>
	</option>

	<option name="flood_ctl_chat" type="int" default="0">
		<short>Max chat messages allowed in time interval</short>
		<description><![CDATA[
			If this is 0 then no flood control is disabled for chat messages.
		]]></description>
		<syntax>0 = off</syntax>
		<since>0.3.1</since>
	</option>

	<option name="flood_ctl_connect" type="int" default="0">
		<short>Max connections requests allowed in time interval</short>
		<description><![CDATA[
			If this is 0 then no flood control is disabled for connection requests.
		]]></description>
		<syntax>0 = off</syntax>
		<since>0.3.1</since>
	</option>

	<option name="flood_ctl_search" type="int" default="0">
		<short>Max search requests allowed in time interval</short>
		<description><![CDATA[
			If this is 0 then no flood control is disabled for search requests.
		]]></description>
		<syntax>0 = off</syntax>
		<since>0.3.1</since>
	</option>


	<option name="flood_ctl_update" type="int" default="0">
		<short>Max updates allowed in time interval</short>
		<description><![CDATA[
			If this is 0 then no flood control is disabled for info updates (INF messages).
		]]></description>
		<syntax>0 = off</syntax>
		<since>0.3.1</since>
	</option>

	<option name="flood_ctl_extras" type="int" default="0">
		<short>Max extra messages allowed in time interval</short>
		<description><![CDATA[
			Extra messages are messages that don't fit into the category of chat, search, update or connect.
		]]></description>
		<syntax>0 = off</syntax>
		<since>0.3.1</since>
	</option>

	<option name="tls_enable" type="boolean" default="0">
		<short>Enable SSL/TLS support</short>
		<description><![CDATA[
			Enables/disables TLS/SSL support. tls_certificate and tls_private_key must be set if this is enabled.
		]]></description>
		<since>0.3.0</since>
	</option>

	<option name="tls_require" type="boolean" default="0">
		<short>If SSL/TLS enabled, should it be required</short>
		<description><![CDATA[
			If TLS/SSL support is enabled it can either be optional or mandatory.
			If this option is disabled then SSL/TLS is not required to enter the hub, however it is possible to enter either with or without.
			This option has no effect unless tls_enable is enabled.
		]]></description>
		<since>0.3.0</since>
	</option>

	<option name="tls_require_redirect_addr" type="string" default="">
		<check regexp="(adc|adcs|dchub)://.*" />
		<short>A redirect address in case a client connects using "adc://" when "adcs://" is required.</short>
		<description><![CDATA[
		This is the redirect address used when the hub wants to redirect a client for not using ADCS.
		For instance a hub at adc://adc.example.com might redirect to adcs://adc.example.com
		]]></description>
		<since>0.3.3</since>
	</option>


	<option name="tls_certificate" type="file" default="">
		<short>Certificate file</short>
		<description><![CDATA[
			Path to a TLS/SSL certificate (PEM format).
		]]></description>
		<since>0.3.0</since>
	</option>

	<option name="tls_private_key" type="file" default="">
		<short>Private key file</short>
		<description><![CDATA[
			Path to a TLS/SSL private key (PEM format).
		]]></description>
		<since>0.3.0</since>
	</option>

	<option name="file_acl" type="file" default="">
		<short>File containing access control lists</short>
		<description><![CDATA[
			This is an access control list (acl) file.
			In this file all registered users, bans, etc should be stored.
			If the file is missing, or empty no registered users, or ban records are used.
		]]></description>
		<since>0.1.3</since>
		<example><![CDATA[
			<p>
			Unix users: <br />
				file_acl = "/etc/uhub/users.conf"
			</p>
			<p>
			Windows users: <br />
				file_acl = "c:\uhub\users.conf"
			</p>
		]]></example>
	</option>

	<option name="file_plugins" type="file" default="">
		<short>Plugin configuration file</short>
		<description><![CDATA[
			Plugin configuration file.
		]]></description>
		<since>0.3.3</since>
		<example><![CDATA[
			<p>
				file_plugins = "/etc/uhub/plugins.conf"
			</p>
		]]></example>
	</option>

	<option name="msg_hub_full" type="message" default="Hub is full" >
		<description><![CDATA[This will be sent if the hub is full]]></description>
		<since>0.2.0</since>
	</option>

	<option name="msg_hub_disabled" type="message" default="Hub is disabled" >
		<description><![CDATA[This will be sent if the hub is disabled (hub_enable = off)]]></description>
		<since>0.2.0</since>
	</option>

	<option name="msg_hub_registered_users_only" type="message" default="Hub is for registered users only" >
		<description><![CDATA[This will be sent if the hub is configured to only accept registered users (registered_users_only = yes)]]></description>
		<since>0.2.0</since>
	</option>

	<option name="msg_inf_error_nick_missing" type="message" default="No nickname given">
		<description><![CDATA[This is an error message that will be sent to clients that do not provide a nickname.]]></description>
		<since>0.2.0</since>
	</option>

	<option name="msg_inf_error_nick_multiple" type="message" default="Multiple nicknames given">
		<description><![CDATA[This is an error message that will be sent to clients that provide multiple nicknames.]]></description>
		<since>0.2.0</since>
	</option>

	<option name="msg_inf_error_nick_invalid" type="message" default="Nickname is invalid">
		<description><![CDATA[This is an error message that will be sent to clients that provides an invalid nickname.]]></description>
		<since>0.2.0</since>
	</option>

	<option name="msg_inf_error_nick_long" type="message" default="Nickname too long">
		<description><![CDATA[This is an error message that will be sent to clients that provides a too long nickname.]]></description>
		<since>0.2.0</since>
	</option>

	<option name="msg_inf_error_nick_short" type="message" default="Nickname too short">
		<description><![CDATA[This is an error message that will be sent to clients that provides a too short nickname.]]></description>
		<since>0.2.0</since>
	</option>

	<option name="msg_inf_error_nick_spaces" type="message" default="Nickname cannot start with spaces">
		<description><![CDATA[This is an error message that will be sent to clients that provides a nickname that starts with a space.]]></description>
		<since>0.2.0</since>
	</option>

	<option name="msg_inf_error_nick_bad_chars" type="message" default="Nickname contains invalid characters">
		<description><![CDATA[This is an error message that will be sent to clients that provides invalid characters in the nickname.]]></description>
		<since>0.2.0</since>
	</option>

	<option name="msg_inf_error_nick_not_utf8" type="message" default="Nickname is not valid UTF-8">
		<description><![CDATA[This is an error message that will be sent to clients that provides a nick name that is not valid UTF-8 encoded.]]></description>
		<since>0.2.0</since>
	</option>

	<option name="msg_inf_error_nick_taken" type="message" default="Nickname is already in use">
		<description><![CDATA[This message will be sent to clients if their provided nickname is alredy in use on the hub.]]></description>
		<since>0.2.0</since>
	</option>

	<option name="msg_inf_error_nick_restricted" type="message" default="Nickname cannot be used on this hub">
		<description><![CDATA[This message will be sent to clients if they provide a restricted nickname. Restricted names can be configured in the acl.]]></description>
		<since>0.2.0</since>
	</option>

	<option name="msg_inf_error_cid_invalid" type="message" default="CID is not valid">
		<description><![CDATA[This is an error message that will be sent to clients that provides an invalid client ID (CID)]]></description>
		<since>0.2.0</since>
	</option>

	<option name="msg_inf_error_cid_missing" type="message" default="CID is not specified">
		<description><![CDATA[This is an error message that will be sent to clients that does not provide a client ID (CID)]]></description>
		<since>0.2.0</since>
	</option>

	<option name="msg_inf_error_cid_taken" type="message" default="CID is taken">
		<description><![CDATA[This is an error message that will be sent to clients that provides a client ID (CID) already in use on the hub.]]></description>
		<since>0.2.0</since>
	</option>

	<option name="msg_inf_error_pid_missing" type="message" default="PID is not specified">
		<description><![CDATA[This is an error message that will be sent to clients that does not provide a private ID (PID)]]></description>
		<since>0.2.0</since>
	</option>

	<option name="msg_inf_error_pid_invalid" type="message" default="PID is invalid">
		<description><![CDATA[This is an error message that will be sent to clients that provides an invalid private ID (PID)]]></description>
		<since>0.2.0</since>
	</option>

	<option name="msg_ban_permanently" type="message" default="Banned permanently">
		<description><![CDATA[This message is sent to users if they are banned (see acl)]]></description>
		<since>0.2.0</since>
	</option>

	<option name="msg_ban_temporarily"  type="message" default="Banned temporarily">
		<description><![CDATA[This message is sent to users if they are banned temporarily]]></description>
		<since>0.2.0</since>
	</option>


	<option name="msg_auth_invalid_password" type="message" default="Password is wrong">
		<description><![CDATA[This message is sent to users if they provide a wrong password.]]></description>
		<since>0.2.0</since>
	</option>

	<option name="msg_auth_user_not_found" type="message" default="User not found in password database">
		<description><![CDATA[This message is used if a user cannot be found in the password database.]]></description>
		<since>0.2.0</since> <!-- FIXME? -->
	</option>

	<option name="msg_error_no_memory" type="message" default="No memory">
		<description><![CDATA[Hub has no more memory]]></description>
		<since>0.2.0</since>
	</option>

	<option name="msg_user_share_size_low" type="message" default="User is not sharing enough">
		<description><![CDATA[This message is sent to users if they are not sharing enough.]]></description>
		<since>0.2.0</since>
	</option>

	<option name="msg_user_share_size_high" type="message" default="User is sharing too much">
		<description><![CDATA[This message is sent to users if they are sharing too much.]]></description>
		<since>0.2.0</since>
	</option>

	<option name="msg_user_slots_low" type="message" default="User have too few upload slots.">
		<description><![CDATA[This message is sent to users if they do not have enough upload slots.]]></description>
		<since>0.2.0</since>
	</option>

	<option name="msg_user_slots_high" type="message" default="User have too many upload slots.">
		<description><![CDATA[This message is sent to users if they have too many upload slots.]]></description>
		<since>0.2.0</since>
	</option>

	<option name="msg_user_hub_limit_low" type="message" default="User is on too few hubs.">
		<description><![CDATA[This message is sent to users if they are on too few other hubs.]]></description>
		<since>0.2.0</since>
	</option>

	<option name="msg_user_hub_limit_high" type="message" default="User is on too many hubs.">
		<description><![CDATA[This message is sent to users if they are on too many other hubs.]]></description>
		<since>0.2.0</since>
	</option>

	<option name="msg_user_flood_chat" type="message" default="Chat flood detected, messages are dropped.">
		<description><![CDATA[This message is sent once to users who are flooding the chat.]]></description>
		<since>0.3.1</since>
	</option>

	<option name="msg_user_flood_connect" type="message" default="Connect flood detected, connection refused.">
		<description><![CDATA[This message is sent once to users who are sending too many connect requests too fast.]]></description>
		<since>0.3.1</since>
	</option>

	<option name="msg_user_flood_search" type="message" default="Search flood detected, search is stopped.">
		<description><![CDATA[This message is sent once to users who are sending too many search requests too fast.]]></description>
		<since>0.3.1</since>
	</option>

	<option name="msg_user_flood_update" type="message" default="Update flood detected.">
		<description><![CDATA[This message is sent once to users who are sending too many updates too fast.]]></description>
		<since>0.3.1</since>
	</option>

	<option name="msg_user_flood_extras" type="message" default="Flood detected.">
		<description><![CDATA[This message is sent once to users who are sending too many messages to the hub that neither are chat, searhes, updates nor connection requests..]]></description>
		<since>0.3.1</since>
	</option>

	<option name="msg_proto_no_common_hash" type="message" default="No common hash algorithm.">
		<description><![CDATA[This message is sent if a client connects that does support ADC/1.0 but not a hash algorithm that the hub supports.]]></description>
		<since>0.3.1</since>
	</option>

	<option name="msg_proto_obsolete_adc0" type="message" default="Client is using an obsolete ADC protocol version.">
		<description><![CDATA[This message is sent if a client connects that does not support ADC/1.0, but rather the obsolete ADC/0.1 version.]]></description>
		<since>0.3.1</since>
	</option>

</config>