Bugzilla – Bug 1684
globus_libc_getnameinfo() always fails on IRIX 6.5
Last modified: 2004-05-28 11:31:54
You need to log in before you can comment on or make changes to this bug.
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]
Can you try replacing the sizeof(globus_sockaddr_t) with GlobusLibcSockaddrLen(addr) and let me know if it works? Thanks, Joe
GlobusLibcSockaddrLen(addr) appears to be working perfectly. Thanks!
ok, I will make an update available. Check the advisories page soon.