# $Id: features.txt,v 1.11 2004/10/22 03:18:22 musirc Exp $ * Most of the file descriptor and network code has been rewritten. A lot of ideas were borrowed from squid, but they have been simplified in places and extended in others to cover the needs of the ircd. The core network routines now sit in src/bsd.c. There are some remnants of client/server specific functions which should really be moved. The actual network IO loop lives in src/${type}.c where ${type} is the type of network loop (poll, select, kqueue, etc.) You can select the type of network loop by passing --enable-${type} / --disable-${type} to configure. Note: the code hasn't been rearranged, its been rewritten. We think it is more efficient, but the split-list code in poll.c needs some further research. Please read the documentation available, which will go into more detail. * An event system has been added, again borrowed mainly from squid. This allows periodic events (channel cleanup, server connection retries, etc) to be scheduled without needing to add it to the main loop. - channel mode +C for no channel ctcps if not opped/halfopped/voiced. - channel mode +c for no control codes in channels. - usermode +S for service client. Cannot be deoped, kicked, or killed. Also, /whois will not show what channels the user is in. - usermode +D for deaf, can't see channel messages/notices. - usermode +I for server side ignore, ignores all private messages unless you /accept them. - Channel flood protection. - 12 modes per line for servers and 3 modes per line for users. - Drone detection and proxy checker without scanning. - Automatic drone dline. - Excepts and Invex, chanmodes +eI. - Oper abuse modules - Ajoin, Omode, Opme, Owho, Owhois, Olist, Onames, Otopic. These commands are operator versions of the regular commands. Ajoin allows opers to join a lock channel with a status. EX: /AJOIN @#test :reason will join you into the channel #test with @. Opme ops a oper in an opless channel. Owho will show all users in a channel even if secret and +i. Onames, same idea. Olist, same idea. Otopic gives opers topic of a channel without being in it. Owhois, same idea. Omode, same idea. - Channel modes are shown in the /list. - Advanced help system. - /Flag system. - Services support. - TS 0 fix support. - AOL instant messenger command support. - Hide ban reason, quit banned users with K/D/X-Lined instead of the real reason, can be configured to use the real reason also. - Network-wide kline, unkline, jupes, xline, notice, wallop support. - Redunant modes, +ooo nick nick nick instead of +o nick and that's it. - Services clients will not be deopped on netrejoin. - Faster, more efficient connections. - Old style irc numerics. - No bogus quit messages. - Server hiding support. - Opers/admins opering on remote servers will be seen via wallops. - Max user data saved so server restarts don't reset the max counts. - /stats o shows all opers on the network. - Oper reason support for klines, dlines. - SVSNICK support. - Opers able to /fixinvite a channel when a channel is opless and invite only. Command will set the mode -il the channel. - Option to autodisconnect idle clients not in any channels. - Chanmode +r support. - Displays number of matching k/dlines in /stats k/d output.