diff options
author | James Clarke <jrtc27@jrtc27.com> | 2017-10-07 18:53:21 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2017-10-30 14:51:25 +0100 |
commit | 4d0971b7fbb9069c104e3746bb22d2155ec275ee (patch) | |
tree | 008f08d782c34ff7ee973ee8ad7740b4e872d10a | |
parent | a1e9bc6876f6539805095e9395c604d3675c526d (diff) | |
download | busybox-w32-4d0971b7fbb9069c104e3746bb22d2155ec275ee.tar.gz busybox-w32-4d0971b7fbb9069c104e3746bb22d2155ec275ee.tar.bz2 busybox-w32-4d0971b7fbb9069c104e3746bb22d2155ec275ee.zip |
networking: Fall back on IPPROTO_RAW when SOL_RAW is not defined
Signed-off-by: James Clarke <jrtc27@jrtc27.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | networking/ping.c | 8 | ||||
-rw-r--r-- | networking/traceroute.c | 8 |
2 files changed, 16 insertions, 0 deletions
diff --git a/networking/ping.c b/networking/ping.c index 774f8f3e0..d1d59d545 100644 --- a/networking/ping.c +++ b/networking/ping.c | |||
@@ -135,6 +135,14 @@ | |||
135 | # define ICMP_ADDRESSREPLY 18 /* Address Mask Reply */ | 135 | # define ICMP_ADDRESSREPLY 18 /* Address Mask Reply */ |
136 | #endif | 136 | #endif |
137 | 137 | ||
138 | /* Some operating systems, like GNU/Hurd, don't define SOL_RAW, but do have | ||
139 | * IPPROTO_RAW. Since the IPPROTO definitions are also valid to use for | ||
140 | * setsockopt (and take the same value as their corresponding SOL definitions, | ||
141 | * if they exist), we can just fall back on IPPROTO_RAW. */ | ||
142 | #ifndef SOL_RAW | ||
143 | # define SOL_RAW IPPROTO_RAW | ||
144 | #endif | ||
145 | |||
138 | #if ENABLE_PING6 | 146 | #if ENABLE_PING6 |
139 | # include <netinet/icmp6.h> | 147 | # include <netinet/icmp6.h> |
140 | /* I see RENUMBERED constants in bits/in.h - !!? | 148 | /* I see RENUMBERED constants in bits/in.h - !!? |
diff --git a/networking/traceroute.c b/networking/traceroute.c index 8b6247482..df7122047 100644 --- a/networking/traceroute.c +++ b/networking/traceroute.c | |||
@@ -323,6 +323,14 @@ | |||
323 | # define IPPROTO_IP 0 | 323 | # define IPPROTO_IP 0 |
324 | #endif | 324 | #endif |
325 | 325 | ||
326 | /* Some operating systems, like GNU/Hurd, don't define SOL_RAW, but do have | ||
327 | * IPPROTO_RAW. Since the IPPROTO definitions are also valid to use for | ||
328 | * setsockopt (and take the same value as their corresponding SOL definitions, | ||
329 | * if they exist), we can just fall back on IPPROTO_RAW. */ | ||
330 | #ifndef SOL_RAW | ||
331 | # define SOL_RAW IPPROTO_RAW | ||
332 | #endif | ||
333 | |||
326 | 334 | ||
327 | #define OPT_STRING \ | 335 | #define OPT_STRING \ |
328 | "FIlnrdvxt:i:m:p:q:s:w:z:f:" \ | 336 | "FIlnrdvxt:i:m:p:q:s:w:z:f:" \ |