mirror of
https://github.com/anope/anope.git
synced 2026-06-30 20:06:39 +02:00
a95a19faaf
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1566 5417fbe8-f217-4b02-8779-1006273d7864
81 lines
4.2 KiB
Plaintext
81 lines
4.2 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
|
|
[ ] Module subsystem cleanup ('modules' branch)
|
|
[x] Move modules to use classes somewhat (AnopeInit, AnopeFini)
|
|
[x] Change MODULE_INIT to return a pointer
|
|
[ ] Remove mod_current_* crap (involves passing Module * around a lot)
|
|
[ ] 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
|
|
[ ] Mark os_modunload permanent.
|
|
[ ] 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.
|
|
[ ] mod_current_buffer needs to go away and be replaced by a proper parser. Commands should then indicate how they want the buffer split.
|
|
[+] remove old config, replace with insp-inspired (albeit bind format) config (CBX)
|
|
[ ] burn automake with fire (1.9.1?)
|
|
[x] SendClientIntroduction should take a UID param, rather than generating one(?)
|
|
[+] Clean up protocol
|
|
[x] Fix anope_cmd_* stuff to just use IRCdProto methods directly
|
|
[ ] Fix command parsing (TBD)
|
|
[?] Remote identification (1.9.1? will this break stuff?)
|
|
[?] Immediate protection enforcement
|
|
[+] InspIRCd 1.2 support
|
|
|
|
1.9.1
|
|
-----
|
|
[ ] Move a (lot) of stuff to class members as a defined interface rather than copypasta everywhere (ns_set, ns_saset!)
|
|
[ ] Redo database insanity.
|
|
[ ] Move database load/save to a module
|
|
[ ] realtime SQL/whatever module using events
|
|
[ ] 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)
|
|
[ ] burn do_sjoin with fire
|
|
[ ] Seamless fantasy support for all ChanServ commands, instead of requiring bs_fantasy_*
|
|
|
|
1.9.2
|
|
-----
|
|
[ ] 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
|
|
|
|
|
|
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?)
|
|
[ ] A way for one module to interact with another.. moduleGetData() only works for current module..
|
|
moduleGetData() needs to die in a fire.
|
|
|
|
We should replace this with proper inheritance of a class MetadataObject, which allows Shrink(), Extend(), GetExt().
|
|
We may also wish to add additional methods for laziness (ShrinkString(), ExtendString(), GetExt()), as most of the use
|
|
of metadata is strings, but not all.
|
|
|
|
This also allows modules to tie whatever data they want onto any object.
|
|
|
|
[ ] 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
|
|
[ ] Method to store listmodes (more generically than AKICK, too) for e.g. +beI and extbans, etc.
|