[RADIATOR] Radiator dying in SIGSEGV

Mike McCauley mikem at open.com.au
Mon Jun 1 16:06:31 CDT 2009


Hello Matti,

Thanks for reporting this. We will fix it as soon as we can.
It seems odd that a TLS session can finish authenticating, but there is no 
$session available. What version of openssl do you have. Do you have a Trace 
4 log of what radiator was doing before the crash?

Cheers.


On Monday 01 June 2009 09:50:34 pm Matti Saarinen wrote:
> Hello,
>
> Our Radiator had died several times in SIGSEGV. The reason for this has
> so far been unknown. Now, a colleague of mine took interest in this and
> added more tracing into the Radiator code. And he found what kills
> radiusd.
>
> There is PRF subroutine defined in Radius/TLS.pm. It defines variable
> called $session as follows.
>
>  my $session = &Net::SSLeay::get_session($context->{ssl});
>
> It seems that in some cases get_session may return null. When that
> happens the next line in subroutine code fails and radiusd gets SIGSEGV
> and dies. The next line is.
>
>  my $master_key = &Net::SSLeay::SESSION_get_master_key($session);
>
>
> I think the fix would be that the code should check whether $session is
> not null before trying to use it. What I don't know is what the
> subroutine should return if $session happens to be null.



-- 
Mike McCauley                               mikem at open.com.au
Open System Consultants Pty. Ltd
9 Bulbul Place Currumbin Waters QLD 4223 Australia   http://www.open.com.au
Phone +61 7 5598-7474                       Fax   +61 7 5598-7070

Radiator: the most portable, flexible and configurable RADIUS server 
anywhere. SQL, proxy, DBM, files, LDAP, NIS+, password, NT, Emerald, 
Platypus, Freeside, TACACS+, PAM, external, Active Directory, EAP, TLS, 
TTLS, PEAP, TNC, WiMAX, RSA, Vasco, Yubikey, DIAMETER etc. Full source
on Unix, Windows, MacOSX, Solaris, VMS, NetWare etc.



More information about the radiator mailing list