diff options
Diffstat (limited to 'security/gvm-libs/files/patch-boreas_ping.c')
-rw-r--r-- | security/gvm-libs/files/patch-boreas_ping.c | 49 |
1 files changed, 36 insertions, 13 deletions
diff --git a/security/gvm-libs/files/patch-boreas_ping.c b/security/gvm-libs/files/patch-boreas_ping.c index d05cacc7ab7c..dda6a1fd38b2 100644 --- a/security/gvm-libs/files/patch-boreas_ping.c +++ b/security/gvm-libs/files/patch-boreas_ping.c @@ -1,6 +1,10 @@ ---- boreas/ping.c 2020-12-31 00:53:07.116404000 -0500 -+++ boreas/ping.c 2020-12-31 02:11:16.635441000 -0500 -@@ -29,15 +29,21 @@ +--- boreas/ping.c 2021-02-01 10:20:11.000000000 -0500 ++++ boreas/ping.c 2021-02-18 13:33:38.298849000 -0500 +@@ -26,20 +26,25 @@ + #include <errno.h> + #include <glib.h> + #include <ifaddrs.h> /* for getifaddrs() */ +-#include <linux/sockios.h> #include <net/ethernet.h> #include <net/if.h> /* for if_nametoindex() */ #include <netinet/icmp6.h> @@ -18,14 +22,33 @@ +# include <netpacket/packet.h> +#endif #include <stdlib.h> + #include <sys/ioctl.h> #include <sys/socket.h> #include <sys/time.h> -#include <sys/types.h> #include <unistd.h> #undef G_LOG_DOMAIN -@@ -138,12 +144,12 @@ - struct icmphdr *icmp; +@@ -121,7 +126,7 @@ + int cur_so_sendbuf = -1; + + /* Get the current size of the output queue size */ +- if (ioctl (soc, SIOCOUTQ, &cur_so_sendbuf) == -1) ++ if (ioctl (soc, TIOCOUTQ, &cur_so_sendbuf) == -1) + { + g_warning ("%s: ioctl error: %s", __func__, strerror (errno)); + usleep (100000); +@@ -137,7 +142,7 @@ + while (cur_so_sendbuf >= so_sndbuf) + { + usleep (100000); +- if (ioctl (soc, SIOCOUTQ, &cur_so_sendbuf) == -1) ++ if (ioctl (soc, TIOCOUTQ, &cur_so_sendbuf) == -1) + { + g_warning ("%s: ioctl error: %s", __func__, strerror (errno)); + usleep (100000); +@@ -224,12 +229,12 @@ + static int init = -1; icmp = (struct icmphdr *) sendbuf; - icmp->type = ICMP_ECHO; @@ -41,7 +64,7 @@ memset (&soca, 0, sizeof (soca)); soca.sin_family = AF_INET; -@@ -197,7 +203,7 @@ +@@ -292,7 +297,7 @@ } else { @@ -50,7 +73,7 @@ send_icmp_v4 (scanner->icmpv4soc, dst4_p); } } -@@ -431,7 +437,7 @@ +@@ -554,7 +559,7 @@ } else { @@ -59,7 +82,7 @@ send_tcp_v4 (scanner, dst4_p); } } -@@ -445,7 +451,7 @@ +@@ -568,7 +573,7 @@ static void send_arp_v4 (int soc, struct in_addr *dst_p) { @@ -68,7 +91,7 @@ struct arp_hdr arphdr; int frame_length; uint8_t *ether_frame; -@@ -505,10 +511,10 @@ +@@ -637,10 +642,10 @@ } /* Fill in sockaddr_ll.*/ @@ -83,16 +106,16 @@ /* Fill ARP header.*/ /* IP addresses. */ -@@ -520,7 +526,7 @@ +@@ -652,7 +657,7 @@ * Protocol address length is length of IPv4. * OpCode is ARP request. */ arphdr.htype = htons (1); - arphdr.ptype = htons (ETH_P_IP); -+ arphdr.ptype = htons(AF_INET); ++ arphdr.ptype = htons (AF_INET); arphdr.hlen = 6; arphdr.plen = 4; arphdr.opcode = htons (1); -@@ -535,8 +541,8 @@ +@@ -667,8 +672,8 @@ memcpy (ether_frame, dst_mac, 6 * sizeof (uint8_t)); memcpy (ether_frame + 6, src_mac, 6 * sizeof (uint8_t)); /* ethernet type code */ @@ -103,7 +126,7 @@ /* ARP header. ETH_HDRLEN = 14, ARP_HDRLEN = 28 */ memcpy (ether_frame + 14, &arphdr, 28 * sizeof (uint8_t)); -@@ -592,7 +598,7 @@ +@@ -733,7 +738,7 @@ } else { |