Subject: pkg/28095: freeradius-1.0.1nb3 from pkgsrc crashes when using EAP-PEAP
To: None <gnats-bugs@gnats.NetBSD.org>
From: None <Konstantin.Kabassanov@lip6.fr>
List: pkgsrc-bugs
Date: 11/08/2004 11:29:57
>Number:         28095
>Category:       pkg
>Synopsis:       freeradius-1.0.1nb3 from pkgsrc crashes when using EAP-PEAP
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Nov 08 11:30:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:     Konstantin Kabassanov
>Release:        NetBSD 2.0_RC4 (GENERIC)
>Organization:
LIP6/CNRS
>Environment:
NetBSD houston.infradio-jussieu.lip6.fr 2.0_RC4 NetBSD 2.0_RC4 (GENERIC) #0: Sun Oct 17 19:11:36 UTC 2004  autobuild@tgm.netbsd.org:/autobuild/netbsd-2-0/i386/OBJ/autobuild/netbsd-2-0/src/sys/arch/i386/compile/GENERIC i386

>Description:
The radiusd daemon crashes when it receives an EAP-PEAP request due to some unresolved symbols in rlm_mschap-1.0.1.so

>   Processing the authenticate section of radiusd.conf
> modcall: entering group authenticate for request 8
>   rlm_eap: Request found, released from the list
>   rlm_eap: EAP/mschapv2
>   rlm_eap: processing type mschapv2
>   Processing the authenticate section of radiusd.conf
> modcall: entering group Auth-Type for request 8
> /usr/pkg/lib/rlm_mschap-1.0.1.so: Undefined PLT symbol "md4_calc" 
> (symnum = 24)

This file is linked to:
 
> # ldd /usr/pkg/lib/rlm_mschap-1.0.1.so
> /usr/pkg/lib/rlm_mschap-1.0.1.so:
>          -lresolv.1 => /usr/lib/libresolv.so.1
>          -lpthread.0 => /usr/lib/libpthread.so.0
>          -lcrypto.2 => /usr/lib/libcrypto.so.2
>          -lssl.3 => /usr/lib/libssl.so.3

It seems that the problem comes from the fact that the file is not linked to libradius...
>How-To-Repeat:
cd /usr/pkgsrc/net/freeradius/
make
make install

Configure the configurations files and then execute:

radiusd -X

Send an EAP-PEAP request...
>Fix:
Nasty solution:

cd /usr/pkgsrc/net/freeradius/
make configure

cd work/freeradius-1.0.1/src/modules/rlm_mschap/
vi Makefile

add

RLM_LDFLAGS     = -lradius

Put a copy of libradius.a libradius.la and libradius.so in /usr/lib

(putting them in /usr/pkg makes libtool claim that the shared version of libradius could not be found...)

cd /usr/pkgsrc/net/freeradius/

make

make install

>Release-Note:
>Audit-Trail:
>Unformatted: