import from branch_1_1:
[freeradius.git] / todo / TODO
index 687b723..ae31ac4 100644 (file)
--- a/todo/TODO
+++ b/todo/TODO
@@ -1,9 +1,13 @@
 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
 
@@ -12,9 +16,6 @@ o go through all of the code and reformat it, for project standards
 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().
@@ -23,10 +24,6 @@ LOW PRIORITY:
 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.
 
@@ -36,9 +33,6 @@ o UPDATE accounting requests aren't handled as in 1.5.4.3 for wtmp
 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)
@@ -49,7 +43,6 @@ o switch all timers from time() to gettimeofday() so processing is
 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.
@@ -63,6 +56,17 @@ o there should be a way that radius itself could
        --- 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,