version 1.77, 2012/09/06 11:17:33
|
version 1.78, 2012/09/06 11:26:38
|
|
|
for (int i = 0 ; i < ifConfHeader.__nif6h_entries; i++) | for (int i = 0 ; i < ifConfHeader.__nif6h_entries; i++) |
{ | { |
// do not save loop back addresses. | // do not save loop back addresses. |
if (!System::isLoopBack( |
if (System::isLoopBack( |
AF_INET6, | AF_INET6, |
&(pifConfEntries[i].__nif6e_addr.sin6_addr))) | &(pifConfEntries[i].__nif6e_addr.sin6_addr))) |
{ | { |
if( !System::getNameInfo( |
continue; |
(struct sockaddr_in6 *) |
} |
&(pifConfEntries[i].__nif6e_addr), |
|
sizeof(struct sockaddr_in6), |
HostAddress::convertBinaryToText( |
buff, sizeof(buff), NULL, 0, NI_NUMERICHOST)) |
AF_INET6, |
{ |
&(pifConfEntries[i].__nif6e_addr.sin6_addr), |
ips.append(buff); |
buff, |
|
sizeof(buff)); |
|
String ip6addr(buff); |
|
|
|
if(String::equalNoCase(ip6addr.subString(0,4), "fe80")) |
|
{ |
|
__etoa_l( |
|
pifConfEntries[i].__nif6e_name, |
|
sizeof(pifConfEntries->__nif6e_name)); |
|
String zoneidx( |
|
pifConfEntries[i].__nif6e_name, |
|
sizeof(pifConfEntries->__nif6e_name)); |
|
zoneidx.remove(zoneidx.find(' ')); |
|
ip6addr.append("%"); |
|
ip6addr.append(zoneidx); |
} | } |
} // append IPV6 addresses |
|
|
ips.append(ip6addr); // append IPV6 addresses |
} // loop through deliverd interfaces | } // loop through deliverd interfaces |
} // query IPV6 interface | } // query IPV6 interface |
} // fill ifconf header structure | } // fill ifconf header structure |
|
|
addr = (sockaddr_in *)&ifc.ifc_req[i].ifr_addr; | addr = (sockaddr_in *)&ifc.ifc_req[i].ifr_addr; |
if (!System::isLoopBack( AF_INET, &(addr->sin_addr.s_addr))) | if (!System::isLoopBack( AF_INET, &(addr->sin_addr.s_addr))) |
{ | { |
if( !System::getNameInfo((struct sockaddr_in *)addr, |
HostAddress::convertBinaryToText( |
sizeof(struct sockaddr_in), |
AF_INET, |
buff, sizeof(buff), NULL, 0, NI_NUMERICHOST)) |
&(addr->sin_addr.s_addr), |
{ |
buff, |
|
PEGASUS_INET_ADDRSTR_LEN); |
ips.append(buff); | ips.append(buff); |
} | } |
} | } |
} | } |
} | } |
} |
|
#elif defined(PEGASUS_OS_PASE) | #elif defined(PEGASUS_OS_PASE) |
addrinfo hints; | addrinfo hints; |
addrinfo *info = NULL; | addrinfo *info = NULL; |