tools/misc: Drop xencons

This script is not python3 compatible, but has its shebang altered to say
python3 by INSTALL_PYTHON_PROG.

The most recent reference I can find to this script (which isn't incidental
adjustments in the makefile) is from the Xen book, fileish 561e30b804 which
says

  %% <snip>  Alternatively, if the
  %% Xen machine is connected to a serial-port server then we supply a
  %% dumb TCP terminal client, {\tt xencons}.

So this a not-invented-here version of telnet.  Delete it.

Resolves: xen-project/xen#159
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Anthony PERARD <anthony.perard@citrix.com>
Acked-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
This commit is contained in:
Andrew Cooper committed 2023-03-17 10:44:16 +00:00
1 parent 397f9e57aa
commit 5d22d69b30
2 files changed
-94

No files matched your search

-2
View File
@@ -12,7 +12,6 @@ CFLAGS += $(CFLAGS_libxenstore)
# Everything to be installed in regular bin/
INSTALL_BIN-$(CONFIG_X86) += xen-cpuid
INSTALL_BIN-$(CONFIG_X86) += xen-detect
INSTALL_BIN += xencons
INSTALL_BIN += xencov_split
INSTALL_BIN += $(INSTALL_BIN-y)
@@ -44,7 +43,6 @@ INSTALL_PRIVBIN += xenpvnetboot
TARGETS_ALL := $(INSTALL_BIN) $(INSTALL_SBIN) $(INSTALL_PRIVBIN)
# Everything which only needs copying to install
TARGETS_COPY += xencons
TARGETS_COPY += xencov_split
TARGETS_COPY += xenpvnetboot
-92
View File
@@ -1,92 +0,0 @@
#!/usr/bin/env python
##############################################
# Console client for Xen guest OSes
# Copyright (c) 2004, K A Fraser
##############################################
import errno, os, signal, socket, struct, sys
from termios import *
# Indexes into termios.tcgetattr() list.
IFLAG = 0
OFLAG = 1
CFLAG = 2
LFLAG = 3
ISPEED = 4
OSPEED = 5
CC = 6
def __child_death(signum, frame):
global stop
stop = True
def __recv_from_sock(sock):
global stop
stop = False
while not stop:
try:
data = sock.recv(1024)
except socket.error, error:
if error[0] != errno.EINTR:
raise
else:
try:
os.write(1, data)
except os.error, error:
if error[0] != errno.EINTR:
raise
os.wait()
def __send_to_sock(sock):
while 1:
try:
data = os.read(0,1024)
except os.error, error:
if error[0] != errno.EINTR:
raise
else:
if ord(data[0]) == ord(']')-64:
break
try:
sock.send(data)
except socket.error, error:
if error[0] == errno.EPIPE:
sys.exit(0)
if error[0] != errno.EINTR:
raise
sys.exit(0)
def connect(host,port):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0)
sock.connect((host,port))
oattrs = tcgetattr(0)
nattrs = tcgetattr(0)
nattrs[IFLAG] = nattrs[IFLAG] & ~(BRKINT | ICRNL | INPCK | ISTRIP | IXON)
nattrs[OFLAG] = nattrs[OFLAG] & ~(OPOST)
nattrs[CFLAG] = nattrs[CFLAG] & ~(CSIZE | PARENB)
nattrs[CFLAG] = nattrs[CFLAG] | CS8
nattrs[LFLAG] = nattrs[LFLAG] & ~(ECHO | ICANON | IEXTEN | ISIG)
nattrs[CC][VMIN] = 1
nattrs[CC][VTIME] = 0
if os.fork():
signal.signal(signal.SIGCHLD, __child_death)
print "************ REMOTE CONSOLE: CTRL-] TO QUIT ********"
tcsetattr(0, TCSAFLUSH, nattrs)
try:
__recv_from_sock(sock)
finally:
tcsetattr(0, TCSAFLUSH, oattrs)
print
print "************ REMOTE CONSOLE EXITED *****************"
else:
signal.signal(signal.SIGPIPE, signal.SIG_IGN)
__send_to_sock(sock)
if __name__ == '__main__':
if len(sys.argv) != 3:
print sys.argv[0] + " <host> <port>"
sys.exit(1)
connect(str(sys.argv[1]),int(sys.argv[2]))
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.