diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ctrl/control_vty.c | 1 | ||||
| -rw-r--r-- | src/gb/gprs_bssgp_vty.c | 1 | ||||
| -rw-r--r-- | src/gb/gprs_ns_vty.c | 1 | ||||
| -rw-r--r-- | src/vty/command.c | 42 | ||||
| -rw-r--r-- | src/vty/logging_vty.c | 1 | ||||
| -rw-r--r-- | src/vty/stats_vty.c | 1 | ||||
| -rw-r--r-- | src/vty/vty.c | 1 | 
7 files changed, 29 insertions, 19 deletions
diff --git a/src/ctrl/control_vty.c b/src/ctrl/control_vty.c index 97f42de5..a968bc01 100644 --- a/src/ctrl/control_vty.c +++ b/src/ctrl/control_vty.c @@ -82,7 +82,6 @@ int ctrl_vty_init(void *ctx)  	ctrl_vty_ctx = ctx;  	install_element(CONFIG_NODE, &cfg_ctrl_cmd);  	install_node(&ctrl_node, config_write_ctrl); -	vty_install_default(L_CTRL_NODE);  	install_element(L_CTRL_NODE, &cfg_ctrl_bind_addr_cmd);  	return 0; diff --git a/src/gb/gprs_bssgp_vty.c b/src/gb/gprs_bssgp_vty.c index dc786a14..f7878469 100644 --- a/src/gb/gprs_bssgp_vty.c +++ b/src/gb/gprs_bssgp_vty.c @@ -211,7 +211,6 @@ int bssgp_vty_init(void)  	install_element(CONFIG_NODE, &cfg_bssgp_cmd);  	install_node(&bssgp_node, config_write_bssgp); -	vty_install_default(L_BSSGP_NODE);  	return 0;  } diff --git a/src/gb/gprs_ns_vty.c b/src/gb/gprs_ns_vty.c index 4bd50970..f94d9c2c 100644 --- a/src/gb/gprs_ns_vty.c +++ b/src/gb/gprs_ns_vty.c @@ -594,7 +594,6 @@ int gprs_ns_vty_init(struct gprs_ns_inst *nsi)  	install_element(CONFIG_NODE, &cfg_ns_cmd);  	install_node(&ns_node, config_write_ns); -	vty_install_default(L_NS_NODE);  	install_element(L_NS_NODE, &cfg_nse_nsvci_cmd);  	install_element(L_NS_NODE, &cfg_nse_remoteip_cmd);  	install_element(L_NS_NODE, &cfg_nse_remoteport_cmd); diff --git a/src/vty/command.c b/src/vty/command.c index 8ad2e975..21b26b4e 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -149,8 +149,10 @@ static const char *node_name_from_prompt(const char *prompt, char *name_buf, siz  	return name_buf;  } -/*! Install top node of command vector. */ -void install_node(struct cmd_node *node, int (*func) (struct vty *)) +static void install_basic_node_commands(int node); + +/*! Install top node of command vector, without adding basic node commands. */ +static void install_node_bare(struct cmd_node *node, int (*func) (struct vty *))  {  	vector_set_index(cmdvec, node->node, node);  	node->func = func; @@ -159,6 +161,13 @@ void install_node(struct cmd_node *node, int (*func) (struct vty *))  		node_name_from_prompt(node->prompt, node->name, sizeof(node->name));  } +/*! Install top node of command vector. */ +void install_node(struct cmd_node *node, int (*func) (struct vty *)) +{ +	install_node_bare(node, func); +	install_basic_node_commands(node->node); +} +  /* Compare two command's string.  Used in sort_node (). */  static int cmp_node(const void *p, const void *q)  { @@ -3599,8 +3608,23 @@ void host_config_set(const char *filename)  	host.config = talloc_strdup(tall_vty_cmd_ctx, filename);  } +/*! Deprecated, now happens implicitly when calling install_node(). + * Users of the API may still attempt to call this function, hence + * leave it here as a no-op. */  void install_default(int node)  { +} + +/*! Deprecated, now happens implicitly when calling install_node(). + * Users of the API may still attempt to call this function, hence + * leave it here as a no-op. */ +void vty_install_default(int node) +{ +} + +/*! Install common commands like 'exit' and 'list'. */ +static void install_basic_node_commands(int node) +{  	install_element(node, &config_help_cmd);  	install_element(node, &config_list_cmd); @@ -3609,11 +3633,6 @@ void install_default(int node)  	install_element(node, &config_write_memory_cmd);  	install_element(node, &config_write_cmd);  	install_element(node, &show_running_config_cmd); -} - -void vty_install_default(int node) -{ -	install_default(node);  	install_element(node, &config_exit_cmd); @@ -3681,10 +3700,10 @@ void cmd_init(int terminal)  	host.motdfile = NULL;  	/* Install top nodes. */ -	install_node(&view_node, NULL); +	install_node_bare(&view_node, NULL);  	install_node(&enable_node, NULL); -	install_node(&auth_node, NULL); -	install_node(&auth_enable_node, NULL); +	install_node_bare(&auth_node, NULL); +	install_node_bare(&auth_enable_node, NULL);  	install_node(&config_node, config_write_host);  	/* Each node's basic commands. */ @@ -3701,7 +3720,6 @@ void cmd_init(int terminal)  	}  	if (terminal) { -		vty_install_default(ENABLE_NODE);  		install_element(ENABLE_NODE, &config_disable_cmd);  		install_element(ENABLE_NODE, &config_terminal_cmd);  		install_element (ENABLE_NODE, ©_runningconfig_startupconfig_cmd); @@ -3714,8 +3732,6 @@ void cmd_init(int terminal)  		install_element(ENABLE_NODE, &config_terminal_length_cmd);  		install_element(ENABLE_NODE, &config_terminal_no_length_cmd);  		install_element(ENABLE_NODE, &echo_cmd); - -		vty_install_default(CONFIG_NODE);  	}  	install_element(CONFIG_NODE, &hostname_cmd); diff --git a/src/vty/logging_vty.c b/src/vty/logging_vty.c index 01480b10..0ab76861 100644 --- a/src/vty/logging_vty.c +++ b/src/vty/logging_vty.c @@ -776,7 +776,6 @@ void logging_vty_add_cmds()  	install_element_ve(&show_alarms_cmd);  	install_node(&cfg_log_node, config_write_log); -	vty_install_default(CFG_LOG_NODE);  	install_element(CFG_LOG_NODE, &logging_fltr_all_cmd);  	install_element(CFG_LOG_NODE, &logging_use_clr_cmd);  	install_element(CFG_LOG_NODE, &logging_prnt_timestamp_cmd); diff --git a/src/vty/stats_vty.c b/src/vty/stats_vty.c index 57cdd308..a4c73fa0 100644 --- a/src/vty/stats_vty.c +++ b/src/vty/stats_vty.c @@ -594,7 +594,6 @@ void osmo_stats_vty_add_cmds()  	install_element(CONFIG_NODE, &cfg_stats_interval_cmd);  	install_node(&cfg_stats_node, config_write_stats); -	vty_install_default(CFG_STATS_NODE);  	install_element(CFG_STATS_NODE, &cfg_stats_reporter_local_ip_cmd);  	install_element(CFG_STATS_NODE, &cfg_no_stats_reporter_local_ip_cmd); diff --git a/src/vty/vty.c b/src/vty/vty.c index 3d9c0d64..aef73b3a 100644 --- a/src/vty/vty.c +++ b/src/vty/vty.c @@ -1798,7 +1798,6 @@ void vty_init(struct vty_app_info *app_info)  	install_element(ENABLE_NODE, &terminal_monitor_cmd);  	install_element(ENABLE_NODE, &terminal_no_monitor_cmd); -	vty_install_default(VTY_NODE);  	install_element(VTY_NODE, &vty_login_cmd);  	install_element(VTY_NODE, &no_vty_login_cmd);  	install_element(VTY_NODE, &vty_bind_cmd);  | 
