From f366ad31ae6bf7e2fb7271cf8eab6dee4af3baf9 Mon Sep 17 00:00:00 2001 From: "Andrew J. Schorr" Date: Thu, 27 Jul 2006 18:01:41 +0000 Subject: [vtysh] Never skip authentication, and add support for multiple -c commands 2006-07-27 Andrew J. Schorr * vtysh.1: Document new options -d and -E, and note that now multiple -c options may be supplied, with embedded linefeed now supported. In BUGS section, remove warning about vtysh causing a daemon to freeze, since this has been fixed. * vtysh_main.c: (usage) Add new -d and -E options. And note that -c can be used multiple times, possibly with embedded linefeeds. (longopts) Add new -d and -E options. (main) Add new -d and -E options, and create a linked list to support multiple -c options. Do not call vtysh_connect_all until after vtysh_read_config(config_default) and vtysh_auth have succeeded. This prevents the vtysh.conf file from configuring any daemons, and it ensures that authentication has been passed before we send any commands to any daemons. Call vtysh_connect_all with any daemon name supplied with -d. If it is unable to connect to any daemons, issue an error message and exit immediately. When used in -c mode, call vtysh_execute("enable") before executing the commands in order to match interactive behavior. And detect embedded linefeed chars in -c commands and break them up appropriately. * vtysh.h: (vtysh_connect_all) Fix proto to reflect new daemon_name argument, and that it now returns an integer -- the number of daemons to which we were able to connect. * vtysh.c: (vtysh_connect_all) Add a new daemon_name argument. If supplied, connect only to that daemon. And return the number of daemons to which we were able to connect. (vtysh_prompt): Performance enhancement -- make struct utsname static so we call uname to get the hostname only once. --- vtysh/vtysh.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'vtysh/vtysh.h') diff --git a/vtysh/vtysh.h b/vtysh/vtysh.h index d619c294..dd2bcbd0 100644 --- a/vtysh/vtysh.h +++ b/vtysh/vtysh.h @@ -38,7 +38,7 @@ void vtysh_init_vty (void); void vtysh_init_cmd (void); -void vtysh_connect_all (void); +extern int vtysh_connect_all (const char *optional_daemon_name); void vtysh_readline_init (void); void vtysh_user_init (void); -- cgit v1.2.1