mirror of
https://github.com/anope/anope.git
synced 2026-06-24 09:56:37 +02:00
f4cdea8348
Conflicts: TODO git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2004 5417fbe8-f217-4b02-8779-1006273d7864
125 lines
7.1 KiB
Plaintext
125 lines
7.1 KiB
Plaintext
Legend:
|
|
x = done
|
|
? = unsure
|
|
+ = in progress
|
|
|
|
1.9.0
|
|
-----
|
|
[x] additional field where users' masked host can be stored so both masked IP and vhost are available instead of just one.
|
|
[x] no struct Uid bollocks. that's insane, and now, unnecessary that we store UID in BotInfo.
|
|
[x] prevent deletion of core services via /bs bot
|
|
[x] Module subsystem cleanup ('modules' branch)
|
|
[x] Move modules to use classes somewhat (AnopeInit, AnopeFini)
|
|
[x] Change MODULE_INIT to return a pointer
|
|
[x] Remove duplicate module creation.. have loadModule return a pointer rather than creating one
|
|
[x] Remove buffered loading/unloading, this makes os_modunload perm, but who cares
|
|
[x] Mark os_modunload permanent.
|
|
[x] Remove 'delayed' loading, this is necessary because of before/after connected to ircd (ircd is before, rest after), I'm sure this can be done better.
|
|
[x] Remove mod_current_* crap (involves passing Module * around a lot)
|
|
[x] events.c
|
|
[x] modules.c
|
|
[x] commands.c
|
|
[x] Redo moduleAdd|Get|Remove data to use class Extensible, etc.
|
|
[x] remove old config, replace with insp-inspired (albeit bind format) config (CBX)
|
|
[x] Clean up protocol
|
|
[x] Fix anope_cmd_* stuff to just use IRCdProto methods directly
|
|
[x] SendClientIntroduction should take a UID param, rather than generating one(?)
|
|
[x] Fix permanent channels (+P) stuff.
|
|
[x] Remove UnRestrictSAdmin, UseTS6, UseSVSHOLD
|
|
[x] InspIRCd 1.2 support
|
|
[x] Remove old (prior to 1.8.0) db compat
|
|
[x] Establish a proper base for services pseudoclients
|
|
[x] add ss_main StatServ Hal9000 to play with :)
|
|
[x] burn automake with fire (CBX)
|
|
|
|
1.9.1
|
|
-----
|
|
[ ] Remove modules_unload_all fini + hack that goes with it
|
|
[x] signal handling cleanup
|
|
[ ] Move a (lot) of stuff to class members as a defined interface rather than copypasta everywhere (ns_set, ns_saset!)
|
|
[ ] burn do_sjoin with fire
|
|
[x] Seamless fantasy support for all ChanServ commands, instead of requiring bs_fantasy_*
|
|
Remaining issues:
|
|
? [ ] Allow fantasy to be disabled from some commands (e.g. FORBID?) seems unnecessary, really.
|
|
[ ] (think on this carefully): some commands (e.g. !help) need to strip the pre-provided channelname from them.
|
|
[ ] (will require wider re-work): allow replies/notifications to fantasy commands to go to the channel via notice
|
|
[ ] HelpServ must die (1.9.1?)
|
|
[-] Command parser cleanup: mod_current_buffer needs to go away and be replaced by a proper parser. Commands should then indicate how they want the buffer split.
|
|
[ ] Fix permanent channels support properly. This will require removing do_sjoin().
|
|
[ ] Make NS ENFORCE/RELEASE stuff more sane, redo timers
|
|
[ ] Add support for +k, +q, etc type umodes
|
|
[x] Support operoverride and such things (stop reversing mode changes from nonopped people where unnecessary) - done by Liber
|
|
|
|
1.9.2
|
|
-----
|
|
[ ] Redo database insanity.
|
|
[ ] Move database load/save to a module
|
|
[ ] realtime SQL/whatever module using events (possibly ongoing)
|
|
[ ] flatfile save on a periodic timer
|
|
[ ] SANE password encryption - prefix password with the method it was encrypted with, allowing for *seamless* upgrading to different methods
|
|
[ ] Salted SHA256 (contact Special for this)
|
|
[ ] New database format (text, not binary - works very well for merging and so on)
|
|
[ ] IRCd capability support: don't rely on CAPAB, provide an interface to turn capabilities on specifically
|
|
[ ] Socket subsystem needs some serious loving
|
|
[ ] Multiple sockets
|
|
[ ] Asynchronous, using select() (multiple engines? not really needed..)
|
|
[ ] Callbacks, event style, see also inspircd
|
|
[ ] Asynchronous DNS?
|
|
[ ] CS SET INHABIT to keep pseudoclient in a channel after it empties to maintain banlists and such
|
|
[?] Remote identification (1.9.1? will this break stuff?)
|
|
[ ] Requires a rejig of how Alias vs Core works
|
|
[ ] Language charset stuff, including collation (1.9.1? phoenix?)
|
|
|
|
Future
|
|
------
|
|
[ ] 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?)
|
|
[ ] generic database routines modules can use to create their own database
|
|
[ ] generic way to check which modes a user has set (u->HasUmode(UMODE_OPER))
|
|
? [ ] a way for a module to queue itself (or even another module) for unloading
|
|
[ ] add overridden form of SendGlobops accepting BotInfo
|
|
[ ] SendAkill should just take a pointer to the Akill class instead of millions of fields (same for some other stuff)
|
|
[ ] chan_set_modes should take BotInfo, possibly with override for User *?
|
|
[ ] 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").
|
|
[?] Mail memos? think on consequences of this
|
|
[ ] Useful/common "third party" modules to core distro
|
|
[ ] NS AJOIN
|
|
[ ] Last used time on AKICK/access entries
|
|
[ ] Channel access additions
|
|
[ ] Method to store listmodes (more generically than AKICK, too) for e.g. +beI and extbans, etc.
|
|
[ ] Setter
|
|
[ ] Time added
|
|
[ ] Time modified
|
|
[ ] Expiry (useful?)
|
|
[ ] Set forbidden channels +s
|
|
[ ] 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)
|
|
XXX: is SUSPEND overlapping with OS IGNORE functionality?
|
|
[ ] Merge NS INFO blah ALL with NS INFO blah, if you're requesting info, you really want the info anyway.
|
|
? [ ] Channel passwords seem to be of limited use, think of a more appropriate way to handle this
|
|
? [ ] 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
|
|
[ ] AKILL/SGLINE/etc..
|
|
[ ] Setter
|
|
[ ] Time added
|
|
[ ] Time modified (can they be modified?)
|
|
[ ] Time until expiry/expiry time (YES, time until expiry *instead of* expiry time, more human)
|
|
[ ] 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)
|
|
[ ] Settable oper flags (split into types containing privs+commands, allow each oper to be set to a type, like we do with insp?)
|
|
[ ] NS MARK, CS MARK. Allow multiple marks. Combine into OS MARK?
|
|
[ ] General options block, ability to turn LOGCHAN on from the config file..
|
|
[ ] Method to list suspended/forbidden nicks/channels?
|
|
? [ ] 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)")
|
|
? [ ] Review settings like NSModeOnID for whether they actually have a point existing (Rob says it does not - and that it should probably be a nickname setting)
|
|
? [ ] OS INJECT
|
|
? [ ] Drop CS SET ENTRYMSG, replace with a 'news' type system? (limited to a configured number of items, default 3)
|