Legend: x = done ? = unsure + = in progress 1.9.2 ----- [x] Redo database insanity. [x] Move database load/save to a module [x] realtime SQL/whatever module using events (possibly ongoing) [x] flatfile save on a periodic timer [x] SANE password encryption - prefix password with the method it was encrypted with, allowing for *seamless* upgrading to different methods [x] Salted SHA256 (contact Special for this) [x] New database format (text, not binary - works very well for merging and so on) [x] generic database routines modules can use to create their own database [?] IRCd capability support: don't rely on CAPAB, provide an interface to turn capabilities on specifically [x] Socket subsystem needs some serious loving [x] Multiple sockets [x] Asynchronous, using select() (multiple engines? not really needed..) [x] Callbacks, event style, see also inspircd [x] generic way to check which modes a user has set (u->HasUmode(UMODE_OPER)) [x] way for one module to depend on another... not like 2 MOD_HEADs and it being unpredictable which is loaded first.. the MOD_HEAD MOD_TAIL allows for too few combinations (interface code of insp, hooks code of insp?) [x] Last used time on AKICK/access entries [x] Channel passwords seem to be of limited use, think of a more appropriate way to handle this [+] General options block, ability to turn LOGCHAN on from the config file.. [x] Docs directory cleanup [x] Fix permanent channels support properly [x] CS SET INHABIT to keep pseudoclient in a channel after it empties to maintain banlists and such [x] Set forbidden channels +s [x] SendAkill should just take a pointer to the Akill class instead of millions of fields (same for some other stuff) [x] burn do_sjoin with fire [x] Channel access additions [x] Setter [x] Last used Future ------ [ ] Asynchronous DNS [ ] CIDR Akills, session exceptions, etc [ ] Hashing system for storing just about everything needs to die [ ] Move a (lot) of stuff to class members as a defined interface rather than copypasta everywhere (ns_set, ns_saset!) [?] Remote identification (1.9.1? will this break stuff?) [ ] Language charset stuff, including collation (1.9.1? phoenix?) [ ] Add support for +k, +q, etc type umodes [ ] fantasy: allow replies/notifications to fantasy commands to go to the channel via notice [?] a way for a module to queue itself (or even another module) for unloading [ ] Language system is disgusting, it must die. [ ] Modules should also have a way to add strings programatically [ ] Should be able to add many strings by dropping a file in a set location. [ ] I forsee this working via a function rather than defines, as it seems to do now: e.g. _("NS_NICK_IS_REGISTERED"). [?] Update help to reflect the fact /msg memoserv set notify mail - works just fine ;) [ ] Useful/common "third party" modules to core distro [ ] NS AJOIN [+] Method to store listmodes (more generically than AKICK, too) for e.g. +beI and extbans, etc. [ ] Channel access additions [ ] Time added [ ] Time modified [ ] Expiry (useful?) [ ] NS INFO: seperate field for last seen realhost, shown to SRA only [ ] NS SUSPEND: show suspender and reason, probably to sopers only (see CS SUSPEND) [ ] Merge NS INFO blah ALL with NS INFO blah, if you're requesting info, you really want the info anyway. [?] Don't allow soper accounts to expire [?] Reason for CS SET RESTRICTED [ ] NS IDENTIFY changes [?] Last failed identify? Maybe more useful for sopers only, so users don't get unnecessarily worried [?] Last successful login time/ip? perhaps both of these should be a new nick setting [x] AKILL/SGLINE/etc.. [x] Setter [x] Time added [+] Time modified (can they be modified?) [ ] Time until expiry/expiry time (YES, time until expiry *instead of* expiry time, more human) [x] Reason [ ] Unique IDs on each AKILL/blah so that networks may use them as ticket IDs [ ] HS ACTIVATE -ALL (rob sez this all needs reviewing) [?] NS MARK, CS MARK. Allow multiple marks. Combine into OS MARK? (AKA os_info) [?] MS IGNORE. Make it take nick (accounts) or n!u@h masks. Fake success of memo send still, but send to opers? [?] More "friendly" date displays of some things like registration time ("November 7th 2006 (2 years, 0 months, 0 days ago)") [?] OS INJECT [?] Drop CS SET ENTRYMSG, replace with a 'news' type system? (limited to a configured number of items, default 3)