diff options
Diffstat (limited to 'ACE/ace/INET_Addr.cpp')
-rw-r--r-- | ACE/ace/INET_Addr.cpp | 34 |
1 files changed, 14 insertions, 20 deletions
diff --git a/ACE/ace/INET_Addr.cpp b/ACE/ace/INET_Addr.cpp index b32fe9ddfb5..6ed1a0b3183 100644 --- a/ACE/ace/INET_Addr.cpp +++ b/ACE/ace/INET_Addr.cpp @@ -124,7 +124,7 @@ ACE_INET_Addr::hash (void) const } ACE_INET_Addr::ACE_INET_Addr (void) - : ACE_Addr (this->determine_type (), sizeof (inet_addr_)) + : ACE_Addr (determine_type (), sizeof (inet_addr_)) { // ACE_TRACE ("ACE_INET_Addr::ACE_INET_Addr"); this->reset (); @@ -223,7 +223,7 @@ ACE_INET_Addr::set (const char address[]) } ACE_INET_Addr::ACE_INET_Addr (const char address[]) - : ACE_Addr (this->determine_type(), sizeof (inet_addr_)) + : ACE_Addr (determine_type (), sizeof (inet_addr_)) { ACE_TRACE ("ACE_INET_Addr::ACE_INET_Addr"); this->reset (); @@ -232,7 +232,7 @@ ACE_INET_Addr::ACE_INET_Addr (const char address[]) #if defined (ACE_HAS_WCHAR) ACE_INET_Addr::ACE_INET_Addr (const wchar_t address[]) - : ACE_Addr (this->determine_type(), sizeof (inet_addr_)) + : ACE_Addr (determine_type (), sizeof (inet_addr_)) { ACE_TRACE ("ACE_INET_Addr::ACE_INET_Addr"); this->reset (); @@ -456,7 +456,7 @@ ACE_INET_Addr::set (const char port_name[], ACE_INET_Addr::ACE_INET_Addr (u_short port_number, const char host_name[], int address_family) - : ACE_Addr (this->determine_type(), sizeof (inet_addr_)) + : ACE_Addr (determine_type (), sizeof (inet_addr_)) { ACE_TRACE ("ACE_INET_Addr::ACE_INET_Addr"); ACE_OS::memset (&this->inet_addr_, 0, sizeof (this->inet_addr_)); @@ -474,7 +474,7 @@ ACE_INET_Addr::ACE_INET_Addr (u_short port_number, ACE_INET_Addr::ACE_INET_Addr (u_short port_number, const wchar_t host_name[], int address_family) - : ACE_Addr (this->determine_type(), sizeof (inet_addr_)) + : ACE_Addr (determine_type (), sizeof (inet_addr_)) { ACE_TRACE ("ACE_INET_Addr::ACE_INET_Addr"); ACE_OS::memset (&this->inet_addr_, 0, sizeof (this->inet_addr_)); @@ -573,7 +573,7 @@ ACE_INET_Addr::set_addr (void *addr, int /* len */, int map) // Creates a ACE_INET_Addr from a sockaddr_in structure. ACE_INET_Addr::ACE_INET_Addr (const sockaddr_in *addr, int len) - : ACE_Addr (this->determine_type(), sizeof (inet_addr_)) + : ACE_Addr (determine_type (), sizeof (inet_addr_)) { ACE_TRACE ("ACE_INET_Addr::ACE_INET_Addr"); this->reset (); @@ -584,7 +584,7 @@ ACE_INET_Addr::ACE_INET_Addr (const sockaddr_in *addr, int len) ACE_INET_Addr::ACE_INET_Addr (u_short port_number, ACE_UINT32 inet_address) - : ACE_Addr (this->determine_type(), sizeof (inet_addr_)) + : ACE_Addr (determine_type (), sizeof (inet_addr_)) { ACE_TRACE ("ACE_INET_Addr::ACE_INET_Addr"); this->reset (); @@ -600,7 +600,7 @@ ACE_INET_Addr::ACE_INET_Addr (u_short port_number, ACE_INET_Addr::ACE_INET_Addr (const char port_name[], const char host_name[], const char protocol[]) - : ACE_Addr (this->determine_type(), sizeof (inet_addr_)) + : ACE_Addr (determine_type (), sizeof (inet_addr_)) { ACE_TRACE ("ACE_INET_Addr::ACE_INET_Addr"); this->reset (); @@ -615,7 +615,7 @@ ACE_INET_Addr::ACE_INET_Addr (const char port_name[], ACE_INET_Addr::ACE_INET_Addr (const wchar_t port_name[], const wchar_t host_name[], const wchar_t protocol[]) - : ACE_Addr (this->determine_type(), sizeof (inet_addr_)) + : ACE_Addr (determine_type (), sizeof (inet_addr_)) { ACE_TRACE ("ACE_INET_Addr::ACE_INET_Addr"); this->reset (); @@ -632,7 +632,7 @@ ACE_INET_Addr::ACE_INET_Addr (const wchar_t port_name[], ACE_INET_Addr::ACE_INET_Addr (const char port_name[], ACE_UINT32 inet_address, const char protocol[]) - : ACE_Addr (this->determine_type(), sizeof (inet_addr_)) + : ACE_Addr (determine_type (), sizeof (inet_addr_)) { ACE_TRACE ("ACE_INET_Addr::ACE_INET_Addr"); #if !defined (ACE_LACKS_HTONL) @@ -653,7 +653,7 @@ ACE_INET_Addr::ACE_INET_Addr (const char port_name[], ACE_INET_Addr::ACE_INET_Addr (const wchar_t port_name[], ACE_UINT32 inet_address, const wchar_t protocol[]) - : ACE_Addr (this->determine_type(), sizeof (inet_addr_)) + : ACE_Addr (determine_type (), sizeof (inet_addr_)) { ACE_TRACE ("ACE_INET_Addr::ACE_INET_Addr"); #if !defined (ACE_LACKS_HTONL) @@ -905,7 +905,9 @@ int ACE_INET_Addr::set_address (const char *ip_addr, sizeof (ip6)); return 0; } - if (ip4 == INADDR_LOOPBACK) + + // RFC 3330 defines loopback as any address with 127.x.x.x + if ((ip4 & 0XFF000000) == (INADDR_LOOPBACK & 0XFF000000)) { in6_addr ip6 = in6addr_loopback; ACE_OS::memcpy (&this->inet_addr_.in6_.sin6_addr, @@ -941,13 +943,6 @@ int ACE_INET_Addr::set_address (const char *ip_addr, return 0; } /* end len == 16 */ - else - { - /* unknown or unsupported address length */ - errno = EAFNOSUPPORT; - return -1; - } - #endif /* ACE_HAS_IPV6 */ // Here with an unrecognized length. @@ -1106,7 +1101,6 @@ ACE_INET_Addr::get_ip_address (void) const } #endif /* ACE_HAS_IPV6 */ return ACE_NTOHL (ACE_UINT32 (this->inet_addr_.in4_.sin_addr.s_addr)); - return 0; } ACE_END_VERSIONED_NAMESPACE_DECL |