Skip to content

Commit db910fc

Browse files
authored
Merge pull request #120 from CiscoTestAutomation/release_25.11
Release 25.11
2 parents f4abc00 + 35fd554 commit db910fc

22 files changed

+397
-35
lines changed

docs/changelog/2025/december.rst

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
December 2025
2+
==========
3+
4+
December 30 - Unicon v25.11
5+
------------------------
6+
7+
8+
9+
.. csv-table:: Module Versions
10+
:header: "Modules", "Versions"
11+
12+
``unicon.plugins``, v25.11
13+
``unicon``, v25.11
14+
15+
16+
17+
18+
Changelogs
19+
^^^^^^^^^^
20+
--------------------------------------------------------------------------------
21+
New
22+
--------------------------------------------------------------------------------
23+
24+
* unicon
25+
* adapters/topology.py
26+
* Added support for reverse SSH connections.
27+
28+
29+
--------------------------------------------------------------------------------
30+
Fix
31+
--------------------------------------------------------------------------------
32+
33+
* patterns
34+
* Updated the regex for username prompt for the linux VMs
35+
36+

docs/changelog/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ Changelog
44
.. toctree::
55
:maxdepth: 2
66

7+
2025/december
78
2025/october
89
2025/september
910
2025/august
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
December 2025
2+
==========
3+
4+
December 30 - Unicon.Plugins v25.11
5+
------------------------
6+
7+
8+
9+
.. csv-table:: Module Versions
10+
:header: "Modules", "Versions"
11+
12+
``unicon.plugins``, v25.11
13+
``unicon``, v25.11
14+
15+
16+
17+
18+
Changelogs
19+
^^^^^^^^^^
20+
--------------------------------------------------------------------------------
21+
Fix
22+
--------------------------------------------------------------------------------
23+
24+
* iosxe
25+
* Added cursor position handling in bash ContextMgr to prevent delays during shell initialization.
26+
27+
* nxos
28+
* Updated the LC bash prompt pattern to include an anchor and improve prompt detection performance.
29+
30+
* generic
31+
* Updated syslog pattern to handle insecure dynamic warning message for SSH hostkey with insufficient key length.
32+
33+
* linux
34+
* Updated prompt patterns to better handle ANSI escape sequences in prompts
35+
36+
37+
--------------------------------------------------------------------------------
38+
New
39+
--------------------------------------------------------------------------------
40+
41+
* generic/settings.py
42+
* Updated the temporary enable secret to include a special character.
43+
44+
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
--------------------------------------------------------------------------------
2+
New
3+
--------------------------------------------------------------------------------
4+
* generic/statements.py
5+
* Updated the password_ok_stmt to use escape_char_callback instead of sendline.

docs/changelog_plugins/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ Plugins Changelog
44
.. toctree::
55
:maxdepth: 2
66

7+
2025/december
78
2025/october
89
2025/september
910
2025/august

src/unicon/plugins/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
__version__ = "25.10"
1+
__version__ = "25.11"
22

33
supported_chassis = [
44
'single_rp',

src/unicon/plugins/generic/patterns.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ def __init__(self):
7777
r"^.*?(%\w+(-\S+)?-\d+-\w+|"
7878
r"yang-infra:|PKI_SSL_IPC:|Guestshell destroyed successfully|"
7979
r"%Error opening tftp:\/\/255\.255\.255\.255|Autoinstall trying|"
80-
r"audit: kauditd hold queue overflow|SECURITY WARNING|%RSA key|"
80+
r"audit: kauditd hold queue overflow|SECURITY WARNING|%RSA key|INSECURE DYNAMIC WARNING|"
8181
r"(LC|RP)/\d+/\d+/CPU\d+:\w+\s+\d+\s+\d{2}:\d{2}:\d{2}|"
8282
r"\[OK\]"
8383
r").*\s*$"

src/unicon/plugins/generic/settings.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ def __init__(self):
6060
# Temporary enable secret used during setup
6161
# this is used if no password is available
6262
# and would not be saved by default
63-
self.TEMP_ENABLE_SECRET = 'Secret12345'
63+
self.TEMP_ENABLE_SECRET = 'Secret12345!'
6464
# Minimum length for enable secret password:
6565
# if the password specified is shorter,
6666
# use the TEMP_ENABLE_SECRET instead.

src/unicon/plugins/generic/statements.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -656,10 +656,11 @@ def __init__(self):
656656
loop_continue=True,
657657
continue_timer=False)
658658
self.password_ok_stmt = Statement(pattern=pat.password_ok,
659-
action=sendline,
659+
action=escape_char_callback,
660660
args=None,
661661
loop_continue=True,
662-
continue_timer=False)
662+
continue_timer=True,
663+
trim_buffer=False)
663664
self.more_prompt_stmt = Statement(pattern=pat.more_prompt,
664665
action=more_prompt_handler,
665666
args=None,

src/unicon/plugins/iosxe/service_implementation.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
from .service_statements import execute_statement_list, configure_statement_list, confirm
2828

29-
from .statements import grub_prompt_stmt, boot_from_rommon_stmt
29+
from .statements import grub_prompt_stmt, boot_from_rommon_stmt, terminal_position_stmt
3030

3131
from unicon.plugins.generic.utils import GenericUtils
3232
from unicon.plugins.generic.service_implementation import BashService as GenericBashService
@@ -258,6 +258,7 @@ def __init__(self, connection, enable_bash=False, timeout=None, **kwargs):
258258
timeout=timeout,
259259
**kwargs)
260260

261+
self.terminal_position_dialog = Dialog([terminal_position_stmt])
261262
def __enter__(self):
262263

263264
if self.conn.context.get('_disable_selinux'):
@@ -272,7 +273,8 @@ def __enter__(self):
272273
'shell',
273274
self.conn.spawn,
274275
timeout=self.timeout,
275-
context=self.conn.context)
276+
context=self.conn.context,
277+
dialog=self.terminal_position_dialog,)
276278

277279
for cmd in self.conn.settings.BASH_INIT_COMMANDS:
278280
self.conn.execute(

0 commit comments

Comments
 (0)