ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/vendor/ircservices-5.1.24/docs/a.html
Revision: 3389
Committed: Fri Apr 25 14:12:15 2014 UTC (11 years, 4 months ago) by michael
Content type: text/html
File size: 95689 byte(s)
Log Message:
- Imported ircservices-5.1.24

File Contents

# User Rev Content
1 michael 3389 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2     <html>
3     <head>
4     <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
5     <title>IRC Services Manual - Appendix A. List of all configuration directives</title>
6     </head>
7    
8     <body>
9     <a name=top></a>
10     <h1 align=center>IRC Services Manual</h1>
11    
12     <h2 align=center>Appendix A. List of all configuration directives</h2>
13    
14     <p>A-1. <a href="#1">Core configuration directives
15     (<tt>ircservices.conf</tt>)</a>
16     <br>A-2. <a href="#2">Module configuration directives
17     (<tt>modules.conf</tt>)</a>
18     <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#protocol/(insert_protocol_name_here)">protocol/*</a>
19     <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#encryption/md5">encryption/md5</a>
20     <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mail/main">mail/main</a>
21     <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mail/sendmail">mail/sendmail</a>
22     <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mail/smtp">mail/smtp</a>
23     <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#operserv/main">operserv/main</a>
24     <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#operserv/akill">operserv/akill</a>
25     <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#operserv/news">operserv/news</a>
26     <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#operserv/sessions">operserv/sessions</a>
27     <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#operserv/sline">operserv/sline</a>
28     <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#nickserv/main">nickserv/main</a>
29     <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#nickserv/access">nickserv/access</a>
30     <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#nickserv/autojoin">nickserv/autojoin</a>
31     <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#nickserv/link">nickserv/link</a>
32     <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#nickserv/mail-auth">nickserv/mail-auth</a>
33     <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#chanserv/main">chanserv/main</a>
34     <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#memoserv/main">memoserv/main</a>
35     <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#memoserv/forward">memoserv/forward</a>
36     <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#memoserv/ignore">memoserv/ignore</a>
37     <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#statserv/main">statserv/main</a>
38     <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#httpd/main">httpd/main</a>
39     <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#httpd/auth-ip">httpd/auth-ip</a>
40     <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#httpd/auth-password">httpd/auth-password</a>
41     <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#httpd/dbaccess">httpd/dbaccess</a>
42     <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#httpd/debug">httpd/debug</a>
43     <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#httpd/redirect">httpd/redirect</a>
44     <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#httpd/top-page">httpd/top-page</a>
45     <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#misc/devnull">misc/devnull</a>
46     <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#misc/helpserv">misc/helpserv</a>
47     <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#misc/xml-export">misc/xml-export</a>
48     <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#misc/xml-import">misc/xml-import</a>
49     <p align=right><font size=-1><a href=index.html>Table of Contents</a></font>
50    
51    
52     <p><hr>
53    
54     <a name=1></a>
55     <h2 align=center>Core configuration directives
56     (<tt>ircservices.conf</tt>)</h2>
57    
58    
59     <p><hr width="60%">
60    
61     <h3 align=center>Configuration file control</h3>
62    
63     <p><hr width="60%">
64    
65     <a name="IncludeFile"></a>
66     <p><ul><li>
67     <tt><b>IncludeFile</b> <i>filename</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
68     <p>Specifies another file from which to read configuration directives.
69     The file is processed as if its contents were included in place of
70     the IncludeFile directive. If a relative pathname is given, it is
71     relative to the Services data directory. This directive may be used
72     in both ircservices.conf and modules.conf.
73    
74     <p>Note that IncludeFile directives may only be nested to a depth of
75     100 levels, in order to prevent infinite loops.
76    
77     <p>Example: <tt>IncludeFile "local.conf"</tt>
78     </ul>
79    
80     <p><hr width="60%">
81    
82     <h3 align=center>Remote server configuration</h3>
83    
84     <p><hr width="60%">
85    
86     <a name="RemoteServer"></a>
87     <p><ul><li>
88     <tt><b>RemoteServer</b> <i>hostname</i> <i>port</i> <i>password</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
89     <p>Specifies the remote server hostname and port. The hostname may be
90     either a standard Internet hostname or dotted-quad numeric address;
91     the port number must be an integer between 1 and 65535 inclusive.
92     The password is a string which should be enclosed in double quotes
93     if it contains any spaces (or just for clarity). Make sure to
94     uncomment the directive (remove the leading "#") before running
95     Services.
96    
97     <p>The remote server and port may be overridden at runtime with the
98     -remote command-line option. The password may not be set at runtime.
99    
100     <p>Example: <tt>RemoteServer 127.0.0.1 6667 "password"</tt>
101     </ul>
102    
103     <a name="LocalAddress"></a>
104     <p><ul><li>
105     <tt><b>LocalAddress</b> <i>hostname</i> [<i>port</i>]</tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
106     <p>Specifies the local address to bind to before connecting to the
107     remote server. This may be useful on multihomed hosts. The hostname
108     and port number are specified the same way as with the RemoteServer
109     directive. If this is not specified, Services will let the operating
110     system choose the local address. If only a hostname is specified,
111     Services will bind to that address but let the operating system
112     choose the local port number.
113    
114     <p>If you don't know what this means or don't need to use it, just leave
115     the directive commented out.
116    
117     <p>Example: <tt>LocalAddress host.name.here</tt>
118     <br>Example: <tt>LocalAddress host.name.here 6677</tt>
119     </ul>
120    
121     <p><hr width="60%">
122    
123     <h3 align=center>Services identification</h3>
124    
125     <p><hr width="60%">
126    
127     <a name="ServerName"></a>
128     <p><ul><li>
129     <tt><b>ServerName</b> <i>name</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
130     <p>Specifies the IRC server name which Services should use when it
131     connects to the network.
132    
133     <p>Example: <tt>ServerName "services.example.net"</tt>
134     </ul>
135    
136     <a name="ServerDesc"></a>
137     <p><ul><li>
138     <tt><b>ServerDesc</b> <i>text</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
139     <p>Specifies the text which should appear as the server's information in
140     /whois and similar queries.
141    
142     <p>Example: <tt>ServerDesc "Services for IRC Networks"</tt>
143     </ul>
144    
145     <a name="ServiceUser"></a>
146     <p><ul><li>
147     <tt><b>ServiceUser</b> <i>usermask</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
148     <p>Specifies the user@host mask which should be used by the Services
149     pseudoclients.
150    
151     <p>Example: <tt>ServiceUser "services@example.net"</tt>
152     </ul>
153    
154     <p><hr width="60%">
155    
156     <h3 align=center>Unix group and umask to use</h3>
157    
158     <p><hr width="60%">
159    
160     <a name="RunGroup"></a>
161     <p><ul><li>
162     <tt><b>RunGroup</b> <i>group</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
163     <p>Specify the group which Services should run as. <tt><i>group</i></tt> can be
164     either a group name or an equals sign ("=") followed by a group ID.
165     If not specified, Services will use the group ID it is started with.
166     Note that Unix setgid permission on the executable file will do the
167     same thing, but the setgid permission bit is cleared whenever the
168     file is modified, while this setting will always be used (if the
169     system permits it) when Services is started.
170    
171     <p>Example: <tt>RunGroup services</tt>
172     <br>Example: <tt>RunGroup =65534 # A common value for the "nogroup" group</tt>
173     </ul>
174    
175     <a name="Umask"></a>
176     <p><ul><li>
177     <tt><b>Umask</b> <i>umask</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
178     <p>Sets the umask (file creation mask) for Services. This mask is
179     applied to all data files created by Services, including database
180     files (which are recreated on every database update) and the process
181     ID file (PIDFilename, below), and indicates which file permission
182     bits are NOT to be set on those files as an octal value. Common
183     values are given in the examples below. If not specified, the umask
184     in place when Services is started will be used.
185    
186     <p>Example: <tt>Umask 077 # Disallows access to all but file owner
187     # (recommended when RunGroup is not set)</tt>
188     <br>Example: <tt>Umask 007 # Allows access to members of file group as well
189     # (recommended when RunGroup is set)</tt>
190     </ul>
191    
192     <p><hr width="60%">
193    
194     <h3 align=center>Services data filenames</h3>
195    
196     <p><hr width="60%">
197    
198     <p>NOTE: All filenames are relative to the Services data directory.
199    
200     <a name="LogFilename"></a>
201     <p><ul><li>
202     <tt><b>LogFilename</b> <i>filename</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
203     <p>Specifies the name of the file into which Services will log data.
204     May be overridden by the -log command-line option. If this name
205     contains "%y", "%m", or "%d", they will be replaced by the current
206     year, month, or day, respectively, and the logfile will be
207     automatically rotated as needed when the date changes.
208    
209     <p>Example: <tt>LogFilename ircservices.log</tt>
210     </ul>
211    
212     <a name="PIDFilename"></a>
213     <p><ul><li>
214     <tt><b>PIDFilename</b> <i>filename</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
215     <p>Specifies the name of the file containing Services' process ID.
216     Note that if you change this filename, and you are using the
217     "ircservices-chk" crontab script provided with Services, you will
218     need to change the filename in that file as well.
219    
220     <p>Example: <tt>PIDFilename ircservices.pid</tt>
221     </ul>
222    
223     <a name="MOTDFilename"></a>
224     <p><ul><li>
225     <tt><b>MOTDFilename</b> <i>filename</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
226     <p>Specifies the name of the Message of the Day file.
227    
228     <p>Example: <tt>MOTDFilename ircservices.motd</tt>
229     </ul>
230    
231     <a name="LockFilename"></a>
232     <p><ul><li>
233     <tt><b>LockFilename</b> <i>filename</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
234     <p>Specifies the name of the data directory lock file. This file is
235     created in the data directory when Services begins updating
236     databases, and is removed after the databases are updated. If the
237     file already exists when Services tries to update the databases,
238     Services sends a warning (via wallops) and does not write any data.
239    
240     <p>Example: <tt>LockFilename .lock</tt>
241     </ul>
242    
243     <p><hr width="60%">
244    
245     <h3 align=center>Basic functionality</h3>
246    
247     <p><hr width="60%">
248    
249     <a name="NoBouncyModes"></a>
250     <p><ul><li>
251     <tt><b>NoBouncyModes</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
252     <p>Normally, Services will check for the remote IRC server reversing its
253     mode changes, and issue a warning (and stop changing modes) if it
254     detects such a problem. However, the detection will sometimes
255     trigger even when there is no problem, thus preventing channel
256     mode-locks and other features from working. If you specify this
257     directive, Services will not check for mode bouncing, which can avoid
258     this problem if you know your servers are set up correctly.
259    
260     <p>WARNING: setting this option when your servers are incorrectly
261     configured can result in flooding!
262    
263     <p>Example: <tt>NoBouncyModes</tt>
264     </ul>
265    
266     <a name="NoSplitRecovery"></a>
267     <p><ul><li>
268     <tt><b>NoSplitRecovery</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
269     <p>Disables Services' recognition of users returning from netsplits.
270     Normally (on networks with some sort of timestamp support in the IRC
271     server), Services will check via the timestamp field whether a user
272     is the same as the last user who identified for the nick, and allow
273     the user access to that nick without requiring identification again
274     if the timestamps match. Enabling this directive will force all
275     users to re-identify after a netsplit.
276    
277     <p>It's generally easier on users to leave this disabled, but if you
278     suspect one of your servers has been hacked to send false timestamps
279     (or you suspect a bug in Services itself) enabling this directive
280     will eliminate the possibility of one user "stealing" another's nick
281     by pretending to have the same timestamp.
282    
283     <p>You may also want to uncomment this directive if your servers' clocks
284     are very far apart; the less synchronized the servers' clocks are,
285     the greater the possibility of someone "taking over" another person's
286     nick when a server with a fast clock splits.
287    
288     <p>NOTE: On DALnet 4.4.15+, Dreamforge, Bahamut, Unreal, and compatible
289     networks, Services takes advantage of an IRC server feature to assign
290     each user a permanent ID number, which significantly enhances the
291     security of this check. On such networks, you should almost always
292     leave this directive commented out. See section 3-1-2 of the manual
293     for details.
294    
295     <p>Example: <tt>NoSplitRecovery</tt>
296     </ul>
297    
298     <a name="StrictPasswords"></a>
299     <p><ul><li>
300     <tt><b>StrictPasswords</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
301     <p>When enabled, causes Services to perform more stringent checks on
302     passwords. If this is disabled, Services will only disallow a
303     password if it is the same as the entity (nickname or channel name)
304     with which it is associated. When enabled, however, Services will
305     also check that the password is at least five characters long, and
306     disallow it if not.
307    
308     <p>Example: <tt>StrictPasswords</tt>
309     </ul>
310    
311     <a name="NoAdminPasswordCheck"></a>
312     <p><ul><li>
313     <tt><b>NoAdminPasswordCheck</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
314     <p>When enabled, allows Services administrators to set any password
315     for a nickname or channel (including their own), bypassing all of
316     the password checks. When disabled, Services administrators are
317     subject to the same password checks as ordinary users.
318    
319     <p>Example: <tt>NoAdminPasswordCheck</tt>
320     </ul>
321    
322     <a name="BadPassLimit"></a>
323     <p><ul><li>
324     <tt><b>BadPassLimit</b> <i>count</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
325     <p>Sets the number of invalid password tries before Services removes a
326     user from the network. If a user enters <tt><i>count</i></tt> invalid passwords
327     for any Services function or combination of functions during a
328     single IRC session (subject to BadPassTimeout, below), Services will
329     issue a /KILL for the user. If not given, Services will ignore
330     failed password attempts (though they will be logged in any case).
331     Note that entering a correct password will <i>not</i> reset this count.
332    
333     <p>Example: <tt>BadPassLimit 5</tt>
334     </ul>
335    
336     <a name="BadPassTimeout"></a>
337     <p><ul><li>
338     <tt><b>BadPassTimeout</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
339     <p>Sets the time after which invalid passwords are forgotten about. If
340     a user does not enter any incorrect passwords in this amount of time,
341     the incorrect password count will reset to zero. If not given, the
342     timeout will be disabled, and the incorrect password count will never
343     be reset until the user disconnects.
344    
345     <p>Example: <tt>BadPassTimeout 1h</tt>
346     </ul>
347    
348     <a name="BadPassWarning"></a>
349     <p><ul><li>
350     <tt><b>BadPassWarning</b> <i>count</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
351     <p>Sets the number of bad passwords <i>for a single nick or channel</i> that
352     will be accepted before a warning is sent using WALLOPS/GLOBOPS. If
353     not given, no warnings will be sent.
354    
355     <p>Example: <tt>BadPassWarning 5</tt>
356     </ul>
357    
358     <a name="IgnoreDecay"></a>
359     <p><ul><li>
360     <tt><b>IgnoreDecay</b> <i>rate</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
361     <p>Services keeps track of an "ignore level" for each user, based on how
362     often the user sends commands to Services and how long those commands
363     take to execute; this directive specifies how quickly that level
364     returns to zero when the user idles. The parameter is the number of
365     seconds (possibly including a fractional part, like "0.5") it takes
366     for the ignore level to drop by half.
367    
368     <p>If either this directive or IgnoreThreshold is not given, the ignore
369     code is disabled.
370    
371     <p>Example: <tt>IgnoreDecay 5</tt>
372     </ul>
373    
374     <a name="IgnoreThreshold"></a>
375     <p><ul><li>
376     <tt><b>IgnoreThreshold</b> <i>level</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
377     <p>This directive specifies the ignore level at which Services decides
378     that a user is flooding Services and ignores that user.
379    
380     <p>If either this directive or IgnoreDecay is not given, the ignore code
381     is disabled.
382    
383     <p>Example: <tt>IgnoreThreshold 0.1</tt>
384     </ul>
385    
386     <a name="UpdateTimeout"></a>
387     <p><ul><li>
388     <tt><b>UpdateTimeout</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
389     <p>Sets the delay between automatic database updates. This timer is
390     reset by the OperServ UPDATE command.
391    
392     <p>Example: <tt>UpdateTimeout 5m</tt>
393     </ul>
394    
395     <a name="WarningTimeout"></a>
396     <p><ul><li>
397     <tt><b>WarningTimeout</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
398     <p>Sets the interval between sending warning messages for program
399     errors via WALLOPS/GLOBOPS.
400    
401     <p>Example: <tt>WarningTimeout 4h</tt>
402     </ul>
403    
404     <a name="ReadTimeout"></a>
405     <p><ul><li>
406     <tt><b>ReadTimeout</b> <i>seconds</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
407     <p>Sets the timeout period for reading from the network; this is the
408     length of time Services will wait to receive data from an external
409     source if none is available before proceeding with other actions,
410     such as timeout checking. Note that the parameter is a number of
411     seconds, not a "time"; it may also include a fractional part, such as
412     "0.5".
413    
414     <p>This value also influences the period between timeout checks; see the
415     TimeoutCheck directive below.
416    
417     <p>Example: <tt>ReadTimeout 3</tt>
418     </ul>
419    
420     <a name="TimeoutCheck"></a>
421     <p><ul><li>
422     <tt><b>TimeoutCheck</b> <i>seconds</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
423     <p>Sets the (maximum) frequency at which the timeout list is checked.
424     This, combined with ReadTimeout above, determine how accurately timed
425     events, such as nick kills, occur; it also determines how much CPU
426     time Services will use doing this. Higher values will cause less
427     accurate timing but less CPU usage. Note that the parameter is a
428     number of seconds, not a "time", and may include a fractional part.
429    
430     <p>This shouldn't be set any higher than 10 seconds, and 1 second or
431     less is best if your system is powerful enough (or your network small
432     enough) to handle it. 0 will cause the timeout list to be checked
433     every time through the main loop, which provides the most accurate
434     timeout response but may require too much processing on large
435     networks.
436    
437     <p>Note that if this value is smaller than ReadTimeout (above), then the
438     delay between checks of the timeout list may exceed the value given
439     here during periods of little or no network activity.
440    
441     <p>Example: <tt>TimeoutCheck 1.0</tt>
442     </ul>
443    
444     <a name="PingFrequency"></a>
445     <p><ul><li>
446     <tt><b>PingFrequency</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
447     <p>Sets the time after which Services sends a PING message to its uplink
448     if no other network activity has occurred. This can be useful if you
449     have a low-activity network and your server keeps dropping Services'
450     connection with "Ping timeout". If not set, Services will not send
451     PING messages.
452    
453     <p>Example: <tt>PingFrequency 30s</tt>
454     </ul>
455    
456     <a name="MergeChannelModes"></a>
457     <p><ul><li>
458     <tt><b>MergeChannelModes</b> <i>seconds</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
459     <p>WARNING: This directive can have security implications; read
460     carefully before enabling.
461    
462     <p>If this directive is given, it causes Services to not send out
463     channel mode changes immediately, but to wait for the given number of
464     seconds (which may be fractional) and collect all channel modes to
465     send in a single command. For example, if two users enter a channel
466     at nearly the same time and both of them are to be opped, instead of
467     sending two MODE +o commands, Services will send a single MODE +oo
468     command. This option can help with large channels in reducing mode
469     floods, particularly when Services first connects or a server
470     reconnects after a split; however, the sending of the mode command
471     will be slightly delayed, so that the users will have to wait a short
472     time before getting chanop privileges. Furthermore, since this
473     increases the time before deops, etc. occur, users can take advantage
474     of netsplits to "steal ops" for a short time before Services responds.
475    
476     <p>Services will never send out more than six parameters with each MODE
477     command (this limit is part of the IRC protocol specification). If
478     more than six +o, +v, etc. modes are to be sent, Services will send
479     them out six at a time without waiting for the timeout given with
480     this directive. Also, if more than MERGE_CHANMODE_SLOTS (defined in
481     defs.h; default 3) channels receive modes before the timeout expires,
482     those modes will similarly be sent out at that time.
483    
484     <p>Note that the actual sending of the MODE command may be delayed by as
485     much as the TimeoutCheck value; if you use this option, then in
486     general you should set TimeoutCheck to the same (or a smaller) value.
487     Also, on networks with little traffic there may be an additional
488     delay up to the value of ReadTimeout before the modes are sent.
489    
490     <p>If this option is not set, Services will still collect all mode changes
491     resulting from a single event (such as a user joining a channel) and
492     send them in a single message as soon as the event processing finishes.
493    
494     <p>Example: <tt>MergeChannelModes 0.5</tt>
495     </ul>
496    
497     <a name="NetBufferSize"></a>
498     <p><ul><li>
499     <tt><b>NetBufferSize</b> <i>total-size</i> [<i>per-connection-size</i>]</tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
500     <p>Sets the maximum amount of memory used by network connection buffers.
501     If a second parameter is given, it sets the maximum amount of memory
502     used by a single connection; if not given, this defaults to the same
503     as the total limit.
504    
505     <p>Example: <tt>NetBufferSize 4194304 1048576 # 4MB and 1MB</tt>
506     </ul>
507    
508     <a name="NetBufferLimit"></a>
509     <p><ul><li>
510     <tt><b>NetBufferLimit</b> <i>inactive-limit</i> [<i>ignore-limit</i>]</tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
511     <p>Sets the threshold at which Services sends a "busy" reply to PRIVMSGs
512     (<tt><i>inactive-limit</i></tt>) and at which Services ignores PRIVMSGs entirely
513     (<tt><i>ignore-limit</i></tt>). Both thresholds apply to non-operator users only;
514     PRIVMSGs from IRC operators will always be processed normally. A
515     WALLOPS/GLOBOPS message will be sent when Services exceeds or drops
516     below either of the thresholds. If the thresholds are set to the
517     same value, "busy" messages will never be sent.
518    
519     <p>The thresholds are expressed as percentages of the value(s) given for
520     NetBufferSize above. If both a total size limit and a per-connection
521     size limit are specified, the higher of the two percentages is
522     checked against these thresholds.
523    
524     <p>If NetBufferSize is not specified, NetBufferLimit has no effect.
525    
526     <p>Example: <tt>NetBufferLimit 80 95</tt>
527     </ul>
528    
529     <p><hr width="60%">
530    
531     <h3 align=center>Miscellaneous settings</h3>
532    
533     <p><hr width="60%">
534    
535     <p>These are settings which don't belong anywhere else, or which would
536     be module settings but apply to multiple modules.
537    
538     <a name="EncryptionType"></a>
539     <p><ul><li>
540     <tt><b>EncryptionType</b> <i>type</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
541     <p>Specifies the type of encryption to be used when storing new
542     passwords. Changing this has no effect on passwords previously set.
543     If not specified, new passwords will not be encrypted.
544    
545     <p>Example: <tt>EncryptionType md5</tt>
546     </ul>
547    
548     <a name="GuestNickPrefix"></a>
549     <p><ul><li>
550     <tt><b>GuestNickPrefix</b> <i>value</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
551     <p>Sets the nickname prefix used when Services changes a user's
552     nickname (for example, from the "NSForceNickChange" NickServ option).
553     A unique series of digits will be appended to this string to form the
554     new nickname. This option is ignored for IRC servers which do not
555     allow remote clients' nicknames to be forcibly changed, but it must
556     be set to something anyway.
557    
558     <p>Example: <tt>GuestNickPrefix "Guest"</tt>
559     </ul>
560    
561     <a name="RejectEmail"></a>
562     <p><ul><li>
563     <tt><b>RejectEmail</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
564     <p>Specifies E-mail addresses (which may include wildcards) which are
565     not allowed to be used in nickname or channel registration. This
566     directive can be given multiple times to disallow multiple addresses
567     or address masks.
568    
569     <p>Example: <tt>RejectEmail *@example.com</tt>
570     </ul>
571    
572     <a name="DefTimeZone"></a>
573     <p><ul><li>
574     <tt><b>DefTimeZone</b> <i>time-zone</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
575     <p>Sets the time zone to be used for displaying the time of day with
576     certain commands, such as NickServ INFO. If not given, the system's
577     default time zone (the value of the TZ environment variable) is used.
578     <tt><i>time-zone</i></tt> is the name of the time zone to be used; consult your
579     system manual for how time zone names are specified on your system.
580     Note that users can set time zones for their own nicknames
581     independently; this setting is only used as a default. The
582     following example will cause Services to use United States Pacific
583     time on most systems:
584    
585     <p>Example: <tt>DefTimeZone PST8PDT</tt>
586     </ul>
587    
588     <a name="ListMax"></a>
589     <p><ul><li>
590     <tt><b>ListMax</b> <i>count</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
591     <p>Specifies the maximum number of nicks to be returned for commands
592     that return a list of items, such as NickServ LIST and LISTEMAIL
593     or OperServ AKILL LIST.
594    
595     <p>Example: <tt>ListMax 50</tt>
596     </ul>
597    
598     <a name="LogMaxUsers"></a>
599     <p><ul><li>
600     <tt><b>LogMaxUsers</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
601     <p>Causes Services to write a message to the log every time a new
602     user maximum is reached.
603    
604     <p>Example: <tt>LogMaxUsers</tt>
605     </ul>
606    
607     <a name="EnableGetpass"></a>
608     <p><ul><li>
609     <tt><b>EnableGetpass</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
610     <p>Allows use of the NickServ and ChanServ GETPASS commands.
611    
612     <p>Example: <tt>EnableGetpass</tt>
613     </ul>
614    
615     <a name="WallAdminPrivs"></a>
616     <p><ul><li>
617     <tt><b>WallAdminPrivs</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
618     <p>Causes Services to send a WALLOPS/GLOBOPS whenever a Services
619     administrator uses those privileges to perform a NickServ or
620     ChanServ operation (such as setting a nickname or channel
621     password).
622    
623     <p>Example: <tt>WallAdminPrivs</tt>
624     </ul>
625    
626     <a name="LoadLanguageText"></a>
627     <p><ul><li>
628     <tt><b>LoadLanguageText</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
629     <p>Loads replacement text for language-specific strings from the given
630     file. Relative pathnames are relative to the Services data
631     directory. See <a href="3.html#9">section 3-9</a> of the manual for
632     the file format.
633    
634     <p>Example: <tt>LoadLanguageText mytext.l</tt>
635     </ul>
636    
637     <p><hr width="60%">
638    
639     <h3 align=center>Modules to load</h3>
640    
641     <p><hr width="60%">
642    
643     <a name="LoadModule"></a>
644     <p><ul><li>
645     <tt><b>LoadModule</b> module-name</tt>
646    
647     <p>Causes Services to load the specified module.
648    
649     <p>Example: <tt>LoadModule nickserv/main</tt>
650     </ul>
651    
652     <p align=right><font size="-1"><a href="#top">Back to top</a></font>
653    
654     <p><hr>
655    
656     <a name=2></a>
657     <h2 align=center>Module configuration directives
658     (<tt>modules.conf</tt>)</h2>
659    
660     <p><hr width="60%">
661    
662     <h3 align=center>Protocol module settings</h3>
663    
664     <p><hr width="60%">
665    
666     <p>Enter the protocol name here, then uncomment the appropriate directives.
667     <a name="protocol/(insert_protocol_name_here)"></a>
668     <p><font size="+1"><b>protocol/(insert protocol name here)</b></font>
669    
670     <a name="protocol/(insert_protocol_name_here).NetworkDomain"></a>
671     <p><ul><li>
672     <tt><b>NetworkDomain</b> domain</tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
673     <p>Protocols: bahamut, dalnet, dreamforge, monkey, ptlink, rfc1459,
674     trircd, ts8, undernet-p9
675    
676     <p>Specifies the common domain, if any, shared by all servers on
677     your IRC network; this is required for global notices to function
678     properly. Make sure you do not include a "." before the domain
679     name. If you do not specify this, some or all users may not
680     receive global notices.
681    
682     <p>Example: <tt>NetworkDomain "example.net"</tt>
683     </ul>
684    
685     <a name="protocol/(insert_protocol_name_here).ServerNumeric"></a>
686     <p><ul><li>
687     <tt><b>ServerNumeric</b> <i>numeric</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
688     <p>Protocols: unreal
689    
690     <p>Makes Services send a numeric to the remote server on connect.
691     This must be a value between 1 and 254, and must not be in use by
692     any other IRC server on the network. If you do not want to use a
693     numeric for Services, comment the directive out.
694    
695     <p>Example: <tt>ServerNumeric 1</tt>
696     </ul>
697    
698     <a name="protocol/(insert_protocol_name_here).SetServerTimes"></a>
699     <p><ul><li>
700     <tt><b>SetServerTimes</b> [<i>time</i>]</tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
701     <p>Protocols: unreal
702    
703     <p>Causes Services to synchronize all servers' internal clocks with
704     its own; this can help avoid potential problems with users
705     improperly gaining chanops, particularly during netsplits. If a
706     time parameter is given, Services will repeatedly synchronize the
707     servers clocks at that interval, otherwise synchronization will
708     only be performed at startup.
709    
710     <p>Example: <tt>SetServerTimes</tt>
711     <br>Example: <tt>SetServerTimes 12h</tt>
712     </ul>
713    
714     <a name="protocol/(insert_protocol_name_here).CSSetChannelTime"></a>
715     <p><ul><li>
716     <tt><b>CSSetChannelTime</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
717     <p>Protocols: bahamut, monkey, trircd, unreal
718    
719     <p>When enabled, causes Services to set the "creation time" (the
720     time at which the first user joined the channel) of a registered
721     channel to the time at which the channel was registered. This
722     can help prevent spurious mode changes and "op hacking" when a
723     split server reconnects to the network. When using Unreal,
724     however, the first user to join the channel when it is empty gets
725     set -o and +o in quick succession due to limitations of the IRC
726     server; if this bothers you, do not enable this option. Also, some
727     servers (such as Bahamut) generate server notices each time a
728     channel's timestamp is changed, which can be safely ignored.
729    
730     <p>Example: <tt>CSSetChannelTime</tt>
731     </ul>
732    
733     <p><hr width="60%">
734    
735     <h3 align=center>Database module configuration</h3>
736    
737     <p><hr width="60%">
738     <a name="database/standard"></a>
739     <p><font size="+1"><b>database/standard</b></font>
740    
741     <p>This module has no configurable settings.
742     <a name="database/version4"></a>
743     <p><font size="+1"><b>database/version4</b></font>
744    
745     <a name="database/version4.NickServDB"></a>
746     <p><ul><li>
747     <tt><b>NickServDB</b> <i>name</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
748     <p>Specifies the filename used for the registered nickname databases.
749    
750     <p>Example: <tt>NickServDB "nick.db"</tt>
751     </ul>
752    
753     <a name="database/version4.ChanServDB"></a>
754     <p><ul><li>
755     <tt><b>ChanServDB</b> <i>name</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
756     <p>Specifies the filename used for the registered channel databases.
757    
758     <p>Example: <tt>ChanServDB "chan.db"</tt>
759     </ul>
760    
761     <a name="database/version4.OperServDB"></a>
762     <p><ul><li>
763     <tt><b>OperServDB</b> <i>name</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
764     <p>Specifies the filename used for the OperServ database.
765    
766     <p>Example: <tt>OperServDB "oper.db"</tt>
767     </ul>
768    
769     <a name="database/version4.NewsDB"></a>
770     <p><ul><li>
771     <tt><b>NewsDB</b> <i>name</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
772     <p>Specifies the filename used for the news database.
773    
774     <p>Example: <tt>NewsDB "news.db"</tt>
775     </ul>
776    
777     <a name="database/version4.AutokillDB"></a>
778     <p><ul><li>
779     <tt><b>AutokillDB</b> <i>name</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
780     <p>Specifies the filename used for the autokill and autokill
781     exclusion databases.
782    
783     <p>Example: <tt>AutokillDB "akill.db"</tt>
784     </ul>
785    
786     <a name="database/version4.ExceptionDB"></a>
787     <p><ul><li>
788     <tt><b>ExceptionDB</b> <i>name</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
789     <p>Specifies the filename used for the session exception database.
790    
791     <p>Example: <tt>ExceptionDB "exception.db"</tt>
792     </ul>
793    
794     <a name="database/version4.SlineDB"></a>
795     <p><ul><li>
796     <tt><b>SlineDB</b> <i>name</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
797     <p>Specifies the filename used for the SGline, SQline, and SZline
798     databases.
799    
800     <p>Example: <tt>SlineDB "sline.db"</tt>
801     </ul>
802    
803     <a name="database/version4.StatServDB"></a>
804     <p><ul><li>
805     <tt><b>StatServDB</b> <i>name</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
806     <p>Specifies the filename used for the StatServ server statistics
807     database.
808    
809     <p>Example: <tt>StatServDB "stats.db"</tt>
810     </ul>
811    
812     <p><hr width="60%">
813    
814     <h3 align=center>Encryption module configuration</h3>
815    
816     <p><hr width="60%">
817    
818     <p>No encryption modules have any configurable settings.
819    
820     <p><hr width="60%">
821    
822     <h3 align=center>Encryption module configuration</h3>
823    
824     <p><hr width="60%">
825     <a name="encryption/md5"></a>
826     <p><font size="+1"><b>encryption/md5</b></font>
827    
828     <a name="encryption/md5.EnableAnopeWorkaround"></a>
829     <p><ul><li>
830     <tt><b>EnableAnopeWorkaround</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
831     <p>Enables a workaround for encrypted passwords imported from the
832     Anope or Epona programs, which have a bug (inherited from an old
833     version of Services) causing passwords to be incorrectly
834     encrypted.
835    
836     <p>WARNING: Enabling this option may reduce the security of
837     encrypted passwords! If you need this option for importing an
838     Anope or Epona database, it is recommended that you enable this
839     only long enough to ensure that all users have used SET PASSWORD
840     to reset their passwords (possibly to the same password).
841    
842     <p>Example: <tt>EnableAnopeWorkaround</tt>
843     </ul>
844    
845     <p><hr width="60%">
846    
847     <h3 align=center>Mail module configuration</h3>
848    
849     <p><hr width="60%">
850     <a name="mail/main"></a>
851     <p><font size="+1"><b>mail/main</b></font>
852    
853     <a name="mail/main.FromAddress"></a>
854     <p><ul><li>
855     <tt><b>FromAddress</b> <i>email</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
856     <p>Specifies the E-mail address to be used on outgoing mail. Make
857     sure you enter the correct address here before uncommenting the
858     directive.
859    
860     <p>Example: <tt>FromAddress services@example.net</tt>
861     </ul>
862    
863     <a name="mail/main.FromName"></a>
864     <p><ul><li>
865     <tt><b>FromName</b> <i>name</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
866     <p>Specifies the "real name" to be used on outgoing mail. Make sure
867     to include quotes if this is a multi-word string.
868    
869     <p>Example: <tt>FromName "ExampleNet Services"</tt>
870     </ul>
871    
872     <a name="mail/main.MaxMessages"></a>
873     <p><ul><li>
874     <tt><b>MaxMessages</b> <i>count</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
875     <p>Specifies the maximum number of messages that are permitted to be
876     in transit simultaneously. Attempts to send messages above this
877     limit will be rejected with a "no resources" error. If not
878     given, no limit is enforced.
879    
880     <p>Example: <tt>MaxMessages 100</tt>
881     </ul>
882    
883     <a name="mail/main.SendTimeout"></a>
884     <p><ul><li>
885     <tt><b>SendTimeout</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
886     <p>Specifies the amount of time Services will wait before aborting a
887     mail message in the process of being sent. If not specified,
888     message sends will not time out.
889    
890     <p>Example: <tt>SendTimeout 1m</tt>
891     </ul>
892     <a name="mail/sendmail"></a>
893     <p><font size="+1"><b>mail/sendmail</b> (Sendmail-based low-level module)</font>
894    
895     <a name="mail/sendmail.SendmailPath"></a>
896     <p><ul><li>
897     <tt><b>SendmailPath</b> <i>path</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
898     <p>Specifies the full path to the "sendmail" program to be used to
899     send mail. This program must accept a command-line option "-t"
900     to extract recipient addresses from a mail message given on
901     standard input (the standard "sendmail" program does this).
902     The program will be executed with the same environment as
903     Services itself is run with.
904    
905     <p>Example: <tt>SendmailPath /usr/lib/sendmail</tt>
906     </ul>
907     <a name="mail/smtp"></a>
908     <p><font size="+1"><b>mail/smtp</b> (SMTP-based low-level module)</font>
909    
910     <a name="mail/smtp.RelayHost"></a>
911     <p><ul><li>
912     <tt><b>RelayHost</b> <i>hostname</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
913     <p>Specifies the host to which all mail will be sent, e.g. your
914     local mail server. This directive may be given multiple times to
915     specify backup servers; the servers will be tried in the order
916     listed.
917    
918     <p>Example: <tt>RelayHost mail.example.net</tt>
919     </ul>
920    
921     <a name="mail/smtp.SMTPName"></a>
922     <p><ul><li>
923     <tt><b>SMTPName</b> <i>hostname</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
924     <p>Specifies the hostname Services will use in the HELO command to
925     the remote server. Normally, this should be set to the same as
926     the hostname of the machine Services runs on.
927    
928     <p>Example: <tt>SMTPName services.example.net</tt>
929     </ul>
930    
931     <p><hr width="60%">
932    
933     <h3 align=center>OperServ configuration</h3>
934    
935     <p><hr width="60%">
936     <a name="operserv/main"></a>
937     <p><font size="+1"><b>operserv/main</b></font>
938    
939     <a name="operserv/main.OperServName"></a>
940     <p><ul><li>
941     <tt><b>OperServName</b> <i>nick</i> <i>string</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
942     <p>Specifies the nickname (first parameter) and "real" name (second
943     parameter) used by the OperServ pseudoclient.
944    
945     <p>Example: <tt>OperServName "OperServ" "Operator Server"</tt>
946     </ul>
947    
948     <a name="operserv/main.GlobalName"></a>
949     <p><ul><li>
950     <tt><b>GlobalName</b> <i>nick</i> <i>string</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
951     <p>Specifies the nickname (first parameter) and "real" name (second
952     parameter) used by the global-noticer pseudoclient. This client
953     is used to send messages from the OperServ GLOBAL command and
954     news messages.
955    
956     <p>Example: <tt>GlobalName "Global" "Global Noticer"</tt>
957     </ul>
958    
959     <a name="operserv/main.ServicesRoot"></a>
960     <p><ul><li>
961     <tt><b>ServicesRoot</b> <i>nick</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
962     <p>Specifies the Services "super-user". The super-user, or "root" as
963     in Unix terminology, is the only user who can add or delete
964     Services admins.
965    
966     <p>This is commented out by default; make sure you insert the correct
967     nick before uncommenting it.
968    
969     <p>Example: <tt>ServicesRoot SuperUser</tt>
970     </ul>
971    
972     <a name="operserv/main.KillClonesAutokill"></a>
973     <p><ul><li>
974     <tt><b>KillClonesAutokill</b> <i>expiry-time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
975     <p>Causes Services to add an autokill for hosts killed using the
976     KILLCLONES command, to prevent the clients from immediately
977     reconnecting. The expiry-time parameter sets the expiry time for
978     the autokill.
979    
980     <p>If the autokill module (operserv/akill) is not loaded, this
981     directive has no effect.
982    
983     <p>Example: <tt>KillClonesAutokill 30m</tt>
984     </ul>
985    
986     <a name="operserv/main.AllowRaw"></a>
987     <p><ul><li>
988     <tt><b>AllowRaw</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[DISCOURAGED]
989     <p>Enables use of the OperServ RAW command. This command can be
990     used for testing IRC server features and other limited uses, but
991     can also wreak havoc on a network if used improperly; use with
992     extreme caution.
993    
994     <p>Example: <tt>AllowRaw</tt>
995     </ul>
996    
997     <a name="operserv/main.WallOper"></a>
998     <p><ul><li>
999     <tt><b>WallOper</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1000     <p>Causes Services to send a WALLOPS/GLOBOPS when a user becomes an
1001     IRC operator. Note that this can cause WALLOPS floods when
1002     Services first connects to the network.
1003    
1004     <p>Example: <tt>WallOper</tt>
1005     </ul>
1006    
1007     <a name="operserv/main.WallBadOS"></a>
1008     <p><ul><li>
1009     <tt><b>WallBadOS</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1010     <p>Causes Services to send a WALLOPS/GLOBOPS if a non-IRC-operator
1011     tries to use OperServ.
1012    
1013     <p>Example: <tt>WallBadOS</tt>
1014     </ul>
1015    
1016     <a name="operserv/main.WallOSChannel"></a>
1017     <p><ul><li>
1018     <tt><b>WallOSChannel</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1019     <p>Cause Services to send a WALLOPS/GLOBOPS on use of any of the
1020     MODE, KICK, CLEARMODES, and CLEARCHAN commands.
1021    
1022     <p>Example: <tt>WallOSChannel</tt>
1023     </ul>
1024    
1025     <a name="operserv/main.WallSU"></a>
1026     <p><ul><li>
1027     <tt><b>WallSU</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1028     <p>Causes Services to send a WALLOPS/GLOBOPS whenever a Services
1029     admin successfully obtains Services super-user privileges with
1030     the SU command. Note that Services will always send a
1031     WALLOPS/GLOBOPS when an incorrect password is given to the SU
1032     command or a user without Services admin privileges attempts to
1033     use the SU command.
1034    
1035     <p>Example: <tt>WallSU</tt>
1036     </ul>
1037     <a name="operserv/akill"></a>
1038     <p><font size="+1"><b>operserv/akill</b> (Autokill module settings)</font>
1039    
1040     <a name="operserv/akill.AutokillReason"></a>
1041     <p><ul><li>
1042     <tt><b>AutokillReason</b> <i>reason</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1043     <p>The reason to use when sending out KILLs for autokills and with
1044     the actual AKILL/GLINE commands. Some servers show this reason
1045     to users if their connection is rejected because they match an
1046     autokill. If you include a "%s" in the reason, it will be
1047     replaced by the reason given with the autokill itself.
1048    
1049     <p>Example: <tt>AutokillReason "You are banned from this network"</tt>
1050     <br>Example: <tt>AutokillReason "Autokilled: %s"</tt>
1051     </ul>
1052    
1053     <a name="operserv/akill.AutokillExpiry"></a>
1054     <p><ul><li>
1055     <tt><b>AutokillExpiry</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
1056     <p>Sets the default expiry time for autokills. If not defined,
1057     autokills will not expire by default.
1058    
1059     <p>Example: <tt>AutokillExpiry 30d</tt>
1060     </ul>
1061    
1062     <a name="operserv/akill.AkillChanExpiry"></a>
1063     <p><ul><li>
1064     <tt><b>AkillChanExpiry</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1065     <p>Sets the default expiry time for autokills added by an AKILLCHAN
1066     command.
1067    
1068     <p>Example: <tt>AkillChanExpiry 7d</tt>
1069     </ul>
1070    
1071     <a name="operserv/akill.OperMaxExpiry"></a>
1072     <p><ul><li>
1073     <tt><b>OperMaxExpiry</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1074     <p>Sets the maximum expiry time usable by Services operators. If
1075     not defined, Services operators can set any expiry time, just as
1076     Services administrators can. If this is set to a value lower
1077     than AutokillExpiry or AkillChanExpiry, autokills entered without
1078     an expiry time will use this setting instead of the relevant
1079     default.
1080    
1081     <p>Example: <tt>OperMaxExpiry 7d</tt>
1082     </ul>
1083    
1084     <a name="operserv/akill.EnableExclude"></a>
1085     <p><ul><li>
1086     <tt><b>EnableExclude</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1087     <p>Causes autokill exclusions to be usable. If not given, the
1088     EXCLUDE command will be unavailable, and any autokill
1089     exclusions previously added will be ignored.
1090    
1091     <p>NOTICE: On IRC servers without autokill exclusion functionality
1092     (such as that in trircd version 5), this will cause autokills to
1093     not be sent to the server; instead, Services will issue a KILL
1094     for each user that matches an autokill and does not match any
1095     autokill exclusions. This is necessary to allow Services to
1096     apply exclusions to users before they are disconnected.
1097    
1098     <p>Example: <tt>EnableExclude</tt>
1099     </ul>
1100    
1101     <a name="operserv/akill.ExcludeReason"></a>
1102     <p><ul><li>
1103     <tt><b>ExcludeReason</b> <i>reason</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED if EnableExclude set]
1104     <p>The reason to use when sending out EXCLUDE commands on servers
1105     which support them. If you include a "%s" in the reason, it will
1106     be replaced by the reason given with the exclusion itself.
1107    
1108     <p>Example: <tt>ExcludeReason "IRC operator host"</tt>
1109     <br>Example: <tt>ExcludeReason "Excluded from autokills: %s"</tt>
1110     </ul>
1111    
1112     <a name="operserv/akill.ExcludeExpiry"></a>
1113     <p><ul><li>
1114     <tt><b>ExcludeExpiry</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1115     <p>Sets the default expiry time for autokill exclusions. If not
1116     defined, autokill exclusions will not expire by default.
1117    
1118     <p>Example: <tt>ExcludeExpiry 30d</tt>
1119     </ul>
1120    
1121     <a name="operserv/akill.ImmediatelySendAutokill"></a>
1122     <p><ul><li>
1123     <tt><b>ImmediatelySendAutokill</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1124     <p>Causes OperServ to inform all servers of a new autokill the
1125     moment it is added, rather than waiting for someone to match it
1126     first. (Note that autokill exclusions are always sent to the
1127     server immediately; this is to avoid an autokill being triggered
1128     by a non-excluded match before the exclusion has been sent,
1129     resulting in the excluded users being autokilled as well.)
1130    
1131     <p>Example: <tt>ImmediatelySendAutokill</tt>
1132     </ul>
1133    
1134     <a name="operserv/akill.WallOSAkill"></a>
1135     <p><ul><li>
1136     <tt><b>WallOSAkill</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1137     <p>Cause Services to send a WALLOPS/GLOBOPS on use of the AKILL or
1138     EXCLUDE command to add or delete autokills or exclusions.
1139    
1140     <p>Example: <tt>WallOSAkill</tt>
1141     </ul>
1142    
1143     <a name="operserv/akill.WallAutokillExpire"></a>
1144     <p><ul><li>
1145     <tt><b>WallAutokillExpire</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1146     <p>Causes Services to send a WALLOPS/GLOBOPS whenever an autokill
1147     or autokill exclusion expires.
1148    
1149     <p>Example: <tt>WallAutokillExpire</tt>
1150     </ul>
1151     <a name="operserv/news"></a>
1152     <p><font size="+1"><b>operserv/news</b> (News module settings)</font>
1153    
1154     <p>This module has no configurable settings.
1155     <a name="operserv/sessions"></a>
1156     <p><font size="+1"><b>operserv/sessions</b> (Sessions module settings)</font>
1157    
1158     <a name="operserv/sessions.DefSessionLimit"></a>
1159     <p><ul><li>
1160     <tt><b>DefSessionLimit</b> <i>limit</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
1161     <p>Default session limit per host. Once a host reaches its session
1162     limit, all clients attempting to connect from that host will be
1163     killed. A value of zero (or omitting the option entirely) means
1164     an unlimited session limit.
1165    
1166     <p>Example: <tt>DefSessionLimit 3</tt>
1167     </ul>
1168    
1169     <a name="operserv/sessions.MaxSessionLimit"></a>
1170     <p><ul><li>
1171     <tt><b>MaxSessionLimit</b> <i>limit</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1172     <p>The maximum session limit that may be set for a host in an
1173     exception.
1174    
1175     <p>Example: <tt>MaxSessionLimit 100</tt>
1176     </ul>
1177    
1178     <a name="operserv/sessions.ExceptionExpiry"></a>
1179     <p><ul><li>
1180     <tt><b>ExceptionExpiry</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
1181     <p>Sets the default expiry time for exceptions. If not set,
1182     exceptions will not expire by default.
1183    
1184     <p>Example: <tt>ExceptionExpiry 1d</tt>
1185     </ul>
1186    
1187     <a name="operserv/sessions.SessionLimitExceeded"></a>
1188     <p><ul><li>
1189     <tt><b>SessionLimitExceeded</b> <i>message</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1190     <p>The message that will be NOTICE'd to a user just before they are
1191     removed from the network because their host's session limit has
1192     been exceeded. It may be used to give a slightly more
1193     descriptive reason for the impending kill as opposed to simply
1194     "Session limit exceeded". If this is commented out, nothing will
1195     be sent.
1196    
1197     <p>Example: <tt>SessionLimitExceeded "The session limit for your host <b>%s</b> has been exceeded."</tt>
1198     </ul>
1199    
1200     <a name="operserv/sessions.SessionLimitDetailsLoc"></a>
1201     <p><ul><li>
1202     <tt><b>SessionLimitDetailsLoc</b> <i>message</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1203     <p>Same as above, but should be used to provide a website address
1204     where users can find out more about session limits and how to go
1205     about applying for an exception. If this is commented out,
1206     nothing will be sent.
1207    
1208     <p>This option has been intentionally commented out in an effort to
1209     remind you to change the URL it contains. It is recommended that
1210     you supply an address/URL where people can get help regarding
1211     session limits.
1212    
1213     <p>Example: <tt>SessionLimitDetailsLoc "Please visit <b>http://your.website.url/</b> for more information about session limits."</tt>
1214     </ul>
1215    
1216     <a name="operserv/sessions.SessionLimitAutokill"></a>
1217     <p><ul><li>
1218     <tt><b>SessionLimitAutokill</b> <i>max-kill-interval</i> <i>num-kills</i> <i>expiry</i> <i>reason</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1219     <p>With this option, Services will add an automatic autokill when
1220     the same host's session limit is exceeded repeatedly in a short
1221     period of time. If not given, autokills will not be
1222     automatically added (Services will just keep killing users from
1223     the host as they come on). Note that the autokill module
1224     (operserv/akill) must be loaded for this to work.
1225    
1226     <p><tt><i>max-kill-interval</i></tt> sets the maximum interval which can elapse
1227     between kills before the kill counter is reset.
1228    
1229     <p><tt><i>num-kills</i></tt> sets the number of kills before an autokill is added.
1230    
1231     <p><tt><i>expiry</i></tt> sets the expiration time for the autokill.
1232    
1233     <p><tt><i>reason</i></tt> sets the reason for the autokill.
1234    
1235     <p>Example: <tt>SessionLimitAutokill 10s 5 30m "Exceeding session limit"</tt>
1236     </ul>
1237    
1238     <a name="operserv/sessions.WallOSException"></a>
1239     <p><ul><li>
1240     <tt><b>WallOSException</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1241     <p>Cause Services to send a WALLOPS/GLOBOPS on use of the EXCEPTION
1242     command to add or delete a session exception.
1243    
1244     <p>Example: <tt>WallOSException</tt>
1245     </ul>
1246    
1247     <a name="operserv/sessions.WallExceptionExpire"></a>
1248     <p><ul><li>
1249     <tt><b>WallExceptionExpire</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1250     <p>Causes Services to send a WALLOPS/GLOBOPS whenever a session
1251     limit exception expires.
1252    
1253     <p>Example: <tt>WallExceptionExpire</tt>
1254     </ul>
1255     <a name="operserv/sline"></a>
1256     <p><font size="+1"><b>operserv/sline</b> (S-line module settings)</font>
1257    
1258     <a name="operserv/sline.SGlineReason"></a>
1259     <p><ul><li>
1260     <tt><b>SGlineReason</b> <i>reason</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1261     <p>The reason to use when sending out KILLs and SGLINE commands.
1262     Some servers show this reason to users if their connection is
1263     rejected because they match an SGline. If you include a "%s"
1264     in the reason, it will be replaced by the reason given with the
1265     SGline entry itself.
1266    
1267     <p>Example: <tt>SGlineReason "Invalid real name"
1268     #SGlineReason "Invalid real name: %s"</tt>
1269     </ul>
1270    
1271     <a name="operserv/sline.SQlineReason"></a>
1272     <p><ul><li>
1273     <tt><b>SQlineReason</b> <i>reason</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1274     <p>The reason to use when sending out KILLs and SQLINE commands.
1275     Some servers show this reason to users if their connection is
1276     rejected because they match an SQline. If you include a "%s"
1277     in the reason, it will be replaced by the reason given with the
1278     SQline entry itself.
1279    
1280     <p>Example: <tt>SQlineReason "Reserved nickname"
1281     #SQlineReason "Reserved nickname: %s"</tt>
1282     </ul>
1283    
1284     <a name="operserv/sline.SZlineReason"></a>
1285     <p><ul><li>
1286     <tt><b>SZlineReason</b> <i>reason</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1287     <p>The reason to use when sending out KILLs and SZLINE commands.
1288     Some servers show this reason to users if their connection is
1289     rejected because they match an SZline. If you include a "%s"
1290     in the reason, it will be replaced by the reason given with the
1291     SZline entry itself.
1292    
1293     <p>Example: <tt>SZlineReason "You are banned from this network"</tt>
1294     <br>Example: <tt>SZlineReason "Z-lined: %s"</tt>
1295     </ul>
1296    
1297     <a name="operserv/sline.ImmediatelySendSline"></a>
1298     <p><ul><li>
1299     <tt><b>ImmediatelySendSline</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1300     <p>Causes OperServ to inform all servers of a new S-line the moment
1301     it is added, rather than waiting for someone to match it first.
1302    
1303     <p>Example: <tt>ImmediatelySendSline</tt>
1304     </ul>
1305    
1306     <a name="operserv/sline.SGlineExpiry"></a>
1307     <p><ul><li>
1308     <tt><b>SGlineExpiry</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1309     <p>Sets the default expiry time for SGlines. If not defined,
1310     SGlines of that type will not expire by default.
1311    
1312     <p>Example: <tt>SGlineExpiry 30d</tt>
1313     </ul>
1314    
1315     <a name="operserv/sline.SQlineExpiry"></a>
1316     <p><ul><li>
1317     <tt><b>SQlineExpiry</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1318     <p>Sets the default expiry time for SQlines. If not defined,
1319     SQlines of that type will not expire by default.
1320    
1321     <p>Example: <tt>SQlineExpiry 30d</tt>
1322     </ul>
1323    
1324     <a name="operserv/sline.SZlineExpiry"></a>
1325     <p><ul><li>
1326     <tt><b>SZlineExpiry</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1327     <p>Sets the default expiry time for SZlines. If not defined,
1328     SZlines of that type will not expire by default.
1329    
1330     <p>Example: <tt>SZlineExpiry 30d</tt>
1331     </ul>
1332    
1333     <a name="operserv/sline.WallOSSline"></a>
1334     <p><ul><li>
1335     <tt><b>WallOSSline</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1336     <p>Cause Services to send a WALLOPS/GLOBOPS on use of the SGLINE,
1337     SQLINE, or SZLINE commands to add or delete S-lines.
1338    
1339     <p>Example: <tt>WallOSSline</tt>
1340     </ul>
1341    
1342     <a name="operserv/sline.WallSlineExpire"></a>
1343     <p><ul><li>
1344     <tt><b>WallSlineExpire</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1345     <p>Causes Services to send a WALLOPS/GLOBOPS whenever an autokill
1346     expires.
1347    
1348     <p>Example: <tt>WallSlineExpire</tt>
1349     </ul>
1350    
1351     <a name="operserv/sline.SQlineIgnoreOpers"></a>
1352     <p><ul><li>
1353     <tt><b>SQlineIgnoreOpers</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1354     <p>Allows IRC operators to use nicknames that match an SQline.
1355     (Note that this may not function properly if the IRC server does
1356     not allow IRC operators to use such nicknames.)
1357    
1358     <p>Example: <tt>SQlineIgnoreOpers</tt>
1359     </ul>
1360    
1361     <a name="operserv/sline.SQlineKill"></a>
1362     <p><ul><li>
1363     <tt><b>SQlineKill</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1364     <p>Normally, users whose nickname matches an SQline will have their
1365     nickname changed (on servers which support forced nickname
1366     changing) instead of being killed. Setting this option causes
1367     such users to be killed even on such servers, which may be
1368     helpful for dealing with clone attacks.
1369    
1370     <p>Note that if this option is set, Services will not send SQlines
1371     to the IRC network; if it did, the IRC servers would step in and
1372     send the user an "invalid nickname" message before Services had a
1373     chance to kill the user.
1374    
1375     <p>Example: <tt>SQlineKill</tt>
1376     </ul>
1377    
1378     <p><hr width="60%">
1379    
1380     <h3 align=center>NickServ configuration</h3>
1381    
1382     <p><hr width="60%">
1383     <a name="nickserv/main"></a>
1384     <p><font size="+1"><b>nickserv/main</b></font>
1385    
1386     <a name="nickserv/main.NickServName"></a>
1387     <p><ul><li>
1388     <tt><b>NickServName</b> <i>nick</i> <i>string</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1389     <p>Specifies the nickname (first parameter) and "real" name (second
1390     parameter) used by the NickServ pseudoclient.
1391    
1392     <p>Example: <tt>NickServName "NickServ" "Nickname Server"</tt>
1393     </ul>
1394    
1395     <a name="nickserv/main.NSEnableRegister"></a>
1396     <p><ul><li>
1397     <tt><b>NSEnableRegister</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1398     <p>Allows the REGISTER command to be used. This is usually a good
1399     thing, but if you don't want your users to be able to register
1400     nicknames, remove (or comment out) this directive. Note that you
1401     will need to at least enable this to register the Services
1402     super-user nick (defined in the operserv/main ServicesRoot
1403     directive), or you will not be able to use any privileged
1404     OperServ functions!
1405    
1406     <p>Example: <tt>NSEnableRegister</tt>
1407     </ul>
1408    
1409     <a name="nickserv/main.NSRegEmailMax"></a>
1410     <p><ul><li>
1411     <tt><b>NSRegEmailMax</b> <i>count</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1412     <p>Sets the maximum number of nicknames that can be registered to a
1413     single E-mail address; this affects both ordinary registration as
1414     well as changing the address using SET EMAIL, and also nickname
1415     linking (if the appropriate module is loaded). If not given,
1416     there is no limit.
1417    
1418     <p>This option is most useful in combination with NSRequireEmail,
1419     below.
1420    
1421     <p>Example: <tt>NSRegEmailMax 20</tt>
1422     </ul>
1423    
1424     <a name="nickserv/main.NSRequireEmail"></a>
1425     <p><ul><li>
1426     <tt><b>NSRequireEmail</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1427     <p>Makes an E-mail address required at registration time. Users
1428     also will not be able to clear the address once registered,
1429     though they can change it. If not set, an E-mail address is not
1430     required (but may still be given), and the address may be cleared
1431     later on.
1432    
1433     <p>Example: <tt>NSRequireEmail</tt>
1434     </ul>
1435    
1436     <a name="nickserv/main.NSRegDenyIfSuspended"></a>
1437     <p><ul><li>
1438     <tt><b>NSRegDenyIfSuspended</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1439     <p>Disallows the use of REGISTER if the E-mail address given with
1440     the command is associated with a suspended nickname. This can
1441     help prevent users from getting around nickname suspensions by
1442     registering a new nickname.
1443    
1444     <p>Example: <tt>NSRegDenyIfSuspended</tt>
1445     </ul>
1446    
1447     <a name="nickserv/main.NSRegDelay"></a>
1448     <p><ul><li>
1449     <tt><b>NSRegDelay</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
1450     <p>Sets the minimum length of time between consecutive uses of the
1451     REGISTER command. If not given, this restriction is disabled.
1452    
1453     <p>WARNING: Not setting NSRegDelay, or setting it too low, will not
1454     only allow "registration flooding" but, if the mail-auth
1455     module is also loaded, will also allow users to abuse
1456     this command to send large quantities of mail (mailbombs)
1457     to arbitrary users!
1458    
1459     <p>Example: <tt>NSRegDelay 5m</tt>
1460     </ul>
1461    
1462     <a name="nickserv/main.NSInitialRegDelay"></a>
1463     <p><ul><li>
1464     <tt><b>NSInitialRegDelay</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1465     <p>Sets the minimum length of time the user must be connected before
1466     using the REGISTER command for the first time. If not given,
1467     this restriction is disabled. This option can be helpful in
1468     preventing malicious bots from flooding your network with
1469     registrations.
1470    
1471     <p>Example: <tt>NSInitialRegDelay 30s</tt>
1472     </ul>
1473    
1474     <a name="nickserv/main.NSSetEmailDelay"></a>
1475     <p><ul><li>
1476     <tt><b>NSSetEmailDelay</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
1477     <p>Sets the minimum length of time between consecutive uses of the
1478     SET EMAIL command. If not given, this restriction is disabled.
1479    
1480     <p>WARNING: If you use the mail-auth module, then not setting
1481     NSSetEmailDelay, or setting it too low, will allow users
1482     to abuse this command to send large quantities of mail
1483     (mailbombs) to arbitrary users!
1484    
1485     <p>Example: <tt>NSSetEmailDelay 5m</tt>
1486     </ul>
1487    
1488     <a name="nickserv/main.NSDef..."></a>
1489     <p><ul><li>
1490     <tt><b>NSDef...</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1491     <p>Sets the default options for newly registered nicks. Note that
1492     changing these options will have no effect on nicks which are
1493     already registered. Options not listed here will be unset on new
1494     nicks.
1495    
1496     <p>If both NSDefKill and NSDefKillQuick are given, NSDefKillQuick
1497     takes precedence. KILL IMMED cannot be specified as a default.
1498    
1499     <p>Example: <tt>NSDefKill</tt>
1500     <br>Example: <tt>NSDefKillQuick</tt>
1501     <br>Example: <tt>NSDefSecure</tt>
1502     <br>Example: <tt>NSDefPrivate</tt>
1503     <br>Example: <tt>NSDefNoOp</tt>
1504     <br>Example: <tt>NSDefHideEmail</tt>
1505     <br>Example: <tt>NSDefHideUsermask</tt>
1506     <br>Example: <tt>NSDefHideQuit</tt>
1507     <br>Example: <tt>NSDefMemoSignon</tt>
1508     <br>Example: <tt>NSDefMemoReceive</tt>
1509     </ul>
1510    
1511     <a name="nickserv/main.NSExpire"></a>
1512     <p><ul><li>
1513     <tt><b>NSExpire</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
1514     <p>Sets the length of time before a nick registration expires. If
1515     not set, nicknames will not expire.
1516    
1517     <p>Example: <tt>NSExpire 30d</tt>
1518     </ul>
1519    
1520     <a name="nickserv/main.NSExpireWarning"></a>
1521     <p><ul><li>
1522     <tt><b>NSExpireWarning</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1523     <p>Sets the length of time before nick expiration during which
1524     warnings are sent to the user when the user is online (and not
1525     identified). If not set, no warnings will be sent; however, a
1526     message will still be sent when the nickname actually expires.
1527    
1528     <p>Example: <tt>NSExpireWarning 3d</tt>
1529     </ul>
1530    
1531     <a name="nickserv/main.NSSuspendExpire"></a>
1532     <p><ul><li>
1533     <tt><b>NSSuspendExpire</b> <i>time</i> <i>grace-period</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
1534     <p>Sets the default expiry time and recovery grace period for
1535     nickname suspensions. (The expiry time can be set individually
1536     for each suspension; the grace period cannot.)
1537    
1538     <p>The recovery grace period is the length of time a nick must exist
1539     for, after being unsuspended, before it is allowed to expire.
1540     This gives the owner a chance to reclaim the nick. It is
1541     enforced, if necessary, by adjusting the "last seen time" value,
1542     as well as the AUTH timeout when the mail-auth module is in use,
1543     when the nick is unsuspended. If set to zero, nicknames that are
1544     suspended for longer than "NSExpire" will be expired (dropped)
1545     during the next check for nickname expiration, giving the owners
1546     very little time to identify for their nicknames and prevent
1547     their expiry.
1548    
1549     <p>If not specified, nickname suspensions will not expire by
1550     default, and there will be no grace period for recovering the nick.
1551    
1552     <p>Example: <tt>NSSuspendExpire 25d 5d</tt>
1553     </ul>
1554    
1555     <a name="nickserv/main.NSShowPassword"></a>
1556     <p><ul><li>
1557     <tt><b>NSShowPassword</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1558     <p>Causes the user's password to be sent back to them in a NOTICE at
1559     registration time, as a reminder.
1560    
1561     <p>Example: <tt>NSShowPassword</tt>
1562     </ul>
1563    
1564     <a name="nickserv/main.NSEnforcerUser"></a>
1565     <p><ul><li>
1566     <tt><b>NSEnforcerUser</b> <i>user</i>[@<i>host</i>]</tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1567     <p>Sets the username (and possibly hostname) used for the fake user
1568     created when NickServ collides a user. Should be in user@host
1569     format. If the host is not given, the one from ServicesUser is
1570     used.
1571    
1572     <p>Example: <tt>NSEnforcerUser enforcer</tt>
1573     <br>Example: <tt>NSEnforcerUser enforcer@localhost.net</tt>
1574     </ul>
1575    
1576     <a name="nickserv/main.NSForceNickChange"></a>
1577     <p><ul><li>
1578     <tt><b>NSForceNickChange</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1579     <p>When enabled, makes NickServ change a user's nick to a
1580     "Guest######" nick instead of killing them when enforcing a
1581     "nick kill". (The actual nickname used is determined by the
1582     GuestNickPrefix setting in ircservices.conf.)
1583    
1584     <p>This setting has no effect with IRC servers that do not support
1585     forcibly changing a client's nickname, and a warning will be
1586     written to the log file if this option is used in such a case.
1587    
1588     <p>Example: <tt>NSForceNickChange</tt>
1589     </ul>
1590    
1591     <a name="nickserv/main.NSReleaseTimeout"></a>
1592     <p><ul><li>
1593     <tt><b>NSReleaseTimeout</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1594     <p>Sets the delay before a NickServ-collided nick is released.
1595    
1596     <p>Example: <tt>NSReleaseTimeout 1m</tt>
1597     </ul>
1598    
1599     <a name="nickserv/main.NSAllowKillImmed"></a>
1600     <p><ul><li>
1601     <tt><b>NSAllowKillImmed</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1602     <p>When given, allows the use of the IMMED option with the NickServ
1603     SET KILL command.
1604    
1605     <p>Example: <tt>NSAllowKillImmed</tt>
1606     </ul>
1607    
1608     <a name="nickserv/main.NSListOpersOnly"></a>
1609     <p><ul><li>
1610     <tt><b>NSListOpersOnly</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1611     <p>When enabled, limits use of the NickServ LIST and LISTEMAIL
1612     commands to IRC operators.
1613    
1614     <p>Example: <tt>NSListOpersOnly</tt>
1615     </ul>
1616    
1617     <a name="nickserv/main.NSSecureAdmins"></a>
1618     <p><ul><li>
1619     <tt><b>NSSecureAdmins</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
1620     <p>When enabled, prevents the use of the DROPNICK, GETPASS, FORBID,
1621     SUSPEND, and SET PASSWORD commands by Services admins on other
1622     Services admins or the Services root. (These restrictions do not
1623     apply to the Services root.)
1624    
1625     <p>Example: <tt>NSSecureAdmins</tt>
1626     </ul>
1627    
1628     <a name="nickserv/main.NSEnableDropEmail"></a>
1629     <p><ul><li>
1630     <tt><b>NSEnableDropEmail</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1631     <p>Allows the DROPEMAIL command to be used. This command can help
1632     recover from mass-registration attacks, but can also destroy your
1633     database if used improperly.
1634    
1635     <p>Example: <tt>NSEnableDropEmail</tt>
1636     </ul>
1637    
1638     <a name="nickserv/main.NSDropEmailExpire"></a>
1639     <p><ul><li>
1640     <tt><b>NSDropEmailExpire</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1641     <p>Sets the maximum length of time allowed between a DROPEMAIL
1642     command and the corresponding DROPEMAIL-CONFIRM command.
1643    
1644     <p>Example: <tt>NSDropEmailExpire 10m</tt>
1645     </ul>
1646    
1647     <a name="nickserv/main.NSHelpWarning"></a>
1648     <p><ul><li>
1649     <tt><b>NSHelpWarning</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1650     <p>When enabled, displays a "do not abuse NickServ" warning at the
1651     end of the NickServ HELP output similar to previous versions of
1652     Services. Otherwise, the warning is not displayed.
1653    
1654     <p>Example: <tt>NSHelpWarning</tt>
1655     </ul>
1656    
1657     <a name="nickserv/main.NSAlias"></a>
1658     <p><ul><li>
1659     <tt><b>NSAlias</b> <i>alias</i>=<i>command</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1660     <p>Creates an alias for a command. "alias" is the name of the
1661     alias, and "command" is the command which should be executed for
1662     that alias; the two are joined by an equals sign ("=") with no
1663     intervening whitespace. The alias and command names are
1664     case-insensitive.
1665    
1666     <p>Any number of aliases can be created by adding more NSAlias
1667     directives, but recursive aliases are not allowed; "command" must
1668     be a valid (unaliased) command name.
1669    
1670     <p>Example: <tt>NSAlias ID=IDENTIFY</tt>
1671     </ul>
1672     <a name="nickserv/access"></a>
1673     <p><font size="+1"><b>nickserv/access</b> (Access list module)</font>
1674    
1675     <a name="nickserv/access.NSAccessMax"></a>
1676     <p><ul><li>
1677     <tt><b>NSAccessMax</b> <i>count</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1678     <p>Sets the maximum number of entries allowed on a nickname access
1679     list.
1680    
1681     <p>Example: <tt>NSAccessMax 32</tt>
1682     </ul>
1683    
1684     <a name="nickserv/access.NSFirstAccessEnable"></a>
1685     <p><ul><li>
1686     <tt><b>NSFirstAccessEnable</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1687     <p>When enabled, causes an access entry based on the registering
1688     user's username and hostname to be automatically added to the
1689     access list of a newly-registered nickname. When disabled,
1690     newly-registered nicknames will have an empty access list.
1691    
1692     <p>Example: <tt>NSFirstAccessEnable</tt>
1693     </ul>
1694    
1695     <a name="nickserv/access.NSFirstAccessWild"></a>
1696     <p><ul><li>
1697     <tt><b>NSFirstAccessWild</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1698     <p>When enabled, causes the first access list entry added to a newly
1699     registered nickname to use a wildcard in the hostname when
1700     appropriate. When disabled, the first access list entry consists
1701     of the registering user's username and hostname as-is, without
1702     wildcards. This directive has no effect if NSFirstAccessEnable
1703     is disabled.
1704    
1705     <p>Example: <tt>NSFirstAccessWild</tt>
1706     </ul>
1707     <a name="nickserv/autojoin"></a>
1708     <p><font size="+1"><b>nickserv/autojoin</b> (Autojoin module)</font>
1709    
1710     <a name="nickserv/autojoin.NSAutojoinMax"></a>
1711     <p><ul><li>
1712     <tt><b>NSAutojoinMax</b> <i>count</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1713     <p>Sets the maximum number of entries allowed on an autojoin list.
1714     There is little point in setting this higher than the maximum
1715     number of channels a client is allowed to join by the server
1716     (usually 10).
1717    
1718     <p>Example: <tt>NSAutojoinMax 10</tt>
1719     </ul>
1720     <a name="nickserv/link"></a>
1721     <p><font size="+1"><b>nickserv/link</b> (Link module)</font>
1722    
1723     <a name="nickserv/link.NSLinkMax"></a>
1724     <p><ul><li>
1725     <tt><b>NSLinkMax</b> <i>count</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1726     <p>Sets the maximum number of links allowed for a single nickname
1727     group.
1728    
1729     <p>Example: <tt>NSLinkMax 20</tt>
1730     </ul>
1731     <a name="nickserv/mail-auth"></a>
1732     <p><font size="+1"><b>nickserv/mail-auth</b> (Authentication module)</font>
1733    
1734     <a name="nickserv/mail-auth.NSNoAuthExpire"></a>
1735     <p><ul><li>
1736     <tt><b>NSNoAuthExpire</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1737     <p>Sets the period of time after which a newly registered nickname
1738     will expire if it is not authenticated. If not specified, the
1739     standard nickname expiration time (NSExpire) is used.
1740    
1741     <p>Example: <tt>NSNoAuthExpire 12h</tt>
1742     </ul>
1743    
1744     <a name="nickserv/mail-auth.NSSendauthDelay"></a>
1745     <p><ul><li>
1746     <tt><b>NSSendauthDelay</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
1747     <p>Sets the minimum length of time between consecutive uses of the
1748     SENDAUTH command for the same nick group. If not specified, this
1749     restriction is disabled.
1750    
1751     <p>WARNING: Not setting NSSendauthDelay, or setting it too low, will
1752     allow users to abuse this command to send large
1753     quantities of mail (mailbombs) to arbitrary users!
1754    
1755     <p>Example: <tt>NSSendauthDelay 1d</tt>
1756     </ul>
1757    
1758     <p><hr width="60%">
1759    
1760     <h3 align=center>ChanServ configuration</h3>
1761    
1762     <p><hr width="60%">
1763     <a name="chanserv/main"></a>
1764     <p><font size="+1"><b>chanserv/main</b></font>
1765    
1766     <a name="chanserv/main.ChanServName"></a>
1767     <p><ul><li>
1768     <tt><b>ChanServName</b> <i>nick</i> <i>string</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1769     <p>Specifies the nickname (first parameter) and "real" name (second
1770     parameter) used by the ChanServ pseudoclient.
1771    
1772     <p>Example: <tt>ChanServName "ChanServ" "Channel Server"</tt>
1773     </ul>
1774    
1775     <a name="chanserv/main.CSEnableRegister"></a>
1776     <p><ul><li>
1777     <tt><b>CSEnableRegister</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1778     <p>Allows the REGISTER command to be used. This is usually a good
1779     thing, but if you don't want your users to be able to register
1780     channels, remove (or comment out) this directive. Note, however,
1781     that Services administrators and the Services super-user will
1782     still be able to use the REGISTER command regardless of whether
1783     this directive is given or not.
1784    
1785     <p>Example: <tt>CSEnableRegister</tt>
1786     </ul>
1787    
1788     <a name="chanserv/main.CSRegisteredOnly"></a>
1789     <p><ul><li>
1790     <tt><b>CSRegisteredOnly</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1791     <p>Treats unregistered channels as if they were forbidden,
1792     disallowing access by ordinary users to any channels not
1793     explicitly registered with ChanServ. IRC operators will be
1794     allowed to enter such channels, as they are for ordinary
1795     forbidden channels. Note that this directive operates
1796     independently from the CSEnableRegister directive; if
1797     CSEnableRegister is commented out, non-Services-admin IRC
1798     operators will be able to join unregistered channels but will
1799     not be permitted to register them.
1800    
1801     <p>Example: <tt>CSRegisteredOnly</tt>
1802     </ul>
1803    
1804     <a name="chanserv/main.CSMaxReg"></a>
1805     <p><ul><li>
1806     <tt><b>CSMaxReg</b> <i>count</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
1807     <p>Limits the number of channels which may be registered to a single
1808     nickname. In the case of linked nicks, this limit applies to the
1809     entire set of linked nicks.
1810    
1811     <p>Example: <tt>CSMaxReg 20</tt>
1812     </ul>
1813    
1814     <a name="chanserv/main.CSDef..."></a>
1815     <p><ul><li>
1816     <tt><b>CSDef...</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1817     <p>Sets the default options for newly registered channels. Note
1818     that changing these options will have no effect on channels which
1819     are already registered. Options not listed here will be unset on
1820     new channels.
1821    
1822     <p>Example: <tt>CSDefKeepTopic</tt>
1823     <br>Example: <tt>CSDefSecureOps</tt>
1824     <br>Example: <tt>CSDefPrivate</tt>
1825     <br>Example: <tt>CSDefTopicLock</tt>
1826     <br>Example: <tt>CSDefLeaveOps</tt>
1827     <br>Example: <tt>CSDefSecure</tt>
1828     <br>Example: <tt>CSDefOpNotice</tt>
1829     <br>Example: <tt>CSDefEnforce</tt>
1830     <br>Example: <tt>CSDefMemoRestricted</tt>
1831     <br>Example: <tt>CSDefHideEmail</tt>
1832     <br>Example: <tt>CSDefHideTopic</tt>
1833     <br>Example: <tt>CSDefHideMlock</tt>
1834     </ul>
1835    
1836     <a name="chanserv/main.CSDefModeLock"></a>
1837     <p><ul><li>
1838     <tt><b>CSDefModeLock</b> <i>mode-string</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1839     <p>Sets the default mode lock for newly registered channels, in the
1840     same format as the SET MLOCK command. If not set, the default is
1841     "+nt". Note that only binary modes (modes which take no
1842     parameters) can be used with this directive.
1843    
1844     <p>Example: <tt>CSDefModeLock +nt</tt>
1845     </ul>
1846    
1847     <a name="chanserv/main.CSExpire"></a>
1848     <p><ul><li>
1849     <tt><b>CSExpire</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
1850     <p>Sets the length of time before a channel expires. If not set,
1851     channels will not expire.
1852    
1853     <p>Example: <tt>CSExpire 14d</tt>
1854     </ul>
1855    
1856     <a name="chanserv/main.CSSuspendExpire"></a>
1857     <p><ul><li>
1858     <tt><b>CSSuspendExpire</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
1859     <p>Sets the default expiry time and recovery grace period for channel
1860     suspensions. If not set, channel suspensions will not expire by
1861     default and there will be no recovery grace period.
1862    
1863     <p>Example: <tt>CSSuspendExpire 12d 2d</tt>
1864     </ul>
1865    
1866     <a name="chanserv/main.CSShowPassword"></a>
1867     <p><ul><li>
1868     <tt><b>CSShowPassword</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1869     <p>If specified, causes the user's password to be sent back to them
1870     in a NOTICE at registration time, as a reminder.
1871    
1872     <p>Example: <tt>CSShowPassword</tt>
1873     </ul>
1874    
1875     <a name="chanserv/main.CSAccessMax"></a>
1876     <p><ul><li>
1877     <tt><b>CSAccessMax</b> <i>count</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1878     <p>Sets the maximum number of entries on a channel's access list.
1879     Channel access lists may contain only registered nicknames;
1880     therefore, checking each entry on the list requires only a single
1881     scalar comparison instead of a wildcard match, and this limit may
1882     be safely set much higher than (for example) the autokick list
1883     size limit without impacting performance significantly.
1884    
1885     <p>Example: <tt>CSAccessMax 1024</tt>
1886     </ul>
1887    
1888     <a name="chanserv/main.CSAutokickMax"></a>
1889     <p><ul><li>
1890     <tt><b>CSAutokickMax</b> <i>count</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1891     <p>Sets the maximum number of entries on a channel's autokick list.
1892    
1893     <p>Example: <tt>CSAutokickMax 32</tt>
1894     </ul>
1895    
1896     <a name="chanserv/main.CSInhabit"></a>
1897     <p><ul><li>
1898     <tt><b>CSInhabit</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1899     <p>Sets the length of time ChanServ stays in a channel after kicking
1900     a user from a channel s/he is not permitted to be in. This only
1901     occurs when the user is the only one in the channel.
1902    
1903     <p>Example: <tt>CSInhabit 15s</tt>
1904     </ul>
1905    
1906     <a name="chanserv/main.CSRestrictDelay"></a>
1907     <p><ul><li>
1908     <tt><b>CSRestrictDelay</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1909     <p>When enabled, causes ChanServ to permit users to join channels
1910     with the RESTRICTED option set if they would be permitted to join
1911     after identifying for their nick, and to not remove mode +o (ops)
1912     from users who would be auto-opped if identified for their nick,
1913     for the given period of time after Services starts up. This gives
1914     such users time to identify to NickServ before being kicked out of
1915     restricted channels or getting deopped.
1916    
1917     <p>Example: <tt>CSRestrictDelay 15s</tt>
1918     </ul>
1919    
1920     <a name="chanserv/main.CSListOpersOnly"></a>
1921     <p><ul><li>
1922     <tt><b>CSListOpersOnly</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1923     <p>When enabled, limits use of the ChanServ LIST command to IRC
1924     operators.
1925    
1926     <p>Example: <tt>CSListOpersOnly</tt>
1927     </ul>
1928    
1929     <a name="chanserv/main.CSForbidShortChannel"></a>
1930     <p><ul><li>
1931     <tt><b>CSForbidShortChannel</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1932     <p>When enabled, treats the channel "#" as a forbidden channel, not
1933     allowing any users to join it. When not enabled, the channel "#"
1934     can be used normally, although ChanServ functions cannot be used
1935     with it. If CSRegisteredOnly is enabled, this directive has no
1936     effect (the "#" channel will be treated as forbidden along with
1937     all other unregistered channel).
1938    
1939     <p>Example: <tt>CSForbidShortChannel</tt>
1940     </ul>
1941    
1942     <a name="chanserv/main.CSSkipModeRCheck"></a>
1943     <p><ul><li>
1944     <tt><b>CSSkipModeRCheck</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1945     <p>When enabled, causes ChanServ to not kick users with unregistered
1946     nicknames who try to join <tt><i>tt</i></tt>+R<tt><i>/tt</i></tt> channels (on networks
1947     supporting <tt><i>tt</i></tt>+R<tt><i>/tt</i></tt> or another mode restricting channels to
1948     registered nicknames only).
1949    
1950     <p>Example: <tt>CSSkipModeRCheck</tt>
1951     </ul>
1952    
1953     <a name="chanserv/main.CSAlias"></a>
1954     <p><ul><li>
1955     <tt><b>CSAlias</b> <i>alias</i>=<i>command</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1956     <p>Creates an alias for a command. The parameter format is the same
1957     as for the NSAlias directive.
1958    
1959     <p>Example: <tt>CSAlias ID=IDENTIFY</tt>
1960     </ul>
1961    
1962     <p><hr width="60%">
1963    
1964     <h3 align=center>MemoServ configuration</h3>
1965    
1966     <p><hr width="60%">
1967     <a name="memoserv/main"></a>
1968     <p><font size="+1"><b>memoserv/main</b></font>
1969    
1970     <a name="memoserv/main.MemoServName"></a>
1971     <p><ul><li>
1972     <tt><b>MemoServName</b> <i>nick</i> <i>string</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1973     <p>Specifies the nickname (first parameter) and "real" name (second
1974     parameter) used by the MemoServ pseudoclient.
1975    
1976     <p>Example: <tt>MemoServName "MemoServ" "Memo Server"</tt>
1977     </ul>
1978    
1979     <a name="memoserv/main.MSMaxMemos"></a>
1980     <p><ul><li>
1981     <tt><b>MSMaxMemos</b> <i>count</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
1982     <p>Sets the maximum number of memos a user is allowed to keep by
1983     default. Normal users may set the limit anywhere between zero
1984     and this value; Services admins can change it to any value or
1985     disable it. If not given, the limit is disabled by default, and
1986     normal users can set any limit they want.
1987    
1988     <p>Example: <tt>MSMaxMemos 20</tt>
1989     </ul>
1990    
1991     <a name="memoserv/main.MSExpire"></a>
1992     <p><ul><li>
1993     <tt><b>MSExpire</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1994     <p>Sets the length of time after a memo is sent until it expires and
1995     is automatically deleted. If not set, memos will not expire.
1996     Note that memos sent while MSExpire is disabled will not expire
1997     even if MSExpire is later enabled.
1998    
1999     <p>Example: <tt>MSExpire 3d</tt>
2000     </ul>
2001    
2002     <a name="memoserv/main.MSExpireDelay"></a>
2003     <p><ul><li>
2004     <tt><b>MSExpireDelay</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
2005     <p>Sets the length of time after first being read a memo's
2006     expiration will be delayed. Even if a memo reaches the age given
2007     in the MSExpire directive, it will not be deleted until at least
2008     the length of time given in this directive has passed since the
2009     memo was first read. If not set, memo expiration will not be
2010     delayed, and unread memos which have expired will be deleted
2011     immediately upon being read.
2012    
2013     <p>If MSExpire is not set, this directive is ignored.
2014    
2015     <p>Example: <tt>MSExpireDelay 1d</tt>
2016     </ul>
2017    
2018     <a name="memoserv/main.MSSendDelay"></a>
2019     <p><ul><li>
2020     <tt><b>MSSendDelay</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
2021     <p>Sets the delay between consecutive uses of the MemoServ SEND
2022     command. This can help prevent spam as well as denial-of-service
2023     attacks from sending large numbers of memos and filling up disk
2024     space (and memory). A 3-second wait means a maximum average of
2025     150 bytes of memo per second per user under the current IRC
2026     protocol.
2027    
2028     <p>Example: <tt>MSSendDelay 3s</tt>
2029     </ul>
2030    
2031     <a name="memoserv/main.MSAlias"></a>
2032     <p><ul><li>
2033     <tt><b>MSAlias</b> <i>alias</i>=<i>command</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
2034     <p>Creates an alias for a command. The parameter format is the same
2035     as for the NSAlias directive.
2036    
2037     <p>Example: <tt>MSAlias R=READ</tt>
2038     </ul>
2039     <a name="memoserv/forward"></a>
2040     <p><font size="+1"><b>memoserv/forward</b> (FORWARD module)</font>
2041    
2042     <a name="memoserv/forward.MSAllowForward"></a>
2043     <p><ul><li>
2044     <tt><b>MSAllowForward</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
2045     <p>If given, allows the FORWARD command to be used (the SET FORWARD
2046     command is always available). While the FORWARD command can be
2047     useful particularly for users first setting the FORWARD option
2048     on, a large number of users using the FORWARD ALL command can
2049     place a significant load on Services.
2050    
2051     <p>Example: <tt>MSAllowForward</tt>
2052     </ul>
2053    
2054     <a name="memoserv/forward.MSForwardDelay"></a>
2055     <p><ul><li>
2056     <tt><b>MSForwardDelay</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED if MSAllowForward is set]
2057     <p>Sets the minimum length of time between consecutive uses of the
2058     FORWARD command. If not given, this restriction is disabled.
2059     (Note that this can allow users to place a significant load on
2060     Services and/or your mail server!)
2061    
2062     <p>If MSAllowForward is not set, this directive is ignored.
2063    
2064     <p>Example: <tt>MSForwardDelay 10s</tt>
2065     </ul>
2066     <a name="memoserv/ignore"></a>
2067     <p><font size="+1"><b>memoserv/ignore</b> (IGNORE module)</font>
2068    
2069     <a name="memoserv/ignore.MSIgnoreMax"></a>
2070     <p><ul><li>
2071     <tt><b>MSIgnoreMax</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
2072     <p>Sets the maximum number of entries a user can have for their
2073     nickname group's memo ignore list.
2074    
2075     <p>Example: <tt>MSIgnoreMax 32</tt>
2076     </ul>
2077    
2078     <p><hr width="60%">
2079    
2080     <h3 align=center>StatServ configuration</h3>
2081    
2082     <p><hr width="60%">
2083     <a name="statserv/main"></a>
2084     <p><font size="+1"><b>statserv/main</b></font>
2085    
2086     <a name="statserv/main.StatServName"></a>
2087     <p><ul><li>
2088     <tt><b>StatServName</b> <i>nick</i> <i>string</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
2089     <p>Specifies the nickname (first parameter) and "real" name (second
2090     parameter) used by the StatServ pseudoclient.
2091    
2092     <p>Example: <tt>StatServName "StatServ" "Statistics Server"</tt>
2093     </ul>
2094    
2095     <a name="statserv/main.SSOpersOnly"></a>
2096     <p><ul><li>
2097     <tt><b>SSOpersOnly</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
2098     <p>Limits the use of StatServ to IRC operators only.
2099    
2100     <p>Example: <tt>SSOpersOnly</tt>
2101     </ul>
2102    
2103     <p><hr width="60%">
2104    
2105     <h3 align=center>HTTP server modules</h3>
2106    
2107     <p><hr width="60%">
2108     <a name="httpd/main"></a>
2109     <p><font size="+1"><b>httpd/main</b></font>
2110    
2111     <a name="httpd/main.ListenTo"></a>
2112     <p><ul><li>
2113     <tt><b>ListenTo</b> <i>address</i>:<i>port</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
2114     <p>Specifies the address and port number on which the HTTP server
2115     will listen for incoming requests. <tt><i>address</i></tt> may be specified as
2116     an IP address (first example below), a hostname (second example),
2117     or the special string "*", which means "any IP address" (third
2118     example).
2119    
2120     <p>When a hostname is given, as in the second example below,
2121     Services will look up the address(es) associated with the
2122     hostname at startup time, and bind to every IP address found.
2123     This can be useful, for example, with dynamic DNS, in which
2124     the server's IP address changes periodically; however, the
2125     hostname lookup can take time&mdash;especially if there is no DNS
2126     server on the local network&mdash;and is susceptible to network or
2127     DNS server outages, so IP addresses or "*" should be used
2128     whenever possible.
2129    
2130     <p>Note that many systems restrict low port numbers to the system
2131     administrator; in particular, Unix-like systems allow only the
2132     root user (UID 0) to use ports less than 1024.
2133    
2134     <p>Example: <tt>ListenTo 127.0.0.1:12701</tt>
2135     <br>Example: <tt>ListenTo services.example.net:8080</tt>
2136     <br>Example: <tt>ListenTo *:80</tt>
2137     </ul>
2138    
2139     <a name="httpd/main.ListenBacklog"></a>
2140     <p><ul><li>
2141     <tt><b>ListenBacklog</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
2142     <p>Specifies the maximum number of connections that can be received
2143     by the operating system without being accepted by Services (the
2144     second parameter, `backlog', to the listen() system call). If
2145     you start seeing refused or delayed connections on a busy server,
2146     try increasing this value.
2147    
2148     <p>If you don't understand the above, leave this setting alone.
2149    
2150     <p>Example: <tt>ListenBacklog 5</tt>
2151     </ul>
2152    
2153     <a name="httpd/main.RequestBufferSize"></a>
2154     <p><ul><li>
2155     <tt><b>RequestBufferSize</b> <i>bytes</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
2156     <p>Specifies the size of the buffer allocated for each HTTP request.
2157     Note that this buffer is allocated for every connection, and an
2158     additional amount of memory will be allocated for header pointers
2159     (in the pathological case this extra amount could reach 4/3 of
2160     the value given for this directive). If a client sends a request
2161     (including POST data) exceeding this value, an error will be
2162     returned and the connection terminated.
2163    
2164     <p>If you don't understand the above, leave this setting alone.
2165    
2166     <p>Example: <tt>RequestBufferSize 4096</tt>
2167     </ul>
2168    
2169     <a name="httpd/main.MaxConnections"></a>
2170     <p><ul><li>
2171     <tt><b>MaxConnections</b> <i>count</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
2172     <p>Specifies the maximum number of simultaneous connections allowed.
2173     If not given, no limit is placed on the number of connections;
2174     however, the operating system may impose its own limits, which
2175     are not under the control of Services.
2176    
2177     <p>Example: <tt>MaxConnections 10</tt>
2178     </ul>
2179    
2180     <a name="httpd/main.MaxRequests"></a>
2181     <p><ul><li>
2182     <tt><b>MaxRequests</b> <i>count</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
2183     <p>Specifies the maximum number of requests that can be made over a
2184     single connection before the server disconnects it. If not
2185     given, no limit is placed on the number of requests per
2186     connection; note that this may allow malicious users to interfere
2187     with Services' normal operations by sending large numbers of
2188     requests over a single connection.
2189    
2190     <p>Example: <tt>MaxRequests 20</tt>
2191     </ul>
2192    
2193     <a name="httpd/main.IdleTimeout"></a>
2194     <p><ul><li>
2195     <tt><b>IdleTimeout</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
2196     <p>Specifies the length of time a connection can be idle (not
2197     sending data) before it will be automatically closed. If not
2198     given, connections will never be closed automatically.
2199    
2200     <p>Example: <tt>IdleTimeout 30s</tt>
2201     </ul>
2202    
2203     <a name="httpd/main.LogConnections"></a>
2204     <p><ul><li>
2205     <tt><b>LogConnections</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
2206     <p>If given, a log message will be written for each connection to
2207     the server.
2208    
2209     <p>Example: <tt>LogConnections</tt>
2210     </ul>
2211     <a name="httpd/auth-ip"></a>
2212     <p><font size="+1"><b>httpd/auth-ip</b> (IP address authorization module)</font>
2213    
2214     <a name="httpd/auth-ip.AllowHost"></a>
2215     <p><ul><li>
2216     <tt><b>AllowHost</b> <i>path</i> <i>address</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
2217     <br><tt><b>DenyHost</b> <i>path</i> <i>address</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
2218     <p>Specifies which hosts will be allowed (or not allowed) to access
2219     resources provided by the HTTP server. The <tt><i>path</i></tt> parameter is a
2220     URL path (not including the "<tt>http://host.name</tt>"), and matches any
2221     URL which begins with the same string; for example, "<tt>/dir</tt>"
2222     matches both "<tt>/dir/file</tt>" and "<tt>/dirty</tt>". The <tt><i>address</i></tt> can be an
2223     IP address, a hostname (as with <a href="#httpd/main.ListenTo"><tt>ListenTo</tt></a> in the main server
2224     module, all addresses associated with the hostname will be
2225     allowed or denied), the string "<tt>*</tt>" (which means all addresses),
2226     or the special format "<tt><i>IP-address</i>/<i>mask</i></tt>", where <tt><i>mask</i></tt> is an
2227     integer from 1 to 31 giving the number of bits in the subnet
2228     address, which indicates that the entire subnet of addressess
2229     specified should be allowed or denied; for example,
2230     "<tt>192.168.1.64/26</tt>" represents the range of addresses from
2231     192.168.1.64 to 192.168.1.127.
2232     <p>
2233     Examples:
2234     <div align=center><p><table border=1 cellpadding=1 cellspacing=1>
2235     <tr><th>Directive<th>Meaning
2236     <tr><td><tt>AllowHost /debug 127.0.0.1</tt>
2237     <td>Allow all requests from <tt>localhost</tt> to the debug page
2238     <tr><td><tt>AllowHost / 192.168.0.0/24</tt>
2239     <td>Allow any host in the <tt>192.168.0.*</tt> network access to the entire server
2240     <tr><td><tt>DenyHost / shell.example.org</tt>
2241     <td>Deny connections from any address associated with <tt>shell.example.org</tt>
2242     </table></div>
2243     <p>
2244     Multiple <tt>AllowHost</tt> or <tt>DenyHost</tt> directives for the same path may
2245     be used to specify multiple addresses to allow or deny. Each
2246     condition will be checked in the order they are listed here, and
2247     the first matching one will be used. For example, these lines:
2248     <blockquote>
2249     <tt>AllowHost / 192.168.0.1</tt>
2250     <br><tt>DenyHost&nbsp;&nbsp;/ 192.168.0.0/24</tt>
2251     </blockquote>
2252     deny access to all hosts in the <tt>192.168.0.*</tt> network <i>except</i>
2253     <tt>192.168.0.1</tt>. However, the reverse:
2254     <blockquote>
2255     <tt>DenyHost&nbsp;&nbsp;/ 192.168.0.0/24</tt>
2256     <br><tt>AllowHost / 192.168.0.1</tt>
2257     </blockquote>
2258     simply blocks all hosts in the <tt>192.168.0.*</tt> network, since the
2259     first rule matches <tt>192.168.0.1</tt> and the second is never checked.
2260     <p>
2261     Access to the entire server can be allowed or denied by using the
2262     path "<tt>/</tt>", which matches every URL (since all URLs begin with a
2263     slash). Such a rule should always be included at the end of the
2264     rule list to explicitly indicate what should be done with
2265     requests that do not match any other rule; the behavior of the
2266     module for requests without a matching rule is undefined. For
2267     example:
2268     <blockquote>
2269     <tt>AllowHost / *</tt>
2270     </blockquote>
2271     or:
2272     <blockquote>
2273     <tt>DenyHost / *</tt>
2274     </blockquote>
2275     <p>
2276     <b>WARNING: Hostnames are resolved only once at startup; any changes
2277     in a host's IP address will not be seen by Services.</b>
2278     <p>
2279     Note: These directives are listed as "optional" only because the
2280     module will still load even if no directives are listed;
2281     however, unless <tt>AllowHost</tt>/<tt>DenyHost</tt> directives are given,
2282     the module will not have any effect.
2283    
2284     <p>Example: <tt>AllowHost / *</tt>
2285     </ul>
2286     <a name="httpd/auth-password"></a>
2287     <p><font size="+1"><b>httpd/auth-password</b> (Password authorization module)</font>
2288    
2289     <a name="httpd/auth-password.AuthName"></a>
2290     <p><ul><li>
2291     <tt><b>AuthName</b> <i>name</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
2292     <p>Specifies the name to be used by the user's browser when asking
2293     for a password (as in "Enter username and password for <tt><i>name</i></tt>:").
2294    
2295     <p>Example: <tt>AuthName "IRC Services"</tt>
2296     </ul>
2297    
2298     <a name="httpd/auth-password.Protect"></a>
2299     <p><ul><li>
2300     <tt><b>Protect</b> <i>path</i> <i>user</i>:<i>pass</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
2301     <p>Sets the URLs (paths) which will be protected by password
2302     authorization, and the username and password for each path. The
2303     username and password can be different for each path. The path
2304     given will match any URL beginning with that string, as with the
2305     <tt>auth-ip</tt> module.
2306     <p>
2307     Examples:
2308     <blockquote>
2309     <tt>Protect /debug "debug:debug"</tt>
2310     <br><tt>Protect /~&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"nickuser:nickpass"</tt>
2311     </blockquote>
2312     <p>
2313     Note: This directive is listed as "optional" only because the
2314     module will still load even if no directives are listed;
2315     however, unless <tt>Protect</tt> directives are given, the module
2316     will not have any effect. Use a path of "<tt>/</tt>" to apply
2317     password protection to the entire server.
2318     </ul>
2319     <a name="httpd/dbaccess"></a>
2320     <p><font size="+1"><b>httpd/dbaccess</b> (Database access module)</font>
2321    
2322     <p>NOTICE: This module allows complete access to all Services data;
2323     be certain to protect it from unauthorized access using
2324     authorization modules or other means.
2325    
2326     <a name="httpd/dbaccess.Prefix"></a>
2327     <p><ul><li>
2328     <tt><b>Prefix</b> <i>path</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
2329     <p>Sets the URL (path) at which database access will be accessible.
2330     If this does not end with a slash, one will be appended
2331     automatically. Access is provided using the following directory
2332     tree:
2333     <div align=center><p><table border=0 cellspacing=2>
2334     <tr><td><tt><i>path</i>/</tt>
2335     <td>Main menu
2336     <tr><td><tt><i>path</i>/operserv/</tt>
2337     <td>OperServ data and menu
2338     <tr><td><tt><i>path</i>/operserv/akill/</tt>
2339     <td>Autokill list
2340     <tr><td><tt><i>path</i>/operserv/news/</tt>
2341     <td>News item list
2342     <tr><td><tt><i>path</i>/operserv/sessions/&nbsp;&nbsp;</tt>
2343     <td>Session and exception lists
2344     <tr><td><tt><i>path</i>/operserv/sline/</tt>
2345     <td>S-line lists
2346     <tr><td><tt><i>path</i>/nickserv/</tt>
2347     <td>Nickname list and information
2348     <tr><td><tt><i>path</i>/chanserv/</tt>
2349     <td>Channel list and information
2350     <tr><td><tt><i>path</i>/statserv/</tt>
2351     <td>Network statistics
2352     <tr><td><tt><i>path</i>/xml-export/</tt>
2353     <td>XML-format database download
2354     </table></div>
2355     Categories for which the relevant module is not loaded will not
2356     be accessible.
2357     <p>
2358     <b>WARNING: These functions, particularly the XML export function,
2359     can cause Services to stop for a significant period of
2360     time while they are processed!</b>
2361     <p>
2362     This is commented out by default; make sure you implement proper
2363     access protection (see above) before uncommenting it.
2364    
2365     <p>Example: <tt>Prefix "/dbaccess"</tt>
2366     </ul>
2367     <a name="httpd/debug"></a>
2368     <p><font size="+1"><b>httpd/debug</b> (Debug page module)</font>
2369    
2370     <a name="httpd/debug.DebugURL"></a>
2371     <p><ul><li>
2372     <tt><b>DebugURL</b> <i>path</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
2373     <p>Sets the URL (path) at which the debug page will be accessible.
2374     This must begin with a slash.
2375    
2376     <p>Example: <tt>DebugURL "/debug"</tt>
2377     </ul>
2378     <a name="httpd/redirect"></a>
2379     <p><font size="+1"><b>httpd/redirect</b> (Nick/channel redirect module)</font>
2380    
2381     <a name="httpd/redirect.NicknamePrefix"></a>
2382     <p><ul><li>
2383     <tt><b>NicknamePrefix</b> <i>path</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
2384     <p>Sets the URL (path) at which nickname redirects will be
2385     accessible; all characters after this prefix, up to the next
2386     slash, will be taken as the nickname. This must begin with a
2387     slash. The default value, "/~", emulates the traditional home
2388     page URL of "http://www.example.net/~username/". If you use a
2389     directory name instead, it must end with a slash, for example:
2390     "/nickname/". See also ChannelPrefix, below.
2391    
2392     <p>If not set, nickname redirects will not be done.
2393    
2394     <p>Example: <tt>NicknamePrefix "/~"</tt>
2395     </ul>
2396    
2397     <a name="httpd/redirect.ChannelPrefix"></a>
2398     <p><ul><li>
2399     <tt><b>ChannelPrefix</b> <i>path</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
2400     <p>Sets the URL (path) at which channel redirects will be
2401     accessible; all characters after this prefix, up to the next
2402     slash, will be taken as the channel name (without the leading
2403     "#", which cannot be used in URLs). The path must begin with
2404     a slash. The default value, "/channel/", gives URLs like
2405     "http://services.example.net/channels/channelname/" for channel
2406     "#channelname".
2407    
2408     <p>If not set, channel redirects will not be done.
2409    
2410     <p>Note: If a URL could be interpreted as both a nickname URL and a
2411     channel URL, the nickname will take precedence, even if it
2412     is not registered or does not have a URL associated with it.
2413    
2414     <p>Example: <tt>ChannelPrefix "/channel/"</tt>
2415     </ul>
2416     <a name="httpd/top-page"></a>
2417     <p><font size="+1"><b>httpd/top-page</b> (Top page module)</font>
2418    
2419     <a name="httpd/top-page.Filename"></a>
2420     <p><ul><li>
2421     <tt><b>Filename</b> <i>path</i> [<i>content-type</i>]</tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
2422     <p>Sets the name of a file to be delivered as the server's top page.
2423     If this does not begin with a slash, then it is taken as relative
2424     to the Services data directory. The second parameter specifies
2425     the MIME content type of the file; if not given, it defaults to
2426     text/html.
2427    
2428     <p>Example: <tt>Filename "Top Page.txt" text/plain</tt>
2429     <br>Example: <tt>Filename /var/www/html/ircservices/top-page.html</tt>
2430     </ul>
2431    
2432     <a name="httpd/top-page.Redirect"></a>
2433     <p><ul><li>
2434     <tt><b>Redirect</b> <i>URL</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
2435     <p>Sets a URL to be provided as a redirect to a client accessing the
2436     top page. This must be a full URL, beginning with "http://" (or
2437     some other protocol specifier). If both Filename and Redirect
2438     are given, Redirect takes precedence.
2439    
2440     <p>Example: <tt>Redirect http://www.example.net/ircservices/</tt>
2441     </ul>
2442    
2443     <p><hr width="60%">
2444    
2445     <h3 align=center>Miscellaneous modules</h3>
2446    
2447     <p><hr width="60%">
2448     <a name="misc/devnull"></a>
2449     <p><font size="+1"><b>misc/devnull</b> (DevNull settings)</font>
2450    
2451     <a name="misc/devnull.DevNullName"></a>
2452     <p><ul><li>
2453     <tt><b>DevNullName</b> <i>nick</i> <i>string</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
2454     <p>Specifies the nickname (first parameter) and "real" name (second
2455     parameter) used by the DevNull pseudoclient.
2456    
2457     <p>Example: <tt>DevNullName "DevNull" "/dev/null -- message sink"</tt>
2458     </ul>
2459     <a name="misc/helpserv"></a>
2460     <p><font size="+1"><b>misc/helpserv</b> (HelpServ settings)</font>
2461    
2462     <a name="misc/helpserv.HelpServName"></a>
2463     <p><ul><li>
2464     <tt><b>HelpServName</b> <i>nick</i> <i>string</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
2465     <p>Specifies the nickname (first parameter) and "real" name (second
2466     parameter) used by the HelpServ pseudoclient.
2467    
2468     <p>Example: <tt>HelpServName "HelpServ" "Help Server"</tt>
2469     </ul>
2470    
2471     <a name="misc/helpserv.HelpDir"></a>
2472     <p><ul><li>
2473     <tt><b>HelpDir</b> <i>dirname</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
2474     <p>Specifies the name of the subdirectory containing help files for
2475     HelpServ.
2476    
2477     <p>Example: <tt>HelpDir helpfiles</tt>
2478     </ul>
2479     <a name="misc/xml-export"></a>
2480     <p><font size="+1"><b>misc/xml-export</b> (XML export settings)</font>
2481    
2482     <p>This module has no configurable settings.
2483     <a name="misc/xml-import"></a>
2484     <p><font size="+1"><b>misc/xml-import</b> (XML import settings)</font>
2485    
2486     <a name="misc/xml-import.OnNicknameCollision"></a>
2487     <p><ul><li>
2488     <tt><b>OnNicknameCollision</b> <i>action</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
2489     <p>Specifies the action to be taken when a nickname in the data to
2490     import is already registered. The string must be one of either
2491     "skipgroup" (skip over the nickname group containing the nickname
2492     in the imported data), "skipnick" (skip only the colliding
2493     nickname), "overwrite" (drop the existing nickname), or "abort"
2494     (do not import any data). Note that when "abort" is selected,
2495     the entire XML input is still checked for errors, but Services
2496     will abort before actually merging any data.
2497    
2498     <p>When using "overwrite", if a nickname group has only one nickname
2499     and that nickname is overwritten, the nickname group will be
2500     dropped as well. As a consequence, any channels owned by such a
2501     nickname will be dropped (or shifted to their successors) as
2502     well. All nicknames and channels overwritten or dropped in this
2503     manner will be displayed on standard error.
2504    
2505     <p>If not specified, defaults to "skipgroup".
2506    
2507     <p>Example: <tt>OnNicknameCollision skipgroup</tt>
2508     </ul>
2509    
2510     <a name="misc/xml-import.OnChannelCollision"></a>
2511     <p><ul><li>
2512     <tt><b>OnChannelCollision</b> <i>action</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
2513     <p>Specifies the action to be taken when a channel in the data to
2514     import is already registered. The string must be one of either
2515     "skip" (skip over the channel in the imported data), "overwrite"
2516     (drop the existing channel), or "abort" (do not import any data).
2517     Note that when "abort" is selected, the entire XML input is still
2518     checked for errors, but Services will abort before actually
2519     merging any data. If not specified, defaults to "skip".
2520    
2521     <p>Example: <tt>OnChannelCollision skip</tt>
2522     </ul>
2523    
2524     <a name="misc/xml-import.ImportNews"></a>
2525     <p><ul><li>
2526     <tt><b>ImportNews</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
2527     <p>Causes news items in the XML data to be imported into the
2528     database (normally, news items are skipped).
2529    
2530     <p>Example: <tt>ImportNews</tt>
2531     </ul>
2532    
2533     <a name="misc/xml-import.VerboseImport"></a>
2534     <p><ul><li>
2535     <tt><b>VerboseImport</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
2536     <p>Causes a detailed list of imported nicknames, channels, and other
2537     data to be printed to standard output.
2538    
2539     <p>Example: <tt>VerboseImport</tt>
2540     </ul>
2541    
2542     <p align=right><font size="-1"><a href="#top">Back to top</a></font>
2543    
2544     <p><hr>
2545    
2546     <p align=right><font size=-1><a href=index.html>Table of Contents</a></font>
2547    
2548     </body>
2549     </html>