Skip to contentSkip to conversation

ping: Wrap SO_BINDTODEVICE with the correct capability.

PATCH In review Jan Synacek 2 participants 2 messages Nov 12, 2012

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ping: Wrap SO_BINDTODEVICE with the correct capability.

---
 ping.c | 5 +++++
 1 file changed, 5 insertions(+)
ping.c +3 -0
index 2f70cec..c958f1a 100644
@@ -316,6 +316,9 @@ main(int argc, char **argv)
 			struct ifreq ifr;
 			memset(&ifr, 0, sizeof(ifr));
 			strncpy(ifr.ifr_name, device, IFNAMSIZ-1);
+
+			enable_capability_raw();
+
 			if (setsockopt(probe_fd, SOL_SOCKET, SO_BINDTODEVICE, device,

strlen(device)+1) == -1) {
if (IN_MULTICAST(ntohl(dst.sin_addr.s_addr))) {
struct ip_mreqn imr;
@@ -331,6 +334,8 @@ main(int argc, char **argv)
}
}
}
+
+ disable_capability_raw();
}

if (settos &&

Signature · 1 line
1.7.11.7
#1 lore raw
Quoted 23 lines · Jan Synacek
---
 ping.c | 5 +++++
 1 file changed, 5 insertions(+)
ping.c +3 -0
index 2f70cec..c958f1a 100644
@@ -316,6 +316,9 @@ main(int argc, char **argv)
 			struct ifreq ifr;
 			memset(&ifr, 0, sizeof(ifr));
 			strncpy(ifr.ifr_name, device, IFNAMSIZ-1);
+
+			enable_capability_raw();
+
 			if (setsockopt(probe_fd, SOL_SOCKET, SO_BINDTODEVICE, device,
 strlen(device)+1) == -1) {
 				if (IN_MULTICAST(ntohl(dst.sin_addr.s_addr))) {
ping.c +0 -0
 					struct ip_mreqn imr;

ping.c main(int argc, char **argv) · line 341

Quoted 8 lines
ping.c +2 -0
@@ -331,6 +334,8 @@ main(int argc, char **argv)
 					}
 				}
 			}
+
+			disable_capability_raw();
 		}
 
 		if (settos &&

Oh, you're right. Applied, thank you.

--yoshfuji