Source

shadowircd / TODO

Full commit
/ = 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
    [ ] 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
[/] 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"'
  [ ] ssl stuff files generator in ./configure time
[x] merge some stuff from ircd-seven directly (to be determined what)
  [x] remote d:lines support
[F] kline/xline/resv sync
[F] make an ability of using bandb instead of .conf files as bans storage
[F] drop non-TS6 (legacy protocol) support
[F] Doxygen code documentation
[F] module engine rework
  [F] more beautiful way of adding new channel modes by module
  [F] 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
  [F] auth checker module
  [F] resolver module
[x] Remove glines entirely
--- other stuff
  [?] PASS selector:password for auth{} from ircd-seven? (useful for dynamic IPs)
  [?] +C (noctcp) channel/usermode from ircd-seven?
  [?] 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)
  [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?