]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - TODO
Numerics are also server-server messages.
[irc/rqf/shadowircd.git] / TODO
diff --git a/TODO b/TODO
index e37f601d51fe96a281df092901e9bc5c8a3dfff3..0d21f4ea01319db2f6596964380f141dd083b8fe 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,32 +1,61 @@
-/ = in progress, x = done, ? = to be discussed
+/ = 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
-  [ ] rewrite s_auth.c -> split into three distinct parts
+  [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
-    [ ] 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
+  [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)
-[ ] 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] 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] 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?