Core with 64Bit pam_radius_auth on Solaris 9

Peter Lambrechtsen plambrechtsen at gmail.com
Tue Sep 28 02:07:59 CEST 2010


On Wed, Sep 22, 2010 at 10:55 PM, Alan DeKok <aland at deployingradius.com>wrote:

> Peter Lambrechtsen wrote:
> > This is what I get back:
> >
> > (gdb) run
> > Starting program: /usr/local/bin/sparcv9/pamtester jpam peter
> authenticate
> > procfs:4337 -- process not stopped.
> > procfs: ...giving up...
> > (gdb) bt
> > procfs: couldn't find pid 7326 (kernel thread 1) in procinfo list.
> > procfs: couldn't find pid 7326 (kernel thread 1) in procinfo list.
>
>   Well... that's an issue for Solaris && gdb documentation, unfortunately.
>

We have debugged this partially, and are trying to apply patches to Solaris
to find out what's going on.

It seems around like 734 in pam_radius_auth.c:

    if ((hp = gethostbyname(hostname)) == (struct hostent *) NULL) {
      ipaddr = 0x00000000;    /* no client IP address */
    } else {
      ipaddr = ntohl(*(UINT4 *) hp->h_addr); /* use the first one available
*/
    }

That gethostbyname returns an h_addr IP address of "0.0.0.1" on our solaris
box when running in 64Bit, but not in 32Bit.  The box has IPV6 fully
disabled so we are not sure why it's doing that.

Otherwise we many to using gethostbyname_r rather than gethostbyname and get
it working that way I'll submit a patch.  And use the get_ipaddr function at
line 242 only once rather than having two seprate places where gethostbyname
is called to return an IP Address

Cheers

Peter
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freeradius.org/pipermail/freeradius-users/attachments/20100928/58ed9f99/attachment.html>


More information about the Freeradius-Users mailing list