The ":*" optstring syntax was only recently introduced with BusyBox v1.26,
older versions need a corresponding hint in the "opt_complementary" variable
to denote flag values that should be stored as llist entries.
Add the required opt_complementary entry to fix random SIGBUS, SIGILL or
SIGSEGV related crashes on BusyBox 1.25.x when attempting to use the "-q"
flag of the "nslookup_lede" applet.
Ref: https://forum.lede-project.org/t/nslookup-ipv6-in-lede-17-01-1
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
PKG_NAME:=busybox
PKG_VERSION:=1.26.2
PKG_NAME:=busybox
PKG_VERSION:=1.26.2
PKG_FLAGS:=essential
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_FLAGS:=essential
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-From 2285cd400a10b1bde5472fe1cec3311300ee943c Mon Sep 17 00:00:00 2001
+From 1188f159e0b0a9c07bed835c7313bedf5322a9e3 Mon Sep 17 00:00:00 2001
From: Jo-Philipp Wich <jo@mein.io>
Date: Tue, 14 Mar 2017 22:21:34 +0100
Subject: [PATCH] networking: add LEDE nslookup applet
From: Jo-Philipp Wich <jo@mein.io>
Date: Tue, 14 Mar 2017 22:21:34 +0100
Subject: [PATCH] networking: add LEDE nslookup applet
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
---
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
---
- networking/nslookup_lede.c | 893 +++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 893 insertions(+)
+ networking/nslookup_lede.c | 894 +++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 894 insertions(+)
create mode 100644 networking/nslookup_lede.c
diff --git a/networking/nslookup_lede.c b/networking/nslookup_lede.c
new file mode 100644
create mode 100644 networking/nslookup_lede.c
diff --git a/networking/nslookup_lede.c b/networking/nslookup_lede.c
new file mode 100644
-index 000000000..6f1f86502
+index 000000000..f3e42d3bb
--- /dev/null
+++ b/networking/nslookup_lede.c
--- /dev/null
+++ b/networking/nslookup_lede.c
+/*
+ * nslookup_lede - musl compatible replacement for busybox nslookup
+ *
+/*
+ * nslookup_lede - musl compatible replacement for busybox nslookup
+ *
+ applet_long_options = nslookup_longopts;
+#endif
+
+ applet_long_options = nslookup_longopts;
+#endif
+
++ opt_complementary = "q::";
+ opts = getopt32(argv, "+q:*p:+r:+t:+s",
+ &type_strings, &default_port,
+ &default_retry, &default_timeout);
+ opts = getopt32(argv, "+q:*p:+r:+t:+s",
+ &type_strings, &default_port,
+ &default_retry, &default_timeout);