2 o Add 'initialize' list in modules, so explicitely give initialization order.
3 o Add a 'listen' directive, ala Apache, so that we can listen
4 on multiple ports. Hmm... if we do that, we should allow multiple
6 o Stop unloading modules on HUP so that we can have persistant
7 handles/socketc/etc from module_init(). Alan D. and Alan C. had a good
8 plan for when to load/reload modules on the list recently...I say
10 o double-check Cistron 'compat' mode, so that all current users of
11 Cistron can upgrade "out of the box" to FreeRADIUS
14 o fix radwho to read modules{radutmp{filename = }}
15 o go through all of the code and reformat it, for project standards
16 o go through all of the code, removing unnecessary #include's, and
17 generating a standard include file order which will work across all
19 o rad_malloc() fixes: child processes/threads ALWAYS kill themselves
20 if malloc() fails. The main server process does a 'sleep' for N
21 seconds, and tries again. After T tries, it gives up, and calls exit().
24 o Write better documentation
25 o Manual pages for the daemon, utilities and conffiles (some done)
26 o Fix all FIXME's in the source.
27 o better SNMP statistics support, for the auth/acct servers, and for
29 o fix the proxy receive code, so that we don't have to look through ALL
30 of the requests to find the matching proxy. This might be hard to do..
31 It would also involve thread locking issues.
33 WAIT UNTIL NEXT RELEASE:
34 o UPDATE accounting requests aren't handled as in 1.5.4.3 for wtmp
35 Is this a problem ? Need to fix in rlm_unix.c
36 o New module: rlm_fastradwtmp. with a radutmp-style active session
37 database to guarantee wtmp records are always written in matching
38 pairs. Because radlast is slow.
39 o New module: rlm_attrmap. assigns a single attribute based on a
40 username, with ed-friendly/awk-friendly config file. Because the
41 users file is too complicated.
42 o replace the module_t method table with a set of register_* functions
43 (so different instances of the same module can offer different
45 o enable server to run with child processes
46 (This is a little more difficult than the threading changes)
47 o switch all timers from time() to gettimeofday() so processing is
49 o SNMP support for querying users who are on-line.
50 o New module: rlm_nsupdate (dyndns). Because dynamic addresses are
52 o New module: rlm_perl.
55 o module initialization AFTER forking, not before.
56 --- The modules should NOT be setting up any process-dependent
59 o there should be a way that radius itself could
60 rotate the wtmp file properly. It should write "logout" records for
61 all users, move the file to wtmp.0, and create a new wtmp file with
62 "login" records for all currently online users.
63 --- This work is for an external process to do ---
66 o merge OSF/OSFIA patches from Cistron.
68 - Put DBM into its own module
69 - Multiple defaults (done)
70 - Fallthrough (hard for not DEFAULT entries)
71 o modular radutmp and radwtmp, as per Alan Curry's old patches.
72 o Fix multiple/conflicting VALUE names as pointed out on the list.
73 e.g. 'Rlogin' has different values when used with different ATTRIBUTEs,
74 o go through *.c and *.h, adding comments at the top with a copyright,
76 o Integrated Alan Curry's module failover patch.
77 o add more support for new configuration files
78 o Fixed potentially long locks on radutmp file by radcheck thread
79 This means unlocking the file, forking checkrad, and then locking
81 o get rlm_unix to work with multiple instances
82 o partial split of rlm_files into rlm_fastusers and rlm_detail
83 o enable server to run in threaded mode
84 o rlm_realm module for COMPLETE control of proxying on any attribute
85 o re-transmits of proxied packets
86 o operator support in pairmove.
87 o stripping Prefix/Suffix in accounting
88 o new configuration file /etc/raddb/radius.conf
89 o Radius proxy support.
90 o Max-Simultaneous-Use parameter to avoid double logins.
91 o Specify a program to be run on succesful login
92 o Prefix/Suffix support
93 o Change radutmp format to v2 (see radutmp.h)
94 o move radutmp to /var/log ?
95 o Compatibility with radius-2.0
97 o Configurable logging: both radutmp/radwtmp and details files
98 o session_id is not numeric but an 8-byte (?) string !
99 o Detect reboot packet sent by portmaster and clear radutmp / wtmp
100 o Seperate /etc/raddb/clients into public and private file (secret == secret!)
101 Add ts-type field to clients file for checklogin.pl
102 Better: return clients to old form (no shortname) and add a new file,
103 "nas" or so. Matching on this file is done based on Nas-Ip-Address
104 instead of the IP address of the sender. Better if there's a proxy
106 o Allow spaces in usernames (using " or \ to escape)
107 o Return Proxy-State A/V pairs, in the right order.
108 o retransmits from the terminal server get proxied with
109 a new ID and random_vector. We should check for this!
110 o Limit logins based on time/date
111 (for example, Login-Hour = 8-18, Login-Day = 0-5 for business hours)
112 o take out host-order IP addresses
113 o Support Connect-Rate
114 o have a config file (or section in radiusd.conf) that tells rlm_sql
115 what the names of the tables and columns are instead of hardcoding
117 o split rlm_files into rlm_users, rlm_fastusers (in-memory hash),
118 rlm_detail, they all should share as much code as
119 possible though, not be big cut-and-paste jobs
120 o fix the request list walking code, to scan each element no more than