Hello, >> I take it that by "the proprietary software" you mean the proprietary >> terminal emulator running on the client PC.
Yes, that's correct. "The proprietary software" refers to the proprietary terminal emulator running on the client PC. >> One thing you might be able to do quickly is establish an SSH tunnel >> between the PC and the server, then route the proprietary terminal >> emulator telnet traffic through the tunnel. That, at least, will get >> you a more secure connection between the PC and the server. We've actually tested that approach before, but it introduced several technical challenges, and even though we managed to resolve some of them, it added complexity to the maintenance process. Additionally, it's important to consider that our end-users are not IT professionals but individuals primarily focused on sales. We need to encapsulate the entire process in a way that's transparent to the user, involving opening a program that initiates an SSH session within a tunnel, followed by launching the proprietary emulator for a Telnet session within that tunnel. We're also revisiting our workstation authentication process to transmit information through it in order to identify different application sessions, as the application on the server appears to be originating from localhost. Furthermore, we're reevaluating the mechanism for checking the number of sessions originating from each workstation based on the assigned roles. We're addressing various technical aspects, but this solution was ultimately rejected by the project team as it was perceived as a workaround, not robust and fragile. It posed risks to the business in a critical part of our operations. >> If I understand things correctly, the server sends all sorts of >> information to the proprietary terminal emulator. Most of that gets >> displayed on the emulator. But, given one VT escape code, the emulator >> sends the subsequent data off to the printer, until it gets the other >> VT escape code. The printer may then return a response. Yes, that's the basic concept, but it's even more intricate. The application continuously monitors what it receives from the terminal with regular interval checks (in milliseconds) and makes decisions based on rules. These decisions include sending commands to the printer, analyzing the responses, taking user actions, and even restricting user input in certain menu or submenu areas of the screen. However, I have a high-level understanding of this process as I'm not part of the application development team to delve into the finer details. >> If that understanding is correct, I suggest you grab an existing open >> source terminal program that supports VT escape codes: >> >> 1) Modify how it handles those two escape codes. >> >> 2) Modify it to listen to the printer for responses, encode those >> appropriately, and ship them to the server. >> >> I haven't worked with VT escape sequences in decades. If I recall >> correctly, some escape sequences cause the terminal to send information >> back to the server. In that case, you may need to synchronize return >> information from the printer with other return information. Thank you for your suggestion. As I mentioned earlier, our development team primarily focuses on the server-side application and is not competent to modify the client-side emulator, which is crucial in our case. They have already examined the PuTTY source code and confirmed that this type of development is beyond their expertise. That's why we are exploring open-source solutions that offer a plug-and-play feature set or potentially an evolution of PuTTY. If we don't find a suitable open-source solution, we will consider commercial emulators that integrate this functionality. As a last resort, we might opt for a proprietary solution and pay for the licenses and maintenance required for the work done in that product. The suggestion you made to adapt an open-source terminal program to support VT escape codes is certainly relevant, but unfortunately, it goes beyond our current expertise and that of our team Regards, Thierry