Hello list, Newbie and non-programmer here, though I've been a user of this very useful program for a year now (currently on v.2.0.0, CentOS 4.6, x86_64). I'm trying to get a MAC and SSID -based system to work with rlm_dbm. The system already works with the "users" file as follows:
00:12:ab:34:cd:56 Called-Station-Id =~ ".*:WLAN0", Auth-Type := Accept Unfortunately, after converting the above to the prescribed dbm format, a segfault results whenever a user is matched (no problem with a reject). Here's the output of radiusd -X: ... Listening on authentication address * port 1812 Listening on accounting address * port 1813 Ready to process requests. rad_recv: Access-Request packet from host 10.0.1.234 port 25939, id=66, length=214 User-Name = "00:12:ab:34:cd:56" Called-Station-Id = "00-AB-12-CD-34-EF:WLAN0" Calling-Station-Id = "00-12-AB-34-CD-56" NAS-Port = 1 NAS-Port-Type = Wireless-802.11 Framed-MTU = 1400 Service-Type = Framed-User NAS-IP-Address = 10.0.1.234 NAS-Identifier = "WS5100" Vendor-388-Attr-2 = 0x4c53574c414e30 Vendor-388-Attr-4 = 0x31 NAS-Port-Id = "WLAN0" Connect-Info = "CONNECT 54Mbps 802.11g" User-Password = "00:12:ab:34:cd:56" +- entering group authorize ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop ++[unix] returns notfound rlm_realm: No '@' in User-Name = "00:12:ab:34:cd:56", looking up realm NULL rlm_realm: No such realm "NULL" ++[suffix] returns noop rlm_eap: No EAP-Message, not doing EAP ++[eap] returns noop ++[files] returns noop ++[expiration] returns noop ++[logintime] returns noop rlm_pap: WARNING! No "known good" password found for the user. Authentication may fail because of this. ++[pap] returns noop rlm_dbm: try open database file: /usr/local/etc/raddb/wlan0-users rlm_dbm: Call parse_user: sm_parse_user.c: check for loops Add 00:12:ab:34:cd:56 to user list sm_parse_user: start parsing: user: 00:12:ab:34:cd:56 parse buffer: <<Called-Station-Id =~ ".*:WLAN0", Auth-Type := Accept>> rlm_dbm: recod parsed process pattern Program received signal SIGSEGV, Segmentation fault. -------- I've run gdb and here's the content of the log file: Starting program: /usr/local/sbin/radiusd -X [Thread debugging using libthread_db enabled] [New Thread 182915782400 (LWP 23734)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 182915782400 (LWP 23734)] 0x000000000041d3c7 in request_data_get (request=0x0, unique_ptr=0x0, unique_int=-1379995904) at util.c:145 145 for (last = &(request->data); *last != NULL; last = &((*last)->next)) { -------- I've been scouring the documentation and list, trying various running and compiling configuration options, all to no avail. Moreover, the same segfault happens with v.1.1.7, though I haven't run gdb on that. Any help or push in the right direction would be much appreciated. Thank you. Chris ____________________________________________________________________________________ Never miss a thing. Make Yahoo your home page. http://www.yahoo.com/r/hs - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html