ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/vendor/ircservices-5.1.24/docs/WhatsNew
Revision: 1171
Committed: Fri Aug 12 20:00:46 2011 UTC (12 years, 7 months ago) by michael
File size: 42271 byte(s)
Log Message:
- Import ircservices-5.1.24. Don't ever think about modifying anything in this
  folder!
  Since Andrew Church has discontinued his services project in April 2011, the
  ircd-hybrid team has been given permissions to officially continue and
  maintain the already mentioned project.
  The name of this project will be changed for the reason being that the current
  name "IRC Services" is way too generic these days.

  Remember: Don't ever modify anything in here. This folder is kept for reference.

File Contents

# Content
1 What's New
2 =============================================
3 Summaries of changes in new Services versions
4
5 Note: This is intended to highlight only the major changes between
6 versions. For a complete list of changes, see the "Changes" file.
7
8 ------------
9 Version 5.1:
10 ------------
11 Database handling, the one aspect of Services which has remained
12 essentially unchanged since version 1.0, has finally undergone a fairly
13 significant redesign. Rather than using specialized data load and save
14 routines tailored for the core Services pseudoclients, Services now
15 implements a generic database table system, which has the dual benefits of
16 separating the data storage system from the rest of Services (allowing
17 alternative storage methods to be implemented easily) and allowing third-
18 party modules and extensions to create their own non-volatile databases
19 without resorting to custom load/save routines. The default database file
20 format has also been changed to be more flexible and error-resilient than
21 the old format (which admittedly isn't saying much); see the "upgrading"
22 section of the manual for instructions on switching your databases to the
23 new format.
24
25 The often-criticized channel memo system has also been redesigned for this
26 version. Instead of storing channel memos with the channel, memos are now
27 sent to the founder and all users on the channel with a particular access
28 level (by default level 100, or SOP level). These memos are distinguished
29 from ordinary memos by text that says "(for #channel)" when reading the
30 memo. As a result of this change, users will be notified about new channel
31 memos in the same way as ordinary user-to-user memos.
32
33 NOTICE: When loading databases from version 5.0 or earlier, all channel
34 memos will be deleted.
35
36 Encryption support has also been improved. Encryption is no longer an
37 all-or-nothing affair; the encryption method is stored with each password,
38 so that enabling or disabling encryption will have no effect on passwords
39 that were previously set. The "encryption/unix-crypt" module has been
40 added, allowing the use of the Unix crypt() function to encrypt passwords.
41
42 The NickServ and ChanServ SENDPASS commands added in version 5.0 have been
43 removed in favor of the new NickServ REAUTH command. This command
44 generates an authentication code which the user can use once to identify to
45 their nickname in place of the password, and then change the password as
46 needed. Channel passwords can always be changed by the founder after
47 nickname identification, rendering ChanServ SENDPASS unnecessary.
48
49 Long LIST/VIEW responses are now handled more cleanly. Except for NickServ
50 ACCESS LIST (since nickname access lists are generally short) and MemoServ
51 LIST (since memos are numbered), every list now includes an "end of list"
52 message indicating both the number of entries displayed and the total
53 number of entries in the list; the configuration directive ListMax,
54 replacing NSListMax and CSListMax, sets the maximum number of entries
55 displayed for any of these commands. It is also possible to skip a certain
56 number of entries by adding a "+NNN" after the command, allowing all of the
57 entries in a long list to be viewed bit by bit.
58
59 At the development level, handling of module compilation has been improved,
60 allowing third-party modules to be simply "dropped in" without requiring
61 changes to Makefiles or other Services distribution files. An extension
62 interface has been added to Services' multilingual support as well,
63 allowing modules to add their own language strings and load their own
64 language files.
65
66 Other changes:
67 + Command aliases can now be added for NickServ, ChanServ, and MemoServ
68 commands via the NSAlias, CSAlias, and MSAlias directives.
69 + Notices are now sent to the user when sending of a mail authentication
70 code message fails. (However, errors after the message has been
71 handed off to the mail server cannot be detected.)
72 + A new configuration directive, RejectEmail, now allows selected E-mail
73 addresses to be rejected by NickServ and ChanServ commands.
74 + NickServ has a new option, NOOP, which prevents nicknames from being
75 added to channel access lists. (It does not prevent the nickname
76 from being opped when already present on an access list.)
77 + NickServ INFO will now indicate when a nickname's user is using a
78 different linked nickname if the nickname group's PRIVATE option
79 is not set.
80 + NickServ now has a RESTOREMAIL command (in the nickserv/mail-auth
81 module), which allows a user to restore their nickname's last
82 authenticated E-mail address if, for example, SET EMAIL is used
83 with an incorrect address.
84 + NickServ SET/UNSET by Services administrators for others' nicknames is
85 now done by putting a "!" before the nick to avoid ambiguity; for
86 example, "SET !nick NOEXPIRE ON" instead of "SET nick NOEXPIRE ON".
87 + ChanServ REGISTER and SET PASSWORD now check for and disallow easily
88 guessable passwords.
89 + ChanServ has a new option, MEMO-RESTRICTED, which prevents users
90 without the channel MEMO privilege from sending memos to the
91 channel.
92 + ChanServ ACCESS now includes a LISTLEVEL subcommand to list access
93 entries with a given level or within a given level range.
94 + ChanServ AKICK and MemoServ IGNORE now support matching by IP address
95 (on servers which support client IP address information).
96 + ChanServ OP, VOICE, and similar commands can now be used with multiple
97 nicknames.
98 + MemoServ now has a RENUMBER command to remove "holes" in the memo
99 number sequence.
100 + MemoServ FORWARD now sends all selected memos in a single E-mail
101 message, rather than sending each memo in a separate message.
102 + OperServ AKILL and related commands now have a CHECK subcommand which
103 can be used to find all masks that match a given user/hostname.
104 + SQlines are no longer applied to IRC operators during Services startup
105 or netjoins if the IRC protocol in use supports sending user modes
106 with the NICK message. This includes the bahamut, hybrid,
107 inspircd, monkey, ptlink, ratbox, solid-ircd, trircd, and unreal
108 protocol modules.
109 + The ignore system has been redesigned, and now keeps better track of
110 how much load each user is putting on Services. The ignorance
111 threshold can be fine-tuned via the configuration file.
112 + A new "unsorted list" mode has been added to improve Services'
113 performance on large networks. By giving the -no-sorted-list
114 option to the configure script, Services will not try to keep
115 nicknames and channels in alphabetical order; this means that
116 commands such as NickServ LIST will no longer return nicknames in
117 order, but Services will run significantly faster.
118 + Support has been added for the InspIRCd, ircd-ratbox, and solid-ircd
119 IRC servers.
120 + Unreal's NICKCHARS protocol option, allowing non-ASCII characters in
121 nicknames, is now supported.
122 + The name of the Services executable can now be changed, using the
123 -prefix option to the configure script. The name given will also
124 be used in the main configuration filename (normally
125 ircservices.conf) and cron script (ircservices-chk), as well as
126 default filenames in the configuration file.
127 * ChanServ DROP now behaves like NickServ DROP: dropping a channel now
128 requires the channel password to be entered with the DROP command,
129 and DROPCHAN has been added as a separate command for Services
130 administrators to drop arbitrary channels.
131 * The ChanServ ACCESS, XOP, and AKICK commands no longer use entry
132 numbers; the DEL and LIST subcommands now work with nicknames
133 (hostmasks for the AKICK command) only.
134 * The binary distributions (RPM and Debian packages) now install into
135 /opt/ircservices and /var/opt/ircservices, rather than /usr/sbin
136 and /usr/lib/ircservices.
137 * Tab characters are no longer used (or allowed) in the source code.
138 - The deprecated nickserv/oldlink module, which provided support for the
139 format of the LINK command used in version 4 of Services, has been
140 removed.
141 - Support for "modeless channels", with names of the form "+name", has
142 been removed. (Support for registering such channels was removed
143 in version 5.0.0; this version removes the special handling for
144 such channels in other parts of the program.)
145 - Support for the "channel owner" mode present in the PTlink (+a),
146 trircd (+u), and Unreal (+q) IRC servers has been removed, as there
147 are too many differing opinions on its proper use.
148 - Language support for Italian and Portuguese has been removed, due to
149 the lack of volunteers to maintain them.
150 - Support for old versions of GCC (anything before GCC 3.2) has been
151 removed.
152 Configuration file changes:
153 + IncludeFile has been added to allow configuration directives to be
154 split up into multiple files, and may be used in both
155 ircservices.conf and modules.conf.
156 + NoAdminPasswordCheck (ircservices.conf) has been added in release
157 5.1.16 to allow password checks to be bypassed for Services
158 administrators.
159 + LoadLanguageText (ircservices.conf) has been added to allow replacement
160 of Services text strings at runtime.
161 + RejectEmail (ircservices.conf) has been added to allow rejection of
162 selected E-mail addresses.
163 + NSAlias (module nickserv/main), CSAlias (module chanserv/main), and
164 MSAlias (module memoserv/main) have been added to allow creation of
165 command aliases.
166 + NSRegDenyIfSuspended (module nickserv/main) has been added to prevent
167 registration of new nicknames by users with suspended nicknames.
168 + NSSetEmailDelay (module nickserv/main) has been added to enforce a
169 delay between consecutive uses of the SET EMAIL command, thereby
170 reducing the potential for sending mailbombs.
171 + CSDefModeLock (module chanserv/main) has been added to allow the
172 default mode lock for newly registered channels to be changed.
173 + CSSkipModeRCheck (module chanserv/main) has been added to allow the
174 check of a nickname's registration status at channel join time
175 (used to kick unregistered nicknames from channels locked +R) to
176 be skipped.
177 + MSExpireDelay (module memoserv/main) has been added to allow memo
178 expiration to be delayed until a certain time after the memo is
179 first read.
180 + MaxMessages (module mail/main) has been added to allow a limit to be
181 placed on the total number of messages in transit.
182 * ListMax (ircservices.conf) has been added in place of NSListMax and
183 CSListMask to set a limit on the number of entries displayed for
184 all LIST-like commands.
185 * WallAdminPrivs (ircservices.conf) has been added in place of
186 WallGetpass and WallSetpass to cause a WALLOPS/GLOBOPS to be sent
187 on all NickServ and ChanServ commands that use Services
188 administrator privileges.
189 * The database name configuration directives (NickServDB, ChanServDB,
190 etc.) have been moved from the various pseudoclient module sections
191 to the database/version4 module section, and now explicitly specify
192 filenames.
193 - The nickserv/sendpass and chanserv/sendpass modules (and therefore
194 their respective configuration sections) have been removed.
195 - CSAutokickReason (module chanserv/main) has been removed, as the
196 built-in reason prefix "AKICK by <nick>" makes it unnecessary.
197 - MSExpireUnread (module memoserv/main) has been removed, since it
198 results in silent data loss.
199 - MSNotifyAll (module memoserv/main) has been removed, since it is
200 required for channel memos. MemoServ will now always behave as if
201 MSNotifyAll was set.
202 - MaxSockets (module mail/smtp) has been removed, since MaxMessages now
203 performs the same function.
204
205 ------------
206 Version 5.0:
207 ------------
208 The single biggest addition to this version of Services is module support.
209 This allows the various functions of Services to be added to and modified
210 without having to touch the main source code itself. Modules also provide
211 much more flexibility in configuring Services; IRC server support and
212 database file format can be selected by simply loading the appropriate
213 module, and you can even choose which of the pseudoclients (NickServ,
214 ChanServ, etc.) you want available. See the example configuration files
215 in the "data" subdirectory for more information.
216
217 Services is now capable of sending E-mail. Currently, this functionality
218 is used by:
219 + The new "authentication" feature of NickServ (in the
220 "nickserv/mail-auth" module). This sends a message to a user upon
221 nickname registration or E-mail address change, and requires the user
222 to "authenticate" their nickname with a random numeric code included in
223 the message before it is recognized as a valid registered nick by
224 Services.
225 + The new SENDPASS command for NickServ and ChanServ (in the
226 "nickserv/sendpass" and "chanserv/sendpass" modules, respectively).
227 which allows a user to send themselves their nick or channel password.
228 + The new memo forwarding function of Services, which allows users to
229 have their memos automatically forwarded to their E-mail address.
230
231 Services also sports a built-in HTTP server (module "httpd/main"), which
232 (with the help of additional modules in the "httpd" directory) can be used
233 for queries about nicknames, channels, and network status. See the
234 documentation (section 3-6) for details on its abilities, and please submit
235 a feature request if you have any additional ideas for what functionality
236 the server should provide.
237
238 Nickname links have been redesigned for simplicity and robustness. In the
239 new linking system, nicks are organized into single-level "groups" which
240 share settings the way linked nicks did in previous versions, rather than
241 multi-level "trees" as version 4 used. The LINK command has changed as
242 well: instead of creating a link from the current (unlinked but registered)
243 nick to a registered master nick, the link is made from the current
244 registered nick to a new (unregistered) nick, to simplify registration of
245 multiple links at once and to offer slightly better protection against
246 "rogue links" created by guessing nick passwords (though as always, the
247 best defense is to use good passwords). The old behavior of the LINK
248 command is still available through the "nickserv/oldlink" module, although
249 this module is deprecated and will be removed in a future version.
250
251 Finally, the documentation for Services (what used to be in the README and
252 FAQ files) has been greatly expanded and rewritten in HTML, and now includes
253 references for all Services pseudoclient commands and configuration options.
254 The manual also contains important information for users upgrading from
255 version 4.x or earlier; if you are already using Services and plan to
256 upgrade to version 5.0, please read this information before upgrading.
257
258 Other changes:
259 + Nicknames now have an "Information" line, similar to a channel's
260 description, which can be set freely for each group of nicks.
261 + The number of nicknames that can be registered per E-mail address can
262 now be limited (NSRegMaxEmail configuration directive).
263 + The default options for newly registered channels can now be set in the
264 configuration file.
265 + Identifies for nicknames are now recorded, removing the necessity to
266 re-identify after every nick change.
267 + The Services stamp of the last user to identify for a nick is now
268 recorded on disk, removing the necessity to re-identify when
269 Services is restarted.
270 + A time zone can be set for each registered nick, to allow users to get
271 information from Services in their own time zones.
272 + Nicknames can be listed by E-mail address with the new LISTEMAIL command.
273 + Users can set channels to automatically join whenever they identify for
274 their nickname (nickserv/autojoin module) on IRC servers supporting
275 the SVSJOIN command (such as Unreal or trircd).
276 + The NickServ and ChanServ REGISTER and GETPASS commands can now be
277 (individually) disabled via the configuration file.
278 + Users with auto-op access for a channel will now be opped when they
279 identify for their nickname even if they are already in the channel.
280 + Channel access levels are now limited to -999..999; default levels have
281 been rescaled to make better use of the available range (in
282 particular, levels -25..25 have been multiplied by 10).
283 + The ChanServ OP, VOICE, etc. commands now default to the person sending
284 the command if a target nick is not specified (e.g. "OP #channel").
285 + ChanServ now has a KICK command.
286 + Channel information can now be hidden with the new ChanServ SET HIDE
287 command, similar to the NickServ command of the same name.
288 + The ChanServ STATUS command is now available to normal (non-admin) users
289 with sufficient privileges on the target channel.
290 + Users can prevent certain other users from sending memos to them
291 (memoserv/ignore module).
292 + Autokill exclusions (exceptions to autokill masks) are now supported
293 through the EXCLUDE command (operserv/akill module).
294 + S-lines (SGLINE/SQLINE/SZLINE) are now supported (operserv/sline
295 module), and can even be used (except SZLINE) on servers which do
296 not support S-lines natively.
297 + Services now records the last time an autokick or autokill was
298 triggered, as well as the set time for autokicks.
299 + The maximum expiry time for autokills set by Services operators (as
300 opposed to Services admins) can now be limited.
301 + OperServ now has a SERVERMAP command to show the IRC server tree.
302 + Services is now slightly more robust against denial-of-service attacks
303 which use repeated HELP messages to overload network buffers; if
304 the network buffer size exceeds the threshold defined by the
305 NetBufferLimit configuration directive, Services will ignore
306 commands sent to it until the buffer size decreases. The OperServ
307 STATS command has a new option, NETWORK, which can be used to show
308 the current network buffer status.
309 + Support for the Chunky Monkey and trircd IRC servers is now available.
310 + Services can now synchronize the clocks of all servers on the network
311 for IRC server types which support this feature (Unreal).
312 + Configuration files can now be re-read (rehashed) while Services is
313 running, using either the new OperServ REHASH command or kill -HUP.
314 + The log file can now be rotated automatically based on the date.
315 + Databases can now be imported (merged) and exported in XML format.
316 + A sample crontab script is now included in the distribution.
317 * The configuration file has been changed to accommodate modules;
318 ircservices.conf (formerly services.conf) now contains only options
319 related to core Services functionality, while module-related
320 options (including NickServ, ChanServ, etc. settings) are in a new
321 file called "modules.conf". Many options have been added, changed,
322 or removed; see the example configuration files for details.
323 * The network I/O subsystem has been completely redesigned for robustness
324 and ease of use; multiple sockets (including listener sockets) can
325 be used simultaneously via read/write callbacks, and sockets now
326 have variable buffer sizes, allowing more efficient use of memory.
327 * Database handling has been improved to avoid database corruption on
328 power outage or process termination/crash.
329 * The "do not abuse NickServ" warning in the main NickServ help message
330 is now optional, to allow networks more freedom in writing their
331 own policies.
332 * Passwords, URLs, and E-mail addresses are now shared by each group of
333 linked nicks.
334 * NickServ DROP now requires a password to avoid accidental use, and
335 drops all linked nicks in a group at once. The command for
336 Services administrators to drop a nick is now DROPNICK.
337 * The channel "#", which has been known to cause problems with both IRC
338 servers and Services-like programs, is now explicitly not
339 supported; Services will refuse to register, forbid, or import it.
340 * Users must now identify for their nickname before registering a channel.
341 * Channel autokicks specified by nickname now work for that nickname
342 only, not for any nicks linked to it.
343 * The CSRestrictDelay option now works correctly and is enabled by default.
344 * Newly-registered nicks will now always use the default language set in
345 config.h, even if that language is changed after registration.
346 * Command-line options that take values now use an "=" instead of a space
347 between the option name and the value.
348 * The database conversion utility (convert-db) now outputs an XML
349 database file, which can be used with the XML import feature,
350 rather than writing databases directly.
351 * The configuration script "configure" now asks fewer questions, and can
352 be completely automated if the "-prefix" option is used.
353 * "configure" now understands GNU-style options, e.g.: --prefix=/usr
354 - The AUTODEOP and NOJOIN channel levels have been removed in favor of
355 the SECUREOPS and RESTRICTED channel options.
356 - The deprecated CheckClones functionality has been removed in favor of
357 session limiting.
358 - The IrcIIHelp pseudoclient (online help for the ircII client) has been
359 removed.
360 - The "listnicks" and "listchans" programs have been removed in favor of
361 the built-in HTTP server.
362
363 ------------
364 Version 4.5:
365 ------------
366 ! I'm Back: Andrew Church <achurch@achurch.org> (new address) is once
367 again taking over Services development.
368 ! NOTICE to those using encryption: Services 4.4.x and earlier had a bug
369 in the encryption routine causing passwords to be incorrectly
370 encrypted. This bug is fixed in 4.5.0, but as a consequence, all
371 passwords set in earlier versions are not directly readable by
372 Services. A workaround is available in the "configure" script, but
373 enabling this workaround may decrease the security of some
374 passwords. I recommend enabling the workaround for the first 30
375 days (or whatever you have your nickname expiration period set to),
376 adding a logon news item asking users to set their password again
377 (this can be the same as the old password, as long as they run the
378 SET PASSWORD command again), and disabling the workaround after
379 that time has passed.
380 + Added SOP, AOP, and VOP commands as an alternate method of managing
381 channel access lists. (ACCESS can still be used as before.)
382 + Added experimental support for the Unreal server (version 3.1.1). When
383 using the Unreal server, ChanServ supports the commands HOP, HALFOP,
384 DEHALFOP, PROTECT, and DEPROTECT, and the following access levels:
385 - AUTOHALFOP (automatic mode +h), level 4 (HOP)
386 - HALFOP (can use HALFOP/DEHALFOP commands), level 4 (HOP)
387 - AUTOPROTECT (automatic mode +a), level 10 (SOP)
388 - PROTECT (can use PROTECT/DEPROTECT commands), level 10 (SOP)
389 + Services now supports the "Services stamp" feature in DAL 4.4.15+
390 compatible servers (including Dreamforge, Bahamut, and Unreal).
391 This feature allows Services to attach an ID value to each user
392 which will be retained even when the network splits, for increased
393 security when re-granting privileges after a split.
394 + Added support for suspending channels. Like suspended nicknames, all
395 settings will be retained during the suspension period.
396 + Channel modes can now be buffered to reduce "mode flooding".
397 + Services can now be configured to require an E-mail address at nickname
398 registration time.
399 + Users can now be warned when their nicks are about to expire.
400 + Added UNSET command to NickServ and ChanServ for clearing URLs and
401 E-mail addresses.
402 + Added VOICE and DEVOICE commands to ChanServ, and VOICE access level
403 (default 3, the same as auto-voice).
404 + Added OperServ CLEARCHAN command to remove all users from a channel.
405 + Added OperServ SU command to allow any Services admin to gain super-user
406 privileges (with the appropriate password).
407 + Services will now log changes to nickname E-mail addresses.
408 + Services can now be configured to send warnings and/or suspend nicks and
409 channels when there are a large number of bad password attempts on
410 them; see the new BadPassWarning and BadPassSuspend options.
411 + Time specifications (in services.conf, for autokills, etc.) can now
412 include multiple units, for example "1h30m".
413 + Sending a SIGUSR2 signal to Services will cause the log file to be
414 closed and reopened. Use in combination with "mv" to rotate the
415 log file.
416 + The import-db utility can now convert databases from the Sirv (versions
417 1.4.0 and 2.7.0), Daylight, Epona (version 1.3.4), and PTlink
418 (version 2.18.0 and above) programs.
419 + German and Dutch are now available as language options.
420 * Support for the DALnet Bahamut server has been improved. Note that
421 only versions 1.4.23 and later are supported (support for earlier
422 versions has been dropped).
423 * Services will now check E-mail and URL addresses for nicks and channels
424 to ensure that they are syntactically valid.
425 * The OPDEOP channel access level has been renamed to OP-DEOP.
426 * OperServ ROTATELOG command removed in favor of the signal method.
427 * Services has been greatly optimized, easing operations on large
428 networks or low-power servers.
429 * Many, many bugs have been fixed.
430
431 New configuration options:
432 + BadPassWarning : Sets the bad password limit per nick/channel before
433 sending a WALLOPS/GLOBOPS warning.
434 + BadPassSuspend : Sets the bad password limit per nick/channel before
435 automatically suspending the nick/channel in question.
436 + MergeChannelModes: Merges multiple channel mode changes into one message.
437 + NoBouncyModes : Disable mode-bounce checking.
438 + NSExpireWarning : Sets the time before expiration during which the user
439 is warned that their nick will expire soon.
440 + NSRequireEmail : Makes Services require an E-mail address upon nick
441 registration.
442 + NSMaxLinkDepth : Sets the maximum depth for nested nickname links.
443 + PingFrequency : Sets the period after which a PING message is sent.
444 + ServerNumeric : Sets the server numeric for Services (Unreal only).
445 + WallOSChannel : Send a wallops/globops on MODE/KICK/CLEAR{MODES,CHAN}.
446 + WallSU : Send a wallops/globops on OperServ SU.
447 + SessionLimitAkill: Automatically adds an autokill when a session limit
448 is exceeded repeatedly.
449 Removed configuration options:
450 * WallOSMode, WallOSKick, and WallOSClearmodes removed in favor of
451 WallOSChannel. These options can no longer be set separately.
452 * Deprecated configuration directive "ListOpersOnly" removed. Use
453 "NSListOpersOnly" and "CSListOpersOnly" instead.
454
455 ------------
456 Version 4.4:
457 ------------
458 + Support for DALnet's Bahamut ircd has been added. It should be noted that
459 the Bahamut ircd is still being developed and may not be stable yet. If
460 you are going to use the Bahamut ircd, use version 1.2 or later.
461 + Nicknames can be suspended, preventing people from identifying for them.
462 However, suspended nicknames retain all their settings, unlike forbidden
463 nicknames, and can be used to deny the use of a nickname temporarily with
464 the intention to eventually give it back.
465 + Made forbidden nicks and channels more robust.
466 + Began the addition of an internal Statistics Server (StatServ).
467 * Fixed many little bugs in the help system, such as the wrong help being
468 shown to Services Admins.
469
470 New configuration options:
471 + StatServName : Nickname of the Statistics server pseudo client.
472 + StatServDB : Filename of statistic database (not yet used).
473 + ImmediatelySendAkill: Send AKILL to servers as it is added.
474 + WallOSException: Send a wallops when a session limit exception is added.
475 + SSOpersOnly : Limits StatServ use to opers only.
476 + NSSuspendExpire: Expiry time for nick suspends.
477 + NSSuspendGrace : Minimum amount of time a nick must exist for, after
478 being unsuspended, before it can expire.
479 + CSSuspendExpire: Expiry time for channel suspendes.
480 + CSSuspendGrace : Minimum amount of time a channel must exist for, after
481 being unsuspended, before it can expire.
482
483 ------------
484 Version 4.3:
485 ------------
486 + Due to a lack of time, Andy Church has handed over the maintenance and
487 development of Services to myself, Andrew Kempe. To quote him, "I have
488 (I hope) created something people find useful; I don't want to let it
489 rot for my own lack of time to continue work on it." Although he's left
490 large shoes to fill, I hope to continue his work in the same light. I'd
491 also like to stress that even though I'm the new, quoted, "maintainer"
492 (*cringe*) of services, I'm always open to constructive critisim,
493 suggestions and the like. I hope Andy will remain associated with Services
494 and it's development, even if only in a minor role/way. Andy, thanks for
495 a great codebase upon which to develop! Finally, there will be a couple
496 of changes taking place, such as a new distribution site and a new mailing
497 list address. These changes are detailed below.
498 + New Services mailing list address: ircservices@ender.shadowfire.org
499 Everyone who was on the old mailing list, as of 1999/08/12, has been moved
500 to the new list. See section 9 of the README for information about using
501 this list.
502 + New Services website:
503 http://ender.shadowfire.org/ircservices/
504 + New Services distribution sites:
505 Official: ftp://ender.shadowfire.org/pub/ircservices/
506 Mirror: ftp://ftp.electrocity.com/pub/ircservices/
507 I will try to get all the previous versions of Services online there soon.
508 + Services can now limit the number of client connections per hostname. This
509 is intended to supercede the CheckClones code. It is also possible to
510 specify limits for specific hosts or hostmasks. Users causing the limit
511 to be exceeded are killed.
512 + Extended the INFO and AKICK commands.
513 display hidden/additional information.
514 + Services now supports DALnet's +r usermode and +r/+R channel modes.
515 + See Changes.lang for a list of the new/modified language strings.
516
517 New configuration options:
518 + NSSecureAdmins : When enabled, prevents the use of the DROP, GETPASS, and
519 SET PASSWORD commands by Services admins on other Services admins or
520 the Services root.
521 + WallExceptionExpire: Send a WALLOPS/GLOBOPS when an exception expires.
522 + LimitSessions : Enables session limiting.
523 + DefSessionLimit: Default session limit per hostname.
524 + MaxSessionLimit: Maximum session limit for a session limit exception.
525 + ExceptionExpiry: Default expiry time for a session limit exception.
526 + SessionLimitExceeded: KILL message used when enforcing a session limit.
527 + SessionLimitDetailsLoc: Message NOTICE'd to a user before they're killed to
528 enforce a session limit.
529
530 ------------
531 Version 4.2:
532 ------------
533 + Default flags for newly registered nicks can now be configured via
534 services.conf.
535 + The NickServ LINK command can now be disabled via an option in
536 services.conf.
537 + Services admins can list all nicks linked to a given one.
538 + Forbidden and no-expire nicks can be listed by Services admins with the
539 NickServ LIST command.
540 + Services will (optionally) log when a new user maximum is reached.
541 + Services can now be configured to automatically kill users which
542 trigger its clone detection. This option is HIGHLY DISCOURAGED,
543 however; see data/example.conf for details.
544
545 New configuration options:
546 + NSDef... : Default flags for newly registered nicknames.
547 + NSEnforcerUser : Username/hostname for NickServ kill enforcement
548 (previously "enforcer"@services.hostname).
549 + NSDisableLinkCommand: Disables use of the NickServ LINK command.
550 + NSListOpersOnly: Like ListOpersOnly, but only applies to NickServ.
551 + NSListMax : Maximum number of nicks displayed for NickServ LIST.
552 + CSListOpersOnly: Like ListOpersOnly, but only applies to ChanServ.
553 + CSListMax : Maximum number of channels displayed for ChanServ LIST.
554 + CSRestrictDelay: Amount of time to wait after startup before enforcing
555 RESTRICTED/NOJOIN (only partially works).
556 + WallAkillExpire: Send a WALLOPS/GLOBOPS when an autokill expires.
557 + The clone kill option name has been intentionally omitted to force
558 users to read the documentation before using it.
559
560 ------------
561 Version 4.1:
562 ------------
563 + Most features of Services can now (finally!) be configured via a
564 control file (like ircd's ircd.conf) rather than requiring changes
565 to be made in config.h. See the README for more information.
566 + Added database importer to allow the use of databases created by other
567 Services-like programs.
568 + Added news system, allowing users to be sent a message when they
569 connect to the network and/or /oper.
570 + Added channel "successor" setting, allowing a "secondary founder" to be
571 designated who will receive control of the channel if the founder's
572 nick expires.
573 + ChanServ will now send more informative error messages when users try
574 to use the DALnet AOP and SOP commands.
575 + Added ChanServ SET OPNOTICE and SET LEAVEOPS settings.
576 + Several more list-type commands can use number lists and ranges
577 (MemoServ LIST/READ, ChanServ ACCESS/AKICK LIST).
578 + Command syntax error messages now obey the user's language setting.
579 + Maximum user count is now dated and saved to disk.
580 + Added vsnprintf() function for systems lacking a real one.
581 * Database error-recovery improved.
582 * Services now compiles warning-free (on all tested systems).
583
584 ------------
585 Version 4.0:
586 ------------
587 This release of Services has two major additions:
588
589 + Multi-language support. Services can now "speak" in multiple
590 languages; each user can select (on a per-nick basis) which
591 language they would like to receive messages from Services in,
592 including help messages. Currently supported languages are
593 English, Japanese, Portugese, Spanish, and Turkish; translations
594 into Afrikaans, Dutch, French, and Malaysian are underway.
595 + Nick linking. Nicknames can now be linked together, allowing a user to
596 keep just one set of nickname settings and memos and have many
597 different "aliases". Any setting changes made to one of a set of
598 linked nicks will immediately affect all of them; if one of a set
599 of linked nicks is entered in (for example) a channel access list,
600 then the user will have the same access level when using any nick
601 in that set.
602
603 In addition, there is now a mailing list for Services discussion and
604 announcements. To subscribe, send mail to services-request@dragonfire.net
605 with a subject of "subscribe" and a body of "subscribe <your-address>"
606 (without the angle brackets). More information is at the bottom of the
607 README.
608
609 Services also has a World Wide Web site, located at:
610 http://achurch.dragonfire.net/services/
611
612 Other notable additions/changes include:
613
614 + Services will now track a user's IDENTIFY's across nick changes and
615 network splits (on networks with some sort of timestamp support).
616 An IDENTIFY now lasts until the user disconnects from IRC.
617 + Channels can now receive memos. By default, any user with access level
618 10 or higher on a channel can list, read, and delete channel memos.
619 + Users' last quit messages are now recorded and displayed in NickServ
620 INFO.
621 + Users can choose to hide parts of their nickname information from other
622 users in the NickServ INFO display.
623 + NickServ's SET KILL command now has QUICK and IMMED options to reduce
624 the time before a kill to 20 seconds or kill immediately,
625 respectively. (However, the IMMED option is disabled by default in
626 config.h.)
627 + Nickname and channel URLs and E-mail addresses can be unset by passing
628 no parameter.
629 + A message can be set for a channel which will be /notice'd to a user
630 when the user enters the channel.
631 + Users can now set their own memo limits within the range 0 through
632 DEF_MEMO_MAX with the SET LIMIT command.
633 + The MemoServ DEL command now understands ranges (x-y) and commas.
634 + MemoServ now has an INFO command, which reports the total number of
635 memos, number of unread memos, and memo limit for the user giving
636 the command. Services admins can view that information for any
637 user.
638 + A new OperServ privilege level has been added: Services operator. The
639 OperServ MODE, KICK, and AKILL commands have been restricted to
640 Services operators and above.
641 + A new OperServ command has been added: CLEARMODES, for Services
642 operators, which will clear all modes, bans, and optionally +o/+v
643 from any channel.
644 + Services admins can now disable expiration of specific nicknames and
645 channels with the NickServ and ChanServ SET NOEXPIRE command, and
646 can set any nick or channel parameters (including passwords)
647 without needing to use the IDENTIFY command.
648 + Services can now be configured to send a WALLOPS/GLOBOPS when the
649 OperServ MODE, CLEARMODES, and/or KICK commands are used.
650 * Services databases have been made portable; they can be moved from one
651 machine / CPU type to another safely.
652 * Services should now be happier about compiling under OS/2 and various
653 different Unices.
654 * Services now gets time zone information from the system rather than
655 requiring it to be defined in config.h or given on the command line.
656
657
658 ------------
659 Version 3.3:
660 ------------
661 Version 3.3 is primarily a maintenance release, getting a lot of bug fixes
662 out and significantly optimizing the code. Other notable changes:
663
664 + MemoServ LIST and READ commands have new forms: LIST NEW and READ LAST.
665 + Nicknames now have a PRIVATE flag, preventing them from appearing in
666 LIST results.
667 + Nicknames' last-seen times are now updated periodically while a nick's
668 owner is online.
669 + Network reads and writes are now buffered.
670 * Channel auto-voice is now enabled by default at an access level of 3.
671 * NickServ STATUS output changed; the word "STATUS" is now included at
672 the beginning of each line.
673
674
675 ------------
676 Version 3.2:
677 ------------
678
679 + URL and E-mail address fields added to nickname and channel records.
680 + Frequency-of-use limit added to NickServ REGISTER command, much like
681 the frequency-of-use limit on MemoServ SEND command.
682 + Services admins can now be set online (using the OperServ ADMIN
683 command), and no longer need to be defined in config.h.
684 + OperServ RESTART command added to allow Services to be terminated and
685 restarted without needing command-line intervention.
686 * ~ at the beginning of a username (added by many IRC servers when an
687 ident response is not received) is no longer ignored, which
688 eliminates channel autokick problems on such servers.
689 * IRC server message processing code modularized, which should simplify
690 adding support for additional protocols.
691 * More bugs squashed, as usual.
692
693
694 ------------
695 Version 3.1:
696 ------------
697
698 + A limit can be set on the number of memos a nick can keep, and the
699 limit can be varied or removed on a per-nick basis.
700 + A limit can be set on the maximum number of channels a nick can
701 register. (This is not yet settable on a per-nick basis.)
702 + The permissible frequency of use of the MemoServ SEND command can be
703 set to prevent (or at least limit) memo flooding; for example, the
704 default configuration prevents users from using the SEND command
705 more often than once every five seconds.
706 + Memo notification can be enabled or disabled on a per-nick basis.
707 + OperServ autokills can be set to expire after a certain period of time,
708 and can default to either not expiring or to having a certain
709 duration.
710 + Slightly increased protocol support: basic support for ircd.dal 4.4.x
711 (x >= 15) is now present, as is support for the ircu GLINE command.
712 Services should also work better with classic irc2.x servers.
713 * Clone detection actually works now.
714 * Many, many bugs fixed, as usual. Also removed a typo in os-help.c that
715 somehow made it into the 3.0.10 distribution.
716
717
718 ------------
719 Version 3.0: (changes since 2.2.26)
720 ------------
721
722 + ChanServ access levels can finally be customized! ChanServ has a new
723 command, LEVELS, which allows the numeric access levels to be
724 fine-tuned for each channel. There are 11 settings available,
725 each of which corresponds to a particular ChanServ command or
726 function; for example, one can set the level at which users are
727 automatically opped, and one can define a level at which users
728 are to be automatically voiced as well.
729 + Services admins can now view channel access and autokick lists and
730 nickname access lists.
731 + Read-only mode can now be set (and unset) both from the command line
732 and during operation.
733 * Channel access lists may now only contain registered nicknames; this
734 allows Services to run much faster and simplifies channel access
735 checks.
736 * Numerous bugs, memory leaks, and potential security holes squashed.