On Wed, Sep 22, 2010 at 10:55 PM, Alan DeKok <al...@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
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Reply via email to