X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/164b549392766080ea58b2b22607616867f8ecb3..40d5d119e57ec78928f7f15a7bd2ac46c7b0b151:/TODO diff --git a/TODO b/TODO index 548341c..76eb97c 100644 --- a/TODO +++ b/TODO @@ -1,38 +1,71 @@ -/ = in progress, x = done, ? = to be discussed, F = for future releases +/ = in progress, x = done, ? = to be discussed, F = charybdis3.1 or next releases [/] finish legacy code removal [x] remove 2.8 report_error() in ratbox imported stuff [F] client.c, channel.c is very 2.8 style still. it'd be nice to pack them into their own namespace and such. moreover, the other 2.8 code needs similar rewriting/reworking too... - [ ] rewrite s_auth.c -> split into three distinct parts + [x] merge m_join.c and m_sjoin.c in one module (same functions, done in ratbox3) + [ ] rewrite s_auth.c [ ] authentication state/lock manager - [ ] identd check - [ ] dns check - ### this should be a nice framework to let modules hook the - ### auth state imo. it'd also be cool to make the DNS checker and - ### auth checker modules (loaded by default, of course). --nenolod + [ ] move resolver/auth checker code into separated modules [x] port to libratbox [x] get it running [x] clean up maxconnections kludges &c [x] in-process SSL [x] port and use ratbox ssld for server links -[/] ssl stuff + [x] merge with libratbox SVN +[x] ssl stuff [x] client-to-client ssl [x] server-to-server ssl [x] ssl usermode (+Z) [x] ssl channelmode (done by extban and chm_compat) - [ ] acknowledgement message for SSL users like '* *** You are connected using SSL cipher "DHE RSA-AES 128 CBC-SHA"' -[ ] merge some stuff from ircd-seven directly (to be determined what) - [?] remote d:lines support? - [?] +C (noctcp) channel/usermode -[ ] gk:line/akill syncing -[ ] drop non-TS6 (legacy protocol) support -[ ] module engine rework - [ ] more beautiful way of adding new channel modes by module -[ ] other stuff + [x] tool for generating ssl certificates and other stuff + [x] gnutls backend for at least SSL connections (replacing libcrypto use in m_challenge would be nice too) +[x] merge some stuff from ircd-seven directly (to be determined what) + [x] remote d:lines support + [x] PASS selector:password for auth{} (useful for dynamic IPs) +[F] kline/xline/resv sync +[F] make an ability of using bandb instead of .conf files as bans storage +[x] drop non-TS6 (legacy protocol) support +[F] Doxygen code documentation +[?] Patch or core-feature - libguess on-fly any-charset-to-utf8 translation +[/] module engine rework + [/] more beautiful way of adding new channel modes by module + [x] basic functionality + [x] some example modules + [ ] think on how could we append privilege checking for simple chmode - like chm_staff, but additionaly limited (e. g. IsOperResv etc); + possibly move the same code for all functions into separated one and make it extern? + [x] another idea is too make that work with privilege groups, like "serveradmins" or "ircops" + [ ] make nick/user/host validation functions/match tables able to work in separated modules, + this will help us making support for native characters sets/slashes in host etc + [ ] auth checker module + [ ] resolver module + [ ] hooks + [ ] can_kick + which modules could we add in charybdis distro? + [ ] can_send_channel + [?] +C (ctcp) + [ ] can_send_user + [?] +C (ctcp) + [x] privilege system for privilege groups, something like + in .conf: helper { kill_global, rehash, kline_local } + in modules: privilege_add("kill_global"), has_privilege(source_p, "kill_global") etc, should work the way dynamic cflags/umodes done + -- this is done kinda like this, but not really. See HasPrivilege() calls. privilege_add() was not needed ~nenolod +[x] Remove glines entirely +[/] test suite as in ircu +[?] win32 + [?] cygwin support + [?] mingw support + [?] native win32 (VS2005/VS2008) +[/] Bug fixes + [x] Compilation without zlib headers fails - fixed + [x] Compilation date and time in server welcome message is in OS locale - looks ugly 'cause often it's not match user's codepage +[ ] Improvments + [ ] ircd shouldn't need bison/byacc/yacc or flex for compilation +--- other stuff + [ ] allow to set up configfiles path (etc/) instead of separated configfiles names (kline.conf, ircd.conf etc) like it is in ratbox3? [?] internally split out +o/+v "ranks" into a series of permissions. this could allow for configure-defined special access levels, halfops, etc. (would need to match globally, somehow. extra SVINFO param?) [?] somehow hide channel operators like ircnet can do? - [x] merge m_join.c and m_sjoin.c in one module (same functions, done in ratbox3) - [ ] merge s_gline.c and m_gline.c in one module (for pretty look, done in ratbox3) [x] create chmode.h and put there all declarations of chm_* - this will make some modules clean +[?] Move oper override server WALLOPS to global server notices?