diff options
author | Igor Ryzhov <iryzhov@nfware.com> | 2021-07-23 17:38:20 +0200 |
---|---|---|
committer | Igor Ryzhov <iryzhov@nfware.com> | 2021-07-25 12:08:04 +0200 |
commit | c54796288e8b55b3f5c241aa242ef81f1df76e44 (patch) | |
tree | de9950048f3bd7ad911efbc9809687a3a855661b /vtysh | |
parent | Merge pull request #9120 from taspelund/remove_rmac_seq (diff) | |
download | frr-c54796288e8b55b3f5c241aa242ef81f1df76e44.tar.xz frr-c54796288e8b55b3f5c241aa242ef81f1df76e44.zip |
vtysh: don't install "enable" command in user mode
Recent change in d1b287e only fixed the problem for 3-letter words.
We were still displaying error for longer words starting with "ena":
```
nfware> enac
% Command not allowed: enable
nfware> enad
% Command not allowed: enable
nfware> enaena
% Command not allowed: enable
```
If we don't allow "enable" command in user mode, why add it at all?
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
Diffstat (limited to 'vtysh')
-rw-r--r-- | vtysh/vtysh.c | 22 |
1 files changed, 2 insertions, 20 deletions
diff --git a/vtysh/vtysh.c b/vtysh/vtysh.c index a8906e72a..5cee0aaa3 100644 --- a/vtysh/vtysh.c +++ b/vtysh/vtysh.c @@ -478,25 +478,6 @@ static int vtysh_execute_func(const char *line, int pager) if (vline == NULL) return CMD_SUCCESS; - if (user_mode) { - bool allow = true; - if (strncmp("en", vector_slot(vline, 0), 2) == 0) { - if (strlen(line) >= 3) { - if (strncmp("ena", vector_slot(vline, 0), 3) - == 0) - allow = false; - } else - allow = false; - - if (!allow) { - cmd_free_strvec(vline); - vty_out(vty, - "%% Command not allowed: enable\n"); - return CMD_WARNING; - } - } - } - if (vtysh_add_timestamp && strncmp(line, "exit", 4)) { char ts[48]; @@ -4523,7 +4504,8 @@ void vtysh_init_vty(void) /* vtysh */ - install_element(VIEW_NODE, &vtysh_enable_cmd); + if (!user_mode) + install_element(VIEW_NODE, &vtysh_enable_cmd); install_element(ENABLE_NODE, &vtysh_config_terminal_cmd); install_element(ENABLE_NODE, &vtysh_disable_cmd); |