* [ptxdist] [PATCH] libpcap: fix build without INET6
@ 2017-06-20 11:25 Alexander Dahl
0 siblings, 0 replies; only message in thread
From: Alexander Dahl @ 2017-06-20 11:25 UTC (permalink / raw)
To: ptxdist; +Cc: Alexander Dahl
With deactivated IPv6 libpcap fails to build. There was a pull request
upstream to fix this, and upstream decided to fix it, but differently:
https://github.com/the-tcpdump-group/libpcap/pull/541
This imports just the one upstream changeset to fix the issue, and
reorganizes the patch series to reflect the different types of patches.
Signed-off-by: Alexander Dahl <post@lespocky.de>
---
...01-Fix-compilation-if-INET6-isn-t-defined.patch | 58 ++++++++++++++++++++++
...=> 0100-build-and-install-share-lib-only.patch} | 0
... => 0101-pcap-config-add-SYSROOT-support.patch} | 0
...gure.ac-allow-specifying-path-for-libnl3.patch} | 0
patches/libpcap-1.8.1/series | 11 ++--
5 files changed, 65 insertions(+), 4 deletions(-)
create mode 100644 patches/libpcap-1.8.1/0001-Fix-compilation-if-INET6-isn-t-defined.patch
rename patches/libpcap-1.8.1/{0001-build-and-install-share-lib-only.patch => 0100-build-and-install-share-lib-only.patch} (100%)
rename patches/libpcap-1.8.1/{0002-pcap-config-add-SYSROOT-support.patch => 0101-pcap-config-add-SYSROOT-support.patch} (100%)
rename patches/libpcap-1.8.1/{0003-configure.ac-allow-specifying-path-for-libnl3.patch => 0102-configure.ac-allow-specifying-path-for-libnl3.patch} (100%)
diff --git a/patches/libpcap-1.8.1/0001-Fix-compilation-if-INET6-isn-t-defined.patch b/patches/libpcap-1.8.1/0001-Fix-compilation-if-INET6-isn-t-defined.patch
new file mode 100644
index 0000000..7607752
--- /dev/null
+++ b/patches/libpcap-1.8.1/0001-Fix-compilation-if-INET6-isn-t-defined.patch
@@ -0,0 +1,58 @@
+From: Guy Harris <guy@alum.mit.edu>
+Date: Tue, 17 Jan 2017 02:58:52 -0800
+Subject: [PATCH] Fix compilation if INET6 isn't defined.
+
+Addresses GitHub issue #541, but differently from the pull request (it
+defines gen_gateway() with a function prototype rather than using a
+pre-prototype-style definition).
+---
+ gencode.c | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/gencode.c b/gencode.c
+index a887f2730f7a..60494e3de974 100644
+--- a/gencode.c
++++ b/gencode.c
+@@ -523,7 +523,8 @@ static struct block *gen_host6(compiler_state_t *, struct in6_addr *,
+ struct in6_addr *, int, int, int);
+ #endif
+ #ifndef INET6
+-static struct block *gen_gateway(const u_char *, bpf_u_int32 **, int, int);
++static struct block *gen_gateway(compiler_state_t *, const u_char *,
++ bpf_u_int32 **, int, int);
+ #endif
+ static struct block *gen_ipfrag(compiler_state_t *);
+ static struct block *gen_portatom(compiler_state_t *, int, bpf_int32);
+@@ -690,7 +691,9 @@ pcap_compile(pcap_t *p, struct bpf_program *program,
+ }
+ initchunks(&cstate);
+ cstate.no_optimize = 0;
++#ifdef INET6
+ cstate.ai = NULL;
++#endif
+ cstate.ic.root = NULL;
+ cstate.ic.cur_mark = 0;
+ cstate.bpf_pcap = p;
+@@ -4902,11 +4905,8 @@ gen_host6(compiler_state_t *cstate, struct in6_addr *addr,
+
+ #ifndef INET6
+ static struct block *
+-gen_gateway(eaddr, alist, proto, dir)
+- const u_char *eaddr;
+- bpf_u_int32 **alist;
+- int proto;
+- int dir;
++gen_gateway(compiler_state_t *cstate, const u_char *eaddr, bpf_u_int32 **alist,
++ int proto, int dir)
+ {
+ struct block *b0, *b1, *tmp;
+
+@@ -6470,7 +6470,7 @@ gen_scode(compiler_state_t *cstate, const char *name, struct qual q)
+ alist = pcap_nametoaddr(name);
+ if (alist == NULL || *alist == NULL)
+ bpf_error(cstate, "unknown host '%s'", name);
+- b = gen_gateway(eaddr, alist, proto, dir);
++ b = gen_gateway(cstate, eaddr, alist, proto, dir);
+ free(eaddr);
+ return b;
+ #else
diff --git a/patches/libpcap-1.8.1/0001-build-and-install-share-lib-only.patch b/patches/libpcap-1.8.1/0100-build-and-install-share-lib-only.patch
similarity index 100%
rename from patches/libpcap-1.8.1/0001-build-and-install-share-lib-only.patch
rename to patches/libpcap-1.8.1/0100-build-and-install-share-lib-only.patch
diff --git a/patches/libpcap-1.8.1/0002-pcap-config-add-SYSROOT-support.patch b/patches/libpcap-1.8.1/0101-pcap-config-add-SYSROOT-support.patch
similarity index 100%
rename from patches/libpcap-1.8.1/0002-pcap-config-add-SYSROOT-support.patch
rename to patches/libpcap-1.8.1/0101-pcap-config-add-SYSROOT-support.patch
diff --git a/patches/libpcap-1.8.1/0003-configure.ac-allow-specifying-path-for-libnl3.patch b/patches/libpcap-1.8.1/0102-configure.ac-allow-specifying-path-for-libnl3.patch
similarity index 100%
rename from patches/libpcap-1.8.1/0003-configure.ac-allow-specifying-path-for-libnl3.patch
rename to patches/libpcap-1.8.1/0102-configure.ac-allow-specifying-path-for-libnl3.patch
diff --git a/patches/libpcap-1.8.1/series b/patches/libpcap-1.8.1/series
index 5b8e8a2..7e01f06 100644
--- a/patches/libpcap-1.8.1/series
+++ b/patches/libpcap-1.8.1/series
@@ -1,6 +1,9 @@
# generated by git-ptx-patches
#tag:base --start-number 1
-0001-build-and-install-share-lib-only.patch
-0002-pcap-config-add-SYSROOT-support.patch
-0003-configure.ac-allow-specifying-path-for-libnl3.patch
-# 04919371617f914a399e4491d8b76206 - git-ptx-patches magic
+#tag:upstream --start-number 1
+0001-Fix-compilation-if-INET6-isn-t-defined.patch
+#tag:ptx --start-number 100
+0100-build-and-install-share-lib-only.patch
+0101-pcap-config-add-SYSROOT-support.patch
+0102-configure.ac-allow-specifying-path-for-libnl3.patch
+# 363b6cba4073355bfab4a58107b4a1da - git-ptx-patches magic
--
2.1.4
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2017-06-20 11:25 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-20 11:25 [ptxdist] [PATCH] libpcap: fix build without INET6 Alexander Dahl
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox