/ = 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... [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 [ ] 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 [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) [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) [ ] kline/xline/resv sync (what about spb's extension?) [x] drop non-TS6 (legacy protocol) support [?] Patch or core-feature - libguess on-fly any-charset-to-utf8 translation [x] module engine rework [?] MODULE_DEPEND and MODULE_CONFLICT for building extension dependencies (backport from shadowircd) [x] more beautiful way of adding new channel modes by module [x] basic functionality [x] some example modules [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 [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 [?] mingw support [R] win32 native support - VS doesn't follow C99, this will require us switching back to C89 with libratbox and (future) core [x] 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 [?] 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?) might be backported from shadowircd in future (chanroles planned) [?] somehow hide channel operators like ircnet can do? couldn't be done via extension currently - compilation-time option acceptable? [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?