[git commit] networking: Fall back on IPPROTO_RAW when SOL_RAW is not defined

Denys Vlasenko vda.linux at googlemail.com
Mon Oct 30 13:51:25 UTC 2017


commit: https://git.busybox.net/busybox/commit/?id=4d0971b7fbb9069c104e3746bb22d2155ec275ee
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

Signed-off-by: James Clarke <jrtc27 at jrtc27.com>
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 networking/ping.c       | 8 ++++++++
 networking/traceroute.c | 8 ++++++++
 2 files changed, 16 insertions(+)

diff --git a/networking/ping.c b/networking/ping.c
index 774f8f3..d1d59d5 100644
--- a/networking/ping.c
+++ b/networking/ping.c
@@ -135,6 +135,14 @@
 # define ICMP_ADDRESSREPLY   18  /* Address Mask Reply    */
 #endif
 
+/* Some operating systems, like GNU/Hurd, don't define SOL_RAW, but do have
+ * IPPROTO_RAW. Since the IPPROTO definitions are also valid to use for
+ * setsockopt (and take the same value as their corresponding SOL definitions,
+ * if they exist), we can just fall back on IPPROTO_RAW. */
+#ifndef SOL_RAW
+# define SOL_RAW IPPROTO_RAW
+#endif
+
 #if ENABLE_PING6
 # include <netinet/icmp6.h>
 /* I see RENUMBERED constants in bits/in.h - !!?
diff --git a/networking/traceroute.c b/networking/traceroute.c
index 8b62474..df71220 100644
--- a/networking/traceroute.c
+++ b/networking/traceroute.c
@@ -323,6 +323,14 @@
 # define IPPROTO_IP 0
 #endif
 
+/* Some operating systems, like GNU/Hurd, don't define SOL_RAW, but do have
+ * IPPROTO_RAW. Since the IPPROTO definitions are also valid to use for
+ * setsockopt (and take the same value as their corresponding SOL definitions,
+ * if they exist), we can just fall back on IPPROTO_RAW. */
+#ifndef SOL_RAW
+# define SOL_RAW IPPROTO_RAW
+#endif
+
 
 #define OPT_STRING \
 	"FIlnrdvxt:i:m:p:q:s:w:z:f:" \


More information about the busybox-cvs mailing list