ndisc6: Upgrade 1.0.4 -> 1.0.5

STABLE RELEASE 1.0.5:
 - Add --no-solicit option to skip sending the discovery packet.
 - Ignore multicast advertisements when discovery was sent as unicast

 - Since its point release, no need to use +git${SRCPV} in PV it can be
   absolute

Signed-off-by: William A. Kennington III <wak@google.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
William A. Kennington III 2021-09-14 13:57:13 -07:00 committed by Khem Raj
parent 4ed048fb05
commit 704fe4c9c8
3 changed files with 2 additions and 158 deletions

View File

@ -1,124 +0,0 @@
From 3a7d5396e633e6c02a4583be7faf3d79d0d33748 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 31 Aug 2017 11:14:41 -0700
Subject: [PATCH 1/2] replace VLAIS with malloc/free pair
Makes it compatible with non-gnu compilers
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
src/trace-icmp.c | 7 +++++--
src/trace-tcp.c | 14 ++++++++++----
src/trace-udp.c | 7 +++++--
3 files changed, 20 insertions(+), 8 deletions(-)
diff --git a/src/trace-icmp.c b/src/trace-icmp.c
index 842938e..c76cb54 100644
--- a/src/trace-icmp.c
+++ b/src/trace-icmp.c
@@ -43,16 +43,19 @@ send_echo_probe (int fd, unsigned ttl, unsigned n, size_t plen, uint16_t port)
struct
{
struct icmp6_hdr ih;
- uint8_t payload[plen - sizeof (struct icmp6_hdr)];
+ uint8_t *payload;
} packet;
memset (&packet, 0, plen);
+ packet.payload = malloc(plen - sizeof (struct icmp6_hdr));
packet.ih.icmp6_type = ICMP6_ECHO_REQUEST;
packet.ih.icmp6_id = htons (getpid ());
packet.ih.icmp6_seq = htons ((ttl << 8) | (n & 0xff));
(void)port;
- return send_payload (fd, &packet.ih, plen, ttl);
+ ssize_t ret = send_payload (fd, &packet.ih, plen, ttl);
+ free(packet.payload);
+ return ret;
}
diff --git a/src/trace-tcp.c b/src/trace-tcp.c
index 940f918..62d22ff 100644
--- a/src/trace-tcp.c
+++ b/src/trace-tcp.c
@@ -54,10 +54,11 @@ send_syn_probe (int fd, unsigned ttl, unsigned n, size_t plen, uint16_t port)
struct
{
struct tcphdr th;
- uint8_t payload[plen - sizeof (struct tcphdr)];
+ uint8_t *payload;
} packet;
memset (&packet, 0, sizeof (packet));
+ packet.payload = malloc(plen - sizeof (struct tcphdr));
packet.th.th_sport = sport;
packet.th.th_dport = port;
packet.th.th_seq = htonl ((ttl << 24) | (n << 16) | (uint16_t)getpid ());
@@ -65,7 +66,9 @@ send_syn_probe (int fd, unsigned ttl, unsigned n, size_t plen, uint16_t port)
packet.th.th_flags = TH_SYN | (ecn ? (TH_ECE | TH_CWR) : 0);
packet.th.th_win = htons (TCP_WINDOW);
- return send_payload (fd, &packet, plen, ttl);
+ ssize_t ret = send_payload (fd, &packet, plen, ttl);
+ free(packet.payload);
+ return ret;
}
@@ -131,10 +134,11 @@ send_ack_probe (int fd, unsigned ttl, unsigned n, size_t plen, uint16_t port)
struct
{
struct tcphdr th;
- uint8_t payload[plen - sizeof (struct tcphdr)];
+ uint8_t *payload;
} packet;
memset (&packet, 0, sizeof (packet));
+ packet.payload = malloc(plen - sizeof (struct tcphdr));
packet.th.th_sport = sport;
packet.th.th_dport = port;
packet.th.th_ack = htonl ((ttl << 24) | (n << 16) | (uint16_t)getpid ());
@@ -142,7 +146,9 @@ send_ack_probe (int fd, unsigned ttl, unsigned n, size_t plen, uint16_t port)
packet.th.th_flags = TH_ACK;
packet.th.th_win = htons (TCP_WINDOW);
- return send_payload (fd, &packet, plen, ttl);
+ ssize_t ret = send_payload (fd, &packet, plen, ttl);
+ free(packet.payload);
+ return ret;
}
diff --git a/src/trace-udp.c b/src/trace-udp.c
index 4adde6b..a6cbb07 100644
--- a/src/trace-udp.c
+++ b/src/trace-udp.c
@@ -46,9 +46,10 @@ send_udp_probe (int fd, unsigned ttl, unsigned n, size_t plen, uint16_t port)
struct
{
struct udphdr uh;
- uint8_t payload[plen - sizeof (struct udphdr)];
+ uint8_t *payload;
} packet;
memset (&packet, 0, plen);
+ packet.payload = malloc(plen - sizeof (struct udphdr));
(void)n;
packet.uh.uh_sport = sport;
@@ -61,7 +62,9 @@ send_udp_probe (int fd, unsigned ttl, unsigned n, size_t plen, uint16_t port)
/*if (plen > sizeof (struct udphdr))
packet.payload[0] = (uint8_t)ttl;*/
- return send_payload (fd, &packet, plen, ttl);
+ ssize_t ret = send_payload (fd, &packet, plen, ttl);
+ free(packet.payload);
+ return ret;
}
--
2.14.1

View File

@ -1,30 +0,0 @@
From 2a50154fbce38fd36be7e14f5cd4a8b03c65c72f Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 31 Aug 2017 11:15:37 -0700
Subject: [PATCH 2/2] Do not undef _GNU_SOURCE
There are functions from tcp.h which are under _GNU_SOURCE
in musl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
src/trace-tcp.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/trace-tcp.c b/src/trace-tcp.c
index 62d22ff..380008e 100644
--- a/src/trace-tcp.c
+++ b/src/trace-tcp.c
@@ -21,7 +21,6 @@
# include <config.h>
#endif
-#undef _GNU_SOURCE
#define _DEFAULT_SOURCE 1
#include <string.h>
--
2.14.1

View File

@ -5,11 +5,9 @@ HOMEPAGE = "http://www.remlab.net/ndisc6/"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
PV = "1.0.4+git${SRCPV}"
SRCREV = "4c794b5512d23c649def1f94a684225dcbb6ac3e"
PV = "1.0.5"
SRCREV = "b706f5f01aa82aa0db678fffd15a1527f330c507"
SRC_URI = "git://git.remlab.net/git/ndisc6.git;protocol=http \
file://0001-replace-VLAIS-with-malloc-free-pair.patch \
file://0002-Do-not-undef-_GNU_SOURCE.patch \
file://0001-autogen-Do-not-symlink-gettext.h-from-build-host.patch \
"