Releases: lgastevens/ACLI-terminal
Releases · lgastevens/ACLI-terminal
v6.03 - 2024-06-10
* Uses Control::CLI version 2.11 and Control::CLI::Extreme version 1.12
* Updates to support new ISW-24W-4X model which has to be handled as a different ISWmarvell family type
* On quitting a more prompt, if there were more than one summary lines counting number of records in output, only
one, the last such line was shown
* Alias syntax is no longer shown on devices where the alias does not apply, because alias resolves to "&noalias"
* Command sed was not listed in ACLI> "help" output
* When pasting many commands into tied terminal, it could happen that some listening terminals might miss a command
* Grep of "dhcp" on VOSS now will show all of dhcp config, including dhcp-server config contexts
* On ISW-4W-4WS-4X "show logging -i" was not unwrapping log message lines
* Doing a grep on ISW log file, was showing issues with the indentation based grep, now resolved
* New Universal Hardware series 4120 and 4220 have a restricted CLI, which has a prompt ending in "="; made changes
to work with modified prompt
* In some rare cases the config indentation of PassportERS/VOSS configs could be wrong on some lines
* All @send embedded commands now halt reading connected device output; hitting the Return key interactively will
resume device output reading
* New @read embedded command, allows a resuming reading of device output following write operations using the @send
command; if no prompt is expected after the read (e.g. entering shell) then the command can be executed as
"@read unbuffer"
* New &noecho instruction, allowed as first command of dereferenced alias command, prevents alias echoing of the
command
* Tab expansion and syntax browsing was not working well on HiveOS APs over serial port
* Incorrect processing of grep patters applied to an alias command which dereferenced a semicolon separated list
of commands where some have the ':' marker but not the first command
* Alias arguments can now be double quoted if the argument contains space characters
* Capturing of variables no longer happens from tied terminals reporting an error if those terminals were never able
to connect
* Socket tied terminals when reporting messages now use the real switcxh sysname, not the switchname version which
replaces with underscore, characters which cannot be used in filenames
* Channelized ports in format 1/2/3 were not processed properly in portrange unconstrain mode (@terminal portrange
unconstrain enable)
* History of device-sent messages was not accurate if sed input patterns were in use
v6.02 - 2023-10-09
* Uses Control::CLI version 2.11 and Control::CLI::Extreme version 1.10
* More fixes around CLI tab expansion support for SD-WAN Ipanema family type
* Doing a highlight string (cmd ^ string) where there were more than 40 matches of that string in the output would
crash ACLI
* Doing a highlight string (cmd ^ string) with a string ending with '?' would hang ACLI
* Added new VOSS9.0 "ip dhcp-server" context for grep of show running config
* When reconnecting to a VOSS switch, which was factory defaulted and prompts to set the username password, the
keepalive function was kicking in and preventing user from actually providing the new password. As a workaround one
had to force a reconnect and then it was possible to provide the new password and login. Now the keepalive timer
is reset on every new connection, as should have always been the case.
* When logging to file, time stamp lines now indicate if logging file was closed or opened
* List variable assignment $var[] = (val1; val2) was not handled correctly if used in alias file
* Using serial port on Silicon Labs CP210x USB cable (for universal hardware USB port) was failing with error:
invalid COMMPROP block length= 66 at C:/Strawberry/perl/site/lib/Control/CLI.pm line 296
* Update script updated to be able to use HTTPS to fetch updates and now only fetches updates from github.com
* VOSS .tgz/.voss image files are highlighted now in ls output of switch file system
v6.01 - 2023-08-03
* Sed colouring and output patterns now also work with offline grep (-g)
* Sed output pattern allowing more readable output of VOSS ACL filter config was not working properly with IPv6 ACLs
* Ini flag ctrl_clear_screen is now renamed to ctrl_clear_screen_chr
* New ACLI control command "terminal ini" and embedded "@ terminal ini" shows settings of all ini keys which can be
set via the acli.ini file
* Added support for new SD-WAN Ipanema "router 1-3" CLI contexts
* Improved CLI tab expansion support for SD-WAN Ipanema family type
* Windows installer now automatically launches uninstaller of previous version if already installed
* Windows uninstaller now deletes any residual updates directory, so these do not interfere with a new installation
* Control ACLI> interface was not able to set debug level > 999
* More paging output with error patterns was producing unexpected lines between --more-- prompts
* Script xmcacli (v1.17) updated with missing XMC family "200 Series" for Series200 support
v6.00 - 2023-06-24
* Added support for HiveOS Cloud APs
* Added support for SD-WAN IP Engine (IPE) appliance
* Windows distribution upgraded to Strawberry 64bit Perl v5.32.1 (MSWin32-x64-multi-thread)
* Windows distribution upgraded to libssh2 v1.11.0 which now supports latest SSH cyphers e.g. rsa-sha2-512 and
rsa-sha2-256 required for SSH into SD-WAN IP Engine (IPE) appliance
* Version now displays 64bit and threads support in addition to Perl version
* Added support for new Control-CLI-Extreme attributes "is_fabric_engine" and "is_switch_engine"
* The syntax for supplying command prompted inputs on the command's command line now can take two optional switches:
<CLI command> [-hf] // <input1> // <input2> ...
The -h switch will cache those inputs for future invocation of that same command on same host
The -f switch will cache those inputs for future invocation of that same command on any device of same family type
The cached inputs are held in a JSON file acli.cache under the .acli directory
* Manually setting the default variable ($=<value>) was giving error: "use of uninitialized value $1 in string"
* Reserved variable $$ now is set from Control-CLI-Extreme's attribute "sysname" and is only extracted from the CLI
prompt on PassportERS Standby CPUs, where the former attribute is not available
* New reserved variable $> holds last received CLI prompt from device; useful to create logic to move between
different CLI exec levels using ACLI scripts
* Connecting to serial COM port via command line was not working and always invoking the COM port select menu
* Embedded command "@run list" was not working on Linux/MacOS systems
v5.08 - 2023-03-25
* VOSS grep running-config patterns were not working if logical-intf name included spaces
* ConsoleZ default settings now have checkbox "Start Windows console hidden" enabled. It seems this is required on
Windows11 to prevent duplicate windows being opened for every ACLI tab
* VOSS grep running-config patterns were not working if route-map names contained characters "<" or ">"
* @sed patterns can now be associated with the product family group, via the category identifier in the acli.sed file
This allows sed patterns to be more efficient (no need to check patterns specific to one product family when
connected to a different product family device); see the acli.sed file for more details.
* @sed input and output (but not colouring output) patterns can now use a Perl code snippet as replacement string
In this case the replacement code string must be enclosed in curlies {} in the acli.sed file and enclosed in '{}'
if using the @sed embedded command to add the input or output pattern
* Loaded acli.sed file is now displayed in "@sed info" command output
* New default sed output pattern, allows a more readable output of VOSS ACL filter config
* Changes to correctly detect new ISW models: ISW-4W-4WS-4X & ISW-24W-4X
* Created reserved variables $ALL (also $1/ALL or $2/ALL or $3:ALL, etc..) which will automatically translate to
all ports or all ports for given slot on connected device (except for the ISW)
* VOSS show running config advanced grep on VRF names "show running ||vrf [<vrfname-list>]" now does exact matches
on the supplied VRF names (previously "vrf red" would also match "vrf shared")
* EXOS command "download url file:///usr/local/ext/test.xos" was not processed correctly; the double "/" were
incorrectly used as if to feed an argument "//usr/local/ext/test.xos" to the command ""download url file:/"
* When tie-ing or listening to socket names, a purely numerical name is now treated as a string. Previously doing
"@socket tie 22" would result in the socket being actually tied to UDP port 22; same thing for "@socket listen".
Now "22" is considered a string and it will get allocated a UDP port above 50000, as was already done for socket
names containing characters other than digits. To actually force a specific socket number it is now necessary to
use a socket number preceded by "%", like "@socket tie %20000" will actually use UDP port 20000.
* Variable capture on output echoed from tied terminals no longer tries to capture on error message lines indicating
that the tied device is not connected
v5.07 - 2022-09-17
* Changes to handle new EXOS 5720 channelized port format <slot>:<port>:<channel> or <port>:<channel> on standalone
* Changes to handle new VOSS8.8 logical-intf syntax in show running-config grep
* ACLI's own summary of counted records in show commands is now only shown once, in commands which have multiple
counts of their own (like ISIS interfaces, Home & Remote..)
* Enhanced ACLI grep to work better on EXOS "show netlogin session"
* Fix to command parsing in presence of "@" character used in the middle of the command, like on ExtremeXOS
"scp2 <username>@<IP>:<path>" request for command syntax "?" was not working properly
* Pasting config lines where the last line does not have a trailing carriage return and one of the previous commands
is slow to produce a prompt (e.g. save config), was causing the last line to get inserted before the next command
in the wrong order. Version 5.05 had made a fix by just increasing a timer, but that only bought some time.
That timer is now restored and now a separate character buffer is held for the last, incomplete, line when pasting
multi-lines into the terminal. This ensures that on resumption of sourcing the paste buffer, the order does not get
mixed up anymore
* Username and password can now be fed on command line when opening connection to trmsrv: or serial:
* Tweaked sockets used to send commands on tied terminals. Now sending a command from tied terminal will wipe any
sourcing buffer on listening terminals. Also the listening terminal now only queues echo output after the command
sent from tied terminal actually gets executed; previously the listening terminal might have sent to tied terminal
the output of a previous command from the one sent to it by the tied terminal
* In "@socket echo all" mode, tied terminal was delaying the prompt processing even if nothing was sent over the
socket; no longer now
* Script xmcacli (v1.15) site filter pull down was matching other sites if other sites had longer names containing
the selected site
* Script xmcacli (v1.15) site filter pull down was causing application to crash with:
"Tk_FreeCursor received unknown cursor argument"
* Scripts acligui (v1.17), xmcacli (v1.15) setting the Logging or Working directory from GUI, the directory chooser
now starts from the directory which was specified with command line switches or from the very top "This PC"
* Scripts acligui (v1.17), xmcacli (v1.15) last Logging or Working directory selected from directory chooser is
remembered and offered as default in subsequent executions of the script
* VOSS show run grep of a VLAN was not picking up the IPv6 DHCP relay configuration of that VLAN
v5.06 - 2022-05-13
* When launching many instances of ACLI to connect with SSH to as many switches, and none of the switches public ssh
keys are in the known_hosts file, when each instance updates the known_hosts file, it undoes the key addition just
performed by the previous ACLI instance. Changed code to place a lock during the known_hosts file update and a
re-read of the known_hosts file is performed before updating it (in case an other instances added new keys while
this instance was waiting).
* Updated rosetta voss and boss c2j encoder files
* Variables containing "/" character(s) and other Perl metacharacters, when de-referenced inside a pattern matching
perl expression like:
@if { "string" =~ /$var/ }
...now have those characters automatically backslashed. In this case the variable is not processed for port ranges
but is dereferenced with its raw value
* ACLI GUI (acligui v1.16) and XMC ACLI (xmcacli v1.13) can now correctly launch ACLI even if the password contains
special characters like *,&,etc.. as the credentials are now double quoted on the ACLI calls
* The Visual Basic helper scripts acligui.vbs and xmcacli.vbs also required same changes to make the above work with
Windows batch files.
* Updates to ExtremeXOS grep patterns; output of BGP routing table, route entries are no longer seen as indented
records if the routes don't have any flags set at the beginning of the line.
* Fixed issue which could result in ACLI suddenly dying with: Can't use an undefined value as a SCALAR reference at
C:/Strawberry/perl/site/lib/Control/CLI/Extreme.pm line 2145
* Script xmcacli (v1.14) updated with new XMC families 'Universal Platform Fabric Engine' & 'Universal Platform
Switch Engine' families used in XIQ-SE 22.3 for universal hardware running VOSS8.6 or EXOS31.6 or later
* Issuing a command which prompts for input (like password) while socket tied to other ACLI instances, was not
displaying the prompt.
Updates
Pulled by update script