release_3_0_7
·
35173 commits
to master
since this release
Feature improvements
- Allow coa home_servers to be derived from client
sections if a coa_server section is provided. - Automatically determine the correct port if no port is
provided for a home server. - Allow foreach to operate over lists.
- Add compile time features to
${feature.*}
and versions
of core libraries to${version.*}
. Feature and version
names match output ofradiud -xv
. %v is now deprecated. - Add support for PATCH method in rlm_rest.
- Validate more module xlats on startup, and warn if an
xlat expansion is found in a double quoted config item
which will not be expanded. - Add support for sub-second timeouts in rlm_rest.
- Add support for connection timeouts in rlm_rest.
- Add
%{jsonquote:<str>}
xlat to escape strings for insertion
into json documents. - Add
%{ldapquote:<str>}
xlat to escape strings for insertion
into ldap DNs. - Add
%{explode:&ref <char>}
, splits value of &ref on
<char>
and creates new &ref type attributes with the
fragments. - Allow rlm_ldap to use attribute references for base_dn and
filter config items. The attribute references are not
escaped, allowing DNs and filters to be created dynamically. - Add
%{nexttime:[<int>]h|d|w|y}
to calculate the number of
seconds before the next<int>
hour(s), day(s), week(s),
or year(s). - Allow the left side of update sections to be xlat expansions.
The result of the expansion is then used to reference the
attribute to be modified. - Added
%{lpad:&Attribute-Name 7 x}
and rpad. These produce
fixed-width output strings, with padding to the left (lpad)
or the right (rpad). - For some SQL drivers (MySQL, sqlite) distinguish between
constraints violations (on insert), invalid queries, and
server errors, and return noop, invalid, and error respectively. - Call SHOW WARNINGS in the MySQL driver and write them to
the request log, if libmysqlclient indicates warnings are
available on the server. - Forbid the creation of Vendor-Specific for non-standard
VSAs. Use Attr-26 = 0x... instead. - Make dhcpclient work with raw sockets and various other
improvements - Contributed by nchaigne - Add support for SSHA2 - Contributed by PDD.
- Add perle dictionary - Contributed by Hachmer
- Modernise init scripts for RHEL, SUSE and Debian.
- radmin now tracks the return code of commands, and exits
with status "1" if any command failed to execute. - radmin now sends error messages from the server to
stderr, instead of to stdout. - radmin now looks for sockets matching it's UID and GID,
rather than just always using the first one it finds. - radmin can how delete clients which are tied to a listener.
- Moved RADIUS attribute definitions to src/include/rfc*.h
- Move to talloc pools for requests. For in-memory tests
(default config, 'users' file), performance increases by 30%. - In rlm_ldap allow sasl_mech to be specified for admin and
user binds. Only non-interactive mechs (like EXTERNAL)
are currently supported. - Remove support for ephemeral RSA keys. They were "export only",
and should not be used by anyone. - Syntax errors in the "users" file now produce better
error messages.
Bug fixes
- Fix issues parsing LDAP hostnames with non-standard ports.
- Fix issues with realms containing regular expressions.
- Allow unary negation before parantheses in rlm_expr.
- Fix infinite loop in kevent event loop code. Issue only
presented on FreeBSD. - Be more careful to define Auth-Types before loading modules.
- Link libfreeradius-radius against OpenSSL too, to avoid
multi-version symbols in SSL libraries. - When rlm_ldap rebinds a connection, it should use bind
credentials from the module that created the connection
pool, not credentials from the module referencing it. - Empty server config pairs should be allowed in rlm_ldap
instances that reference another module's connection pool. - Mark rlm_always as huppable, so its rcode can be changed
via radmin (allows policy toggles). - Emit warnings when ignoring user configured pool values.
- Fix issue that would cause radclient to complain
intermittently about differing numbers of filters and
requests. - Fix cosmetic issues in connection pool logging, that made
it appear as if the same connection was being opened
multiple times. - Fix threadsafety issues in SQL drivers, where a static
buffer was used to store error messages. - Log RERROR, RWARN, RINFO to the global log if request
logging is not enabled. - Link to libldap instead of libldap_r. libldap_r
is not supported for use by projects outside of OpenLDAP. - Set connection timeout correctly in rlm_sql_mysql.
- Build with older versions of libcurl, and use CFLAGS from
curl-config. - Honour Packet-Src-Port and Packet-Src-IP-address in radclient.
- Initialise ldapai_info_version field, so libldap will report
its vendor and version. - Fix log rotation scripts by using the copyrotate option.
- Fix issue that caused opening control sockets to always
fail on non-Linux systems, if a user or group was set. - Save Session-State after proxying.
- Additional fixes for reading CoA/DM requests from detail
files. - Create dynamic clients if the dynamic clients virtual server
returns ok or updated. Emit useful messages for other codes. - Compile bare "authorize" statements, and issue errors saying
using them isn't a good idea.