This file is indexed.

/usr/lib/xen-4.6/bin/xencons is in xen-utils-4.6 4.6.0-1ubuntu4.

This file is owned by root:root, with mode 0o755.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#! /usr/bin/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]))