2 o Stop unloading modules on HUP so that we can have persistant
3 handles/socketc/etc from module_init(). Alan D. and Alan C. had a good
4 plan for when to load/reload modules on the list recently...I say
6 o merge OSF/OSFIA patches from Cistron.
7 o double-check Cistron 'compat' mode, so that all current users of
8 Cistron can upgrade "out of the box" to FreeRADIUS
11 o go through all of the code and reformat it, for project standards
12 o go through all of the code, removing unnecessary #include's, and
13 generating a standard include file order which will work across all
15 o fix the proxy receive code, so that we don't have to look through ALL
16 of the requests to find the matching proxy. This might be hard to do..
17 It would also involve thread locking issues.
18 o rad_malloc() fixes: child processes/threads ALWAYS kill themselves
19 if malloc() fails. The main server process does a 'sleep' for N
20 seconds, and tries again. After T tries, it gives up, and calls exit().
23 o Write better documentation
24 o Manual pages for the daemon, utilities and conffiles (some done)
25 o Fix all FIXME's in the source.
27 - Put DBM into its own module
28 - Multiple defaults (done)
29 - Fallthrough (hard for not DEFAULT entries)
30 o better SNMP statistics support, for the auth/acct servers, and for
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 modular radutmp and radwtmp, as per Alan Curry's old patches.
67 o Fix multiple/conflicting VALUE names as pointed out on the list.
68 e.g. 'Rlogin' has different values when used with different ATTRIBUTEs,
69 o go through *.c and *.h, adding comments at the top with a copyright,
71 o Integrated Alan Curry's module failover patch.
72 o add more support for new configuration files
73 o Fixed potentially long locks on radutmp file by radcheck thread
74 This means unlocking the file, forking checkrad, and then locking
76 o get rlm_unix to work with multiple instances
77 o partial split of rlm_files into rlm_fastusers and rlm_detail
78 o enable server to run in threaded mode
79 o rlm_realm module for COMPLETE control of proxying on any attribute
80 o re-transmits of proxied packets
81 o operator support in pairmove.
82 o stripping Prefix/Suffix in accounting
83 o new configuration file /etc/raddb/radius.conf
84 o Radius proxy support.
85 o Max-Simultaneous-Use parameter to avoid double logins.
86 o Specify a program to be run on succesful login
87 o Prefix/Suffix support
88 o Change radutmp format to v2 (see radutmp.h)
89 o move radutmp to /var/log ?
90 o Compatibility with radius-2.0
92 o Configurable logging: both radutmp/radwtmp and details files
93 o session_id is not numeric but an 8-byte (?) string !
94 o Detect reboot packet sent by portmaster and clear radutmp / wtmp
95 o Seperate /etc/raddb/clients into public and private file (secret == secret!)
96 Add ts-type field to clients file for checklogin.pl
97 Better: return clients to old form (no shortname) and add a new file,
98 "nas" or so. Matching on this file is done based on Nas-Ip-Address
99 instead of the IP address of the sender. Better if there's a proxy
101 o Allow spaces in usernames (using " or \ to escape)
102 o Return Proxy-State A/V pairs, in the right order.
103 o retransmits from the terminal server get proxied with
104 a new ID and random_vector. We should check for this!
105 o Limit logins based on time/date
106 (for example, Login-Hour = 8-18, Login-Day = 0-5 for business hours)
107 o take out host-order IP addresses
108 o Support Connect-Rate
109 o have a config file (or section in radiusd.conf) that tells rlm_sql
110 what the names of the tables and columns are instead of hardcoding
112 o split rlm_files into rlm_users, rlm_fastusers (in-memory hash),
113 rlm_detail, they all should share as much code as
114 possible though, not be big cut-and-paste jobs
115 o fix the request list walking code, to scan each element no more than