version 1.1.2.3, 2007/06/18 09:10:40
|
version 1.1.2.5, 2007/06/18 14:13:07
|
|
|
{ | { |
return 0; | return 0; |
} | } |
|
memset(dst, 0, PEGASUS_IN6_ADDR_SIZE); |
memset(dst, 0, sizeof(struct in6_addr)); |
|
|
|
for (int i = 0, j = 0; i < 8 ; ++i) | for (int i = 0, j = 0; i < 8 ; ++i) |
{ | { |
if (ccIndex == i) | if (ccIndex == i) |
|
|
int zeroCnt = 0; | int zeroCnt = 0; |
int index = 0; | int index = 0; |
| |
memcpy (n, src, sizeof (struct in6_addr)); |
memcpy (n, src, PEGASUS_IN6_ADDR_SIZE); |
memset(dst, 0, size); | memset(dst, 0, size); |
for (int i = 0; i < 8 ; ++i) | for (int i = 0; i < 8 ; ++i) |
{ | { |
|
|
switch (af) | switch (af) |
{ | { |
case AT_IPV6: | case AT_IPV6: |
return !memcmp(p1, p2, sizeof(struct in6_addr)); |
return !memcmp(p1, p2, PEGASUS_IN6_ADDR_SIZE); |
case AT_IPV4: | case AT_IPV4: |
return !memcmp(p1, p2, sizeof(struct in_addr)); | return !memcmp(p1, p2, sizeof(struct in_addr)); |
} | } |
|
|
| |
Boolean HostAddress::isValidIPV6Address (const String &ipv6Address) | Boolean HostAddress::isValidIPV6Address (const String &ipv6Address) |
{ | { |
|
int i = 0; |
|
while (ipv6Address[i]) |
|
{ |
|
if (!isascii(ipv6Address[i++])) |
|
{ |
|
return false; |
|
} |
|
} |
|
|
CString addr = ipv6Address.getCString(); | CString addr = ipv6Address.getCString(); |
|
#ifdef PEGASUS_ENABLE_IPV6 |
struct in6_addr iaddr; | struct in6_addr iaddr; |
|
#else |
|
char iaddr[PEGASUS_IN6_ADDR_SIZE]; |
|
#endif |
return 1 == convertTextToBinary(AT_IPV6, (const char*) addr, | return 1 == convertTextToBinary(AT_IPV6, (const char*) addr, |
(void*)&iaddr); | (void*)&iaddr); |
} | } |
| |
Boolean HostAddress::isValidIPV4Address (const String &ipv4Address) | Boolean HostAddress::isValidIPV4Address (const String &ipv4Address) |
{ | { |
|
int i = 0; |
|
while (ipv4Address[i]) |
|
{ |
|
if (!isascii(ipv4Address[i++])) |
|
{ |
|
return false; |
|
} |
|
} |
|
|
CString addr = ipv4Address.getCString(); | CString addr = ipv4Address.getCString(); |
struct in_addr iaddr; | struct in_addr iaddr; |
| |