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