Updated as per Cisco web site.
[freeradius.git] / doc / ChangeLog
1 FreeRADIUS 2.1.8 Mon Jan 1 1:00:00 CEST 1999;  , urgency=medium
2         Feature improvements
3         * RADIUS over TCP is now supported.  See "proto" fields in
4           radiusd.conf, clients.conf, and proxy.conf.
5         * Print more descriptive error message for too many EAP sessions.
6           This gives hints on what to do when "failed to store handler"
7         * Moved illegal attributes to dictionary.ascend.illegal and
8           dictionary.usr.illegal.  You may need to manually re-enable them.
9         * Allow old-style dictionary formats, where the vendor name is the
10           last entry on a line.
11         
12         Bug fixes
13         * DHCP sockets now set the broadcast flag before binding to a
14           socket.  You should set "broadcast = yes" in the DHCP listener.
15         * Be more restrictive on string parsing in the config files
16         * Fix password length in scripts/create-users.pl
17         * Be more flexible about parsing the detail file.  Allow
18           operators other than "=" to be used.
19         * Ensure that requests read from the detail file are cleaned up
20           (i.e. don't leak) if they are proxied without a response.  
21
22 FreeRADIUS 2.1.7 Mon Sept 14 11:20:00 CEST 2009;  , urgency=medium
23         Feature improvements
24         * Full support for CoA and Disconnect packets as per RFC 3576
25           and RFC 5176.  Both receiving and proxying CoA is supported.
26         * Added "src_ipaddr" configuration to "home_server".  See
27           proxy.conf for details.
28         * radsniff now accepts -I, to read from a filename instead of
29           a device.
30         * radsniff also prints matching requests and any responses to those
31           requests when '-r' is used.
32         * Added example of attr_filter for Access-Challenge packets
33         * Added support for udpfromto in DHCP code
34         * radmin can now selectively mark modules alive/dead.
35           See "set module state".
36         * Added customizable messages on login success/fail.
37           See msg_goodpass && msg_badpass in log{} section of radiusd.conf
38         * Document "chase_referrals" and "rebind" in raddb/modules/ldap
39         * Preliminary implementation of DHCP relay.
40         * Made thread pool section optional.  If it doesn't exist,
41           the server will run single-threaded.
42         * Added sample radrelay.conf for people upgrading from 1.x
43         * Made proxying more stable by failing over, rather than
44           rejecting the first request.  See "response_window" in proxy.conf
45         * Allow home_server_pools to exist without realms.
46         * Add dictionary.iea (closes bug #7)
47         * Added support for RFC 5580
48         * Added experimental sql_freetds module from Gabriel Blanchard.
49         * Updated dictionary.foundry
50         * Added sample configuration for MySQL cluster in raddb/sql/ndb
51           See the README file for explanations.
52
53         Bug fixes
54         * Fixed corner case where proxied packets could have extra
55           character in User-Password attribute.  Fix from Niko Tyni.
56         * Extended size of "attribute" field in SQL to 64.
57         * Fixes to ruby module to be more careful about when it builds.
58         * Updated Perl module "configure" script to check for broken
59           Perl installations.
60         * Fix "status_check = none".  It would still send packets
61           in some cases.
62         * Set recursive flag on the proxy mutex, which enables safer
63           cleanup on some platforms.
64         * Copy the EAP username verbatim, rather than escaping it.
65         * Update handling so that robust-proxy-accounting works when
66           all home servers are down for extended periods of time.
67         * Look for DHCP option 53 anywhere in the packet, not just 
68           at the start.
69         * Fix processing of proxy fail handler with virtual servers.
70         * DHCP code now prints out correct src/dst IP addresses
71           when sending packets.
72         * Removed requirement for DHCP to have clients
73         * Fixed handling of DHCP packets with message-type buried in the packet
74         * Fixed corner case with negation in unlang.
75         * Minor fixes to default MySQL & PostgreSQL schemas
76         * Suppress MSCHAP complaints in debugging mode.
77         * Fix SQL module for multiple instance, and possible crash on HUP
78         * Fix permissions for radius.log for sites that change user/group,
79           but which don't create the file before starting radiusd.
80         * Fix double counting of packets when proxying
81         * Make %l work
82         * Fix pthread keys in rlm_perl
83         * Log reasons for EAP failure (closes bug #8)
84         * Load home servers and pools that aren't referenced from a realm.
85         * Handle return codes from virtual attributes in "unlang"
86           (e.g. LDAP-Group).  This makes "!(expr)" work for them.
87         * Enable VMPS to see contents of virtual server again
88         * Fix WiMAX module to be consistent with examples.  (closes bug #10)
89         * Fixed crash with policies dependent on NAS-Port comparisons
90         * Allowed vendor IDs to be be higher than 32767.
91         * Fix crash on startup with certain regexes in "hints" file.
92         * Fix crash in attr_filter module when packets don't exist
93         * Allow detail file reader to be faster when "load_factor = 100"
94         * Add work-around for build failures with errors related to
95           lt__PROGRAM__LTX_preloaded_symbols.  libltdl / libtool are horrible.
96         * Made ldap module "rebind" option aware of older, incompatible
97           versions of OpenLDAP.
98         * Check value of Fall-Through in attr_filter module.
99
100 FreeRADIUS 2.1.6 Mon May 18 10:00:00 CEST 2009;   urgency=medium
101         Feature improvements
102         * radclient exits with 0 on successful (accept / ack), and 1
103           otherwise (no response / reject)
104         * Added support for %{sql:UPDATE ..}, and insert/delete
105           Patch from Arran Cudbard-Bell
106         * Added sample "do not respond" policy.  See raddb/policy.conf
107           and raddb/sites-available/do_not_respond
108         * Cleanups to Suse spec file from Norbert Wegener
109         * New VSAs for Juniper from Bjorn Mork
110         * Include more RFC dictionaries in the default install
111         * More documentation for the WiMAX module
112         * Added "chase_referrals" and "rebind" configuration to rlm_ldap.
113           This helps with Active Directory.  See raddb/modules/ldap
114         * Don't load pre/post-proxy if proxying is disabled.
115         * Added %{md5:...}, which returns MD5 hash in hex.
116         * Added configurable "retry_interval" and "poll_interval"
117           for "detail" listeners.
118         * Added "delete_mppe_keys" configuration option to rlm_wimax.
119           Apparently some WiMAX clients misbehave when they see those keys.
120         * Added experimental rlm_ruby from
121           http://github.com/Antti/freeradius-server/tree/master
122         * Add Tunnel attributes to ldap.attrmap
123         * Enable virtual servers to be reloaded on HUP.  For now, only
124           the "authorize", "authenticate", etc. processing sections are
125           reloaded.  Clients and "listen" sections are NOT reloaded.
126         * Updated "radwatch" script to be more robust.  See scripts/radwatch
127         * Added certificate compatibility notes in raddb/certs/README,
128           for compatibility with different operating systems. (i.e. Windows)
129
130         Bug fixes
131         * Minor changes to allow building without VQP.
132         * Minor fixes from John Center
133         * Fixed raddebug example
134         * Don't crash when deleting attributes via unlang
135         * Be friendlier to very fast clients
136         * Updated the "detail" listener so that it only polls once,
137           and not many times in a row, leaking memory each time...
138         * Update comparison for Packet-Src-IP-Address (etc.) so that
139           the operators other than '==' work.
140         * Did autoconf magic to work around weird libtool bug
141         * Make rlm_perl keep tags for tagged attributes in more situations
142         * Update UID checking for radmin
143         * Added "include_length" field for TTLS.  It's needed for RFC
144           compliance, but not (apparently) for interoperability.
145
146 FreeRADIUS 2.1.5 Sun Jan 1 1:1:00 CEST 2009;  , urgency=medium
147         * Release number skipped due to procedural issues.
148         
149 FreeRADIUS 2.1.4 Tue Mar 10 17:05:00 CEST 2009;  , urgency=medium
150         Feature improvements
151         * Permit multiple "-e" in radmin.
152         * Add support for originating CoA-Request and Disconnect-Request.
153           See raddb/sites-available/originate-coa.
154         * Added "lifetime" and "max_queries" to raddb/sql.conf.
155           This helps address the problem of hung SQL sockets.
156         * Allow packets to be injected via radmin.  See "inject help"
157           in radmin.
158         * Answer VMPS reconfirmation request.  Patch from Hermann Lauer.
159         * Sample logrotate script in scripts/logrotate.freeradius
160         * Add configurable poll interval for "detail" listeners
161         * New "raddebug" command.  This prints debugging information from
162           a running server.  See "man raddebug.
163         * Add "require_message_authenticator" configuration to home_server
164           configuration.  This makes the server add Message-Authenticator
165           to all outgoing Access-Request packets.
166         * Added smsotp module, as contributed by Siemens.
167         * Enabled the administration socket in the default install.
168           See raddb/sites-available/control-socket, and "man radmin"
169         * Handle duplicate clients, such as with replicated or
170           load-balanced SQL servers and "readclients = yes"
171
172         Bug fixes
173         * Clean up control sockets when they are closed, so that we don't
174           leak memory.
175         * Define SUN_LEN for systems that don't have it.
176         * Correct some boundary conditions in the conditional checker ("if")
177           in "unlang".  Bug noted by Arran Cudbard-Bell.
178         * Work around minor building issues in gmake.  This should only
179           have affected developers.
180         * Change how we manage unprivileged user/group, so that we do not
181           create control sockets owned by root.
182         * Fixed more minor issues found by Coverity.
183         * Allow raddb/certs/bootstrap to run when there is no "make"
184           command installed.
185         * In radiusd.conf, run_dir depends on the name of the program,
186           and isn't hard-coded to "..../radiusd"
187         * Check for EOF in more places in the "detail" file reader.
188         * Added Freeswitch dictionary.
189         * Chop ethernet frames in VMPS, rather than droppping packets.
190         * Fix EAP-TLS bug.  Patch from Arnaud Ebalard
191         * Don't lose string for regex-compares in the "users" file.
192         * Expose more functions in rlm_sql to rlm_sqlippool, which 
193           helps on systems where RTLD_GLOBAL is off.
194         * Fix typos in MySQL schemas for ippools.
195         * Remove macro that was causing build issues on some platforms.
196         * Fixed issues with dead home servers.  Bug noted by Chris Moules.
197         * Fixed "access after free" with some dynamic clients.
198
199 FreeRADIUS 2.1.3 Fri Dec 5 17:40:00 CEST 2008;  , urgency=medium
200         Feature improvements
201         * Allow running with "user=radiusd" and binding to secure
202           sockets.
203         * Start sending Status-Server "are you alive" messages earlier,
204           which helps with proxying multiple realms to a home server.
205         * Removed thread pool code from rlm_perl.  It's not necessary.
206         * Added example Perl configuration to raddb/modules/perl
207         * Force OpenSSL to support certificates with SHA256.
208           This seems to be necessary for WiMAX certs.
209
210         Bug fixes
211         * Fix Debian patch to allow it to build.
212         * Fix potential NULL dereference in debugging mode on certain
213           platforms for TTLS and PEAP inner tunnels.
214         * Fix uninitialized memory in handling of vendor definitions
215         * Fix parsing of quoted (but non-string) attributes in the "users"
216           file.
217         * Initialize uknown NAS IP to 255.255.255.255, rather than 0.0.0.0
218         * use SUN_LEN in control socket, to avoid truncation on some
219           platforms.
220         * Correct internal handling of "debug condition" to prevent it
221           from being over-written.
222         * Check return code of regcomp in "unlang", so that invalid
223           regular expressions are caught rather than mishandled.
224         * Make rlm_sql use <ltdl.h>.  Addresses bug #610.
225         * Document list "type = status" better.  Closes bug #580.
226         * Set "default days" for certificates, because OpenSSL won't
227           do it.  This closes bug #615.
228         * Reference correct list in example raddb/modules/ldap.
229           Closes #596.
230         * Increase default schema size for Acct-Session-Id to 64.
231           Closes #540.
232         * Fix use of temporary files in dialup-admin.  Closes #605
233           and addresses CVE-2008-4474.
234         * Addressed a number of minor issues found by Coverity.
235         * Added DHCP option 150 to the dictionary.  Closes #618.
236
237 FreeRADIUS 2.1.2 Thurs Dec 3 10:47:00 CEST 2008;  , urgency=medium
238         Due to packaging issues, 2.1.2 has been pulled from the net.
239
240 FreeRADIUS 2.1.1 Thu Sep 25 11:03:00 CEST 2008;  , urgency=medium
241         Feature improvements
242         * Many more options and features in radmin.  See "man radmin" and
243           raddb/sites-available/control-socket
244         * Many more commands available via the control socket.  Connect
245           via "radmin", and type "help" for more information.
246         * Added dictionary.networkphysics and dictionary.lancom.
247         * Calculate WiMAX MIP keys, and added sample WiMAX SQL tables.
248
249         Bug fixes
250         * Fixed bug that made radmin not work
251         * Fixed Suse && Debian package scripts
252         * Fixed issues with dynamic clients
253         * Fixed configure checks for -lreadline
254         * rlm_sqlippool no longer needs to be linked to rlm_sql.
255         * Add statistics for detail file listeners.  This closes bug #593.
256         * Fixed printing of some WiMAX attributes.
257         * Fix double free on exit() in rlm_attr_filter
258         * Fixed build issues on Solaris.
259         * Fixed fast session resumption for EAP-TLS
260
261 FreeRADIUS 2.1.0 Fri Sep  5 13:20:01 CEST 2008;  , urgency=medium
262         Feature improvements
263         * Clients may now be defined dynamically, based on IP address.
264           See raddb/sites-available/dynamic-clients.
265         * SNMP support is now available through an experimental Perl script.
266           See scripts/snmp-proxy/README
267         * SNMP statistics are available through Status-Server packets.
268           See raddb/sites-available/status
269         * Added more Microsoft attributes from bug #568.
270         * The "linelog" module has more functionality and flexibility.
271           See raddb/modules/linelog.
272         * The debugging output has been sanitized.  It should be much
273           more readable.
274         * Debug logs can now be turned on/off while the server is running, for
275           a user, group, realm, etc.  See the "log" section of radiusd.conf.
276         * Added support for WiMAX Forum attributes.  The dynamic keys
277           are not yet calculated.  See share/dictionary.wimax
278         * Added session resumption for PEAP and TTLS.
279           See raddb/eap.conf, "cache" sub-section.
280         * Added "radmin" command-line tool for administering a running server.
281           See "man radmin" and raddb/sites-available/control-socket.
282
283         Bug fixes
284         * Double escaping of '\\' in the "users" (and some other) files
285           has been fixed.  If you have '\\' in the "users" file, your
286           configuration WILL NEED TO BE CHECKED, AND FIXED!
287         * Parse "security" section in radiusd.conf.  This was accidentally
288           deleted in 2.0.5.  Closes bug #566.
289         * Bind to interface before IP, which allows DHCP sockets to
290           listen on "*" for multiple interfaces.
291         * Fix handling of giaddr in DHCP responses.
292         * Corrected parsing of status_check in home_server so that it works.
293         * Fix hints so that "Puser" works again.
294         * Removed length restrictions on attribute names in the dictionaries.
295         * Update socket code to avoid C compiler optimizations.
296
297 FreeRADIUS 2.0.5 ; Date: 2008/06/07 17:17:00 , urgency=medium
298         Feature improvements
299         * Permit SQL authorize_reply_query to be empty.
300         * Allow setting response packet type in Post-Proxy-Type Fail
301           handler.
302         * Added install-chown target to set correct permission and ownership
303           make RADMIN=radmin RGROUP=radius install-chown
304         * Support for LDAP-Group and other dynamic comparison attributes
305           in unlang.  Developed from a patch by Jason Alderfer.
306         * Added chroot support.  See radiusd.conf for comments.
307         * Allow clients of 0/0.  We do not recommend using this, though.
308         * Moved many module configurations into raddb/modules/*
309         
310         Bug fixes
311         * Allow proxying to virtual servers for accounting packets, too.
312         * Added "num fields" function to PostgreSQL client.
313         * Updated proxy fallback mechanism to validate fallback servers,
314           and to process fallback requests in a child thread.
315         * rlm_realm returns "ok" for LOCAL realms, not "noop".
316         * Fixed some DHCP code handling.  The examples should now work.
317
318 FreeRADIUS 2.0.4 ; Date: 2008/04/30 08:56:40  , urgency=medium
319         Feature improvements
320         * Allow "virtual_server" in "realm" and "home_server" sections.
321           See raddb/proxy.conf and raddb/sites-available/virtual.example.com.
322         * Allow "passwd" module to be listed in "accounting" and "post-auth".
323         * Added "fallback" to "home_server_pool" configuration, to handle
324           the case of all home servers being dead.  See raddb/proxy.conf.
325         * Added sample text to raddb/sites-available/inner-tunnel which
326           can simplify debugging of inner tunnel configurations.
327         * Added regular expression matching in realm names.  See
328           raddb/proxy.conf for examples.
329         * Added simple DHCP server functionality.  For comments, see
330           raddb/sites-available/dhcp.
331         * Added file globbing capabilities to detail file reader
332         * Added sample raddb/sites-available/robust-proxy-accounting
333         * Clients in SQL can now refer to a virtual server.
334           Patch from Michael Bretterklieber.
335         * Added some examples of creating RADIUS administrator in SQL,
336           and assigning appropriate access rights.
337         
338         Bug fixes
339         * Install all files in raddb/sites-available
340         * Allow non-threaded builds.
341         * Don't treat '0x' as special for known attributes that are not
342           of type "octets".
343         * Fix log error in rlm_pap.
344         * Remove documentation about non-existent functionality.
345         * Updated warning messages in debug output.
346         * Fix handling of timeouts in rlm_ldap that affected 64-bit systems.
347           This fix was supposed to go into 2.0.3, but did not make it.
348         * Fix event handling in debug mode for failed proxy requests.
349         * Fix memleak in fifos.  Closes #537.
350         * Fix memleak on blocked threads.  Closes #538.
351         * Perform additional checks on NULL realms.  Closes #541.
352         * Fix handling of "clients" in "listen" section.
353         * When detail file cannot process a packet, sleep for longer
354           to let the rest of the server do something.
355         * Add missing table to raddb/sql/mssql/schema.sql.  Closes #545.
356         * Updated rlm_sql_postgresql to build with PostgreSQL 7.x. 
357           Closes #533.
358         * Fix "postauth" of rlm_ldap to look for LDAP-UserDn in the
359           correct place.
360         * Update rlm_attr_filter for some corner cases.  Closes #543.
361         * Fixed memory leak in libfreeradius event handler.
362         * In the SQL Accounting on/off queries, remove the restriction
363           that the session time had to be zero.
364         
365 FreeRADIUS 2.0.3 ; Date: 2008/03/17 09:22:17  , urgency=medium
366         Feature improvements
367         * Updated raddb/certs/ca.cnf with extensions to allow ca.der
368           to be imported as a CA on Symbian and Windows Mobile devices.
369           Closes bug #524
370         * Enable multiple matches in "hints" via Fall-Through = Yes.
371           Closes bug #477
372         * Added preliminary SQLite driver, contibuted by Apple.
373           Untested, with no sample configuration.  This address bug #470.
374         * Updated logging sub-system so that log messages from libfreeradius
375           can go to the log file, and not stdout.
376         * Added dictionary.rfc5176
377         * EAP module now checks for instance name, and uses that for
378           authentication.  This avoids the need to set Auth-Type when
379           there are multiple instances of the EAP module.
380         * Added Module-Return-Code attribute, which contains the value
381           returned by the previous module (ok/fail/update/etc.)
382
383         Bug fixes
384         * Corrected typos in rlm_dbm.  Closes bugs #521 and #522.
385         * Detail file "listen" sections now work much better.
386         * Don't allow old "log_*" to over-ride new format.  Closes bug #525
387         * Initialize allocated memory in Oracle SQL driver.  This fixes
388           occasional crashes on some systems.  Closes bug #518
389         * Call correct function in rlm_protocol_filter.  This enables the
390           module to build.  Closes bug #512.
391         * Added deprecated flag to build for rlm_krb5.  This allows it to
392           run on 64-bit systems.  Closes bug #491
393         * Corrected error message when parsing invalid configurations
394           so it doesn't crash.  Closes bug #527
395         * Fix handling of timeouts in rlm_ldap that affected 64-bit systems.
396         * Handle $INCLUDE's in "instantiate" section.  Closes #528.
397         * Format updates to "man" pages from Stephen Gran.
398
399 FreeRADIUS 2.0.2 ; Date: 2008/02/14 11:13:48  , urgency=medium
400         Feature improvements
401         * Added notes on how to debug the server in radiusd.conf
402         * Moved all "log_*" in radiusd.conf to log{} section.
403           The old configurations are still accepted, though.
404         * Added ca.der target in raddb/certs/Makefile.  This is
405           needed for importing CA certs into Windows.
406         * Added ability send raw attributes via "Raw-Attribute = 0x0102..."
407           This is available only debug builds.  It can be used
408           to create invalid packets! Use it with care.
409         * Permit "unlang" policies inside of Auth-Type{} sub-sections
410           of the authenticate{} section.  This makes some policies easier
411           to implement.
412         * "listen" sections can now have "type = proxy".  This lets you
413           control which IP is used for sending proxied requests.
414         * Added note on SSL performance to raddb/certs/README
415
416         Bug fixes
417         * Fixed reading of "detail" files.
418         * Allow inner EAP tunneled sessions to be proxied.
419         * Corrected MySQL schemas
420         * syslog now works in log{} section.
421         * Corrected typo in raddb/certs/client.cnf
422         * Updated raddb/sites-available/proxy-inner-tunnel to
423           permit authentication to work.
424         * Ignore zero-length attributes in received packets.
425         * Correct memcpy when dealing with unknown attributes.
426         * Corrected debugging messages in attr_rewrite.
427         * Corrected generation of State attribute in EAP.  This
428           fixes the "failed to remember handler" issues.
429         * Fall back to DEFAULT realm if no realm was found.
430           Based on a patch from Vincent Magnin.
431         * Updated example raddb/sites-available/proxy-inner-tunnel
432         * Corrected behavior of attr_filter to match documentation.
433           This is NOT backwards compatible with previous versions!
434           See "man rlm_attr_filter" for details.
435
436 FreeRADIUS 2.0.1 ; Date: 2008/01/22 13:29:37  , urgency=low
437         Feature improvements
438         * "unlang" has been expanded to do less run-time expansion,
439           and to have better handling of typed data.  See "man unlang"
440           for documentation and new examples.
441         
442         Bug fixes
443         * The 'acct_unique' module has been updated to understand
444           the deprecated (but still used) Client-IP-Address attribute.
445         * The EAP-MSCHAPv2 module no longer leaks MS-CHAP2-Success in
446           packets.
447         * Fixed crash in rlm_dbm.
448         * Fixed parsing of syslog configuration.
449
450 FreeRADIUS 2.0.0 ; Date: 2007/11/24 08:33:09 , urgency=low
451         Feature improvements
452         * Debugging mode is much clearer and easier to read.
453         * A new policy language makes many configurations trivial.
454           See "man unlang" for a complete description.
455         * Virtual servers are now supported.  This permits clear separation
456           of policies.  See raddb/sites-available/README
457         * EAP-TLS (PEAP, EAP-TTLS) and OpenSSL certificates "just work".
458           See raddb/certs/README for details.
459         * Proxying is much more configurable than before.
460           See proxy.conf for documentation on pools, and new config items.
461         * Full support for IPv6.
462         * Much more complete support for the RADIUS SNMP MIBs.
463         * HUP now works.  Only some modules are re-loaded,
464           and the server configuation is *not* reloaded.
465         * "check config" option now works.  See "man radiusd"
466         * radrelay functionality is now included in the server core.
467           See raddb/sites-available/copy-acct-to-home-server
468         * VMPS support.  It is minimal, but functional.
469         * Cleaned up internal API's and names, including library names.
470         
471         Bug fixes
472         * Many.