[PATCH] iproute: disallow ip rule del without parameters

Subsystems: the rest

STALE3637d

4 messages, 3 authors, 2016-09-01 · open the first message on its own page

[PATCH] iproute: disallow ip rule del without parameters

From: Andrey Jr. Melnikov <hidden>
Date: 2016-08-24 20:43:05

Disallow run `ip rule del` without any parameter to avoid delete any first
rule from table.

Signed-off-by: Andrey Jr. Melnikov <redacted>
---
diff --git a/ip/iprule.c b/ip/iprule.c
index 8f24206..70562c5 100644
--- a/ip/iprule.c
+++ b/ip/iprule.c
@@ -346,6 +346,11 @@ static int iprule_modify(int cmd, int argc, char **argv)
 		req.r.rtm_type = RTN_UNICAST;
 	}
 
+	if (cmd == RTM_DELRULE && argc == 0) {
+		fprintf(stderr, "\"ip rule del\" requires arguments.\n");
+		return -1;
+	}
+
 	while (argc > 0) {
 		if (strcmp(*argv, "not") == 0) {
 			req.r.rtm_flags |= FIB_RULE_INVERT;

Re: [PATCH] iproute: disallow ip rule del without parameters

From: Stephen Hemminger <stephen@networkplumber.org>
Date: 2016-08-29 17:53:14

On Wed, 24 Aug 2016 23:43:00 +0300
"Andrey Jr. Melnikov" [off-list ref] wrote:
quoted hunk
Disallow run `ip rule del` without any parameter to avoid delete any first
rule from table.

Signed-off-by: Andrey Jr. Melnikov <redacted>
---
diff --git a/ip/iprule.c b/ip/iprule.c
index 8f24206..70562c5 100644
--- a/ip/iprule.c
+++ b/ip/iprule.c
@@ -346,6 +346,11 @@ static int iprule_modify(int cmd, int argc, char **argv)
 		req.r.rtm_type = RTN_UNICAST;
 	}
 
+	if (cmd == RTM_DELRULE && argc == 0) {
+		fprintf(stderr, "\"ip rule del\" requires arguments.\n");
+		return -1;
+	}
+
 	while (argc > 0) {
 		if (strcmp(*argv, "not") == 0) {
 			req.r.rtm_flags |= FIB_RULE_INVERT;

Actually ip rule delete without arguments deletes all rules.
Which could be a bug or feature depending on the user.
I can imagine somebody is doing something like deleting all rules
and putting in new ones for PBR.

Re: [PATCH] iproute: disallow ip rule del without parameters

From: Michal Kubecek <hidden>
Date: 2016-08-30 11:52:02

On Mon, Aug 29, 2016 at 10:53:25AM -0700, Stephen Hemminger wrote:
On Wed, 24 Aug 2016 23:43:00 +0300
"Andrey Jr. Melnikov" [off-list ref] wrote:
quoted
Disallow run `ip rule del` without any parameter to avoid delete any first
rule from table.
...
Actually ip rule delete without arguments deletes all rules.
Which could be a bug or feature depending on the user.
I can imagine somebody is doing something like deleting all rules
and putting in new ones for PBR.
We have "ip rule flush" for that, don't we?

Michal Kubecek

Re: [PATCH] iproute: disallow ip rule del without parameters

From: Stephen Hemminger <stephen@networkplumber.org>
Date: 2016-09-01 16:05:35

On Tue, 30 Aug 2016 13:51:56 +0200
Michal Kubecek [off-list ref] wrote:
On Mon, Aug 29, 2016 at 10:53:25AM -0700, Stephen Hemminger wrote:
quoted
On Wed, 24 Aug 2016 23:43:00 +0300
"Andrey Jr. Melnikov" [off-list ref] wrote:
  
quoted
Disallow run `ip rule del` without any parameter to avoid delete any first
rule from table.  
...
quoted
Actually ip rule delete without arguments deletes all rules.
Which could be a bug or feature depending on the user.
I can imagine somebody is doing something like deleting all rules
and putting in new ones for PBR.  
We have "ip rule flush" for that, don't we?

Michal Kubecek
I went ahead and applied this, seemed better to give error than deleting
all rules.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help