Do *NOT* use the +demon patch contained in this directory, it is here for archive purposes only. This patch is not supported, and contains serious bugs that wont be fixed. -- Lee H The following features are available in the +ratbox patch: i) Temp dline support and temp kline extensions. Normal dlines may still be placed as normal via: /quote dline :reason However they can be made temporary by adding a duration: /quote dline [duration] :reason The duration is in minutes. Temp klines/dlines will now both have a maximum length of 4 weeks (40320 minutes). This is because the ircd now handles them more efficiently by grouping them and checking their expiry as infrequently as possible. ii) Remote unkline support. This extends hybrid7s remote kline support to also allow unklines to be done on remote servers by authorised users. To facilitate this, the shared {}; block has been modified to give remote opers specific permissions (similar to an oper {}). By default the permissions of a shared block are that an oper may remotely kline but not unkline. The two options added to the shared block are: kline = ; unkline = ; To issue a remote unkline: /quote unkline on If you do not wish this to be supported, simply dont add any shared blocks with 'unkline = yes'. iii) /quote XLINE support This gives opers who do not have ircd.conf access the ability to set XLINE's, or gecos bans. These ban a user based on their realname, or gecos field. They will be added to an xline.conf file in the etc/ directory of your ircd. To add an xline: /quote xline [type] : The gecos field is the gecos that should be banned and may not contain spaces. If you need to add something that has a space you must use '?' instead of spaces, ie: /quote xline eggdrop?bot 2 :no bots The type field denotes how the xline works and may be: 2 - Reject the user silently. 1 - Reject the user and send a warning to +r opers. 0 - Send a warning to +r opers but allow user to connect. To allow an oper to use the xline command the following option has been added to the oper {} block: xline = ; The ability for a user to xline is marked by the 'X' priv. Note that xlines are not checked for dupes and config access is required to remove a placed xline. iv) Global user@host limits. Taken from ircnets ircd. Currently you may limit a certain host to n number of connections to the ircd, however these do not stop a user loading large amounts of clones on multiple servers. The global limits extend the host limits so you can set network-wide host limits. Thus you could allow 2 local users from 'vanity.host.com' and 3 users network wide from 'vanity.host.com'. The network wide limit includes the local server. Thus if a user had three connections to the network on another server, they would not be allowed to connect locally. If a user had two connections on another server and one connection locally, they would not be allowed to connect another client locally either. You may also limit the amount of connections from a specific user@host, ie: 'abuser@vanity.host.com'. Unidented connections will be counted as having the same ident. Ident limits are global only (thus they include the local server in their limits). Thus a global host limit of 3, local host limit of 2 and an ident limit of 1 would allow one connection from 'abuser@vanity.host.com' no matter where on the network the connection was. However 'realuser@vanity.host.com' would be allowed to connect as the idents are different, providing the host limits are not exceeded. Users set 'exceed_limit = yes;' may exceed any limits. The following option is added to the general {} block: use_global_limits = ; This option is enabled by default and controls whether the global user@host limits are used. This option may not be changed once the server is running and requires a restart to be modified. The following options are added to the class {} block: number_per_ident = ; number_per_ip = ; -- not really added, just noted here. number_per_ip_global = ; - number_per_ip will do the same function as in vanilla hybrid7, limiting local connections per host. - number_per_ident controls the user@ portion of the limits. - number_per_ip_global controls how many connections a host may have network wide. All three options default to 0 (unlimited). The behaviour of class blocks are modified slightly and as a result you *MUST* use 'connectfreq = ;' in server class blocks, not number_per_ip. v) The redundant mode code has been removed. This prevented users opping the same user multiple times, or setting the same ban multiple times. vi) ASCII casemapping support (by AndroSyn) IRCs scandinavian origins mean the characters are {}|~ are treated as the lowercase of []\^. Thus as the nicks "a" and "A" would be the same, the nicks "[" and "{" would be. If this is defined they are treated as individual characters, so the nicks [foo] and {foo} would be two seperate clients. If this is enabled it MUST be done network wide or you will experience problems with non-compatible servers. Your locale(1) must also be set to "C" or the system itself may treat the characters differently. The following option is added to config.h that can be defined: USE_ASCII_CASEMAP If you have any problems, questions or find any bugs, find me on irc (ircnet/efnet) or email me. -- Lee H $Id: README.ratbox,v 1.3 2002/07/02 10:22:25 leeh Exp $