summaryrefslogtreecommitdiff
path: root/security/gvm-libs/files/patch-boreas_ping.c
diff options
context:
space:
mode:
Diffstat (limited to 'security/gvm-libs/files/patch-boreas_ping.c')
-rw-r--r--security/gvm-libs/files/patch-boreas_ping.c49
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
{