This file is indexed.

/usr/share/pyshared/paste/webkit/examples/EchoServlet.py is in python-pastewebkit 1.0-7.

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

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
r"""\
Paste/WebKit application

Does things as requested.  Takes variables:

header.header-name=value, like
  header.location=http://yahoo.com

error=code, like
  error=301 (temporary redirect)
  error=assert (assertion error)

environ=true,
  display all the environmental variables, like
  key=str(value)\n

message=string
  display string
"""

# Special WSGI version of WebKit:
from paste.webkit.wkservlet import Page
from paste import httpexceptions

class EchoServlet(Page):

    def writeHTML(self):
        req = self.request()
        headers = {}
        for key, value in req.fields().items():
            if key.startswith('header.'):
                name = key[len('header.'):]
                self.response().setHeader(name, value)
                # @@: I shouldn't have to do this:
                headers[name] = value

        error = req.field('error', None)
        if error and error != 'iter':
            if error == 'assert':
                assert 0, "I am asserting zero!"
            raise httpexceptions.get_exception(
                int(error), headers=headers)
        
        if req.field('environ', None):
            items = req.environ().items()
            items.sort()
            self.response().setHeader('content-type', 'text/plain')
            for name, value in items:
                self.write('%s=%s\n' % (name, value))
            return

        if req.hasField('message'):
            self.response().setHeader('content-type', 'text/plain')
            self.write(req.field('message'))
            return

        self.write('hello world!')