This file is indexed.

/usr/share/cain/Cain.py is in cain 1.9-8.

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
58
59
60
#! /usr/bin/env python

"""The script that launches Cain."""

def main():
    import sys
    import os, os.path
    if not sys.platform in ('win32', 'win64'):
        directory = os.path.dirname(__file__)
        if directory:
            os.chdir(directory)

    errors = []
    # Check for wxPython.
    try:
        import wx
    except:
        errors.append('Error: Unable to load wx. You must install wxPython.')
    # Check for numpy.
    try:
        import numpy
    except:
        errors.append('The python package numpy is not installed. Cain will not work correctly without it. Consult documentation for information on installing numpy.')
    # Check for matplotlib.
    try:
        import matplotlib
    except:
        errors.append('The python package matplotlib is not installed. Plotting will not work without it. Consult documentation for information on installing matplotlib.')

    # If necessary software is missing, show an error message and exit.
    if errors:
        errors.append('Consult the documentation available at http://cain.sourceforge.net/.')
        hasTk = True
        try:
            import Tkinter
        except:
            hasTk = False
        if hasTk:
            import tkMessageBox
            root = Tkinter.Tk()
            #Tkinter.Label(root, text='\n'.join(errors)).pack()
            #root.title('Error')
            tkMessageBox.showwarning('Error', '\n'.join(errors))
            root.mainloop()
        else:
            print('\n'.join(errors))
        sys.exit(1)

    # Launch the application.
    from gui.Application import Application
    if len(sys.argv) > 2:
        print "Warning: Unmatched command line arguments."
    app = Application()
    if len(sys.argv) == 2:
        #app.readInitialFile(sys.argv[1])
        wx.CallAfter(app.readInitialFile, *(sys.argv[1],))
    app.MainLoop()

if __name__ == '__main__':
    main()