Development/Roadmap/1.2
From the makers of InspIRCd.
1.2 has been released as of August 29, 2009 with all of the features listed below.
Completed!
- (Brain) 1.2 GUI!
- (Phoenix, w00t) Don't blow users up for forced nickchange w/ +N etc?
Bug #607 - annoying w/ svsnick, etc.
- (Phoenix, w00t)
Bug #644: allow svsnick/sanick to override +Nb n:
- (Phoenix, w00t)
Bug #524: Allow OperOverride to set modes +qa
- (w00t, Brain) Extended invex (framework + a few modules)
- (Phoenix, w00t) Oper prefixing mode -> Modules/operprefix
- (Brain) userrec::HasPermission -> map of maps, for (even faster) access
- (Brain) Fix jointhrottle to not try 'throttle' clients during a netmerge (requires changing join event to be aware of netmerge?)
- (Brain) - backported SVSPART (bp to 1.1?)
- (w00t) - backported Allow spanningtree to re-bind listeners on rehash (bp to 1.1?)
- (w00t) Stop using local fake clients to force mode changes, use a global one.
- (w00t) If possible, combine module compilation and linking into one command - from a casual glance and vague test, this should work, and cuts off about 25mb.
- (w00t) Snomask compression (multiple snotice repeats compressed into 2 lines)
- (w00t) Ability to limit total number of users in a connect class/tag, via limit="" (will not be easy)
- (w00t) Permanent channels and relevent protocol changes (ick!)
Bug #352
- (w00t, Brain) Development/UID UUIDs and SIDs.
- (Brain, w00t) Development/CommandFloodControl Flood control redesign proposal.
- (Om, Brain) Development/ModuleLoader Module factory removal and module loader refactor.
- (w00t, Brain) Development/XLine XLine redesign.
- (w00t) Development/BanCache BanCache. (probably in conjunction with XLine redesign)
- (Brain) Development/Hooking Module hooks redesign.
- (w00t) Development/xline.db XLine database stuff
- (w00t) Re-work spanningtree usercounts to be a little more understandable, and work 100% on reloads etc
- (w00t) RLINE regex.pattern.here\sgecosmatchingtoo 7d :reason (user-based regex bans ala /spamfilter -u)
- (w00t) SAPART reason, and part-prefix/postfix..
Bug #467
- (w00t) Ban for lots of quit flooding, see
Bug #314 (done, m_quitban)
- (w00t) Exceptions for m_denychans.
- (w00t) Speed up culllist
- (aquanight) Allow certain channels to be exempt from m_filter_*, help channels etc
- (aquanight) Hashed passwords for more than just opers, e.g. die and restart,
Bug #355 - simple way to do this: Instead of OnOperPassCompare (blah), we need an OnPassCompare(method, input, expectedoutput) ..or something.
- (aquanight) Make m_password_hash re-read hashtypes on rehash.. so you can load providers after it. (Actually, it just picks up the hash modules immediately as they are loaded meaning /loadmodule is enough.)
- (aquanight) /invite timers.. timed invites that expire. Either /invite foo #chan 60s, or something. (I'd prefer mandatory expiry of all invites after a configurable period of perhaps 5 minutes myself).
Bug #489
- (dz) Allow redirecting a channel in config (add option to ban channel stuff?)
- (w00t) Create command handlers for spanningtree commands, move commands out into individual files rather than huge .cpps
- (Brain) Development/RemoteIncludes Remote includes. (5 parts)
- (Brain) Remote includes dependency: posix-threads threading engine
- (Brain) Remote includes dependency: windows-threads threading engine
- (Brain) Thread class
- (Brain) Test suite incorporating thread engine test methods
- (Brain) Ability to execute a command as an include statement
- (Brain, nenolod) Development/CAP CAP negotiation.
- (Brain, nenolod) Addition of CAP to NAMESX, UHNAMES etc
- (Brain, nenolod) IAL/SASL support
- (Brain) Ability for modules to hook any outbound numeric
- (w00t, aquanight) Development/Logging Logging overhaul. (2 parts)
- (w00t, aquanight) Core logging
- (w00t, aquanight) m_chanlog channel logging
- (Brain) Don't make binding ports work by port number (i.e. allow 7000 to be plaintext on one IP, SSL on another)
- (Brain)
Bug #254 - Allow sqlauth to specify the nick in the password
- (aquanight) Add the ability to allow or disallow modes for an oper via the oper type; this could, for example, allow certain types to not use some snomasks, or +H, etc, and would also remove the custom flag for m_invisible.
- (Brain) Development/Functors Conversion to use functors (2 parts)
- (Brain, Om) Functor framework
- (Brain) Porting of core methods to functor framework - Functions will be converted to functors as required by modules/user requests
- (w00t) /WATCH away notification
- (w00t) Configurable prefixes for +qa (instead of forcing ~&). Needs a protocol change to FJOIN to be nice to services. Useful for Ultimate/ircx/etc users. (probably nabbed by w00t :P)
- (Brain) Detection of max sockets without a recompile, just requires you to raise it in your kernel and restart inspircd.
- (Brain) Mode merges in one line for netburst, fixes
Bug #493.
- (Brain) Server to server protocol 'interface', which is implemented by protocol modules (m_spanningtree) - not sure how this is to work exactly, something like ServerInstance->Remote->SendModeChange(user, "+r"), ServerInstance->Remote->ChangeHost(userrec, "oper.flooble.com") (this will be ongoing, the beginnings will probably be in 1.2)
- (Brain) Allow for custom prefixes to be used in /notice #chan e.g. &
- (w00t) Development/Extbans Extban infrastructure.
- (w00t) Convert m_shun and m_cban to use new XLine framework
- (w00t) Permanent channels: have a list of channels in inspircd.conf created on startup - include topic and modes.
Bug #511
- (w00t) Method of listing all users connected for configurable time (e.g. /who +t 1d5m) - implemented as /who 1d5m t. Useful for finding botnet connections, etc.
- (aquanight) Single regex provider module used by all modules requiring regex: allows also for multiple types of regex (glob, tre (unreal compatibility, posix, pcre)
- (danieldg) Make <bind address="" on IPv6 not suck epically
- (danieldg) Development/ModuleManager Package management-like system for modules, to encourage 3rd party development and slim down the distribution
- (danieldg)
Bug #669: /map output is too wide
- (danieldg)
Bug #664: OTHERMODE is no longer required to operoverride +ohv
- (danieldg)
Bug #423: Server linking via SSL, check cert fingerprints
- (danieldg) SSL metadata (fingerprint) available to remote servers, better /whois support with multiple SSL modules loaded
- (danieldg) Display correct source of server-sourced actions (such as mode changes) instead of always using the local server
- (danieldg) Fix potential race conditions in rehash
- (danieldg) Make SSL certificate generation optional in ./configure
- (w00t)
Bug #762: DNS resolver doesn't use anything except the first returned record (causes problem when CNAME and PTR are both returned),

















