acct segfault in git v2.1.x
Alexander Clouter
alex at digriz.org.uk
Mon May 9 12:43:15 CEST 2011
Updating to git's v2.1.x to go on a post-Easter bughunt and found the
following accounting packet[1] seems to segfault freeradius:
----
tcpdump: listening on bond0, link-type EN10MB (Ethernet), capture size 65535 bytes
11:30:34.398885 IP6 (hlim 51, next-header UDP (17) payload length: 258) 2001:630:1:128::185.42390 > 2001:630:1b:6003:90c0:802a:d873:c284.1813: [bad udp cksum 51b1!] RADIUS, length: 250
Accounting Request (4), id: 0x1b, Authenticator: 44b81fb81af404cb48816ad0c2afc497
NAS IP Address Attribute (4), length: 6, Value: 128.86.129.105
Accounting Status Attribute (40), length: 6, Value: Stop
Username Attribute (1), length: 19, Value: 223313 at soas.ac.uk
NAS Port Attribute (5), length: 6, Value: 0
NAS Port Type Attribute (61), length: 6, Value: Wireless - IEEE 802.11
Accounting Session ID Attribute (44), length: 27, Value: 223313 at s7CC5376FE7E3-C189
Accounting Input Octets Attribute (42), length: 6, Value: 42426
Accounting Output Octets Attribute (43), length: 6, Value: 351596
Accounting Input Packets Attribute (47), length: 6, Value: 301
Accounting Output Packets Attribute (48), length: 6, Value: 379
Accounting Termination Cause Attribute (49), length: 6, Value: Idle Timeout
Framed IP Address Attribute (8), length: 6, Value: 128.86.184.37
Calling Station Attribute (31), length: 14, Value: 7CC5376FE7E3
Called Station Attribute (30), length: 14, Value: 000B860E5100
Accounting Session Time Attribute (46), length: 6, Value: 06:40 min
Accounting Delay Attribute (41), length: 6, Value: 00 secs
Vendor Specific Attribute (26), length: 15, Value: Vendor: Unknown (14823)
Vendor Attribute: 5, Length: 7, Value: eduroam
Vendor Specific Attribute (26), length: 11, Value: Vendor: Unknown (14823)
Vendor Attribute: 6, Length: 3, Value: N/A
Vendor Specific Attribute (26), length: 20, Value: Vendor: Unknown (14823)
Vendor Attribute: 1, Length: 12, Value: pre-employee
Vendor Specific Attribute (26), length: 12, Value: Vendor: Unknown (14823)
Vendor Attribute: 2, Length: 4, Value: ....
Unknown Attribute (103), length: 6, Value:
Proxy State Attribute (33), length: 20, Value: OSC-Extended-Id=27
----
The gdb backtrace is:
----
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x42b7b470 (LWP 9963)]
0x402dc2bc in strnlen () from /lib/libc.so.6
(gdb) where
#0 0x402dc2bc in strnlen () from /lib/libc.so.6
#1 0x403075d8 in fnmatch () from /lib/libc.so.6
#2 0x409da598 in do_detail (instance=0x114e50, request=0x43443240, packet=0x43446dd8, compat=<value optimized out>) at rlm_detail.c:301
#3 0x00022110 in call_modsingle (component=3, c=<value optimized out>, request=0x43443240) at modcall.c:297
#4 modcall (component=3, c=<value optimized out>, request=0x43443240) at modcall.c:670
#5 0x0001ec94 in indexed_modcall (comp=3, idx=0, request=0x43443240) at modules.c:737
#6 0x0000eefc in rad_accounting (request=0x43443240) at acct.c:93
#7 0x0002f16c in radius_handle_request (request=0x43443240, fun=0xee60 <rad_accounting>) at event.c:3780
#8 0x00026a4c in request_handler_thread (arg=<value optimized out>) at threads.c:525
#9 0x400818cc in start_thread () from /lib/libpthread.so.0
#10 0x40330bdc in clone () from /lib/libc.so.6
#11 0x40330bdc in clone () from /lib/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
----
If you need the FreeRADIUS -X malarkey, then do ask, it is just tricker
to get on a production box... :)
Cheers
[1] http://stuff.digriz.org.uk/freeradius-acct-segfault.pcap
--
Alexander Clouter
.sigmonster says: Preserve the old, but know the new.
More information about the Freeradius-Users
mailing list