Bug 1684 - globus_libc_getnameinfo() always fails on IRIX 6.5
: globus_libc_getnameinfo() always fails on IRIX 6.5
Status: RESOLVED FIXED
: Toolkit Internals
globus_common
: 3.2beta
: SGI IRIX
: P2 blocker
: ---
Assigned To:
:
:
:
:
  Show dependency treegraph
 
Reported: 2004-04-01 21:51 by
Modified: 2004-05-28 11:31 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2004-04-01 21:51:48
Platform: SGI IRIX 6.5.22m
Package: globus_common-4.8

getnameinfo() is called with sizeof (struct sockaddr_storage) = 0x80. IRIX 
must be keying off of the size, not just the family (2) because its returning 
5 (EAI_FAMILY). It does work with sizeof(struct sockaddr_in).

globus_libc.c:

globus_result_t
globus_libc_getnameinfo(
    const globus_sockaddr_t *           addr,
    char *                              hostbuf,
    globus_size_t                       hostbuf_len,
    char *                              servbuf,
    globus_size_t                       servbuf_len,
    int                                 flags)
{
    int                                 rc;
    globus_result_t                     result;

    result = GLOBUS_SUCCESS;
    rc = getnameinfo(
        (const struct sockaddr *) addr,
        sizeof(globus_sockaddr_t),
        hostbuf,
        hostbuf_len,
        servbuf,
        servbuf_len,
        flags);

Partial trace:
>  0 _getnameinfo(0x7fff1758, 0x80, 0x7fff17e8, 0x100, 0x7fff18e8, 0xa, 0x8, 
0x7fff1758) 
["/xlv46/6.5.22m/work/irix/lib/libc/libc_n32_M4/ns/getnameinfo.c":129, 
0xfb26958]
   1 globus_libc_getnameinfo(addr = 0x7fff1758, hostbuf = 0x7fff17e8 = "", 
hostbuf_len = 256, servbuf = 0x7fff18e8 = "", servbuf_len = 10, flags = 8) 
["/scratch/jalt/BUILD/globus_common-4.8/library/globus_libc.c":3237, 
0x10335b64]
------- Comment #1 From 2004-04-02 00:16:33 -------
Can you try replacing the sizeof(globus_sockaddr_t) with 

GlobusLibcSockaddrLen(addr)

and let me know if it works?

Thanks,
Joe
------- Comment #2 From 2004-04-02 08:56:47 -------
GlobusLibcSockaddrLen(addr) appears to be working perfectly. Thanks!
------- Comment #3 From 2004-04-02 09:40:11 -------
ok, I will make an update available.
Check the advisories page soon.