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

Diff for /pegasus/src/Pegasus/Common/System.cpp between version 1.60 and 1.62.2.1

version 1.60, 2007/09/11 19:43:00 version 1.62.2.1, 2008/01/30 20:33:29
Line 263 
Line 263 
     }     }
     else     else
     {     {
   #if defined(PEGASUS_OS_VMS)
           // vms has tcpipv6 support in the kernel so socket
           // will always work so a call to "bind" is needed
           // to complete this test.
   
           struct sockaddr_storage listenAddress;
           memset(&listenAddress, 0, sizeof (listenAddress));
           SocketLength addressLength;
   
           HostAddress::convertTextToBinary(
               HostAddress::AT_IPV6,
               "::1",
               &reinterpret_cast<struct sockaddr_in6*>(&listenAddress)->sin6_addr);
           listenAddress.ss_family = AF_INET6;
           reinterpret_cast<struct sockaddr_in6*>(&listenAddress)->sin6_port = 0;
   
           addressLength = sizeof(struct sockaddr_in6);
   
           if (::bind(
               ip6Socket,
               reinterpret_cast<struct sockaddr*>(&listenAddress),
               addressLength) < 0)
           {
               Socket::close(ip6Socket);
               return false;
           }
   #endif  // PEGASUS_OS_VMS
   
         Socket::close(ip6Socket);         Socket::close(ip6Socket);
     }     }
  
Line 494 
Line 522 
         }         }
         res1 = res1->ai_next;         res1 = res1->ai_next;
     }     }
       if (res1root)
       {
     freeaddrinfo(res1root);     freeaddrinfo(res1root);
       }
       if (res2root)
       {
     freeaddrinfo(res2root);     freeaddrinfo(res2root);
       }
     if (isLocal)     if (isLocal)
     {     {
         return true;         return true;
Line 535 
Line 569 
         }         }
         res1 = res1->ai_next;         res1 = res1->ai_next;
     }     }
       if (res1root)
       {
     freeaddrinfo(res1root);     freeaddrinfo(res1root);
       }
       if (res2root)
       {
     freeaddrinfo(res2root);     freeaddrinfo(res2root);
       }
     return isLocal;     return isLocal;
 #else #else
  
Line 720 
Line 759 
     return hostEntry;     return hostEntry;
 } }
  
   #if defined(PEGASUS_OS_ZOS) || \
       defined(PEGASUS_OS_VMS) || \
       defined(PEGASUS_ENABLE_IPV6)
   
 int System::getAddrInfo( int System::getAddrInfo(
     const char *hostname,     const char *hostname,
     const char *servname,     const char *servname,
Line 762 
Line 805 
     return rc;     return rc;
 } }
  
   #endif
  
 // System ID constants for Logger::put and Logger::trace // System ID constants for Logger::put and Logger::trace
 const String System::CIMLISTENER = "cimlistener"; // Listener systme ID const String System::CIMLISTENER = "cimlistener"; // Listener systme ID


Legend:
Removed from v.1.60  
changed lines
  Added in v.1.62.2.1

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2