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
Patrick Medina wrote:
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:
Is there a pressing need to use rlm_dbm? In 2.0.0, the "users" file should scale to 100's of 1000's of users. (i.e. I've tested it at that.) It takes a few seconds to start the server, but it's just as fast as rlm_dbm would be.
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)) {
OK, that's a bug.
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.
I've committed a fix to rlm_dbm in CVS. Check the code out from CVS, and install that. It should be OK. Alan DeKok.
--- Alan DeKok <aland@deployingradius.com> wrote:
Is there a pressing need to use rlm_dbm? In
Just (blindly) following "good" practice.
2.0.0, the "users" file should scale to 100's of 1000's of users. (i.e. I've tested it at that.) It takes a few seconds to start the server, but it's just as fast as rlm_dbm would be.
Tested and verified working your CVS update. But since you put it that way above, I'll stick to a plain users file then as our user population is not even 5,000. Thank you for the very fast response, fix, and useful info. ____________________________________________________________________________________ Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
participants (2)
-
Alan DeKok -
Patrick Medina