On Jan 6, 2016, at 4:46 PM, Luca Palazzo <luca.palazzo@unict.it> wrote:
I've just commented it but i got same sigsegv:
Program received signal SIGSEGV, Segmentation fault. 0x00007ffff7bc77a0 in paircompare (request=request@entry=0x950d60, req_list=0x951010, check=check@entry=0x952b00, rep_list=rep_list@entry=0x0) at src/main/pair.c:536 536 if ((auth_item->da == from) || (!from)) { (gdb) p from $1 = (const DICT_ATTR *) 0x68ff50 (gdb) p auth_item $2 = (VALUE_PAIR *) 0x2e696d696c6f7040 (gdb) p auth_item->da Cannot access memory at address 0x2e696d696c6f7040
That's a garbage value. The server is accessing an attribute which was deleted.
(gdb)
Only this part remains:
if (EAP-Message) { if ( Called-Station-ID =~ /.*:eduroam$/ )
if ( SQL-Group == studente ) { reject update reply { Reply-Message = "Eduroam access for students allowed only if you are outside UniCT campus" }
The "update reply" will never get used. As soon as the server sees the "reject", the packets will be rejected. So swap the order or "reject" and "update reply". I don't think it will help, though. Ad what packet makes it SEGV? You have the code checking for multiple things. Does it SEGV for *all* of them? Or just one? If it's just one, can you delete the *other* checks and still have it SEGV? It would help a LOT to have a simple configuration which I can use here. Right now, your configuration depends on local SQL-Groups, and other things (EAP config, SQL server), which I don't have access to. Alan DeKok.