(file) Return to SystemPOSIX.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

Diff for /pegasus/src/Pegasus/Common/SystemPOSIX.cpp between version 1.77 and 1.78

version 1.77, 2012/09/06 11:17:33 version 1.78, 2012/09/06 11:26:38
Line 1032 
Line 1032 
                 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
Line 1082 
Line 1097 
                 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;


Legend:
Removed from v.1.77  
changed lines
  Added in v.1.78

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2