Hi freeradius experts,
may I kindly ask for your help?
After successfully compiling freeradius 0.9.2 on Solaris 9 Sparc (latest patchlevel) with LDAP I ran into two problems: I need Exec-Program-Wait and accounting.
Configured the standard way (with threads) the server frequently hangs waiting for my Exec-Program-Wait program which only sets Session-Timeout depending on the time of login. Configured --with-threads=no or running the threaded version with -X this always works perfectly, but the server then segfaults when receiving the first accounting packet. Accounting works in the threaded version. I would like to run the threaded version and get the Exec-thing working.
The initial request usually is processed as expected and without any noticable delay.
Any help is greatly appreciated. Thank you,
Jan
I have radiusReplyItem set to Exec-Program-Wait=/usr/local/bin/dsltimeout in the LDAP user profile and get:
./radtest jan TEST 127.0.0.1 0 testing123
Sending Access-Request of id 136 to 127.0.0.1:1812
User-Name = "jan"
User-Password = "TEST"
NAS-IP-Address = ldap
NAS-Port = 0
rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=136, length=26
Session-Timeout = 56730./radiusd -xx
Exec-Program: /usr/local/bin/dsltimeout
rl_next: returning NULL
Waking up in 5 seconds...
Exec-Program output: Session-Timeout = 56730
Exec-Program-Wait: value-pairs: Session-Timeout = 56730
Exec-Program: returned: 0
Login OK: [jan] (from client localhost port 0)
modcall: entering group post-auth for request 0
rlm_ippool: Could not find Pool-Name attribute.
modcall[post-auth]: module "main_pool" returns noop for request 0
modcall: group post-auth returns noop for request 0
Sending Access-Accept of id 136 to 127.0.0.1:57680
Session-Timeout = 56730
Finished request 0
Going to the next request
Thread 1 waiting to be assigned a request
--- Walking the entire request list ---
Threads: total/active/spare threads = 5/0/5
Waking up in 1 seconds...------------------
The same thing started again a few seconds later:
./radtest jan TEST 127.0.0.1 0 testing123
Sending Access-Request of id 142 to 127.0.0.1:1812
User-Name = "jan"
User-Password = "TEST"
NAS-IP-Address = ldap
NAS-Port = 0
[... waiting a few seconds ]
Re-sending Access-Request of id 142 to 127.0.0.1:1812
User-Name = "jan"
User-Password = "\242\227 [EMAIL PROTECTED]"
NAS-IP-Address = ldap
NAS-Port = 0[... repeating forever]
rlm_ldap: user jan authenticated succesfully
modcall[authenticate]: module "ldap" returns ok for request 1
modcall: group Auth-Type returns ok for request 1
radius_xlat: '/usr/local/bin/dsltimeout'
Exec-Program: /usr/local/bin/dsltimeout
Exec-Program output: Session-Timeout = 56799
Exec-Program-Wait: value-pairs: Session-Timeout = 56799
rad_recv: Access-Request packet from host 127.0.0.1:57681, id=142, length=55
Discarding new request from client localhost:57681 - ID: 142 due to live request 1
--- Walking the entire request list ---
Waking up in 5 seconds...
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
