Version 2.1.11 has been released
It's been a long time since 2.1.10. We're happy to release version 2.1.11, which has many of useful new features, and a number of minor bugs fixed. Thanks to everyone who contributed features, bug fixes, and bug reports. Your contributions help make the server better. The full change log is below. Alan DeKok. ------ FreeRADIUS 2.1.11 Mon 20 Jun 2011 12:57:38 CEST, urgency=medium Feature improvements * Added doc/rfc/rfc6158.txt: RADIUS Design Guidelines. All vendors need to read it and follow its directions. * Microsoft SoH support for PEAP from Phil Mayers. See doc/SoH.txt * Certificate "bootstrap" script now checks for certificate expiry. See comments in raddb/eap.conf, and then "make_cert_command". * Support for dynamic expansion of EAP-GTC challenges. Patch from Alexander Clouter. * OCSP support from Alex Bergmann. See raddb/eap.conf, "ocsp" section. * Updated dictionary.huawei, dictionary.3gpp, dictionary.3gpp3. * Added dictionary.eltex, dictionary.motorola, and dictionary.ukerna. * Experimental redis support from Gabriel Blanchard. See raddb/modules/redis and raddb/modules/rediswho * Add "key" to rlm_fastusers. Closes bug #126. * Added scripts/radtee from original software at http://horde.net/~jwm/software/misc/comparison-tee * Updated radmin "man" page for new commands. * radsniff now prints the hex decoding of the packet (-x -x -x) * mschap module now reloads its configuration on HUP * Added experimental "replicate" module. See raddb/modules/replicate * Policy "foo" can now refer to module "foo". This lets you over-ride the behavior of a module. * Policy "foo.authorize" can now over-ride the behavior of module "foo", "authorize" method. * Produce errors in more situations when the configuration files have invalid syntax. Bug fixes * Ignore pre/post-proxy sections if proxying is disabled * Add configure checks for pcap_fopen*. * Fix call to otp_write in rlm_otp * Fix issue with Access-Challenge checking from 2.1.10, when the debug flag was set after server startup. Closes #116 and #117. * Fix typo in zombie period start time. * Fix leak in src/main/valuepair.c. Patch from James Ballantine. * Allow radtest to use spaces in shared secret. Patch from Cedric Carree. * Remove extra calls to HMAC_CTX_init() in rlm_wimax, fixing leak. Patch from James Ballantine. * Remove MN-FA key generation. The NAS does this, not AAA. Patch from Ben Weichman. * Include dictionary.mikrotik by default. Closes bug #121. * Add group membership query to MS-SQL examples. Closes bug #120. * Don't cast NAS-Port to integer in Postgresql queries. Closes bug #112. * Fixes for libtool and autoconf from Sam Hartman. * radsniff should read the dictionaries in more situations. * Use fnmatch to check for detail file reader==writer. Closes bug #128. * Check for short writes (i.e. disk full) in rlm_detail. Closes bug #130. Patches and testing from John Morrissey. * Fix typo in src/lib/token.c. Closes bug #124 * Allow workstation trust accounts to use MS-CHAP. Closes bug #123. * Assigning foo=`/bin/echo hello` now produces a syntax error if it is done outside of an "update" section. * Fix "too many open file descriptors" problem when using "verify client" in eap.conf. * Many fixes to dialup_admin for PHP5, by Stefan Winter. * Allow preprocess module to have "hints = " and "huntgroups =", which allows them to be empty or non-existent. * Renamed "php3" files to "php" in dialup_admin/ * Produce error when sub-TLVs are used in a dictionary. They are supported only in the "master" branch, and not in 2.1.x. * Minor fix in dictionary.redback. Closes bug #138. * Fixed MySQL "NULL" issues in ippool.conf. Closes bug #129. * Fix to Access-Challenge warning from Ken-ichirou Matsuzawa. Closes bug #118. * DHCP fixes to send unicast packets in more situations. * Fix to udpfromto, to enable it to work on IPv6 networks. * Fixes to the Oracle accounting_onoff_query. * When using both IPv4 and IPv6 home servers, ensure that we use the correct local socket for proxying. Closes bug #143. * Suppress messages when thread pool is nearly full, all threads are busy, and we can't create new threads. * IPv6 is now enabled for udpfromto. Closes bug #141 * Make sqlippool query buffer the same size as sql module. Closes bug #139. * Make Coa / Disconnect proxying work again. * Configure scripts for rlm_caching from Nathaniel McCallum * src/lib/dhcp.c and src/include/libradius.h are LGPL, not GPL. * Updated password routines to use time-insensitive comparisons. This prevents timing attacks (though none are known). * Allow sqlite module to do normal SELECT queries. * rlm_wimax now has a configure script * Moved Ascend, USR, and Motorola "illegal" dictionaries to separate files. See share/dictionary for explanations. * Check for duplicate module definitions in the modules{} section, and refuse to start if duplicates are found. * Check for duplicate virtual servers, and refuse to start if duplicates are found. * Don't use udpfromto if source is INADDR_ANY. Closes bug #148. * Check pre-conditions before running radmin "inject file". * Don't over-ride "no match" with "match" for regexes. Closes bug #152. * Make retry and error message configurable in mschap. See raddb/modules/mschap * Allow EAP-MSCHAPv2 to send error message to client. This change allows some clients to prompt the user for a new password. See raddb/eap.conf, mschapv2 section, "send_error". * Load the default virtual server before any others. This matches what users expect, and reduces confusion. * Fix configure checks for udpfromto. Fixes Debian bug #606866 * Definitive fix for bug #35, where the server could crash under certain loads. Changes src/lib/packet.c to use RB trees. * Updated "configure" checks to allow IPv6 udpfromto on Linux. * SQL module now returns NOOP if the accounting start/interim/stop queries don't do anything. * Allow %{outer.control: ... } in string expansions * home_server coa config now matches raddb/proxy.conf * Never send a reply to a DHCP Release.
Hi,
It's been a long time since 2.1.10. We're happy to release version 2.1.11, which has many of useful new features, and a number of minor bugs fixed.
yay! :-) <virtual champagne cork released> however, a nice quirky change in config parser means that any unlang style code with an 'if' condition check that end with no space before curlies eg if (condition){ rather than if (condition) { causes the daemon to not start... quick one-line config changer on the command line is: sed -i -e 's/){/) {/g' * this fixed at least 45 instances of such coding ctyle in my virtual servers alan
Alan Buxey wrote:
however, a nice quirky change in config parser means that any unlang style code with an 'if' condition check that end with no space before curlies eg
Arg. That's annoying. It would have been nice to catch that. Anyways, the fix is simple. At least there's a descriptive error message. :( Alan DeKok.
Fix it real quick before many download it, call it 2.1.11.1 - or 2.1.11a :) -----Original Message----- From: freeradius-users-bounces+ggatten=waddell.com@lists.freeradius.org [mailto:freeradius-users-bounces+ggatten=waddell.com@lists.freeradius.org] On Behalf Of Alan DeKok Sent: Monday, June 20, 2011 10:00 AM To: FreeRadius users mailing list Subject: Re: Version 2.1.11 has been released Alan Buxey wrote:
however, a nice quirky change in config parser means that any unlang style code with an 'if' condition check that end with no space before curlies eg
Arg. That's annoying. It would have been nice to catch that. Anyways, the fix is simple. At least there's a descriptive error message. :( Alan DeKok. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html <font size="1"> <div style='border:none;border-bottom:double windowtext 2.25pt;padding:0in 0in 1.0pt 0in'> </div> "This email is intended to be reviewed by only the intended recipient and may contain information that is privileged and/or confidential. If you are not the intended recipient, you are hereby notified that any review, use, dissemination, disclosure or copying of this email and its attachments, if any, is strictly prohibited. If you have received this email in error, please immediately notify the sender by return email and delete this email from your system." </font>
Hi,
Fix it real quick before many download it, call it 2.1.11.1 - or 2.1.11a :)
if its to be changed then 2.1.12 and at least change the old year in src/main/version.c there are other date copyright files - i guess the authors should assert this but the main project should cover share/format.pl:# Copyright (C) 2010 Alan DeKok <aland@freeradius.org> src/modules/rlm_mschap/mschap.c: * Copyright 2000,2001,2006,2010 The FreeRADIUS server project src/main/dhclient.c: * Copyright 2010 Alan DeKok <aland@ox.org> src/main/version.c: printf("Copyright (C) 1999-2010 The FreeRADIUS server project and contributors.\n"); alan
Hi, a similar issue with the config parser here... The following worked nicely in 2.1.10, but barks with "Unexpected text else" (and with the obvious change to elsif, "Unexpected text elsif"). if ( "%{NAS-Identifier}" == "ejabberd" ) { update request { RESTENA-Service-Type = "Staff-Jabber" } } else if ( "%{NAS-Identifier}" == "AAI-Staff-IdP" ) { update request { RESTENA-Service-Type = "Staff-AAI" } } else update request { RESTENA-Service-Type = "Staff-%{client:staff_type}" } But... what's wrong with that? How would I have to fix the syntax to be acceptable? Apologies for not spotting it earlier... I run 2.1.x on a test server, but the test server's config is only slightly more simple than the production one - it has no "else" in that authorize block. Stefan Winter Am 20.06.2011 16:47, schrieb Alan Buxey:
Hi,
It's been a long time since 2.1.10. We're happy to release version 2.1.11, which has many of useful new features, and a number of minor bugs fixed. yay! :-) <virtual champagne cork released>
however, a nice quirky change in config parser means that any unlang style code with an 'if' condition check that end with no space before curlies eg
if (condition){
rather than
if (condition) {
causes the daemon to not start...
quick one-line config changer on the command line is:
sed -i -e 's/){/) {/g' *
this fixed at least 45 instances of such coding ctyle in my virtual servers
alan - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
-- Stefan WINTER Ingenieur de Recherche Fondation RESTENA - Réseau Téléinformatique de l'Education Nationale et de la Recherche 6, rue Richard Coudenhove-Kalergi L-1359 Luxembourg Tel: +352 424409 1 Fax: +352 422473
Stefan Winter wrote:
a similar issue with the config parser here...
The following worked nicely in 2.1.10, but barks with "Unexpected text else" (and with the obvious change to elsif, "Unexpected text elsif").
if ( "%{NAS-Identifier}" == "ejabberd" ) { update request { RESTENA-Service-Type = "Staff-Jabber" } } else
Except that's wrong... it doesn't do what you want! The "else" is ignored.
But... what's wrong with that? How would I have to fix the syntax to be acceptable?
$ man unlang :) Everything needs to go on its own line: if (...) { ... } elsif (...) { ... } Using "} elseif" won't work. The "elsif" will *always* be ignored. Alan DeKok.
man unlang :)
Everything needs to go on its own line:
if (...) { ... } elsif (...) { ... }
Using "} elseif" won't work. The "elsif" will *always* be ignored.
Yes... that's always been the syntax, it's a line based parser. All this version has done has stared telling you that the original config was incorrect. -Arran
Hello Alan, all, thanks for that quick lesson :-) I stand corrected; and with the right ordering, things are now working as they should. I did wonder a few times why that attribute RESTENA-Service-Type wasn't properly populated in some cases :-) But no bad things happened, just things being logged into a different directory than expected. Thanks again, Stefan Am 21.06.2011 11:53, schrieb Alan DeKok:
Stefan Winter wrote:
a similar issue with the config parser here...
The following worked nicely in 2.1.10, but barks with "Unexpected text else" (and with the obvious change to elsif, "Unexpected text elsif").
if ( "%{NAS-Identifier}" == "ejabberd" ) { update request { RESTENA-Service-Type = "Staff-Jabber" } } else Except that's wrong... it doesn't do what you want! The "else" is ignored.
But... what's wrong with that? How would I have to fix the syntax to be acceptable? $ man unlang :)
Everything needs to go on its own line:
if (...) { ... } elsif (...) { ... }
Using "} elseif" won't work. The "elsif" will *always* be ignored.
Alan DeKok. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
-- Stefan WINTER Ingenieur de Recherche Fondation RESTENA - Réseau Téléinformatique de l'Education Nationale et de la Recherche 6, rue Richard Coudenhove-Kalergi L-1359 Luxembourg Tel: +352 424409 1 Fax: +352 422473
Hi,
Hi,
a similar issue with the config parser here...
The following worked nicely in 2.1.10, but barks with "Unexpected text else" (and with the obvious change to elsif, "Unexpected text elsif").
if ( "%{NAS-Identifier}" == "ejabberd" ) { update request { RESTENA-Service-Type = "Staff-Jabber" } } else
else or elsif must be on a new line rather than following a bracket alan
The bootstrap logic has been changed, the comment in eap.conf says: # This command creates the initial "snake oil" # certificates when the server is run as root, # and via "radiusd -X". # # As of 2.1.11, it *also* checks the server # certificate for validity, including expiration. # This means that radiusd will refuse to start # when the certificate has expired. The alternative # is to have the 802.1X clients refuse to connect # when they discover the certificate has expired. # # Debugging client issues is hard, so it's better # for the server to print out an error message, # and refuse to start. But rlm_eap_tls.c has this: /* * This magic makes the administrators life HUGELY easier * on initial deployments. * * If the server starts up in debugging mode, AND the * bootstrap command is configured, AND it exists, AND * there is no server certificate */ if (conf->make_cert_command && (debug_flag >= 2)) { struct stat buf; if ((stat(conf->make_cert_command, &buf) == 0) && (stat(conf->certificate_file, &buf) < 0) && (errno == ENOENT) && (radius_exec_program(conf->make_cert_command, NULL, 1, NULL, 0, NULL, NULL, 0) != 0)) { eaptls_detach(inst); return -1; } } Maybe I'm missing something but it seems pointless to have certificate validation logic in the bootstrap command if it's only run in debug and and only if the cert doesn't exist. It also seems to directly contradict the comments in eap.conf. What am I missing? -- John Dennis <jdennis@redhat.com> Looking to carve out IT costs? www.redhat.com/carveoutcosts/
John Dennis wrote:
The bootstrap logic has been changed, the comment in eap.conf says: ... Maybe I'm missing something but it seems pointless to have certificate validation logic in the bootstrap command if it's only run in debug and and only if the cert doesn't exist. It also seems to directly contradict the comments in eap.conf. What am I missing?
The comments are about the bootstrap command, not about the server checking for expiry. It could be worded better. Alan DeKok.
freeradius-2.1.11 RPM packages for Fedora 14 and Fedora 15 have been pushed into their respective *testing* repos. It may take a while for them to hit the mirrors. To upgrade via yum you will need to enable the testing repo, e.g. yum --enablerepo=fedora-updates-testing upgrade freeradius -- John Dennis <jdennis@redhat.com> Looking to carve out IT costs? www.redhat.com/carveoutcosts/
On Thu, Jun 23, 2011 at 12:48 AM, John Dennis <jdennis@redhat.com> wrote:
freeradius-2.1.11 RPM packages for Fedora 14 and Fedora 15 have been pushed into their respective *testing* repos. It may take a while for them to hit the mirrors.
To upgrade via yum you will need to enable the testing repo, e.g.
yum --enablerepo=fedora-updates-testing upgrade freeradius
I checked F14's rpm from http://koji.fedoraproject.org/koji/buildinfo?buildID=249881, and /etc/logrotate.d/radiusd still contains entries like this /var/log/radius/radius.log { monthly rotate 4 create missingok compress } Shouldn't there be a "kill -HUP" there somewere? Relevant Debian bugreport (as reference): http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=602815 -- Fajar
Hi,
On Thu, Jun 23, 2011 at 12:48 AM, John Dennis <jdennis@redhat.com> wrote:
freeradius-2.1.11 RPM packages for Fedora 14 and Fedora 15 have been pushed into their respective *testing* repos. It may take a while for them to hit the mirrors.
To upgrade via yum you will need to enable the testing repo, e.g.
yum --enablerepo=fedora-updates-testing upgrade freeradius
I checked F14's rpm from http://koji.fedoraproject.org/koji/buildinfo?buildID=249881, and /etc/logrotate.d/radiusd still contains entries like this
/var/log/radius/radius.log { monthly rotate 4 create missingok compress }
Shouldn't there be a "kill -HUP" there somewere?
Relevant Debian bugreport (as reference): http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=602815
HUP or a full service restart yes - as the new version keeps writing to the old handle....so your eg radius.log.50 file is HUGE but radius.log is 0k ;-) alan
On 06/23/2011 03:11 AM, Fajar A. Nugraha wrote:
On Thu, Jun 23, 2011 at 12:48 AM, John Dennis<jdennis@redhat.com> wrote:
freeradius-2.1.11 RPM packages for Fedora 14 and Fedora 15 have been pushed into their respective *testing* repos. It may take a while for them to hit the mirrors.
To upgrade via yum you will need to enable the testing repo, e.g.
yum --enablerepo=fedora-updates-testing upgrade freeradius
I checked F14's rpm from http://koji.fedoraproject.org/koji/buildinfo?buildID=249881, and /etc/logrotate.d/radiusd still contains entries like this
/var/log/radius/radius.log { monthly rotate 4 create missingok compress }
Shouldn't there be a "kill -HUP" there somewere?
Thank you Fajar, good catch. I've updated logrotate script (it actually does a "/sbin/service radiusd reload" via the initscript). freeradius-2.1.11-2 should show up shortly. -- John Dennis <jdennis@redhat.com> Looking to carve out IT costs? www.redhat.com/carveoutcosts/
Not really a bug, but I feel I should report it if someone else run into the same issue. On Ubuntu 10.4 (Lucid) when I try to build debs from the 2.1.11 source using the instructions on the Wiki, ( http://wiki.freeradius.org/Build#Building+Debian+packages http://wiki.freeradius.org/Build#Building+Debian+packages ) the following error happens: echo misc:Depends= >> debian/freeradius.substvars dpkg-gencontrol -pfreeradius -ldebian/changelog -Tdebian/freeradius.substvars -Pdebian/freeradius parsechangelog/debian: warning: debian/changelog(l3): found trailer where expected start of change data LINE: -- Alan DeKok <aland@freeradius.org> Sat, 18 Jun 2011 10:45:03 +0100 dpkg-gencontrol: error: source package name `Freeradius' contains illegal character `F' dh_gencontrol: dpkg-gencontrol -pfreeradius -ldebian/changelog -Tdebian/freeradius.substvars -Pdebian/freeradius returned exit code 255 make[1]: *** [binary-common] Error 9 make[1]: Leaving directory `/home/system/d/freeradius-server-2.1.11' make: *** [binary-arch] Error 2 dpkg-buildpackage: error: debian/rules binary gave error exit status 2 It does not like the captil 'F' on the first line of debian/changelog: Freeradius (2.1.11+git) unstable; urgency=medium Change it to: freeradius (2.1.11+git) unstable; urgency=medium And try again: $> fakeroot dpkg-buildpackage -b -uc to complete the build successful. Kind regards -- View this message in context: http://freeradius.1045715.n5.nabble.com/Version-2-1-11-has-been-released-tp4... Sent from the FreeRadius - User mailing list archive at Nabble.com.
On Mon, Jun 27, 2011 at 12:16 AM, Dirk van der Walt <dirkvanderwalt@gmail.com> wrote:
Not really a bug, but I feel I should report it if someone else run into the same issue.
On Ubuntu 10.4 (Lucid) when I try to build debs from the 2.1.11 source using the instructions on the Wiki, ( http://wiki.freeradius.org/Build#Building+Debian+packages http://wiki.freeradius.org/Build#Building+Debian+packages )
IMHO you should apply https://github.com/alandekok/freeradius-server/commit/731e733bfede8ec49f56b8... to 2.1.11 as at least three users have reported problems without it, ranging from OOM to crash (search list archive for details). If you're feeling lazy you can use my PPA: https://launchpad.net/~freeradius/+archive/stable -- Fajar
participants (8)
-
Alan Buxey -
Alan DeKok -
Arran Cudbard-Bell -
Dirk van der Walt -
Fajar A. Nugraha -
Gary Gatten -
John Dennis -
Stefan Winter