X-Git-Url: http://git.pk910.de/?p=ircu2.10.12-pk.git;a=blobdiff_plain;f=RELEASE.NOTES;h=47106bd16a926841dc079ec95283396894e14c0a;hp=2f0ea56c1f8825e5f081fa9f0da2c98167a269af;hb=2575d32764863d3d571794f433e407d21a06032a;hpb=ae91ef6320f611af74e70a0db2620c338fbaa7d5 diff --git a/RELEASE.NOTES b/RELEASE.NOTES index 2f0ea56..47106bd 100644 --- a/RELEASE.NOTES +++ b/RELEASE.NOTES @@ -1,98 +1,177 @@ -Release Notes for ircu2.10.10 +Release notes for ircu2.10.12 +Last updated: 1 Sep 2005 +Written by Michael Poole +Based on earlier documents by Kev and +Braden . + +This document briefly describes changes in ircu2.10.12 relative to +ircu2.10.11. ircu2.10.12 is only compatible with servers that +implement the P10 protocol. It has been tested to link against +ircu2.10.11, but some features (notably IPv6 support and oplevels) are +not supported by ircu2.10.11. + +Semantic Changes (TAKE NOTE): + +Channel keys and passwords (see the "oplevels" enhancement below) +listed in a JOIN are now only checked against the corresponding +channel. In ircu2.10.11, "JOIN #a,#b key" would attempt to use "key" +as the key for both #a and #b. ircu2.10.12 will only attempt to use +it as the key for #a. ircu2.10.12's behavior matches that documented +in RFC 1459. -This is a brief description of the changes we have made to the server -since the release of ircu2.10.07. +Enhancements: -This is the first Undernet server that is fully P10, it is no longer -compatible with older P9 only servers. The server has been verified -to be compatible with Undernet server versions 2.10.06 and above. +The configuration file format has changed to one that is easier to +read. It is based on the configuration parser found in ircd-hybrid. +As usual, an example configuration file can be found in the doc +subdirectory. + +ircu now supports IPv6 clients. If your operating system provides +IPv6 socket support, ircu can accept connections on IPv6 addresses. +Even if your operating system does not support IPv6 sockets, you can +link (using IPv4) to a server that has IPv6 clients, and ircu will +treat the IPv6 clients correctly. + +The DNS resolver has been replaced with a streamlined version (also +from ircd-hybrid) that avoids some of the complications from using +the full libresolv or adns libraries. + +The server can query an IAUTH external authorization server. The +protocol is described in doc/readme.iauth. This allows an external +program to accept or reject any client that connects to the server +and allows that external program to assign an account stamp to the +incoming user. + +A new feature called "oplevels" has been added. It uses new channel +keys (+A for the administrator, +U for users) to grant chanop status +when you join using those keys. Part of this channel protection is +that you cannot be deopped in channel by someone who you opped. + +A new channel mode, +D, has been added for auditorium-style channels. +These are channels where most users listen but do not speak or receive +ops or voice. The effect of +D is that the server waits to send the +JOIN message for new users until the user gets ops or voice or sends a +message to the channel. A list of join-delayed users in a channel may +be retrieved by using /NAMES -d #channel. The response to /NAMES -d +uses the same format as numeric 353, but uses numeric 355 instead. If +an op removes +D while there are still join-delayed users, the server +automatically sets mode +d, and removes +d when the last user's join +is shown. It is not possible to set channel mode +d manually; its +purpose is to warn channel users that there are "hidden" users in the +channel. + +More than one hashing mechanism is now supported for oper passwords, +and a new tool (ircd/umkpasswd) is provided to generate them. + +Commands that send messages to specified services may be defined in +the configuration file by using Pseudo blocks. This lets users use +commands like /X or /CHANSERV from their client, without tying the +admin to a particular arrangement or naming of services. + +The /stats command accepts string identifiers in addition to +single-character identifiers. For example, "/stats access" shows the +same data as "/stats i". Supported names are shown by /stats. New +/stats options are: /stats a (nameservers), to list DNS nameservers in +use; /stats L (modules), to list loaded modules; and /stats R +(mappings), to list privmsg helper commands defined by Pseudo blocks. +By default, all of these are hidden from normal users. + +Client blocks (previously I: lines), Operator blocks (previously O: +and o: lines), channel bans and silences may use CIDR notation instead +of simple wildcards. You may also have silence exceptions by putting +'~' before the mask; for example, if you wish to silence everyone +except X, you could use SILENCE *!*@*,~X!cservice@undernet.org. + +The server will no longer kick "net riders" in keyed (+k) channels if +both sides of the net join have the same key. + +IP masks (as used in bans, G-lines, etc) are now parsed in a more +forgiving manner. 127.0.0.0/8, 127.* and 127/8 are all accepted and +mean the same thing. Ambiguous expressions like 127/8 are interpreted +as IPv4 masks; to interpret it as an IPv6 mask, use 127:/8. -Enhancements: -All server to server communications use tokenization and numeric id's, -this reduces the bandwidth requirements approximately 10-20%. +Configuration Changes: -Much of the network code has been rewritten and many old bugs relating -to the networking core of the server have been fixed. +As mentioned above, the configuration file format has changed +radically. Please consult doc/example.conf for details on the +new format. Some prominent changes follow. -The port handling code has been rewritten to allow much better control -over listeners. +The old contents of H: lines have been merged into the Connect block +that describes the peer server(s) that should be allowed to hub. -The server supports extended numerics which theoretically would allow -the entire population of the planet to participate on a network without -running out of unique values. +Two default virtual host addresses may be specified, one for IPv4 +sockets and one for IPv6 sockets. -Added ISUPPORT messages on client connects to allow client coders to -detect network specific enhancements to the client protocol. +Nickname jupes have their own blocks, and do not share structure with +UWorld server declarations. -Server aliasing and virtual hosting (port forwarding) are available for -larger DoS attack prone networks. This will be improved in the next -release. +Operator connection classes and individual operator blocks may be +assigned privileges, rather than having them controlled globally. +Because of this, the feature settings that controlled the privileges +globally have been removed. -Status messages are sent to connecting clients so connections don't -seem to hang during client registration. +The maximum number of clients allowed per IP may be set in a Client +block (the equivalent of C: lines). -The server now uses a bit less memory and cpu under full load, we -estimate around a 10% improvement in resource usage over the previous -version. +New feature settings (see doc/readme.features for explanations): +ANNOUNCE_INVITES, HIS_STATS_L, HIS_STATS_a, HIS_STATS_R, +LOCAL_CHANNELS, TOPIC_BURST. -Configuration Changes: -Please read example.conf in the doc directory for detailed information -on various configuration options. -Virtual host IP addresses are now in the password field of the server M:line, -there is no longer a command line option for specifying them. This is the -address the server will bind to for all outgoing server to server connections. -The port field of the server M:line is no longer used and is ignored when -the server reads the configuration file, server ports are now specified -only on P:lines. -The server ignores N:lines, C:lines are used for all connect server -information now. This means that the passwords for both sides of the -connection must match, this change does not degrade server connection -security of the existing protocol. -There are several new configuration options for P:lines (listener ports). +Deleted features, since they had no effect even in 2.10.11: AUTOHIDE, +HIS_DESYNCS, TIMESEC. + +Deleted features since they are now controlled by other configuration +entries: VIRTUAL_HOST, oper and locop privilege features. + +Deleted feature since it no longer applies: HIS_STATS_h. Compile Time Options: -If you are planning on hosting more than 1000 clients on your server -we recommend that you do not turn on asserts and heap checking or -debug messages. This is known to cause problems. -There are several new compile time options that you will automatically -be prompted for when you configure the server which should be self -explanitory. - -Undocumented Features: -Every Undernet server released has had at least one undocumented -feature ;-) Here are a few of the ones available in ircu2.10.10. -I'm sure there are a few more we are unaware of, these are the ones -we know about. -To enable these you need to add them to the extra CFLAGS when you -run make config. --DEXTENDED_NUMERICS This option configures the server to send -extended numerics as well as parse them. This option should only -be used on networks that run ircu2.10.07 and above only. --DFERGUSON_FLUSHER If you have a server with a lot of resources -available this option will cause the server to attempt to flush -it's internal buffers before dropping clients during a netbreak. -Don't define this if you don't know, if you're not careful this -can end up rebooting FreeBSD boxes. --DWALLOPS_OPER_ONLY Setting this option removes the ability for -clients that are not opered to see wallops messages. + +A listing of supported compile-time options may be seen by running +"./configure --help". The defaults should be sane. In particular, +you should NOT compile with --enable-debug or with --disable-symbols +on a production network. + +Otherwise Undocumented Features: + +Despite our preferences to keep these undocumented, they are +occasionally useful, and are described here for users who may +need them. + +To enable these, you need to add them to CFLAGS prior to running +./configure, usually as in: CFLAGS="-O2 -D