URGENT:
+o scan ALL modules, so that they use consistent names for structures
+ and variables in their instantiation (rlm_foo_t *inst), and that they
+ call rlm_foo_detach() if anything goes wrong, instead of just free()'ing
+ 'inst'. The cf_parse_section().. code may have malloc'd memory, and
+ that needs to be free'd, too.
o Stop unloading modules on HUP so that we can have persistant
handles/socketc/etc from module_init(). Alan D. and Alan C. had a good
plan for when to load/reload modules on the list recently...I say
run with that.
-o merge OSF/OSFIA patches from Cistron.
o double-check Cistron 'compat' mode, so that all current users of
Cistron can upgrade "out of the box" to FreeRADIUS
o go through all of the code, removing unnecessary #include's, and
generating a standard include file order which will work across all
platforms.
-o fix the proxy receive code, so that we don't have to look through ALL
- of the requests to find the matching proxy. This might be hard to do..
- It would also involve thread locking issues.
o rad_malloc() fixes: child processes/threads ALWAYS kill themselves
if malloc() fails. The main server process does a 'sleep' for N
seconds, and tries again. After T tries, it gives up, and calls exit().
o Write better documentation
o Manual pages for the daemon, utilities and conffiles (some done)
o Fix all FIXME's in the source.
-o Fix DBM support:
- - Put DBM into its own module
- - Multiple defaults (done)
- - Fallthrough (hard for not DEFAULT entries)
o better SNMP statistics support, for the auth/acct servers, and for
each client.
o New module: rlm_fastradwtmp. with a radutmp-style active session
database to guarantee wtmp records are always written in matching
pairs. Because radlast is slow.
-o New module: rlm_attrmap. assigns a single attribute based on a
- username, with ed-friendly/awk-friendly config file. Because the
- users file is too complicated.
o replace the module_t method table with a set of register_* functions
(so different instances of the same module can offer different
methods)
o SNMP support for querying users who are on-line.
o New module: rlm_nsupdate (dyndns). Because dynamic addresses are
cruel.
-o New module: rlm_perl.
WILL NOT DO:
o module initialization AFTER forking, not before.
--- This work is for an external process to do ---
DONE:
+o IPv6
+o proxy receive rbtree stuff
+o rlm_perl
+o "listen" directive
+o fix radwho to read modules{radutmp{filename = }}
+o Add 'initialize' list in modules, so explicitely give initialization order.
+o merge OSF/OSFIA patches from Cistron.
+o Fix DBM support:
+ - Put DBM into its own module
+ - Multiple defaults (done)
+ - Fallthrough (hard for not DEFAULT entries)
o modular radutmp and radwtmp, as per Alan Curry's old patches.
o Fix multiple/conflicting VALUE names as pointed out on the list.
e.g. 'Rlogin' has different values when used with different ATTRIBUTEs,