ooops, i'm sorry.. you're right, i wrote to the wrong list. btw thank you arran, you fixed it! now, this is the new issue: rad_recv: Access-Challenge packet from host 172.20.23.30 port 1812, id=159, length=85 EAP-Message = 0x01a800160410b8a13ab82ba23820a55c0440bf74467f Message-Authenticator = 0x78a5dd4358024b720b10b1bcb7b0c917 State = 0xd036ba28d09ebe94e88e461954f76013 Proxy-State = 0x323432 (0) # Executing section post-proxy from file /etc/raddb/sites-enabled/default (0) group post-proxy { (0) - entering group post-proxy {...} (0) attr_filter.access_challenge : expand: '%{User-Name}' -> 'test@fr3' (0) attr_filter.access_challenge : Matched entry DEFAULT at line 13 Program received signal SIGSEGV, Segmentation fault. 0x00007ffff0e02d63 in attr_filter_common (instance=0x8a1880, request=0x8e77b0, packet=0x942e00) at src/modules/rlm_attr_filter/rlm_attr_filter.c:269 269 if (vp->da->attr == check_item->da->attr) { Missing separate debuginfos, use: debuginfo-install freeradius-3.0.0-14.el6.x86_64 (gdb) info args instance = 0x8a1880 request = 0x8e77b0 packet = 0x942e00 (gdb) info locals fall_through = <value optimized out> relax_filter = 0 inst = 0x8a1880 cursor = {first = 0x942e70, found = 0x0, last = 0x0, current = 0x944490, next = 0x9445a0} out = {first = 0x7fffffffd198, found = 0x0, last = 0x0, current = 0x0, next = 0x0} vp = 0x8e77b0 output = 0x0 input = <value optimized out> check_item = 0x944490 pl = 0x8a2ad0 found = 1 pass = <value optimized out> fail = <value optimized out> keyname = 0x7fffffffd040 "test@fr3" buffer = "test@fr3\000\264\230\000\000\000\000\000\023\000\000\000\000\000\000\000\366\253:\367\377\177\000\000`\327\377\377\377\177\000\000P\327\377\377\377\177\000\000\f\000\000\000\00 432\000\070d09ebe94e88e461954f76013\000\064\064\060bf74467f\000\000\000\320\377\377\377\177\000\000\200n+\366\377\177\000\000\300\327\377\377\377\177\000\000\260\327\377\377\377\177\000\ 177\000\000\360\320\377\377\377\177\000\000\347\303\366\365\377\177\000\000\005\353\a\366\377\177\000\000\000\000\000\000\000\000\000\000\254\326\377\377\377\177\000\000\310\326\377\377\ \000\000\000\000\000\000n+\366\000\000\000\000 &\372\365\000\000\000\000\240\326\377\377\377\177\000\000\200\003\231\000\000\000\000" (gdb) info frame Stack level 0, frame at 0x7fffffffd1e0: rip = 0x7ffff0e02d63 in attr_filter_common (src/modules/rlm_attr_filter/rlm_attr_filter.c:269); saved rip 0x41d6f9 called by frame at 0x7fffffffda00 source language c. Arglist at 0x7fffffffcfe8, args: instance=0x8a1880, request=0x8e77b0, packet=0x942e00 Locals at 0x7fffffffcfe8, Previous frame's sp is 0x7fffffffd1e0 Saved registers: rbx at 0x7fffffffd1a8, rbp at 0x7fffffffd1b0, r12 at 0x7fffffffd1b8, r13 at 0x7fffffffd1c0, r14 at 0x7fffffffd1c8, r15 at 0x7fffffffd1d0, rip at 0x7fffffffd1d8 (gdb) ------------------------- This should be on devel, but nevermind. Should be fixed, can you check? -Arran Arran Cudbard-Bell <a.cudbardb at freeradius.org> FreeRADIUS Development Team Il 30/05/13 15.58, duffy ha scritto:
hi list!
today we built from master and we ran into this:
Ready to process requests. rad_recv: Access-Request packet from host 172.20.23.31 port 1814, id=193, length=228 NAS-Port-Type = Wireless-802.16 Proxy-State = 0x323231 WiMAX-Available-In-Client = 99 Service-Type = Framed-User WiMAX-BS-ID = 0x303030303230303630313030 WiMAX-Release = "1.1" Message-Authenticator = 0x6149f02200f787d01064d0305effb1ce WiMAX-Accounting-Capabilities = Flow-Based NAS-IP-Address = 172.20.10.121 WiMAX-Hotlining-Capabilities = Hotline-Profile-Id Calling-Station-Id = "0B4E398C5FF7" User-Name = "test@fr3" Event-Timestamp = "May 30 2013 15:42:48 CEST" NAS-Identifier = "A_NAS" WiMAX-GMT-Timezone-offset = 16777216 EAP-Message = 0x022a000d017465737440667233 Attr-26 = 0x000060b5010301 WiMAX-Idle-Mode-Notification-Cap = Supported (3) # Executing section authorize from file /etc/raddb/sites-enabled/default (3) group authorize { (3) - entering group authorize {...} (3) eap : EAP packet type response id 42 length 13 (3) eap : EAP-Identity reply, returning 'ok' so we can short-circuit the rest of authorize (3) [eap] = ok
Breakpoint 1, hints_setup (hints=0x9f9790, request=0xaf9870) at src/modules/rlm_preprocess/rlm_preprocess.c:381 381 { Missing separate debuginfos, use: debuginfo-install freeradius-3.0.0-13.el6.x86_64 (gdb) f #0 hints_setup (hints=0x9f9790, request=0xaf9870) at src/modules/rlm_preprocess/rlm_preprocess.c:381 381 { (gdb) info args hints = 0x9f9790 request = 0xaf9870 (gdb) info frame Stack level 0, frame at 0x7fffffffc910: rip = 0x7fffe7b222a0 in hints_setup (src/modules/rlm_preprocess/rlm_preprocess.c:381); saved rip 0x7fffe7b227eb called by frame at 0x7fffffffcd30 source language c. Arglist at 0x7fffffffc900, args: hints=0x9f9790, request=0xaf9870 Locals at 0x7fffffffc900, Previous frame's sp is 0x7fffffffc910 Saved registers: rip at 0x7fffffffc908 (gdb) n 389 request_pairs = request->packet->vps; (gdb) n 391 if (!hints || !request_pairs) (gdb) n 389 request_pairs = request->packet->vps; (gdb) n 391 if (!hints || !request_pairs) (gdb) n 397 name = (tmp = pairfind(request_pairs, PW_USER_NAME, 0, TAG_ANY)) ? (gdb) n 399 if (!name || name[0] == 0) { (gdb) n 421 pairdelete(&add, PW_STRIP_USER_NAME, 0, TAG_ANY); (gdb) n 410 if (((strcmp(i->name, "DEFAULT") == 0) || (strcmp(i->name, name) == 0)) && (gdb) n 411 (paircompare(request, request_pairs, i->check, NULL) == 0)) { (gdb) n
Program received signal SIGSEGV, Segmentation fault. 0x00007ffff75d4a56 in paircompare (request=0xaf9870, req_list=0xaf9ce0, check=0x9f8fe0, rep_list=0x0) at src/main/valuepair.c:495 495 if (!check_item->da->vendor) switch (check_item->da->attr) { (gdb) info args request = 0xaf9870 req_list = 0xaf9ce0 check = 0x9f8fe0 rep_list = 0x0 (gdb) info frame Stack level 0, frame at 0x7fffffffc8b0: rip = 0x7ffff75d4a56 in paircompare (src/main/valuepair.c:495); saved rip 0x7fffe7b223bb called by frame at 0x7fffffffc910 source language c. Arglist at 0x7fffffffc808, args: request=0xaf9870, req_list=0xaf9ce0, check=0x9f8fe0, rep_list=0x0 Locals at 0x7fffffffc808, Previous frame's sp is 0x7fffffffc8b0 Saved registers: rbx at 0x7fffffffc878, rbp at 0x7fffffffc880, r12 at 0x7fffffffc888, r13 at 0x7fffffffc890, r14 at 0x7fffffffc898, r15 at 0x7fffffffc8a0, rip at 0x7fffffffc8a8 (gdb) print check_item->da $1 = (const DICT_ATTR *) 0x1000003ec (gdb) print check_item->da->vendor Cannot access memory at address 0x1000003f4 (gdb) print check_item->da->attr Cannot access memory at address 0x1000003ec
it looks like a bug in src/modules/rlm_preprocess/rlm_preprocess.c but we're not so sure about the resolution; has anyone encountered/solved the same issue?
thanks+regards, duffy