9034852c84
Security: VuXML: c4a18a12-77fc-11e5-a687-206a8a720317 Security: CVE-2015-7871 Security: CVE-2015-7855 Security: CVE-2015-7854 Security: CVE-2015-7853 Security: CVE-2015-7852 Security: CVE-2015-7851 Security: CVE-2015-7850 Security: CVE-2015-7849 Security: CVE-2015-7848 Security: CVE-2015-7701 Security: CVE-2015-7703 Security: CVE-2015-7704, CVE-2015-7705 Security: CVE-2015-7691, CVE-2015-7692, CVE-2015-7702 Security: http://support.ntp.org/bin/view/Main/SecurityNotice#October_2015_NTP_Security_Vulner Sponsored by: Nginx, Inc.
52 lines
1.3 KiB
C
52 lines
1.3 KiB
C
|
|
#include "config.h"
|
|
#include "ntp.h"
|
|
#include "ntp_stdlib.h"
|
|
#include "sockaddrtest.h"
|
|
|
|
sockaddr_u
|
|
CreateSockaddr4(const char* address, unsigned int port) {
|
|
sockaddr_u s;
|
|
s.sa4.sin_family = AF_INET;
|
|
s.sa4.sin_addr.s_addr = inet_addr(address);
|
|
SET_PORT(&s, port);
|
|
|
|
return s;
|
|
}
|
|
|
|
|
|
int
|
|
IsEqual(const sockaddr_u expected, const sockaddr_u actual) {
|
|
struct in_addr in;
|
|
struct in6_addr in6;
|
|
|
|
if (expected.sa.sa_family != actual.sa.sa_family) {
|
|
printf("Expected sa_family: %d but got: %d", expected.sa.sa_family, actual.sa.sa_family);
|
|
return FALSE;
|
|
}
|
|
|
|
if (actual.sa.sa_family == AF_INET) { // IPv4
|
|
if (expected.sa4.sin_port == actual.sa4.sin_port &&
|
|
memcmp(&expected.sa4.sin_addr, &actual.sa4.sin_addr,
|
|
sizeof( in )) == 0) {
|
|
return TRUE;
|
|
} else {
|
|
printf("IPv4 comparision failed, expected: %s(%s) but was: %s(%s)",inet_ntoa(expected.sa4.sin_addr), socktoa(&expected), inet_ntoa(actual.sa4.sin_addr),socktoa(&actual));
|
|
return FALSE;
|
|
}
|
|
} else if (actual.sa.sa_family == AF_INET6) { //IPv6
|
|
if (expected.sa6.sin6_port == actual.sa6.sin6_port &&
|
|
memcmp(&expected.sa6.sin6_addr, &actual.sa6.sin6_addr,
|
|
sizeof(in6)) == 0) {
|
|
return TRUE;
|
|
} else {
|
|
printf("IPv6 comparision failed");
|
|
return FALSE;
|
|
}
|
|
} else { // Unknown family
|
|
printf("Unknown sa_family: %d",actual.sa.sa_family);
|
|
return FALSE;
|
|
}
|
|
}
|
|
|