]> jfr.im git - irc/rqf/shadowircd.git/blob - TODO
added privilege system and some new hooks in TODO
[irc/rqf/shadowircd.git] / TODO
1 / = in progress, x = done, ? = to be discussed, F = charybdis3.1 or next releases
2
3 [/] finish legacy code removal
4 [x] remove 2.8 report_error() in ratbox imported stuff
5 [F] client.c, channel.c is very 2.8 style still. it'd be nice to pack them into their own
6 namespace and such. moreover, the other 2.8 code needs similar rewriting/reworking too...
7 [x] merge m_join.c and m_sjoin.c in one module (same functions, done in ratbox3)
8 [ ] rewrite s_auth.c
9 [ ] authentication state/lock manager
10 [ ] move resolver/auth checker code into separated modules
11 [x] port to libratbox
12 [x] get it running
13 [x] clean up maxconnections kludges &c
14 [x] in-process SSL
15 [x] port and use ratbox ssld for server links
16 [x] merge with libratbox SVN
17 [/] ssl stuff
18 [x] client-to-client ssl
19 [x] server-to-server ssl
20 [x] ssl usermode (+Z)
21 [x] ssl channelmode (done by extban and chm_compat)
22 [ ] acknowledgement message for SSL users like '* *** You are connected using SSL cipher "DHE RSA-AES 128 CBC-SHA"'
23 [x] tool for generating ssl certificates and other stuff
24 [x] gnutls backend for at least SSL connections (replacing libcrypto use in m_challenge would be nice too)
25 [x] merge some stuff from ircd-seven directly (to be determined what)
26 [x] remote d:lines support
27 [x] PASS selector:password for auth{} (useful for dynamic IPs)
28 [F] kline/xline/resv sync
29 [F] make an ability of using bandb instead of .conf files as bans storage
30 [x] drop non-TS6 (legacy protocol) support
31 [F] Doxygen code documentation
32 [/] module engine rework
33 [/] more beautiful way of adding new channel modes by module
34 [x] basic functionality
35 [x] some example modules
36 [ ] think on how could we append privilege checking for simple chmode - like chm_staff, but additionaly limited (e. g. IsOperResv etc);
37 possibly move the same code for all functions into separated one and make it extern?
38 another idea is too make that work with privilege groups, like "serveradmins" or "ircops"
39 [ ] make nick/user/host validation functions/match tables able to work in separated modules,
40 this will help us making support for native characters sets/slashes in host etc
41 [ ] auth checker module
42 [ ] resolver module
43 [ ] hooks
44 [ ] can_kick
45 which modules could we add in charybdis distro?
46 [ ] can_send_channel
47 [?] +C (ctcp)
48 [ ] can_send_user
49 [?] +C (ctcp)
50 [ ] privilege system for privilege groups, something like
51 in .conf: helper { kill_global, rehash, kline_local }
52 in modules: privilege_add("kill_global"), has_privilege("kill_global") etc, should work the way dynamic cflags/umodes done
53 [x] Remove glines entirely
54 [/] Bug fixes
55 [x] Compilation without zlib headers fails - fixed
56 [ ] Compilation date and time in server welcome message is in OS locale - looks ugly 'cause often it's not match user's codepage
57 --- other stuff
58 [ ] allow to set up configfiles path (etc/) instead of separated configfiles names (kline.conf, ircd.conf etc) like it is in ratbox3?
59 [?] internally split out +o/+v "ranks" into a series of permissions. this could allow for configure-defined
60 special access levels, halfops, etc. (would need to match globally, somehow. extra SVINFO param?)
61 [?] somehow hide channel operators like ircnet can do?
62 [x] create chmode.h and put there all declarations of chm_* - this will make some modules clean
63 [?] Move oper override server WALLOPS to global server notices?