rlm_dbm segfault debug

Patrick Medina cpjmedina at yahoo.com
Mon Jan 21 03:41:26 CET 2008


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



More information about the Freeradius-Users mailing list