freebsd-ports/security/openvas9-libraries/files/patch-base-openvas_networking.c
Jose Alonso Cardenas Marquez 0c86153793 - New port: security/openvas9-libraries
The Open Vulnerability Assessment System (OpenVAS) is a framework of several
services and tools offering a comprehensive and powerful vulnerability
scanning and vulnerability management solution.

This package contains core libraries.

WWW: http://www.openvas.org/
2017-08-03 22:36:54 +00:00

52 lines
1.5 KiB
C

--- base/openvas_networking.c.orig 2015-12-08 07:07:23 UTC
+++ base/openvas_networking.c
@@ -38,13 +38,13 @@
/* Global variables */
/* Source interface name eg. eth1. */
-char global_source_iface[IFNAMSIZ] = { '\0' };
+char global_source_iface[IFNAMSIZ];
/* Source IPv4 address. */
-struct in_addr global_source_addr = { .s_addr = 0 };
+struct in_addr global_source_addr;
/* Source IPv6 address. */
-struct in6_addr global_source_addr6 = { .s6_addr32 = { 0, 0, 0, 0 } };
+struct in6_addr global_source_addr6;
/* Source Interface/Address related functions. */
@@ -230,10 +230,19 @@ ipv4_as_ipv6 (const struct in_addr *ip4,
if (ip4 == NULL || ip6 == NULL)
return;
- ip6->s6_addr32[0] = 0;
- ip6->s6_addr32[1] = 0;
- ip6->s6_addr32[2] = htonl (0xffff);
- memcpy (&ip6->s6_addr32[3], ip4, sizeof (struct in_addr));
+ ip6->s6_addr[0] = 0;
+ ip6->s6_addr[1] = 0;
+ ip6->s6_addr[2] = 0;
+ ip6->s6_addr[3] = 0;
+ ip6->s6_addr[4] = 0;
+ ip6->s6_addr[5] = 0;
+ ip6->s6_addr[6] = 0;
+ ip6->s6_addr[7] = 0;
+ ip6->s6_addr[8] = 0;
+ ip6->s6_addr[9] = 0;
+ ip6->s6_addr[10] = 0xff;
+ ip6->s6_addr[11] = 0xff;
+ memcpy (&ip6->s6_addr[12], ip4, sizeof (struct in_addr));
}
char *
@@ -246,7 +255,7 @@ addr6_as_str (const struct in6_addr *add
str = g_malloc0 (INET6_ADDRSTRLEN);
if (IN6_IS_ADDR_V4MAPPED (addr6))
- inet_ntop (AF_INET, &addr6->s6_addr32[3], str, INET6_ADDRSTRLEN);
+ inet_ntop (AF_INET, &addr6->s6_addr[12], str, INET6_ADDRSTRLEN);
else
inet_ntop (AF_INET6, addr6, str, INET6_ADDRSTRLEN);
return str;