[Bug 2056485] [NEW] Behaviour of socat in Ubuntu 20.04 unexpected

Launchpad Bug Tracker 2056485 at bugs.launchpad.net
Fri Mar 8 15:17:26 UTC 2024


You have been subscribed to a public bug by Frank Heimes (fheimes):

SRU Justification:

[ Impact ]

 * IBM Novalink provides a tool called mkvterm.
   Mkvterm takes an lpar id argument and creates a vty-server device on
   device nodes /dev/hvcs*.
   HVCS is a device driver for the IBM Hypervisor Virtual Console Server
   (hvcs). Mkvterm then uses socat to connect.

 * But socat is not behaving as expected.
   When escape=0x1d is passed, you have to hit enter for socat to close
   (expected behavior is Ctrl-] closing the connection).

 * In addition, Ctrl-C closes the connection.
   When using the up and down arrows, junk is printed.
   Password is also visible!

 * This is caused by the fact that under certain circumstances,
   options of the first address are applied to the second address.

[ Fix ]

 * 5ebf36038f39 5ebf36038f3960798e769bff5646e755a91a1119
   "Under certain circumstances, options of the first address were applied to the second address"

 * 9de26f1d0528 9de26f1d05284257cd9bbb6eb6662089ab7a0680
   "minor corrections, not affecting binaries"

[ Test Plan ]

 * There was a special test case introduced for this change
   it's test #385.
   If this succeeds, the reported issue is solved.

 * Initially this test case failed, because it required another commit
   on top: 9de26f1d0528
 
 * To verify the overall end-2-end case, the fixes from LP#056373 are required
   as well, but can be taken from the PPA test build that was done there.

 * Then configure a vty-server and try to connect with socat:
   /usr/bin/socat STDIO,raw,echo=0,escape=0x1d /dev/hvcs[minor num]

 * With an unpatched version one will see that the password is visible.

 * In addition, the up and down arrows do not work and junk is outputted.
   In addition, Ctrl-] does not close the vterm.

 * Ctrl-C closes the vterm, and it should not.

 * With a patched version the password will not be visible,
   Ctrl+] and Ctrl+C behave as expected.

[ Where problems could occur ]

 * The code modification is limited to a single line in if
   and is pretty traceable, and it's on top limited to terminos.

 * If the changed condition of IF was done wrong, the expected
   behavior can change (again) and unforeseen things may happen.

 * The rest of the code changes are text in CHANGES and
   a new test case, introduced especially for this bug.

 * Nevertheless, issues can also occur in the (additional)
   test code (which happened and got fixed by adding 9de26f1d0528).

[ Other Info ]
 
 * Even the code states that this bug is limited to v1.7.3.3.

 * Nevertheless, the code of the socat versions of jammy, mantic
   and noble were checked, and they all have the fix included.
   (However the code in noble's version changed a bit).

 * So only focal is affected.
__________

---Problem Description---
Novalink provides a tool called mkvterm. Mkvterm takes an lpar id argument and creates a vty-server device on device nodes /dev/hvcs*. HVCS is a device driver for the IBM Hypervisor Virtual Console Server (hvcs). Mkvterm then uses socat to connect.

Socat is not behaving as expected. When escape=0x1d is passed, you have
to hit enter for socat to close (expected behavior is Ctrl-] closing the
connection). In addition, Ctrl-C closes the connection. When using the
up and down arrows, junk is printed. Password is also visible.

The follow commit fixes the above issues, please add:
https://repo.or.cz/socat.git/commit/5ebf36038f39

---uname output---
Linux neop91.pok.stglabs.ibm.com 5.4.0-173-generic #191-Ubuntu SMP Fri Feb 2 13:54:35 UTC 2024 ppc64le ppc64le ppc64le GNU/Linux

---Steps to Reproduce---
 Fixes to other issues required to reproduce. Mentioned in other bugs.

Configure a vty-server and try to connect with socat:

/usr/bin/socat STDIO,raw,echo=0,escape=0x1d /dev/hvcs[minor num]

Add You will see that the password is visible. In addition, the up and
down arrows do not work, junk is outputted. In addition, Ctrl-] does not
close the vterm. Ctrl-C closes the vterm, and it should not.

** Affects: ubuntu-power-systems
     Importance: High
     Assignee: Ubuntu on IBM Power Systems Bug Triage (ubuntu-power-triage)
         Status: In Progress

** Affects: socat (Ubuntu)
     Importance: High
     Assignee: Frank Heimes (fheimes)
         Status: In Progress


** Tags: architecture-ppc64le bugnameltc-205805 severity-high targetmilestone-inin2004
-- 
Behaviour of socat in Ubuntu 20.04 unexpected
https://bugs.launchpad.net/bugs/2056485
You received this bug notification because you are a member of Ubuntu Sponsors, which is subscribed to the bug report.



More information about the Ubuntu-sponsors mailing list