Alejandro Perez [Wed, 10 May 2017 09:46:55 +0000 (11:46 +0200)]
Fix memory leak in trustrouter.c
In the trustrouter.c file, servers were being created using
talloc_zero() instead of tls_server_conf_alloc(). Thus, the
destructor _tls_server_conf_free() which frees the SSL_CTX
object was not being called.
Alejandro Perez [Tue, 9 May 2017 12:33:31 +0000 (14:33 +0200)]
Set idle_timeout to 5s to all the dynamic home servers
Dynamically generated home servers get eventually replaced.
We want sockets using these servers to close as soon as possible, to make sure that whenever a pool is replaced, sockets using old ones will not last long (hopefully less than 300s).
Alejandro Perez [Tue, 9 May 2017 12:21:44 +0000 (14:21 +0200)]
Increase the amount of time a pool spends in the garbage list
Under specific circumstances (e.g high authentication load) a client might keep using an old pool since the socket did not expire. 60 seconds seems too low.
Increased to make sure we do not delete it while it is still being used.
Alejandro Perez [Tue, 9 May 2017 12:13:52 +0000 (14:13 +0200)]
Remove unnecessary check to update REALM
Existing code precluded a REALM from being updated if there were traffic within the last 5 minutes.
This is an error since when the TLS keys expire, the home server will reject client’s attempts to establish a connection, leading to up to 5 minutes of denied user authentications.
Alan T. DeKok [Fri, 21 Apr 2017 17:26:51 +0000 (13:26 -0400)]
Patch from Jeff Gehlbach
The problem is that "radiusObject" is defined with an OBJECT-IDENTITY
macro, but it needs to be done with OBJECT-TYPE (i.e. a leaf node) to be
eligible for use in the OBJECTS clause of a NOTIFICATION-TYPE macro.
I've gotten jsmiparser happy by making that change, declaring the
object's syntax to be SNMP-FRAMEWORK-MIB::SnmpAdminString and setting
its max-access to "accessible-for-notify". These changes are reflected
in the attached version of the MIB definition.
Alan Buxey [Thu, 20 Apr 2017 21:33:33 +0000 (22:33 +0100)]
stop rotation of the session database files
you really don't want to be rotating these under the server - they are
not normal log files but are stateful session files (used by various
utilities). these were removed from the logrotate some time ago but
appear to have crept back in.
Recent versions of OpenSSL appear to create keys with owner-only
permissions. Allow owning group to read the created default key files
in raddb/certs, so that they stay the same as with older OpenSSL, and
that the server can read its key.
Running `ln -s mods-available/foo mods-enabled/foo` will result in a dead link: `mods-enabled/foo` will point to `mods-enabled/mods-available/foo`, which doesn't exist. The link is relative from its location, not from the current directory from which it was created.
The easiest method that allows using tab completion is to link from within `mods-enabled`. The second parameter to `ln` can be left off in that case, as well. This is the change I have proposed. Another alternative would be to run `ln -s ../mods-available/foo mods-enabled/foo` from the `raddb` directory.
Switch to checking for EVP_CIPHER_CTX_new instead of EVP_cleanup to detect
presence of libcrypto in rlm_eap_pwd configure.ac, because EVP_cleanup was
removed as symbol from OpenSSL 1.1, and the check would always fail.
Previously only rlm_eap_fast configure.ac was switched.
Fix three cases of comparing pointer to a zero character, where pointers
were apparently intended to be dereferenced first and then compared.
Found with the help of GCC 7 warnings.
In rlm_python, if dl_iterate_phdr(3) is available, dlopen libpython
shared library at the actual path it was linked with on loading, instead
of with just its linker name (version-less SONAME).
This removes the need to have the linker name symlink (e.g.
"libpython2.7.so") in library directory, which is normally installed
only with the development packages. I.e. this removes the requirement of
having python-devel/libpython-dev installed, when loading rlm_python.