FYI: This is not a perl script. It’s a compiled C program. Just its extension is .pl! For more information: This is my module config: exec netbill_pre_auth{ wait = yes program = /etc/netbill/preauth.pl" input_pairs = request output_pairs = config packet_type = Access-Request } exec netbill_post_auth { wait = yes program = /etc/netbill/auth.pl" input_pairs = request output_pairs = reply packet_type = Access-Request } exec netbill_acct { wait = yes program = /etc/netbill/acct.pl" input_pairs = request output_pairs = reply packet_type = Accounting-Request } So I need to use with exec-wait becos the external programs need to wait util authentication/authorization/accounting done! Also plz note that auth.pl forks another exec program per authenticated user (named calc) and will live till user stopped. So if I’ve 20.000 online users, I’ve also 20.000 calc process. It works for about 20.000 online user and after this threshold, it stops! What is ur recommendation? Another Q: Is there any way to call nebtill_acct with wait=no? 2011/11/27 Alan DeKok <aland@deployingradius.com>
Ali Majdzadeh wrote:
A while after radius up, it reports:
Sat Nov 26 13:02:03 2011 : Error: Couldn't fork /etc/netbill/acct.pl : Cannot allocate memory
Hmmm... you're probably using "exec wait', right? And starting many, many, external programs.
That's probably the issue. There may be a bug in the server, but there is a better way to run the script. Use the rlm_perl module.
Alan DeKok. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html