Ascend Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(ASCEND) SOLVED!! Infinite Loop in radipad



I was trying to setup a Ascend RADIUS server for authenticating dial-in
call to both Ascend MAX 400x (dont know which model exactly, but think
that's not a problem). RADIUS version/timestamp is 980618 (last I found
in Ascend FTP site).

Although I had tested radipad a couple of times before, had some strange
behaviour: after an hour or two, radipad, when allocating a new IP address,
started to eat CPU cycles, and ignored new requests. Truss'ing the process
gave nothing, cause radipad wasnt locked up, but in an infinite loop.

I found a bug in hash.c (radius-980618/radius-1.16-ascend/ascendd/hash.c),
which caused this infinite loop when 64 entries of hash table had been
used (although not in use). Included is the patch which fixes it.

Today, about 10 hours of full work prove that radipad is working properly.

It seems that Ascend has discontinued a bit that version, aint it ? Or
I'm just not reaching the right URL...

-- 
Jonathan Ruano <kobalt@james.encomix.es> ICQ#1252101 AIM:Tlabok Y!Kobalt14
Intercomputer soft, s.a                  (Any other pager?).
Dpto. de Tecnologia
diff -uN ascendd/hash.c
--- ascendd/hash.c	Tue Jun  2 02:32:33 1998
+++ ascendd.new/hash.c	Wed Jan  6 21:33:33 1999
@@ -74,6 +74,10 @@
 	{
 	  if (deleted_slot == 0)
 	    deleted_slot = slot;
+          else if (deleted_slot == slot) {
+            *slot = 0;
+            return slot;
+          }
 	}
       else
 	{