From: Igor Ryzhov Date: Fri, 23 Jul 2021 15:38:20 +0000 (+0300) Subject: vtysh: don't install "enable" command in user mode X-Git-Tag: base_8.1~290^2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=c54796288e8b55b3f5c241aa242ef81f1df76e44;p=matthieu%2Ffrr.git 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 --- diff --git a/vtysh/vtysh.c b/vtysh/vtysh.c index a8906e72ae..5cee0aaa3f 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);