lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200625210712.1863300-1-her@sorah.jp>
Date:   Fri, 26 Jun 2020 06:07:12 +0900
From:   Sorah Fukumori <her@...ah.jp>
To:     netdev@...r.kernel.org
Cc:     Sorah Fukumori <her@...ah.jp>
Subject: [PATCH iproute2] ip fou: respect preferred_family for IPv6

ip(8) accepts -family ipv6 (-6) option at the toplevel. It is
straightforward to support the existing option for modifying listener
on IPv6 addresses.

Maintain the backward compatibility by leaving ip fou -6 flag
implemented, while it's removed from the usage message.

Signed-off-by: Sorah Fukumori <her@...ah.jp>
---
 ip/ipfou.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/ip/ipfou.c b/ip/ipfou.c
index ea126b08..9c697770 100644
--- a/ip/ipfou.c
+++ b/ip/ipfou.c
@@ -27,10 +27,10 @@
 static void usage(void)
 {
 	fprintf(stderr,
-		"Usage: ip fou add port PORT { ipproto PROTO  | gue } [ -6 ]\n"
+		"Usage: ip fou add port PORT { ipproto PROTO  | gue }\n"
 		"		   [ local IFADDR ] [ peer IFADDR ]\n"
 		"		   [ peer_port PORT ] [ dev IFNAME ]\n"
-		"       ip fou del port PORT [ -6 ] [ local IFADDR ]\n"
+		"       ip fou del port PORT [ local IFADDR ]\n"
 		"		   [ peer IFADDR ] [ peer_port PORT ]\n"
 		"		   [ dev IFNAME ]\n"
 		"       ip fou show\n"
@@ -55,13 +55,17 @@ static int fou_parse_opt(int argc, char **argv, struct nlmsghdr *n,
 {
 	const char *local = NULL, *peer = NULL;
 	__u16 port, peer_port = 0;
-	__u8 family = AF_INET;
+	__u8 family = preferred_family;
 	bool gue_set = false;
 	int ipproto_set = 0;
 	__u8 ipproto, type;
 	int port_set = 0;
 	int index = 0;
 
+	if (preferred_family == AF_UNSPEC) {
+		family = AF_INET;
+	}
+
 	while (argc > 0) {
 		if (!matches(*argv, "port")) {
 			NEXT_ARG();
-- 
2.26.2

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ