GNS3 / gns3-server

GNS3 server
GNU General Public License v3.0
768 stars 258 forks source link

Code review - Working POC of fixed telnet console using telnetlib3 #2345

Closed spikefishjohn closed 5 months ago

spikefishjohn commented 5 months ago

This isn't ready for PR merge. I'm just doing this more or less for a code review.

This only changes base_node.py to use sftelnetproxymuxer.

Adds a different queue for remote clients (set).

Deletes clients from set when they're bad.

Sends heartbeats using telnet NOP packets to verify remote clients are still up.

Forgot to check if QEMU is ok with this on the server side. At one point it was making garbage on the remote clients sessions, but I might have been doing something wrong.

Can recover from a dead telnet session, so hurray for that.

Asyncio is hard.

spikefishjohn commented 5 months ago

oh .. telnetlib3 requires python 3.7 or higher.. so .. uh.. I removed python 3.6 in this PR to get the unit tests to fire off.

spikefishjohn commented 5 months ago

I just noticed this includes changes to telnet_server.py. This shouldn't be included. I'm trying to see if I can edit the PR to remove that, otherwise i'll cancel.

spikefishjohn commented 5 months ago

Closing this. Seems like it can't easily be done through webui.