View Issue Details

IDProjectCategoryView StatusLast Update
2031RackTablesdefaultpublic2021-07-19 00:03
Reporternetniv Assigned Toinfrastation  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Product Version0.21.5 
Target Version0.22.0Fixed in Version0.22.0 
Summary2031: 0.22 terminal_settings override fails with telnet and ios15
DescriptionIf you utilise the terminal_settings() override function, connecting to a device other than ios12 now requires that you also set the "prompt" value of the $params value.
Steps To ReproduceUtilise a device that is not 'ios12', 'air12', 'ftos8' or one of the subsequent case matches in the function queryTerminal (inc/remote.php) that sets $prompt to something other than null.

Override the params in the terminal_settings() function to set protocol to telnet.

See an error about needing the prompt value which gives no real clue as to what to do.
Additional Information$params[0]['prompt'] = '^(Login|[Uu]sername|Password): $|^\S+[>#]$|\[[^][]*\]\? $|\?\s+\[[^][]*\]\s*$|\[confirm yes\/no\]: $'; // set the prompt

The above is needed to maintain consistency with ios12 devices using the same functionality. There should be a function such as getGenericTerminalPrompt which returns the above string value to ensure consistency.
TagsNo tags attached.

Activities

infrastation

infrastation

2021-07-10 13:19

administrator   ~0004311

Thank you for reporting this issue. Could you confirm whether with this workaround IOS 15 works fine with the protocol set to "netcat"?
netniv

netniv

2021-07-13 17:13

reporter   ~0004313

Not sure on that side because I don't use netcat. The prompt text above was simply taken from the telnet portion of iOS12 that is primed in the main code before calling terminal_settings(). There are two options there, set the prompt if it is null or unset on Telnet types after a call to terminal_settings or move the default checks to after the call to terminal_settings and only prime it if the key does not already exist.
infrastation

infrastation

2021-07-13 21:08

administrator   ~0004323

You do not have to use netcat permanently, but to produce a good bugfix it would help if you tried using netcat with the custom IOS 15 prompt above and let me know whether it worked and the minor version number of IOS. Thanks.
infrastation

infrastation

2021-07-19 00:03

administrator   ~0004325

The next release will have the default IOS 15 prompt set the same as the one you had configured explicitly (IOS 12 et al.). Regardless of whether netcat works for IOS 15 or not, it has been the default protocol, and there is no change of the default settings to that end. Thank you for reporting this bug.

Related Changesets

RackTables: master e2308125

2021-07-18 23:48:17

infrastation

Details Diff
queryTerminal(): use working defaults for "ios15" [skip ci]

As Mark Brugnoli-Vinten points it out in Mantis#2031, ios15 has no
default prompt, and the default prompt of other Cisco breeds seems to
work, so let's set ios15 defaults in the same case block.
Affected Issues
2031

Issue History

Date Modified Username Field Change
2021-07-09 22:02 netniv New Issue
2021-07-10 13:19 infrastation Assigned To => infrastation
2021-07-10 13:19 infrastation Status new => assigned
2021-07-10 13:19 infrastation Product Version => 0.21.5
2021-07-10 13:19 infrastation Target Version => 0.22.0
2021-07-10 13:19 infrastation Note Added: 0004311
2021-07-13 17:13 netniv Note Added: 0004313
2021-07-13 21:08 infrastation Note Added: 0004323
2021-07-18 23:58 infrastation Changeset attached => RackTables master e2308125
2021-07-19 00:03 infrastation Status assigned => closed
2021-07-19 00:03 infrastation Resolution open => fixed
2021-07-19 00:03 infrastation Fixed in Version => 0.22.0
2021-07-19 00:03 infrastation Note Added: 0004325