updated for latest changes
[freeradius.git] / todo / TODO
index e9e6958..cbb4e92 100644 (file)
--- a/todo/TODO
+++ b/todo/TODO
@@ -1,20 +1,29 @@
-INTEGRATE FROM ALAN:
-
-o operator support in pairmove. Actually should make 2 pairmove's,
-  one for the authorize stuff in src/valuepair.c, and another generic
-  one in lib/valuepair.c that does what the name implies.
-
 URGENT:
 
-o Prefix/Suffix in users file isn't stripped anymore at the
-  accounting stage.
 o UPDATE accounting requests aren't handled as in 1.5.4.3 for wtmp
   Is this a problem ? Need to fix in rlm_unix.c
 o Fix potentially long locks on radutmp file by radcheck thread
+o modular radutmp and radwtmp, as per Alan Curry's old patches.
+o module initialization AFTER forking, not before.
+o merge OSF/OSFIA patches from Cistron.
+
+
+MEDIUM PRIORITY
+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 go through *.c and *.h, adding comments at the top with a copyright,
+  and a GPL license.
+o add more support for new configuration files
+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 get rlm_sql to work with multiple instances
+o have a config file (or section in radiusd.conf) that tells rlm_sql
+  what the names of the tables and columns are instead of hardcoding
+  them
 
-MEDIUM PRIORITY:
-o Provide a way to define the locations of all files (/etc/raddb/radiusd.conf?)
-  - this will be the newstyle radius configuration file
 
 LOW PRIORITY:
 o Write better documentation
@@ -27,8 +36,37 @@ o there should be a way that radius itself could
   rotate the wtmp file properly. It should write "logout" records for
   all users, move the file to wtmp.0, and create a new wtmp file with
   "login" records for all currently online users.
+o split rlm_files into rlm_users, rlm_fastusers (in-memory hash),
+  rlm_detail, rlm_dbm... they all should share as much code as
+  possible though, not be big cut-and-paste jobs
+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 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 better SNMP statistics support, for the auth/acct servers, and for
+  each client.
+
+WAIT UNTIL NEXT RELEASE
+o enable server to run with child processes
+  (This is a little more difficult than the threading changes)
+o switch all timers from time() to gettimeofday() so processing is
+  less bursty
+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.
 
 DONE:
+o get rlm_unix to work with multiple instances
+o partial split of rlm_files into rlm_fastusers and rlm_detail
+o enable server to run in threaded mode
+o rlm_realm module for COMPLETE control of proxying on any attribute
+o re-transmits of proxied packets
+o operator support in pairmove.
+o stripping Prefix/Suffix in accounting
+o new configuration file /etc/raddb/radius.conf
 o Radius proxy support.
 o Max-Simultaneous-Use parameter to avoid double logins.
 o Specify a program to be run on succesful login
@@ -54,4 +92,3 @@ o Limit logins based on time/date
   (for example, Login-Hour = 8-18, Login-Day = 0-5 for business hours)
 o take out host-order IP addresses
 o Support Connect-Rate
-