summaryrefslogtreecommitdiffstats
path: root/vtysh
diff options
context:
space:
mode:
authorIgor Ryzhov <iryzhov@nfware.com>2021-07-23 17:38:20 +0200
committerIgor Ryzhov <iryzhov@nfware.com>2021-07-25 12:08:04 +0200
commitc54796288e8b55b3f5c241aa242ef81f1df76e44 (patch)
treede9950048f3bd7ad911efbc9809687a3a855661b /vtysh
parentMerge pull request #9120 from taspelund/remove_rmac_seq (diff)
downloadfrr-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.c22
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);