From: Thomas Walker Lynch Date: Thu, 7 Feb 2019 13:39:36 +0000 (+0100) Subject: initializing repo with project thus far X-Git-Url: https://git.reasoningtechnology.com/style/static/git-logo.png?a=commitdiff_plain;h=b3401570ccfde649ea54d5b4547477495f78296c;p=subu initializing repo with project thus far --- diff --git a/3_doc/note.txt b/3_doc/note.txt new file mode 100644 index 0000000..b9ed603 --- /dev/null +++ b/3_doc/note.txt @@ -0,0 +1,40 @@ + +subu-mk-0 + + 1. We have to make the subu for step 2 so that we will have subu_uid and subu_gid + to work with, but we delay this for as long as possible, as the program might + first bail due to other errors. + + 2. Then we add user access via setfacl to masteru's home directory and to + subu_land, so that we have permissions to make the home directory. + + 3. Then as subu we create the home directory. .. I wonder where the system + gets the umask for this? Perhaps we should create the dir, and then change + the ownership instead? + + 4. Still as subu, we add facls to our directory to give masteru access. + +finished, good part is that we never need to move back to root. + +setfacl -m u:subu:x masteru +setfacl -m u:subu:x masteru/subu_land +setfacl -m d:u:masteru:rwX,u:masteru:rwX subu + + +using luseradd to make the subu is a circular problem because we need to setfacls +to allow the creating of the home directory inside the masteru/subu_land, but +to set facls we need the uid from luseradd. So.. + 1. luseradd without creation of a home directory. We can provide the path, + but can't create it. + 2. get the uid, and set the facls + 3. create the home directory + +Step 3 is a bit of a problem, because subu's don't have write permission for +subu_land/ + +.. or maybe not, luseradd puts users in /home, but those users don't have +write permissions there either, so I'll try and see what happens. + +given all the funky security stuff recently, I really need to call luseradd +to get the user added. Wish there was a C programming interface. My gosh, +python has one, and you can't if setuid root python programs. diff --git a/3_doc/real_uid.txt b/3_doc/real_uid.txt new file mode 100644 index 0000000..b25e817 --- /dev/null +++ b/3_doc/real_uid.txt @@ -0,0 +1,19 @@ + +Real uid is a poorly named term for the uid of the user who launched the +process. The uid that the process has been set to is the effective uid. There +is a third stored uid in a process's record. Hence the uid being used by the +OS will be set to one of these. + +Our subu-mk-0 program wants to create a subservient user to a master user. The +master user is known via the real uid. The effective user will be that of root, +as the script needs root privilege to run adduser. + +sudo resets the real uid, and there is no reliable approch then to create a subu-mk-0 +program run by sudo. A setuid root program is needed. Only compiled executables can +be setuid root on linux. + +There is an environment variable given to programs run by sudo, $SUDO_USER. Sudo sets +it, so if called from sudo then that works. It could be set by another user, even +if that user is root or not. + +I will make a setuid C program. Too bad, had written this in Python. diff --git a/3_doc/real_uid_bug.pdf b/3_doc/real_uid_bug.pdf new file mode 100644 index 0000000..2d4a83d Binary files /dev/null and b/3_doc/real_uid_bug.pdf differ diff --git a/3_doc/todo.txt b/3_doc/todo.txt new file mode 100644 index 0000000..f769210 --- /dev/null +++ b/3_doc/todo.txt @@ -0,0 +1,10 @@ + +2019-02-05T21:10:02Z morpheus@manorhouse§~/src/subu§ + need to check subu_name is a valid user name in subu-mk-0 + +2019-02-05T23:14:40Z morpheus@manorhouse§~/src/subu§ + error can cause subu-mk-0 to leave the creating of a subu + in an intermediate state. Rather than bailing on some + of the errors we need to clean up instead. Perhaps the + yet to be written subu-rm program will be resilent enough + to do more general cleanup. diff --git a/3_doc/try.txt b/3_doc/try.txt new file mode 100644 index 0000000..c157aee --- /dev/null +++ b/3_doc/try.txt @@ -0,0 +1,5 @@ + +sudo_leak_script - demonstrates script injection through the pompt environement variable +SUDO_USER - shows that userland scripts can trick other scripts into believing they are running under sudo. +print_env.py - prints getuid, geteuid, some other info, and the value of each environment variable +libuser - try out libuser diff --git a/build/test_env/Analysis-00.toc b/build/test_env/Analysis-00.toc new file mode 100644 index 0000000..4abf14e --- /dev/null +++ b/build/test_env/Analysis-00.toc @@ -0,0 +1,383 @@ +(['/home/twl/Documents/subuser/test_env.py'], + ['/home/twl/Documents/subuser', '/home/twl/Documents/subuser'], + ['codecs'], + [], + [], + [], + False, + False, + '2.7.15+ (default, Nov 28 2018, 16:27:22) \n[GCC 8.2.0]', + [('test_env', '/home/twl/Documents/subuser/test_env.py', 'PYSOURCE')], + [('encodings.aliases', + '/usr/lib/python2.7/encodings/aliases.py', + 'PYMODULE'), + ('encodings', '/usr/lib/python2.7/encodings/__init__.py', 'PYMODULE'), + ('encodings.idna', '/usr/lib/python2.7/encodings/idna.py', 'PYMODULE'), + ('re', '/usr/lib/python2.7/re.py', 'PYMODULE'), + ('sre_constants', '/usr/lib/python2.7/sre_constants.py', 'PYMODULE'), + ('sre', '/usr/lib/python2.7/sre.py', 'PYMODULE'), + ('warnings', '/usr/lib/python2.7/warnings.py', 'PYMODULE'), + ('types', '/usr/lib/python2.7/types.py', 'PYMODULE'), + ('linecache', '/usr/lib/python2.7/linecache.py', 'PYMODULE'), + ('string', '/usr/lib/python2.7/string.py', 'PYMODULE'), + ('copy', '/usr/lib/python2.7/copy.py', 'PYMODULE'), + ('repr', '/usr/lib/python2.7/repr.py', 'PYMODULE'), + ('weakref', '/usr/lib/python2.7/weakref.py', 'PYMODULE'), + ('_weakrefset', '/usr/lib/python2.7/_weakrefset.py', 'PYMODULE'), + ('UserDict', '/usr/lib/python2.7/UserDict.py', 'PYMODULE'), + ('_abcoll', '/usr/lib/python2.7/_abcoll.py', 'PYMODULE'), + ('abc', '/usr/lib/python2.7/abc.py', 'PYMODULE'), + ('copy_reg', '/usr/lib/python2.7/copy_reg.py', 'PYMODULE'), + ('sre_parse', '/usr/lib/python2.7/sre_parse.py', 'PYMODULE'), + ('sre_compile', '/usr/lib/python2.7/sre_compile.py', 'PYMODULE'), + ('stringprep', '/usr/lib/python2.7/stringprep.py', 'PYMODULE'), + ('encodings.mbcs', '/usr/lib/python2.7/encodings/mbcs.py', 'PYMODULE'), + ('encodings.raw_unicode_escape', + '/usr/lib/python2.7/encodings/raw_unicode_escape.py', + 'PYMODULE'), + ('encodings.gb18030', + '/usr/lib/python2.7/encodings/gb18030.py', + 'PYMODULE'), + ('encodings.shift_jisx0213', + '/usr/lib/python2.7/encodings/shift_jisx0213.py', + 'PYMODULE'), + ('encodings.ascii', '/usr/lib/python2.7/encodings/ascii.py', 'PYMODULE'), + ('encodings.cp861', '/usr/lib/python2.7/encodings/cp861.py', 'PYMODULE'), + ('encodings.cp860', '/usr/lib/python2.7/encodings/cp860.py', 'PYMODULE'), + ('encodings.cp863', '/usr/lib/python2.7/encodings/cp863.py', 'PYMODULE'), + ('encodings.cp862', '/usr/lib/python2.7/encodings/cp862.py', 'PYMODULE'), + ('encodings.cp865', '/usr/lib/python2.7/encodings/cp865.py', 'PYMODULE'), + ('encodings.big5hkscs', + '/usr/lib/python2.7/encodings/big5hkscs.py', + 'PYMODULE'), + ('encodings.cp866', '/usr/lib/python2.7/encodings/cp866.py', 'PYMODULE'), + ('encodings.cp869', '/usr/lib/python2.7/encodings/cp869.py', 'PYMODULE'), + ('encodings.mac_latin2', + '/usr/lib/python2.7/encodings/mac_latin2.py', + 'PYMODULE'), + ('encodings.hex_codec', + '/usr/lib/python2.7/encodings/hex_codec.py', + 'PYMODULE'), + ('encodings.cp950', '/usr/lib/python2.7/encodings/cp950.py', 'PYMODULE'), + ('encodings.quopri_codec', + '/usr/lib/python2.7/encodings/quopri_codec.py', + 'PYMODULE'), + ('StringIO', '/usr/lib/python2.7/StringIO.py', 'PYMODULE'), + ('quopri', '/usr/lib/python2.7/quopri.py', 'PYMODULE'), + ('getopt', '/usr/lib/python2.7/getopt.py', 'PYMODULE'), + ('encodings.utf_32_be', + '/usr/lib/python2.7/encodings/utf_32_be.py', + 'PYMODULE'), + ('encodings.string_escape', + '/usr/lib/python2.7/encodings/string_escape.py', + 'PYMODULE'), + ('encodings.cp1250', '/usr/lib/python2.7/encodings/cp1250.py', 'PYMODULE'), + ('encodings.cp1251', '/usr/lib/python2.7/encodings/cp1251.py', 'PYMODULE'), + ('encodings.cp1252', '/usr/lib/python2.7/encodings/cp1252.py', 'PYMODULE'), + ('encodings.cp1253', '/usr/lib/python2.7/encodings/cp1253.py', 'PYMODULE'), + ('encodings.cp1254', '/usr/lib/python2.7/encodings/cp1254.py', 'PYMODULE'), + ('encodings.cp1255', '/usr/lib/python2.7/encodings/cp1255.py', 'PYMODULE'), + ('encodings.cp1256', '/usr/lib/python2.7/encodings/cp1256.py', 'PYMODULE'), + ('encodings.cp1257', '/usr/lib/python2.7/encodings/cp1257.py', 'PYMODULE'), + ('encodings.cp1258', '/usr/lib/python2.7/encodings/cp1258.py', 'PYMODULE'), + ('encodings.euc_jp', '/usr/lib/python2.7/encodings/euc_jp.py', 'PYMODULE'), + ('encodings.hz', '/usr/lib/python2.7/encodings/hz.py', 'PYMODULE'), + ('encodings.mac_cyrillic', + '/usr/lib/python2.7/encodings/mac_cyrillic.py', + 'PYMODULE'), + ('encodings.iso2022_kr', + '/usr/lib/python2.7/encodings/iso2022_kr.py', + 'PYMODULE'), + ('encodings.unicode_internal', + '/usr/lib/python2.7/encodings/unicode_internal.py', + 'PYMODULE'), + ('encodings.cp500', '/usr/lib/python2.7/encodings/cp500.py', 'PYMODULE'), + ('encodings.iso8859_10', + '/usr/lib/python2.7/encodings/iso8859_10.py', + 'PYMODULE'), + ('encodings.iso8859_11', + '/usr/lib/python2.7/encodings/iso8859_11.py', + 'PYMODULE'), + ('encodings.iso8859_13', + '/usr/lib/python2.7/encodings/iso8859_13.py', + 'PYMODULE'), + ('encodings.iso8859_14', + '/usr/lib/python2.7/encodings/iso8859_14.py', + 'PYMODULE'), + ('encodings.cp424', '/usr/lib/python2.7/encodings/cp424.py', 'PYMODULE'), + ('encodings.iso8859_16', + '/usr/lib/python2.7/encodings/iso8859_16.py', + 'PYMODULE'), + ('encodings.cp1006', '/usr/lib/python2.7/encodings/cp1006.py', 'PYMODULE'), + ('encodings.hp_roman8', + '/usr/lib/python2.7/encodings/hp_roman8.py', + 'PYMODULE'), + ('encodings.charmap', + '/usr/lib/python2.7/encodings/charmap.py', + 'PYMODULE'), + ('encodings.utf_32', '/usr/lib/python2.7/encodings/utf_32.py', 'PYMODULE'), + ('encodings.latin_1', + '/usr/lib/python2.7/encodings/latin_1.py', + 'PYMODULE'), + ('encodings.utf_16_be', + '/usr/lib/python2.7/encodings/utf_16_be.py', + 'PYMODULE'), + ('encodings.cp737', '/usr/lib/python2.7/encodings/cp737.py', 'PYMODULE'), + ('encodings.utf_16', '/usr/lib/python2.7/encodings/utf_16.py', 'PYMODULE'), + ('encodings.cp437', '/usr/lib/python2.7/encodings/cp437.py', 'PYMODULE'), + ('encodings.mac_roman', + '/usr/lib/python2.7/encodings/mac_roman.py', + 'PYMODULE'), + ('encodings.mac_centeuro', + '/usr/lib/python2.7/encodings/mac_centeuro.py', + 'PYMODULE'), + ('encodings.mac_croatian', + '/usr/lib/python2.7/encodings/mac_croatian.py', + 'PYMODULE'), + ('encodings.punycode', + '/usr/lib/python2.7/encodings/punycode.py', + 'PYMODULE'), + ('encodings.unicode_escape', + '/usr/lib/python2.7/encodings/unicode_escape.py', + 'PYMODULE'), + ('encodings.bz2_codec', + '/usr/lib/python2.7/encodings/bz2_codec.py', + 'PYMODULE'), + ('encodings.rot_13', '/usr/lib/python2.7/encodings/rot_13.py', 'PYMODULE'), + ('encodings.cp874', '/usr/lib/python2.7/encodings/cp874.py', 'PYMODULE'), + ('encodings.cp875', '/usr/lib/python2.7/encodings/cp875.py', 'PYMODULE'), + ('encodings.cp720', '/usr/lib/python2.7/encodings/cp720.py', 'PYMODULE'), + ('encodings.tis_620', + '/usr/lib/python2.7/encodings/tis_620.py', + 'PYMODULE'), + ('encodings.zlib_codec', + '/usr/lib/python2.7/encodings/zlib_codec.py', + 'PYMODULE'), + ('encodings.iso2022_jp_2004', + '/usr/lib/python2.7/encodings/iso2022_jp_2004.py', + 'PYMODULE'), + ('encodings.euc_jisx0213', + '/usr/lib/python2.7/encodings/euc_jisx0213.py', + 'PYMODULE'), + ('encodings.ptcp154', + '/usr/lib/python2.7/encodings/ptcp154.py', + 'PYMODULE'), + ('encodings.uu_codec', + '/usr/lib/python2.7/encodings/uu_codec.py', + 'PYMODULE'), + ('encodings.utf_16_le', + '/usr/lib/python2.7/encodings/utf_16_le.py', + 'PYMODULE'), + ('encodings.iso2022_jp_2', + '/usr/lib/python2.7/encodings/iso2022_jp_2.py', + 'PYMODULE'), + ('encodings.iso2022_jp_3', + '/usr/lib/python2.7/encodings/iso2022_jp_3.py', + 'PYMODULE'), + ('encodings.iso2022_jp_1', + '/usr/lib/python2.7/encodings/iso2022_jp_1.py', + 'PYMODULE'), + ('encodings.mac_romanian', + '/usr/lib/python2.7/encodings/mac_romanian.py', + 'PYMODULE'), + ('encodings.cp1026', '/usr/lib/python2.7/encodings/cp1026.py', 'PYMODULE'), + ('encodings.mac_farsi', + '/usr/lib/python2.7/encodings/mac_farsi.py', + 'PYMODULE'), + ('encodings.undefined', + '/usr/lib/python2.7/encodings/undefined.py', + 'PYMODULE'), + ('encodings.mac_turkish', + '/usr/lib/python2.7/encodings/mac_turkish.py', + 'PYMODULE'), + ('encodings.koi8_u', '/usr/lib/python2.7/encodings/koi8_u.py', 'PYMODULE'), + ('encodings.koi8_r', '/usr/lib/python2.7/encodings/koi8_r.py', 'PYMODULE'), + ('encodings.utf_8_sig', + '/usr/lib/python2.7/encodings/utf_8_sig.py', + 'PYMODULE'), + ('encodings.iso2022_jp', + '/usr/lib/python2.7/encodings/iso2022_jp.py', + 'PYMODULE'), + ('encodings.palmos', '/usr/lib/python2.7/encodings/palmos.py', 'PYMODULE'), + ('encodings.mac_greek', + '/usr/lib/python2.7/encodings/mac_greek.py', + 'PYMODULE'), + ('encodings.shift_jis_2004', + '/usr/lib/python2.7/encodings/shift_jis_2004.py', + 'PYMODULE'), + ('encodings.gbk', '/usr/lib/python2.7/encodings/gbk.py', 'PYMODULE'), + ('encodings.mac_iceland', + '/usr/lib/python2.7/encodings/mac_iceland.py', + 'PYMODULE'), + ('encodings.cp858', '/usr/lib/python2.7/encodings/cp858.py', 'PYMODULE'), + ('encodings.cp850', '/usr/lib/python2.7/encodings/cp850.py', 'PYMODULE'), + ('encodings.cp852', '/usr/lib/python2.7/encodings/cp852.py', 'PYMODULE'), + ('encodings.cp855', '/usr/lib/python2.7/encodings/cp855.py', 'PYMODULE'), + ('encodings.cp856', '/usr/lib/python2.7/encodings/cp856.py', 'PYMODULE'), + ('encodings.cp857', '/usr/lib/python2.7/encodings/cp857.py', 'PYMODULE'), + ('encodings.iso8859_4', + '/usr/lib/python2.7/encodings/iso8859_4.py', + 'PYMODULE'), + ('encodings.iso8859_5', + '/usr/lib/python2.7/encodings/iso8859_5.py', + 'PYMODULE'), + ('encodings.iso8859_6', + '/usr/lib/python2.7/encodings/iso8859_6.py', + 'PYMODULE'), + ('encodings.iso8859_7', + '/usr/lib/python2.7/encodings/iso8859_7.py', + 'PYMODULE'), + ('encodings.iso8859_1', + '/usr/lib/python2.7/encodings/iso8859_1.py', + 'PYMODULE'), + ('encodings.iso8859_2', + '/usr/lib/python2.7/encodings/iso8859_2.py', + 'PYMODULE'), + ('encodings.iso8859_3', + '/usr/lib/python2.7/encodings/iso8859_3.py', + 'PYMODULE'), + ('encodings.gb2312', '/usr/lib/python2.7/encodings/gb2312.py', 'PYMODULE'), + ('encodings.iso8859_8', + '/usr/lib/python2.7/encodings/iso8859_8.py', + 'PYMODULE'), + ('encodings.iso8859_9', + '/usr/lib/python2.7/encodings/iso8859_9.py', + 'PYMODULE'), + ('encodings.cp949', '/usr/lib/python2.7/encodings/cp949.py', 'PYMODULE'), + ('encodings.cp864', '/usr/lib/python2.7/encodings/cp864.py', 'PYMODULE'), + ('encodings.base64_codec', + '/usr/lib/python2.7/encodings/base64_codec.py', + 'PYMODULE'), + ('base64', '/usr/lib/python2.7/base64.py', 'PYMODULE'), + ('struct', '/usr/lib/python2.7/struct.py', 'PYMODULE'), + ('encodings.cp037', '/usr/lib/python2.7/encodings/cp037.py', 'PYMODULE'), + ('encodings.utf_8', '/usr/lib/python2.7/encodings/utf_8.py', 'PYMODULE'), + ('encodings.mac_arabic', + '/usr/lib/python2.7/encodings/mac_arabic.py', + 'PYMODULE'), + ('encodings.euc_kr', '/usr/lib/python2.7/encodings/euc_kr.py', 'PYMODULE'), + ('encodings.utf_7', '/usr/lib/python2.7/encodings/utf_7.py', 'PYMODULE'), + ('encodings.shift_jis', + '/usr/lib/python2.7/encodings/shift_jis.py', + 'PYMODULE'), + ('encodings.utf_32_le', + '/usr/lib/python2.7/encodings/utf_32_le.py', + 'PYMODULE'), + ('encodings.euc_jis_2004', + '/usr/lib/python2.7/encodings/euc_jis_2004.py', + 'PYMODULE'), + ('encodings.cp775', '/usr/lib/python2.7/encodings/cp775.py', 'PYMODULE'), + ('encodings.cp1140', '/usr/lib/python2.7/encodings/cp1140.py', 'PYMODULE'), + ('encodings.big5', '/usr/lib/python2.7/encodings/big5.py', 'PYMODULE'), + ('encodings.iso8859_15', + '/usr/lib/python2.7/encodings/iso8859_15.py', + 'PYMODULE'), + ('encodings.iso2022_jp_ext', + '/usr/lib/python2.7/encodings/iso2022_jp_ext.py', + 'PYMODULE'), + ('encodings.johab', '/usr/lib/python2.7/encodings/johab.py', 'PYMODULE'), + ('encodings.cp932', '/usr/lib/python2.7/encodings/cp932.py', 'PYMODULE'), + ('codecs', '/usr/lib/python2.7/codecs.py', 'PYMODULE'), + ('os', '/usr/lib/python2.7/os.py', 'PYMODULE'), + ('subprocess', '/usr/lib/python2.7/subprocess.py', 'PYMODULE'), + ('pickle', '/usr/lib/python2.7/pickle.py', 'PYMODULE'), + ('doctest', '/usr/lib/python2.7/doctest.py', 'PYMODULE'), + ('collections', '/usr/lib/python2.7/collections.py', 'PYMODULE'), + ('dummy_thread', '/usr/lib/python2.7/dummy_thread.py', 'PYMODULE'), + ('heapq', '/usr/lib/python2.7/heapq.py', 'PYMODULE'), + ('keyword', '/usr/lib/python2.7/keyword.py', 'PYMODULE'), + ('tempfile', '/usr/lib/python2.7/tempfile.py', 'PYMODULE'), + ('random', '/usr/lib/python2.7/random.py', 'PYMODULE'), + ('_strptime', '/usr/lib/python2.7/_strptime.py', 'PYMODULE'), + ('calendar', '/usr/lib/python2.7/calendar.py', 'PYMODULE'), + ('optparse', '/usr/lib/python2.7/optparse.py', 'PYMODULE'), + ('gettext', '/usr/lib/python2.7/gettext.py', 'PYMODULE'), + ('textwrap', '/usr/lib/python2.7/textwrap.py', 'PYMODULE'), + ('locale', '/usr/lib/python2.7/locale.py', 'PYMODULE'), + ('functools', '/usr/lib/python2.7/functools.py', 'PYMODULE'), + ('hashlib', '/usr/lib/python2.7/hashlib.py', 'PYMODULE'), + ('logging', '/usr/lib/python2.7/logging/__init__.py', 'PYMODULE'), + ('atexit', '/usr/lib/python2.7/atexit.py', 'PYMODULE'), + ('io', '/usr/lib/python2.7/io.py', 'PYMODULE'), + ('pdb', '/usr/lib/python2.7/pdb.py', 'PYMODULE'), + ('shlex', '/usr/lib/python2.7/shlex.py', 'PYMODULE'), + ('pprint', '/usr/lib/python2.7/pprint.py', 'PYMODULE'), + ('bdb', '/usr/lib/python2.7/bdb.py', 'PYMODULE'), + ('fnmatch', '/usr/lib/python2.7/fnmatch.py', 'PYMODULE'), + ('cmd', '/usr/lib/python2.7/cmd.py', 'PYMODULE'), + ('difflib', '/usr/lib/python2.7/difflib.py', 'PYMODULE'), + ('unittest', '/usr/lib/python2.7/unittest/__init__.py', 'PYMODULE'), + ('unittest.signals', '/usr/lib/python2.7/unittest/signals.py', 'PYMODULE'), + ('unittest.main', '/usr/lib/python2.7/unittest/main.py', 'PYMODULE'), + ('unittest.runner', '/usr/lib/python2.7/unittest/runner.py', 'PYMODULE'), + ('unittest.loader', '/usr/lib/python2.7/unittest/loader.py', 'PYMODULE'), + ('unittest.suite', '/usr/lib/python2.7/unittest/suite.py', 'PYMODULE'), + ('unittest.case', '/usr/lib/python2.7/unittest/case.py', 'PYMODULE'), + ('unittest.result', '/usr/lib/python2.7/unittest/result.py', 'PYMODULE'), + ('unittest.util', '/usr/lib/python2.7/unittest/util.py', 'PYMODULE'), + ('inspect', '/usr/lib/python2.7/inspect.py', 'PYMODULE'), + ('tokenize', '/usr/lib/python2.7/tokenize.py', 'PYMODULE'), + ('token', '/usr/lib/python2.7/token.py', 'PYMODULE'), + ('dis', '/usr/lib/python2.7/dis.py', 'PYMODULE'), + ('opcode', '/usr/lib/python2.7/opcode.py', 'PYMODULE'), + ('__future__', '/usr/lib/python2.7/__future__.py', 'PYMODULE'), + ('threading', '/usr/lib/python2.7/threading.py', 'PYMODULE'), + ('_threading_local', '/usr/lib/python2.7/_threading_local.py', 'PYMODULE'), + ('traceback', '/usr/lib/python2.7/traceback.py', 'PYMODULE'), + ('os2emxpath', '/usr/lib/python2.7/os2emxpath.py', 'PYMODULE'), + ('genericpath', '/usr/lib/python2.7/genericpath.py', 'PYMODULE'), + ('stat', '/usr/lib/python2.7/stat.py', 'PYMODULE'), + ('ntpath', '/usr/lib/python2.7/ntpath.py', 'PYMODULE'), + ('posixpath', '/usr/lib/python2.7/posixpath.py', 'PYMODULE'), + ('getpass', '/usr/lib/python2.7/getpass.py', 'PYMODULE')], + [('libz.so.1', '/lib/x86_64-linux-gnu/libz.so.1', 'BINARY'), + ('_multibytecodec', + '/usr/lib/python2.7/lib-dynload/_multibytecodec.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_cn', + '/usr/lib/python2.7/lib-dynload/_codecs_cn.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_jp', + '/usr/lib/python2.7/lib-dynload/_codecs_jp.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_hk', + '/usr/lib/python2.7/lib-dynload/_codecs_hk.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_tw', + '/usr/lib/python2.7/lib-dynload/_codecs_tw.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_iso2022', + '/usr/lib/python2.7/lib-dynload/_codecs_iso2022.x86_64-linux-gnu.so', + 'EXTENSION'), + ('bz2', + '/usr/lib/python2.7/lib-dynload/bz2.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_kr', + '/usr/lib/python2.7/lib-dynload/_codecs_kr.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_hashlib', + '/usr/lib/python2.7/lib-dynload/_hashlib.x86_64-linux-gnu.so', + 'EXTENSION'), + ('readline', + '/usr/lib/python2.7/lib-dynload/readline.x86_64-linux-gnu.so', + 'EXTENSION'), + ('resource', + '/usr/lib/python2.7/lib-dynload/resource.x86_64-linux-gnu.so', + 'EXTENSION'), + ('termios', + '/usr/lib/python2.7/lib-dynload/termios.x86_64-linux-gnu.so', + 'EXTENSION'), + ('libbz2.so.1.0', '/lib/x86_64-linux-gnu/libbz2.so.1.0', 'BINARY'), + ('libssl.so.1.1', '/usr/lib/x86_64-linux-gnu/libssl.so.1.1', 'BINARY'), + ('libcrypto.so.1.1', + '/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1', + 'BINARY'), + ('libreadline.so.7', '/lib/x86_64-linux-gnu/libreadline.so.7', 'BINARY'), + ('libtinfo.so.6', '/lib/x86_64-linux-gnu/libtinfo.so.6', 'BINARY'), + ('libpython2.7.so.1.0', + '/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0', + 'BINARY')], + [], + [], + [], + []) diff --git a/build/test_env/EXE-00.toc b/build/test_env/EXE-00.toc new file mode 100644 index 0000000..d461f81 --- /dev/null +++ b/build/test_env/EXE-00.toc @@ -0,0 +1,82 @@ +('/home/twl/Documents/subuser/dist/test_env', + True, + False, + False, + None, + None, + False, + False, + None, + True, + 'test_env.pkg', + [('PYZ-00.pyz', + '/home/twl/Documents/subuser/build/test_env/PYZ-00.pyz', + 'PYZ'), + ('struct', '/usr/lib/python2.7/struct.pyc', 'PYMODULE'), + ('pyimod01_os_path', + '/home/twl/.local/lib/python2.7/site-packages/PyInstaller/loader/pyimod01_os_path.pyc', + 'PYMODULE'), + ('pyimod02_archive', + '/home/twl/.local/lib/python2.7/site-packages/PyInstaller/loader/pyimod02_archive.pyc', + 'PYMODULE'), + ('pyimod03_importers', + '/home/twl/.local/lib/python2.7/site-packages/PyInstaller/loader/pyimod03_importers.pyc', + 'PYMODULE'), + ('pyiboot01_bootstrap', + '/home/twl/.local/lib/python2.7/site-packages/PyInstaller/loader/pyiboot01_bootstrap.py', + 'PYSOURCE'), + ('test_env', '/home/twl/Documents/subuser/test_env.py', 'PYSOURCE'), + ('libz.so.1', '/lib/x86_64-linux-gnu/libz.so.1', 'BINARY'), + ('_multibytecodec', + '/usr/lib/python2.7/lib-dynload/_multibytecodec.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_cn', + '/usr/lib/python2.7/lib-dynload/_codecs_cn.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_jp', + '/usr/lib/python2.7/lib-dynload/_codecs_jp.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_hk', + '/usr/lib/python2.7/lib-dynload/_codecs_hk.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_tw', + '/usr/lib/python2.7/lib-dynload/_codecs_tw.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_iso2022', + '/usr/lib/python2.7/lib-dynload/_codecs_iso2022.x86_64-linux-gnu.so', + 'EXTENSION'), + ('bz2', + '/usr/lib/python2.7/lib-dynload/bz2.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_kr', + '/usr/lib/python2.7/lib-dynload/_codecs_kr.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_hashlib', + '/usr/lib/python2.7/lib-dynload/_hashlib.x86_64-linux-gnu.so', + 'EXTENSION'), + ('readline', + '/usr/lib/python2.7/lib-dynload/readline.x86_64-linux-gnu.so', + 'EXTENSION'), + ('resource', + '/usr/lib/python2.7/lib-dynload/resource.x86_64-linux-gnu.so', + 'EXTENSION'), + ('termios', + '/usr/lib/python2.7/lib-dynload/termios.x86_64-linux-gnu.so', + 'EXTENSION'), + ('libbz2.so.1.0', '/lib/x86_64-linux-gnu/libbz2.so.1.0', 'BINARY'), + ('libssl.so.1.1', '/usr/lib/x86_64-linux-gnu/libssl.so.1.1', 'BINARY'), + ('libcrypto.so.1.1', + '/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1', + 'BINARY'), + ('libreadline.so.7', '/lib/x86_64-linux-gnu/libreadline.so.7', 'BINARY'), + ('libtinfo.so.6', '/lib/x86_64-linux-gnu/libtinfo.so.6', 'BINARY'), + ('libpython2.7.so.1.0', + '/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0', + 'BINARY')], + [], + False, + True, + 1548883098, + [('run', + '/home/twl/.local/lib/python2.7/site-packages/PyInstaller/bootloader/Linux-64bit/run', + 'EXECUTABLE')]) diff --git a/build/test_env/PKG-00.pkg b/build/test_env/PKG-00.pkg new file mode 100644 index 0000000..faf6da7 Binary files /dev/null and b/build/test_env/PKG-00.pkg differ diff --git a/build/test_env/PKG-00.toc b/build/test_env/PKG-00.toc new file mode 100644 index 0000000..ad23756 --- /dev/null +++ b/build/test_env/PKG-00.toc @@ -0,0 +1,75 @@ +('/home/twl/Documents/subuser/build/test_env/PKG-00.pkg', + {'BINARY': 1, + 'DATA': 1, + 'EXECUTABLE': 1, + 'EXTENSION': 1, + 'PYMODULE': 1, + 'PYSOURCE': 1, + 'PYZ': 0}, + [('PYZ-00.pyz', + '/home/twl/Documents/subuser/build/test_env/PYZ-00.pyz', + 'PYZ'), + ('struct', '/usr/lib/python2.7/struct.pyc', 'PYMODULE'), + ('pyimod01_os_path', + '/home/twl/.local/lib/python2.7/site-packages/PyInstaller/loader/pyimod01_os_path.pyc', + 'PYMODULE'), + ('pyimod02_archive', + '/home/twl/.local/lib/python2.7/site-packages/PyInstaller/loader/pyimod02_archive.pyc', + 'PYMODULE'), + ('pyimod03_importers', + '/home/twl/.local/lib/python2.7/site-packages/PyInstaller/loader/pyimod03_importers.pyc', + 'PYMODULE'), + ('pyiboot01_bootstrap', + '/home/twl/.local/lib/python2.7/site-packages/PyInstaller/loader/pyiboot01_bootstrap.py', + 'PYSOURCE'), + ('test_env', '/home/twl/Documents/subuser/test_env.py', 'PYSOURCE'), + ('libz.so.1', '/lib/x86_64-linux-gnu/libz.so.1', 'BINARY'), + ('_multibytecodec', + '/usr/lib/python2.7/lib-dynload/_multibytecodec.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_cn', + '/usr/lib/python2.7/lib-dynload/_codecs_cn.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_jp', + '/usr/lib/python2.7/lib-dynload/_codecs_jp.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_hk', + '/usr/lib/python2.7/lib-dynload/_codecs_hk.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_tw', + '/usr/lib/python2.7/lib-dynload/_codecs_tw.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_iso2022', + '/usr/lib/python2.7/lib-dynload/_codecs_iso2022.x86_64-linux-gnu.so', + 'EXTENSION'), + ('bz2', + '/usr/lib/python2.7/lib-dynload/bz2.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_kr', + '/usr/lib/python2.7/lib-dynload/_codecs_kr.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_hashlib', + '/usr/lib/python2.7/lib-dynload/_hashlib.x86_64-linux-gnu.so', + 'EXTENSION'), + ('readline', + '/usr/lib/python2.7/lib-dynload/readline.x86_64-linux-gnu.so', + 'EXTENSION'), + ('resource', + '/usr/lib/python2.7/lib-dynload/resource.x86_64-linux-gnu.so', + 'EXTENSION'), + ('termios', + '/usr/lib/python2.7/lib-dynload/termios.x86_64-linux-gnu.so', + 'EXTENSION'), + ('libbz2.so.1.0', '/lib/x86_64-linux-gnu/libbz2.so.1.0', 'BINARY'), + ('libssl.so.1.1', '/usr/lib/x86_64-linux-gnu/libssl.so.1.1', 'BINARY'), + ('libcrypto.so.1.1', + '/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1', + 'BINARY'), + ('libreadline.so.7', '/lib/x86_64-linux-gnu/libreadline.so.7', 'BINARY'), + ('libtinfo.so.6', '/lib/x86_64-linux-gnu/libtinfo.so.6', 'BINARY'), + ('libpython2.7.so.1.0', + '/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0', + 'BINARY')], + False, + False, + True) diff --git a/build/test_env/PYZ-00.pyz b/build/test_env/PYZ-00.pyz new file mode 100644 index 0000000..6c9ec54 Binary files /dev/null and b/build/test_env/PYZ-00.pyz differ diff --git a/build/test_env/PYZ-00.toc b/build/test_env/PYZ-00.toc new file mode 100644 index 0000000..16e3b0c --- /dev/null +++ b/build/test_env/PYZ-00.toc @@ -0,0 +1,323 @@ +('/home/twl/Documents/subuser/build/test_env/PYZ-00.pyz', + [('encodings.aliases', + '/usr/lib/python2.7/encodings/aliases.py', + 'PYMODULE'), + ('encodings', '/usr/lib/python2.7/encodings/__init__.py', 'PYMODULE'), + ('encodings.idna', '/usr/lib/python2.7/encodings/idna.py', 'PYMODULE'), + ('re', '/usr/lib/python2.7/re.py', 'PYMODULE'), + ('sre_constants', '/usr/lib/python2.7/sre_constants.py', 'PYMODULE'), + ('sre', '/usr/lib/python2.7/sre.py', 'PYMODULE'), + ('warnings', '/usr/lib/python2.7/warnings.py', 'PYMODULE'), + ('types', '/usr/lib/python2.7/types.py', 'PYMODULE'), + ('linecache', '/usr/lib/python2.7/linecache.py', 'PYMODULE'), + ('string', '/usr/lib/python2.7/string.py', 'PYMODULE'), + ('copy', '/usr/lib/python2.7/copy.py', 'PYMODULE'), + ('repr', '/usr/lib/python2.7/repr.py', 'PYMODULE'), + ('weakref', '/usr/lib/python2.7/weakref.py', 'PYMODULE'), + ('_weakrefset', '/usr/lib/python2.7/_weakrefset.py', 'PYMODULE'), + ('UserDict', '/usr/lib/python2.7/UserDict.py', 'PYMODULE'), + ('_abcoll', '/usr/lib/python2.7/_abcoll.py', 'PYMODULE'), + ('abc', '/usr/lib/python2.7/abc.py', 'PYMODULE'), + ('copy_reg', '/usr/lib/python2.7/copy_reg.py', 'PYMODULE'), + ('sre_parse', '/usr/lib/python2.7/sre_parse.py', 'PYMODULE'), + ('sre_compile', '/usr/lib/python2.7/sre_compile.py', 'PYMODULE'), + ('stringprep', '/usr/lib/python2.7/stringprep.py', 'PYMODULE'), + ('encodings.mbcs', '/usr/lib/python2.7/encodings/mbcs.py', 'PYMODULE'), + ('encodings.raw_unicode_escape', + '/usr/lib/python2.7/encodings/raw_unicode_escape.py', + 'PYMODULE'), + ('encodings.gb18030', + '/usr/lib/python2.7/encodings/gb18030.py', + 'PYMODULE'), + ('encodings.shift_jisx0213', + '/usr/lib/python2.7/encodings/shift_jisx0213.py', + 'PYMODULE'), + ('encodings.ascii', '/usr/lib/python2.7/encodings/ascii.py', 'PYMODULE'), + ('encodings.cp861', '/usr/lib/python2.7/encodings/cp861.py', 'PYMODULE'), + ('encodings.cp860', '/usr/lib/python2.7/encodings/cp860.py', 'PYMODULE'), + ('encodings.cp863', '/usr/lib/python2.7/encodings/cp863.py', 'PYMODULE'), + ('encodings.cp862', '/usr/lib/python2.7/encodings/cp862.py', 'PYMODULE'), + ('encodings.cp865', '/usr/lib/python2.7/encodings/cp865.py', 'PYMODULE'), + ('encodings.big5hkscs', + '/usr/lib/python2.7/encodings/big5hkscs.py', + 'PYMODULE'), + ('encodings.cp866', '/usr/lib/python2.7/encodings/cp866.py', 'PYMODULE'), + ('encodings.cp869', '/usr/lib/python2.7/encodings/cp869.py', 'PYMODULE'), + ('encodings.mac_latin2', + '/usr/lib/python2.7/encodings/mac_latin2.py', + 'PYMODULE'), + ('encodings.hex_codec', + '/usr/lib/python2.7/encodings/hex_codec.py', + 'PYMODULE'), + ('encodings.cp950', '/usr/lib/python2.7/encodings/cp950.py', 'PYMODULE'), + ('encodings.quopri_codec', + '/usr/lib/python2.7/encodings/quopri_codec.py', + 'PYMODULE'), + ('StringIO', '/usr/lib/python2.7/StringIO.py', 'PYMODULE'), + ('quopri', '/usr/lib/python2.7/quopri.py', 'PYMODULE'), + ('getopt', '/usr/lib/python2.7/getopt.py', 'PYMODULE'), + ('encodings.utf_32_be', + '/usr/lib/python2.7/encodings/utf_32_be.py', + 'PYMODULE'), + ('encodings.string_escape', + '/usr/lib/python2.7/encodings/string_escape.py', + 'PYMODULE'), + ('encodings.cp1250', '/usr/lib/python2.7/encodings/cp1250.py', 'PYMODULE'), + ('encodings.cp1251', '/usr/lib/python2.7/encodings/cp1251.py', 'PYMODULE'), + ('encodings.cp1252', '/usr/lib/python2.7/encodings/cp1252.py', 'PYMODULE'), + ('encodings.cp1253', '/usr/lib/python2.7/encodings/cp1253.py', 'PYMODULE'), + ('encodings.cp1254', '/usr/lib/python2.7/encodings/cp1254.py', 'PYMODULE'), + ('encodings.cp1255', '/usr/lib/python2.7/encodings/cp1255.py', 'PYMODULE'), + ('encodings.cp1256', '/usr/lib/python2.7/encodings/cp1256.py', 'PYMODULE'), + ('encodings.cp1257', '/usr/lib/python2.7/encodings/cp1257.py', 'PYMODULE'), + ('encodings.cp1258', '/usr/lib/python2.7/encodings/cp1258.py', 'PYMODULE'), + ('encodings.euc_jp', '/usr/lib/python2.7/encodings/euc_jp.py', 'PYMODULE'), + ('encodings.hz', '/usr/lib/python2.7/encodings/hz.py', 'PYMODULE'), + ('encodings.mac_cyrillic', + '/usr/lib/python2.7/encodings/mac_cyrillic.py', + 'PYMODULE'), + ('encodings.iso2022_kr', + '/usr/lib/python2.7/encodings/iso2022_kr.py', + 'PYMODULE'), + ('encodings.unicode_internal', + '/usr/lib/python2.7/encodings/unicode_internal.py', + 'PYMODULE'), + ('encodings.cp500', '/usr/lib/python2.7/encodings/cp500.py', 'PYMODULE'), + ('encodings.iso8859_10', + '/usr/lib/python2.7/encodings/iso8859_10.py', + 'PYMODULE'), + ('encodings.iso8859_11', + '/usr/lib/python2.7/encodings/iso8859_11.py', + 'PYMODULE'), + ('encodings.iso8859_13', + '/usr/lib/python2.7/encodings/iso8859_13.py', + 'PYMODULE'), + ('encodings.iso8859_14', + '/usr/lib/python2.7/encodings/iso8859_14.py', + 'PYMODULE'), + ('encodings.cp424', '/usr/lib/python2.7/encodings/cp424.py', 'PYMODULE'), + ('encodings.iso8859_16', + '/usr/lib/python2.7/encodings/iso8859_16.py', + 'PYMODULE'), + ('encodings.cp1006', '/usr/lib/python2.7/encodings/cp1006.py', 'PYMODULE'), + ('encodings.hp_roman8', + '/usr/lib/python2.7/encodings/hp_roman8.py', + 'PYMODULE'), + ('encodings.charmap', + '/usr/lib/python2.7/encodings/charmap.py', + 'PYMODULE'), + ('encodings.utf_32', '/usr/lib/python2.7/encodings/utf_32.py', 'PYMODULE'), + ('encodings.latin_1', + '/usr/lib/python2.7/encodings/latin_1.py', + 'PYMODULE'), + ('encodings.utf_16_be', + '/usr/lib/python2.7/encodings/utf_16_be.py', + 'PYMODULE'), + ('encodings.cp737', '/usr/lib/python2.7/encodings/cp737.py', 'PYMODULE'), + ('encodings.utf_16', '/usr/lib/python2.7/encodings/utf_16.py', 'PYMODULE'), + ('encodings.cp437', '/usr/lib/python2.7/encodings/cp437.py', 'PYMODULE'), + ('encodings.mac_roman', + '/usr/lib/python2.7/encodings/mac_roman.py', + 'PYMODULE'), + ('encodings.mac_centeuro', + '/usr/lib/python2.7/encodings/mac_centeuro.py', + 'PYMODULE'), + ('encodings.mac_croatian', + '/usr/lib/python2.7/encodings/mac_croatian.py', + 'PYMODULE'), + ('encodings.punycode', + '/usr/lib/python2.7/encodings/punycode.py', + 'PYMODULE'), + ('encodings.unicode_escape', + '/usr/lib/python2.7/encodings/unicode_escape.py', + 'PYMODULE'), + ('encodings.bz2_codec', + '/usr/lib/python2.7/encodings/bz2_codec.py', + 'PYMODULE'), + ('encodings.rot_13', '/usr/lib/python2.7/encodings/rot_13.py', 'PYMODULE'), + ('encodings.cp874', '/usr/lib/python2.7/encodings/cp874.py', 'PYMODULE'), + ('encodings.cp875', '/usr/lib/python2.7/encodings/cp875.py', 'PYMODULE'), + ('encodings.cp720', '/usr/lib/python2.7/encodings/cp720.py', 'PYMODULE'), + ('encodings.tis_620', + '/usr/lib/python2.7/encodings/tis_620.py', + 'PYMODULE'), + ('encodings.zlib_codec', + '/usr/lib/python2.7/encodings/zlib_codec.py', + 'PYMODULE'), + ('encodings.iso2022_jp_2004', + '/usr/lib/python2.7/encodings/iso2022_jp_2004.py', + 'PYMODULE'), + ('encodings.euc_jisx0213', + '/usr/lib/python2.7/encodings/euc_jisx0213.py', + 'PYMODULE'), + ('encodings.ptcp154', + '/usr/lib/python2.7/encodings/ptcp154.py', + 'PYMODULE'), + ('encodings.uu_codec', + '/usr/lib/python2.7/encodings/uu_codec.py', + 'PYMODULE'), + ('encodings.utf_16_le', + '/usr/lib/python2.7/encodings/utf_16_le.py', + 'PYMODULE'), + ('encodings.iso2022_jp_2', + '/usr/lib/python2.7/encodings/iso2022_jp_2.py', + 'PYMODULE'), + ('encodings.iso2022_jp_3', + '/usr/lib/python2.7/encodings/iso2022_jp_3.py', + 'PYMODULE'), + ('encodings.iso2022_jp_1', + '/usr/lib/python2.7/encodings/iso2022_jp_1.py', + 'PYMODULE'), + ('encodings.mac_romanian', + '/usr/lib/python2.7/encodings/mac_romanian.py', + 'PYMODULE'), + ('encodings.cp1026', '/usr/lib/python2.7/encodings/cp1026.py', 'PYMODULE'), + ('encodings.mac_farsi', + '/usr/lib/python2.7/encodings/mac_farsi.py', + 'PYMODULE'), + ('encodings.undefined', + '/usr/lib/python2.7/encodings/undefined.py', + 'PYMODULE'), + ('encodings.mac_turkish', + '/usr/lib/python2.7/encodings/mac_turkish.py', + 'PYMODULE'), + ('encodings.koi8_u', '/usr/lib/python2.7/encodings/koi8_u.py', 'PYMODULE'), + ('encodings.koi8_r', '/usr/lib/python2.7/encodings/koi8_r.py', 'PYMODULE'), + ('encodings.utf_8_sig', + '/usr/lib/python2.7/encodings/utf_8_sig.py', + 'PYMODULE'), + ('encodings.iso2022_jp', + '/usr/lib/python2.7/encodings/iso2022_jp.py', + 'PYMODULE'), + ('encodings.palmos', '/usr/lib/python2.7/encodings/palmos.py', 'PYMODULE'), + ('encodings.mac_greek', + '/usr/lib/python2.7/encodings/mac_greek.py', + 'PYMODULE'), + ('encodings.shift_jis_2004', + '/usr/lib/python2.7/encodings/shift_jis_2004.py', + 'PYMODULE'), + ('encodings.gbk', '/usr/lib/python2.7/encodings/gbk.py', 'PYMODULE'), + ('encodings.mac_iceland', + '/usr/lib/python2.7/encodings/mac_iceland.py', + 'PYMODULE'), + ('encodings.cp858', '/usr/lib/python2.7/encodings/cp858.py', 'PYMODULE'), + ('encodings.cp850', '/usr/lib/python2.7/encodings/cp850.py', 'PYMODULE'), + ('encodings.cp852', '/usr/lib/python2.7/encodings/cp852.py', 'PYMODULE'), + ('encodings.cp855', '/usr/lib/python2.7/encodings/cp855.py', 'PYMODULE'), + ('encodings.cp856', '/usr/lib/python2.7/encodings/cp856.py', 'PYMODULE'), + ('encodings.cp857', '/usr/lib/python2.7/encodings/cp857.py', 'PYMODULE'), + ('encodings.iso8859_4', + '/usr/lib/python2.7/encodings/iso8859_4.py', + 'PYMODULE'), + ('encodings.iso8859_5', + '/usr/lib/python2.7/encodings/iso8859_5.py', + 'PYMODULE'), + ('encodings.iso8859_6', + '/usr/lib/python2.7/encodings/iso8859_6.py', + 'PYMODULE'), + ('encodings.iso8859_7', + '/usr/lib/python2.7/encodings/iso8859_7.py', + 'PYMODULE'), + ('encodings.iso8859_1', + '/usr/lib/python2.7/encodings/iso8859_1.py', + 'PYMODULE'), + ('encodings.iso8859_2', + '/usr/lib/python2.7/encodings/iso8859_2.py', + 'PYMODULE'), + ('encodings.iso8859_3', + '/usr/lib/python2.7/encodings/iso8859_3.py', + 'PYMODULE'), + ('encodings.gb2312', '/usr/lib/python2.7/encodings/gb2312.py', 'PYMODULE'), + ('encodings.iso8859_8', + '/usr/lib/python2.7/encodings/iso8859_8.py', + 'PYMODULE'), + ('encodings.iso8859_9', + '/usr/lib/python2.7/encodings/iso8859_9.py', + 'PYMODULE'), + ('encodings.cp949', '/usr/lib/python2.7/encodings/cp949.py', 'PYMODULE'), + ('encodings.cp864', '/usr/lib/python2.7/encodings/cp864.py', 'PYMODULE'), + ('encodings.base64_codec', + '/usr/lib/python2.7/encodings/base64_codec.py', + 'PYMODULE'), + ('base64', '/usr/lib/python2.7/base64.py', 'PYMODULE'), + ('struct', '/usr/lib/python2.7/struct.py', 'PYMODULE'), + ('encodings.cp037', '/usr/lib/python2.7/encodings/cp037.py', 'PYMODULE'), + ('encodings.utf_8', '/usr/lib/python2.7/encodings/utf_8.py', 'PYMODULE'), + ('encodings.mac_arabic', + '/usr/lib/python2.7/encodings/mac_arabic.py', + 'PYMODULE'), + ('encodings.euc_kr', '/usr/lib/python2.7/encodings/euc_kr.py', 'PYMODULE'), + ('encodings.utf_7', '/usr/lib/python2.7/encodings/utf_7.py', 'PYMODULE'), + ('encodings.shift_jis', + '/usr/lib/python2.7/encodings/shift_jis.py', + 'PYMODULE'), + ('encodings.utf_32_le', + '/usr/lib/python2.7/encodings/utf_32_le.py', + 'PYMODULE'), + ('encodings.euc_jis_2004', + '/usr/lib/python2.7/encodings/euc_jis_2004.py', + 'PYMODULE'), + ('encodings.cp775', '/usr/lib/python2.7/encodings/cp775.py', 'PYMODULE'), + ('encodings.cp1140', '/usr/lib/python2.7/encodings/cp1140.py', 'PYMODULE'), + ('encodings.big5', '/usr/lib/python2.7/encodings/big5.py', 'PYMODULE'), + ('encodings.iso8859_15', + '/usr/lib/python2.7/encodings/iso8859_15.py', + 'PYMODULE'), + ('encodings.iso2022_jp_ext', + '/usr/lib/python2.7/encodings/iso2022_jp_ext.py', + 'PYMODULE'), + ('encodings.johab', '/usr/lib/python2.7/encodings/johab.py', 'PYMODULE'), + ('encodings.cp932', '/usr/lib/python2.7/encodings/cp932.py', 'PYMODULE'), + ('codecs', '/usr/lib/python2.7/codecs.py', 'PYMODULE'), + ('os', '/usr/lib/python2.7/os.py', 'PYMODULE'), + ('subprocess', '/usr/lib/python2.7/subprocess.py', 'PYMODULE'), + ('pickle', '/usr/lib/python2.7/pickle.py', 'PYMODULE'), + ('doctest', '/usr/lib/python2.7/doctest.py', 'PYMODULE'), + ('collections', '/usr/lib/python2.7/collections.py', 'PYMODULE'), + ('dummy_thread', '/usr/lib/python2.7/dummy_thread.py', 'PYMODULE'), + ('heapq', '/usr/lib/python2.7/heapq.py', 'PYMODULE'), + ('keyword', '/usr/lib/python2.7/keyword.py', 'PYMODULE'), + ('tempfile', '/usr/lib/python2.7/tempfile.py', 'PYMODULE'), + ('random', '/usr/lib/python2.7/random.py', 'PYMODULE'), + ('_strptime', '/usr/lib/python2.7/_strptime.py', 'PYMODULE'), + ('calendar', '/usr/lib/python2.7/calendar.py', 'PYMODULE'), + ('optparse', '/usr/lib/python2.7/optparse.py', 'PYMODULE'), + ('gettext', '/usr/lib/python2.7/gettext.py', 'PYMODULE'), + ('textwrap', '/usr/lib/python2.7/textwrap.py', 'PYMODULE'), + ('locale', '/usr/lib/python2.7/locale.py', 'PYMODULE'), + ('functools', '/usr/lib/python2.7/functools.py', 'PYMODULE'), + ('hashlib', '/usr/lib/python2.7/hashlib.py', 'PYMODULE'), + ('logging', '/usr/lib/python2.7/logging/__init__.py', 'PYMODULE'), + ('atexit', '/usr/lib/python2.7/atexit.py', 'PYMODULE'), + ('io', '/usr/lib/python2.7/io.py', 'PYMODULE'), + ('pdb', '/usr/lib/python2.7/pdb.py', 'PYMODULE'), + ('shlex', '/usr/lib/python2.7/shlex.py', 'PYMODULE'), + ('pprint', '/usr/lib/python2.7/pprint.py', 'PYMODULE'), + ('bdb', '/usr/lib/python2.7/bdb.py', 'PYMODULE'), + ('fnmatch', '/usr/lib/python2.7/fnmatch.py', 'PYMODULE'), + ('cmd', '/usr/lib/python2.7/cmd.py', 'PYMODULE'), + ('difflib', '/usr/lib/python2.7/difflib.py', 'PYMODULE'), + ('unittest', '/usr/lib/python2.7/unittest/__init__.py', 'PYMODULE'), + ('unittest.signals', '/usr/lib/python2.7/unittest/signals.py', 'PYMODULE'), + ('unittest.main', '/usr/lib/python2.7/unittest/main.py', 'PYMODULE'), + ('unittest.runner', '/usr/lib/python2.7/unittest/runner.py', 'PYMODULE'), + ('unittest.loader', '/usr/lib/python2.7/unittest/loader.py', 'PYMODULE'), + ('unittest.suite', '/usr/lib/python2.7/unittest/suite.py', 'PYMODULE'), + ('unittest.case', '/usr/lib/python2.7/unittest/case.py', 'PYMODULE'), + ('unittest.result', '/usr/lib/python2.7/unittest/result.py', 'PYMODULE'), + ('unittest.util', '/usr/lib/python2.7/unittest/util.py', 'PYMODULE'), + ('inspect', '/usr/lib/python2.7/inspect.py', 'PYMODULE'), + ('tokenize', '/usr/lib/python2.7/tokenize.py', 'PYMODULE'), + ('token', '/usr/lib/python2.7/token.py', 'PYMODULE'), + ('dis', '/usr/lib/python2.7/dis.py', 'PYMODULE'), + ('opcode', '/usr/lib/python2.7/opcode.py', 'PYMODULE'), + ('__future__', '/usr/lib/python2.7/__future__.py', 'PYMODULE'), + ('threading', '/usr/lib/python2.7/threading.py', 'PYMODULE'), + ('_threading_local', '/usr/lib/python2.7/_threading_local.py', 'PYMODULE'), + ('traceback', '/usr/lib/python2.7/traceback.py', 'PYMODULE'), + ('os2emxpath', '/usr/lib/python2.7/os2emxpath.py', 'PYMODULE'), + ('genericpath', '/usr/lib/python2.7/genericpath.py', 'PYMODULE'), + ('stat', '/usr/lib/python2.7/stat.py', 'PYMODULE'), + ('ntpath', '/usr/lib/python2.7/ntpath.py', 'PYMODULE'), + ('posixpath', '/usr/lib/python2.7/posixpath.py', 'PYMODULE'), + ('getpass', '/usr/lib/python2.7/getpass.py', 'PYMODULE')]) diff --git a/build/test_env/warn-test_env.txt b/build/test_env/warn-test_env.txt new file mode 100644 index 0000000..bd6c59b --- /dev/null +++ b/build/test_env/warn-test_env.txt @@ -0,0 +1,28 @@ + +This file lists modules PyInstaller was not able to find. This does not +necessarily mean this module is required for running you program. Python and +Python 3rd-party packages include a lot of conditional or optional module. For +example the module 'ntpath' only exists on Windows, whereas the module +'posixpath' only exists on Posix systems. + +Types if import: +* top-level: imported at the top-level - look at these first +* conditional: imported within an if-statement +* delayed: imported from within a function +* optional: imported within a try-except-statement + +IMPORTANT: Do NOT post this list to the issue-tracker. Use it as a basis for + yourself tracking down the missing module. Thanks! + +missing module named org - imported by copy (optional) +missing module named 'org.python' - imported by pickle (optional) +missing module named _subprocess - imported by subprocess (conditional) +missing module named msvcrt - imported by subprocess (conditional), getpass (delayed, optional) +missing module named riscosenviron - imported by os (conditional, optional) +missing module named riscospath - imported by os (conditional) +missing module named riscos - imported by os (conditional, optional) +missing module named ce - imported by os (conditional, optional) +missing module named _emx_link - imported by os (conditional) +missing module named os2 - imported by os (conditional, optional) +missing module named nt - imported by os (conditional, optional), ntpath (optional) +missing module named EasyDialogs - imported by getpass (optional) diff --git a/build/test_env/xref-test_env.html b/build/test_env/xref-test_env.html new file mode 100644 index 0000000..b356aba --- /dev/null +++ b/build/test_env/xref-test_env.html @@ -0,0 +1,5039 @@ + + + modulegraph cross reference for test_env.py + + + +

modulegraph cross reference for test_env.py

+ +
+ + test_env.py +Script
+imports: + __builtin__ + • _codecs + • codecs + • encodings + • encodings.aliases + • getpass + • os + • sys + +
+ +
+ +
+ + 'org.python' +MissingModule
+imported by: + pickle + +
+ +
+ +
+ + EasyDialogs +MissingModule
+imported by: + getpass + +
+ +
+ +
+ + StringIO +SourceModule
+imports: + errno + • sys + +
+
+imported by: + doctest + • encodings.quopri_codec + • pickle + • pprint + • shlex + • tempfile + • unittest.result + +
+ +
+ +
+ + UserDict +SourceModule
+imports: + _abcoll + • copy + • warnings + +
+
+imported by: + os + • weakref + +
+ +
+ +
+ + __builtin__ (builtin module)
+imported by: + codecs + • encodings + • gettext + • optparse + • repr + • test_env.py + +
+ +
+ +
+ + __future__ +SourceModule
+imported by: + doctest + • random + +
+ +
+ +
+ + _abcoll +SourceModule
+imports: + abc + • sys + +
+
+imported by: + UserDict + • collections + +
+ +
+ +
+ + _codecs (builtin module)
+imported by: + codecs + • test_env.py + +
+ +
+ +
+ + _codecs_cn /usr/lib/python2.7/lib-dynload/_codecs_cn.x86_64-linux-gnu.so
+imported by: + encodings.gb18030 + • encodings.gb2312 + • encodings.gbk + • encodings.hz + +
+ +
+ +
+ + _codecs_hk /usr/lib/python2.7/lib-dynload/_codecs_hk.x86_64-linux-gnu.so
+imported by: + encodings.big5hkscs + +
+ +
+ +
+ + _codecs_iso2022 /usr/lib/python2.7/lib-dynload/_codecs_iso2022.x86_64-linux-gnu.so + +
+ +
+ + _codecs_jp /usr/lib/python2.7/lib-dynload/_codecs_jp.x86_64-linux-gnu.so + +
+ +
+ + _codecs_kr /usr/lib/python2.7/lib-dynload/_codecs_kr.x86_64-linux-gnu.so
+imported by: + encodings.cp949 + • encodings.euc_kr + • encodings.johab + +
+ +
+ +
+ + _codecs_tw /usr/lib/python2.7/lib-dynload/_codecs_tw.x86_64-linux-gnu.so
+imported by: + encodings.big5 + • encodings.cp950 + +
+ +
+ +
+ + _collections (builtin module)
+imported by: + collections + +
+ +
+ +
+ + _emx_link +MissingModule
+imported by: + os + +
+ +
+ +
+ + _functools (builtin module)
+imported by: + functools + +
+ +
+ +
+ + _hashlib /usr/lib/python2.7/lib-dynload/_hashlib.x86_64-linux-gnu.so
+imported by: + hashlib + +
+ +
+ +
+ + _heapq (builtin module)
+imported by: + heapq + +
+ +
+ +
+ + _io (builtin module)
+imported by: + io + +
+ +
+ +
+ + _locale (builtin module)
+imported by: + locale + • re + +
+ +
+ +
+ + _md5 (builtin module)
+imported by: + hashlib + +
+ +
+ +
+ + _multibytecodec /usr/lib/python2.7/lib-dynload/_multibytecodec.x86_64-linux-gnu.so + +
+ +
+ + _random (builtin module)
+imported by: + random + +
+ +
+ +
+ + _sha (builtin module)
+imported by: + hashlib + +
+ +
+ +
+ + _sha256 (builtin module)
+imported by: + hashlib + +
+ +
+ +
+ + _sha512 (builtin module)
+imported by: + hashlib + +
+ +
+ +
+ + _sre (builtin module)
+imports: + copy + • sre + • string + +
+
+imported by: + sre_compile + • sre_constants + +
+ +
+ +
+ + _strptime +SourceModule
+imports: + calendar + • datetime + • dummy_thread + • locale + • re + • thread + • time + +
+
+imported by: + time + +
+ +
+ +
+ + _struct (builtin module)
+imported by: + struct + +
+ +
+ +
+ + _subprocess +MissingModule
+imported by: + subprocess + +
+ +
+ +
+ + _threading_local +SourceModule
+imports: + threading + +
+
+imported by: + threading + +
+ +
+ +
+ + _warnings (builtin module)
+imported by: + warnings + +
+ +
+ +
+ + _weakref (builtin module)
+imported by: + _weakrefset + • weakref + +
+ +
+ +
+ + _weakrefset +SourceModule
+imports: + _weakref + +
+
+imported by: + abc + • weakref + +
+ +
+ +
+ + abc +SourceModule
+imports: + _weakrefset + • types + +
+
+imported by: + _abcoll + • io + +
+ +
+ +
+ + array (builtin module)
+imported by: + sre_compile + +
+ +
+ +
+ + atexit +SourceModule
+imports: + sys + • traceback + +
+
+imported by: + logging + +
+ +
+ +
+ + base64 +SourceModule
+imports: + binascii + • getopt + • re + • string + • struct + • sys + +
+
+imported by: + encodings.base64_codec + +
+ +
+ +
+ + bdb +SourceModule
+imports: + fnmatch + • linecache + • os + • repr + • sys + • types + +
+
+imported by: + pdb + +
+ +
+ +
+ + binascii (builtin module)
+imported by: + base64 + • encodings.hex_codec + • encodings.uu_codec + • hashlib + • pickle + • quopri + • random + +
+ +
+ +
+ + bz2 /usr/lib/python2.7/lib-dynload/bz2.x86_64-linux-gnu.so
+imported by: + encodings.bz2_codec + +
+ +
+ +
+ + cPickle (builtin module)
+imports: + cStringIO + • copy_reg + +
+
+imported by: + collections + +
+ +
+ +
+ + cStringIO (builtin module)
+imports: + copy_reg + +
+
+imported by: + cPickle + • encodings.quopri_codec + • encodings.uu_codec + • logging + • pickle + • pprint + • quopri + • shlex + • tempfile + +
+ +
+ +
+ + calendar +SourceModule
+imports: + datetime + • locale + • optparse + • sys + +
+
+imported by: + _strptime + +
+ +
+ +
+ + ce +MissingModule
+imported by: + os + +
+ +
+ +
+ + cmd +SourceModule
+imports: + readline + • string + • sys + +
+
+imported by: + pdb + +
+ +
+ +
+ + codecs +SourceModule
+imports: + __builtin__ + • _codecs + • encodings + • sys + +
+
+imported by: + encodings + • encodings.ascii + • encodings.base64_codec + • encodings.big5 + • encodings.big5hkscs + • encodings.bz2_codec + • encodings.charmap + • encodings.cp037 + • encodings.cp1006 + • encodings.cp1026 + • encodings.cp1140 + • encodings.cp1250 + • encodings.cp1251 + • encodings.cp1252 + • encodings.cp1253 + • encodings.cp1254 + • encodings.cp1255 + • encodings.cp1256 + • encodings.cp1257 + • encodings.cp1258 + • encodings.cp424 + • encodings.cp437 + • encodings.cp500 + • encodings.cp720 + • encodings.cp737 + • encodings.cp775 + • encodings.cp850 + • encodings.cp852 + • encodings.cp855 + • encodings.cp856 + • encodings.cp857 + • encodings.cp858 + • encodings.cp860 + • encodings.cp861 + • encodings.cp862 + • encodings.cp863 + • encodings.cp864 + • encodings.cp865 + • encodings.cp866 + • encodings.cp869 + • encodings.cp874 + • encodings.cp875 + • encodings.cp932 + • encodings.cp949 + • encodings.cp950 + • encodings.euc_jis_2004 + • encodings.euc_jisx0213 + • encodings.euc_jp + • encodings.euc_kr + • encodings.gb18030 + • encodings.gb2312 + • encodings.gbk + • encodings.hex_codec + • encodings.hp_roman8 + • encodings.hz + • encodings.idna + • encodings.iso2022_jp + • encodings.iso2022_jp_1 + • encodings.iso2022_jp_2 + • encodings.iso2022_jp_2004 + • encodings.iso2022_jp_3 + • encodings.iso2022_jp_ext + • encodings.iso2022_kr + • encodings.iso8859_1 + • encodings.iso8859_10 + • encodings.iso8859_11 + • encodings.iso8859_13 + • encodings.iso8859_14 + • encodings.iso8859_15 + • encodings.iso8859_16 + • encodings.iso8859_2 + • encodings.iso8859_3 + • encodings.iso8859_4 + • encodings.iso8859_5 + • encodings.iso8859_6 + • encodings.iso8859_7 + • encodings.iso8859_8 + • encodings.iso8859_9 + • encodings.johab + • encodings.koi8_r + • encodings.koi8_u + • encodings.latin_1 + • encodings.mac_arabic + • encodings.mac_centeuro + • encodings.mac_croatian + • encodings.mac_cyrillic + • encodings.mac_farsi + • encodings.mac_greek + • encodings.mac_iceland + • encodings.mac_latin2 + • encodings.mac_roman + • encodings.mac_romanian + • encodings.mac_turkish + • encodings.mbcs + • encodings.palmos + • encodings.ptcp154 + • encodings.punycode + • encodings.quopri_codec + • encodings.raw_unicode_escape + • encodings.rot_13 + • encodings.shift_jis + • encodings.shift_jis_2004 + • encodings.shift_jisx0213 + • encodings.string_escape + • encodings.tis_620 + • encodings.undefined + • encodings.unicode_escape + • encodings.unicode_internal + • encodings.utf_16 + • encodings.utf_16_be + • encodings.utf_16_le + • encodings.utf_32 + • encodings.utf_32_be + • encodings.utf_32_le + • encodings.utf_7 + • encodings.utf_8 + • encodings.utf_8_sig + • encodings.uu_codec + • encodings.zlib_codec + • logging + • test_env.py + +
+ +
+ +
+ + collections +SourceModule
+imports: + _abcoll + • _collections + • cPickle + • doctest + • dummy_thread + • heapq + • itertools + • keyword + • operator + • sys + • thread + +
+
+imported by: + difflib + • doctest + • inspect + • logging + • shlex + • threading + • unittest.case + • unittest.util + +
+ +
+ +
+ + copy +SourceModule
+imports: + copy_reg + • org + • repr + • sys + • types + • weakref + +
+
+imported by: + UserDict + • _sre + • gettext + • weakref + +
+ +
+ +
+ + copy_reg +SourceModule
+imports: + types + +
+
+imported by: + cPickle + • cStringIO + • copy + • os + • pickle + • re + +
+ +
+ +
+ + datetime (builtin module)
+imports: + time + +
+
+imported by: + _strptime + • calendar + +
+ +
+ +
+ + difflib +SourceModule
+imports: + collections + • difflib + • doctest + • functools + • heapq + • re + +
+
+imported by: + difflib + • doctest + • unittest.case + +
+ +
+ +
+ + dis +SourceModule
+imports: + opcode + • sys + • types + +
+
+imported by: + inspect + +
+ +
+ +
+ + doctest +SourceModule
+imports: + StringIO + • __future__ + • collections + • difflib + • inspect + • linecache + • os + • pdb + • re + • sys + • tempfile + • traceback + • types + • unittest + • warnings + +
+
+imported by: + collections + • difflib + • heapq + • pickle + +
+ +
+ +
+ + dummy_thread +SourceModule
+imports: + traceback + +
+
+imported by: + _strptime + • collections + • tempfile + +
+ +
+ +
+ + encodings +Package
+imports: + __builtin__ + • codecs + • encodings + • encodings.aliases + • encodings.ascii + • encodings.base64_codec + • encodings.big5 + • encodings.big5hkscs + • encodings.bz2_codec + • encodings.charmap + • encodings.cp037 + • encodings.cp1006 + • encodings.cp1026 + • encodings.cp1140 + • encodings.cp1250 + • encodings.cp1251 + • encodings.cp1252 + • encodings.cp1253 + • encodings.cp1254 + • encodings.cp1255 + • encodings.cp1256 + • encodings.cp1257 + • encodings.cp1258 + • encodings.cp424 + • encodings.cp437 + • encodings.cp500 + • encodings.cp720 + • encodings.cp737 + • encodings.cp775 + • encodings.cp850 + • encodings.cp852 + • encodings.cp855 + • encodings.cp856 + • encodings.cp857 + • encodings.cp858 + • encodings.cp860 + • encodings.cp861 + • encodings.cp862 + • encodings.cp863 + • encodings.cp864 + • encodings.cp865 + • encodings.cp866 + • encodings.cp869 + • encodings.cp874 + • encodings.cp875 + • encodings.cp932 + • encodings.cp949 + • encodings.cp950 + • encodings.euc_jis_2004 + • encodings.euc_jisx0213 + • encodings.euc_jp + • encodings.euc_kr + • encodings.gb18030 + • encodings.gb2312 + • encodings.gbk + • encodings.hex_codec + • encodings.hp_roman8 + • encodings.hz + • encodings.idna + • encodings.iso2022_jp + • encodings.iso2022_jp_1 + • encodings.iso2022_jp_2 + • encodings.iso2022_jp_2004 + • encodings.iso2022_jp_3 + • encodings.iso2022_jp_ext + • encodings.iso2022_kr + • encodings.iso8859_1 + • encodings.iso8859_10 + • encodings.iso8859_11 + • encodings.iso8859_13 + • encodings.iso8859_14 + • encodings.iso8859_15 + • encodings.iso8859_16 + • encodings.iso8859_2 + • encodings.iso8859_3 + • encodings.iso8859_4 + • encodings.iso8859_5 + • encodings.iso8859_6 + • encodings.iso8859_7 + • encodings.iso8859_8 + • encodings.iso8859_9 + • encodings.johab + • encodings.koi8_r + • encodings.koi8_u + • encodings.latin_1 + • encodings.mac_arabic + • encodings.mac_centeuro + • encodings.mac_croatian + • encodings.mac_cyrillic + • encodings.mac_farsi + • encodings.mac_greek + • encodings.mac_iceland + • encodings.mac_latin2 + • encodings.mac_roman + • encodings.mac_romanian + • encodings.mac_turkish + • encodings.mbcs + • encodings.palmos + • encodings.ptcp154 + • encodings.punycode + • encodings.quopri_codec + • encodings.raw_unicode_escape + • encodings.rot_13 + • encodings.shift_jis + • encodings.shift_jis_2004 + • encodings.shift_jisx0213 + • encodings.string_escape + • encodings.tis_620 + • encodings.undefined + • encodings.unicode_escape + • encodings.unicode_internal + • encodings.utf_16 + • encodings.utf_16_be + • encodings.utf_16_le + • encodings.utf_32 + • encodings.utf_32_be + • encodings.utf_32_le + • encodings.utf_7 + • encodings.utf_8 + • encodings.utf_8_sig + • encodings.uu_codec + • encodings.zlib_codec + +
+
+imported by: + codecs + • encodings + • encodings.aliases + • encodings.ascii + • encodings.base64_codec + • encodings.big5 + • encodings.big5hkscs + • encodings.bz2_codec + • encodings.charmap + • encodings.cp037 + • encodings.cp1006 + • encodings.cp1026 + • encodings.cp1140 + • encodings.cp1250 + • encodings.cp1251 + • encodings.cp1252 + • encodings.cp1253 + • encodings.cp1254 + • encodings.cp1255 + • encodings.cp1256 + • encodings.cp1257 + • encodings.cp1258 + • encodings.cp424 + • encodings.cp437 + • encodings.cp500 + • encodings.cp720 + • encodings.cp737 + • encodings.cp775 + • encodings.cp850 + • encodings.cp852 + • encodings.cp855 + • encodings.cp856 + • encodings.cp857 + • encodings.cp858 + • encodings.cp860 + • encodings.cp861 + • encodings.cp862 + • encodings.cp863 + • encodings.cp864 + • encodings.cp865 + • encodings.cp866 + • encodings.cp869 + • encodings.cp874 + • encodings.cp875 + • encodings.cp932 + • encodings.cp949 + • encodings.cp950 + • encodings.euc_jis_2004 + • encodings.euc_jisx0213 + • encodings.euc_jp + • encodings.euc_kr + • encodings.gb18030 + • encodings.gb2312 + • encodings.gbk + • encodings.hex_codec + • encodings.hp_roman8 + • encodings.hz + • encodings.idna + • encodings.iso2022_jp + • encodings.iso2022_jp_1 + • encodings.iso2022_jp_2 + • encodings.iso2022_jp_2004 + • encodings.iso2022_jp_3 + • encodings.iso2022_jp_ext + • encodings.iso2022_kr + • encodings.iso8859_1 + • encodings.iso8859_10 + • encodings.iso8859_11 + • encodings.iso8859_13 + • encodings.iso8859_14 + • encodings.iso8859_15 + • encodings.iso8859_16 + • encodings.iso8859_2 + • encodings.iso8859_3 + • encodings.iso8859_4 + • encodings.iso8859_5 + • encodings.iso8859_6 + • encodings.iso8859_7 + • encodings.iso8859_8 + • encodings.iso8859_9 + • encodings.johab + • encodings.koi8_r + • encodings.koi8_u + • encodings.latin_1 + • encodings.mac_arabic + • encodings.mac_centeuro + • encodings.mac_croatian + • encodings.mac_cyrillic + • encodings.mac_farsi + • encodings.mac_greek + • encodings.mac_iceland + • encodings.mac_latin2 + • encodings.mac_roman + • encodings.mac_romanian + • encodings.mac_turkish + • encodings.mbcs + • encodings.palmos + • encodings.ptcp154 + • encodings.punycode + • encodings.quopri_codec + • encodings.raw_unicode_escape + • encodings.rot_13 + • encodings.shift_jis + • encodings.shift_jis_2004 + • encodings.shift_jisx0213 + • encodings.string_escape + • encodings.tis_620 + • encodings.undefined + • encodings.unicode_escape + • encodings.unicode_internal + • encodings.utf_16 + • encodings.utf_16_be + • encodings.utf_16_le + • encodings.utf_32 + • encodings.utf_32_be + • encodings.utf_32_le + • encodings.utf_7 + • encodings.utf_8 + • encodings.utf_8_sig + • encodings.uu_codec + • encodings.zlib_codec + • locale + • test_env.py + +
+ +
+ +
+ + encodings.aliases +SourceModule
+imports: + encodings + +
+
+imported by: + encodings + • locale + • test_env.py + +
+ +
+ +
+ + encodings.ascii +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.base64_codec +SourceModule
+imports: + base64 + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.big5 +SourceModule
+imports: + _codecs_tw + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.big5hkscs +SourceModule
+imports: + _codecs_hk + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.bz2_codec +SourceModule
+imports: + bz2 + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.charmap +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp037 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp1006 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp1026 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp1140 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp1250 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp1251 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp1252 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp1253 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp1254 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp1255 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp1256 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp1257 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp1258 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp424 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp437 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp500 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp720 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp737 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp775 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp850 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp852 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp855 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp856 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp857 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp858 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp860 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp861 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp862 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp863 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp864 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp865 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp866 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp869 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp874 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp875 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp932 +SourceModule
+imports: + _codecs_jp + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp949 +SourceModule
+imports: + _codecs_kr + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp950 +SourceModule
+imports: + _codecs_tw + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.euc_jis_2004 +SourceModule
+imports: + _codecs_jp + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.euc_jisx0213 +SourceModule
+imports: + _codecs_jp + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.euc_jp +SourceModule
+imports: + _codecs_jp + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.euc_kr +SourceModule
+imports: + _codecs_kr + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.gb18030 +SourceModule
+imports: + _codecs_cn + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.gb2312 +SourceModule
+imports: + _codecs_cn + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.gbk +SourceModule
+imports: + _codecs_cn + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.hex_codec +SourceModule
+imports: + binascii + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.hp_roman8 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.hz +SourceModule
+imports: + _codecs_cn + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.idna +SourceModule
+imports: + codecs + • encodings + • re + • stringprep + • unicodedata + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso2022_jp +SourceModule
+imports: + _codecs_iso2022 + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso2022_jp_1 +SourceModule
+imports: + _codecs_iso2022 + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso2022_jp_2 +SourceModule
+imports: + _codecs_iso2022 + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso2022_jp_2004 +SourceModule
+imports: + _codecs_iso2022 + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso2022_jp_3 +SourceModule
+imports: + _codecs_iso2022 + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso2022_jp_ext +SourceModule
+imports: + _codecs_iso2022 + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso2022_kr +SourceModule
+imports: + _codecs_iso2022 + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso8859_1 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso8859_10 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso8859_11 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso8859_13 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso8859_14 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso8859_15 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso8859_16 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso8859_2 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso8859_3 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso8859_4 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso8859_5 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso8859_6 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso8859_7 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso8859_8 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso8859_9 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.johab +SourceModule
+imports: + _codecs_kr + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.koi8_r +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.koi8_u +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.latin_1 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.mac_arabic +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.mac_centeuro +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.mac_croatian +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.mac_cyrillic +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.mac_farsi +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.mac_greek +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.mac_iceland +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.mac_latin2 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.mac_roman +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.mac_romanian +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.mac_turkish +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.mbcs +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.palmos +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.ptcp154 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.punycode +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.quopri_codec +SourceModule
+imports: + StringIO + • cStringIO + • codecs + • encodings + • quopri + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.raw_unicode_escape +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.rot_13 +SourceModule
+imports: + codecs + • encodings + • sys + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.shift_jis +SourceModule
+imports: + _codecs_jp + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.shift_jis_2004 +SourceModule
+imports: + _codecs_jp + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.shift_jisx0213 +SourceModule
+imports: + _codecs_jp + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.string_escape +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.tis_620 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.undefined +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.unicode_escape +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.unicode_internal +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.utf_16 +SourceModule
+imports: + codecs + • encodings + • sys + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.utf_16_be +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.utf_16_le +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.utf_32 +SourceModule
+imports: + codecs + • encodings + • sys + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.utf_32_be +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.utf_32_le +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.utf_7 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.utf_8 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.utf_8_sig +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.uu_codec +SourceModule
+imports: + binascii + • cStringIO + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.zlib_codec +SourceModule
+imports: + codecs + • encodings + • zlib + +
+
+imported by: + encodings + +
+ +
+ +
+ + errno (builtin module)
+imported by: + StringIO + • gettext + • os + • subprocess + • tempfile + +
+ +
+ +
+ + exceptions (builtin module)
+imported by: + weakref + +
+ +
+ +
+ + fcntl (builtin module)
+imported by: + subprocess + • tempfile + +
+ +
+ +
+ + fnmatch +SourceModule
+imports: + os + • posixpath + • re + +
+
+imported by: + bdb + • unittest.loader + +
+ +
+ +
+ + functools +SourceModule
+imports: + _functools + +
+
+imported by: + difflib + • locale + • unittest.case + • unittest.loader + • unittest.result + • unittest.signals + +
+ +
+ +
+ + gc (builtin module)
+imports: + time + +
+
+imported by: + subprocess + +
+ +
+ +
+ + genericpath +SourceModule
+imports: + os + • stat + +
+
+imported by: + ntpath + • os2emxpath + • posixpath + +
+ +
+ +
+ + getopt +SourceModule
+imports: + os + • sys + +
+
+imported by: + base64 + • quopri + • unittest.main + +
+ +
+ +
+ + getpass +SourceModule
+imports: + EasyDialogs + • msvcrt + • os + • pwd + • sys + • termios + • warnings + +
+
+imported by: + test_env.py + +
+ +
+ +
+ + gettext +SourceModule
+imports: + __builtin__ + • copy + • errno + • locale + • os + • re + • struct + • sys + +
+
+imported by: + optparse + +
+ +
+ +
+ + hashlib +SourceModule
+imports: + _hashlib + • _md5 + • _sha + • _sha256 + • _sha512 + • binascii + • logging + • struct + +
+
+imported by: + random + +
+ +
+ +
+ + heapq +SourceModule
+imports: + _heapq + • doctest + • itertools + • operator + +
+
+imported by: + collections + • difflib + +
+ +
+ +
+ + imp (builtin module)
+imported by: + inspect + +
+ +
+ +
+ + inspect +SourceModule
+imports: + collections + • dis + • imp + • linecache + • operator + • os + • re + • string + • sys + • tokenize + • types + +
+
+imported by: + doctest + +
+ +
+ +
+ + io +SourceModule
+imports: + _io + • abc + +
+
+imported by: + tempfile + +
+ +
+ +
+ + itertools (builtin module)
+imported by: + collections + • heapq + • repr + • threading + • tokenize + +
+ +
+ +
+ + keyword +SourceModule
+imports: + re + • sys + +
+
+imported by: + collections + +
+ +
+ +
+ + linecache +SourceModule
+imports: + os + • sys + +
+
+imported by: + bdb + • doctest + • inspect + • pdb + • traceback + • warnings + +
+ +
+ +
+ + locale +SourceModule
+imports: + _locale + • encodings + • encodings.aliases + • functools + • operator + • os + • re + • sys + +
+
+imported by: + _strptime + • calendar + • gettext + +
+ +
+ +
+ + logging +Package
+imports: + atexit + • cStringIO + • codecs + • collections + • os + • sys + • thread + • threading + • time + • traceback + • warnings + • weakref + +
+
+imported by: + hashlib + +
+ +
+ +
+ + marshal (builtin module)
+imported by: + pickle + +
+ +
+ +
+ + math (builtin module)
+imported by: + random + +
+ +
+ +
+ + msvcrt +MissingModule
+imported by: + getpass + • subprocess + +
+ +
+ +
+ + nt +MissingModule
+imported by: + ntpath + • os + +
+ +
+ +
+ + ntpath +SourceModule
+imports: + genericpath + • nt + • os + • stat + • string + • sys + • warnings + +
+
+imported by: + os + • os2emxpath + +
+ +
+ +
+ + opcode +SourceModule
+imported by: + dis + +
+ +
+ +
+ + operator (builtin module)
+imported by: + collections + • heapq + • inspect + • locale + +
+ +
+ +
+ + optparse +SourceModule
+imports: + __builtin__ + • gettext + • os + • sys + • textwrap + • types + +
+
+imported by: + calendar + • unittest.main + +
+ +
+ +
+ + org +MissingModule
+imported by: + copy + +
+ +
+ +
+ + os +SourceModule
+imports: + UserDict + • _emx_link + • ce + • copy_reg + • errno + • nt + • ntpath + • os2 + • os2emxpath + • posix + • posixpath + • posixpath + • riscos + • riscosenviron + • riscospath + • subprocess + • sys + • warnings + +
+
+imported by: + bdb + • doctest + • fnmatch + • genericpath + • getopt + • getpass + • gettext + • inspect + • linecache + • locale + • logging + • ntpath + • optparse + • os2emxpath + • pdb + • posixpath + • posixpath + • random + • subprocess + • tempfile + • test_env.py + • unittest.loader + • unittest.main + • unittest.result + +
+ +
+ +
+ + os2 +MissingModule
+imported by: + os + +
+ +
+ +
+ + os2emxpath +SourceModule
+imports: + genericpath + • ntpath + • os + • stat + +
+
+imported by: + os + +
+ +
+ +
+ + pdb +SourceModule
+imports: + bdb + • cmd + • linecache + • os + • pdb + • pprint + • re + • readline + • repr + • shlex + • sys + • traceback + +
+
+imported by: + doctest + • pdb + +
+ +
+ +
+ + pickle +SourceModule
+imports: + 'org.python' + • StringIO + • binascii + • cStringIO + • copy_reg + • doctest + • marshal + • re + • struct + • sys + • types + +
+
+imported by: + subprocess + +
+ +
+ +
+ + posix (builtin module)
+imports: + resource + +
+
+imported by: + os + +
+ +
+ +
+ + posixpath +AliasNode
+imports: + os + • posixpath + +
+
+imported by: + os + • shlex + +
+ +
+ +
+ + posixpath +SourceModule
+imports: + genericpath + • os + • pwd + • re + • stat + • sys + • warnings + +
+
+imported by: + fnmatch + • os + • posixpath + +
+ +
+ +
+ + pprint +SourceModule
+imports: + StringIO + • cStringIO + • sys + • time + • warnings + +
+
+imported by: + pdb + • unittest.case + +
+ +
+ +
+ + pwd (builtin module)
+imported by: + getpass + • posixpath + +
+ +
+ +
+ + quopri +SourceModule
+imports: + binascii + • cStringIO + • getopt + • sys + +
+
+imported by: + encodings.quopri_codec + +
+ +
+ +
+ + random +SourceModule
+imports: + __future__ + • _random + • binascii + • hashlib + • math + • os + • time + • types + • warnings + +
+
+imported by: + tempfile + • threading + +
+ +
+ +
+ + re +SourceModule
+imports: + _locale + • copy_reg + • sre_compile + • sre_constants + • sre_parse + • sys + +
+
+imported by: + _strptime + • base64 + • difflib + • doctest + • encodings.idna + • fnmatch + • gettext + • inspect + • keyword + • locale + • pdb + • pickle + • posixpath + • sre + • string + • textwrap + • token + • tokenize + • unittest.case + • unittest.loader + • warnings + +
+ +
+ +
+ + readline /usr/lib/python2.7/lib-dynload/readline.x86_64-linux-gnu.so
+imported by: + cmd + • pdb + +
+ +
+ +
+ + repr +SourceModule
+imports: + __builtin__ + • itertools + +
+
+imported by: + bdb + • copy + • pdb + +
+ +
+ +
+ + resource /usr/lib/python2.7/lib-dynload/resource.x86_64-linux-gnu.so
+imported by: + posix + +
+ +
+ +
+ + riscos +MissingModule
+imported by: + os + +
+ +
+ +
+ + riscosenviron +MissingModule
+imported by: + os + +
+ +
+ +
+ + riscospath +MissingModule
+imported by: + os + +
+ +
+ +
+ + select (builtin module)
+imported by: + subprocess + +
+ +
+ +
+ + shlex +SourceModule
+imports: + StringIO + • cStringIO + • collections + • posixpath + • sys + +
+
+imported by: + pdb + +
+ +
+ +
+ + signal (builtin module)
+imported by: + subprocess + • unittest.signals + +
+ +
+ +
+ + sre +SourceModule
+imports: + re + • warnings + +
+
+imported by: + _sre + +
+ +
+ +
+ + sre_compile +SourceModule
+imports: + _sre + • array + • sre_constants + • sre_parse + • sys + +
+
+imported by: + re + +
+ +
+ +
+ + sre_constants +SourceModule
+imports: + _sre + +
+
+imported by: + re + • sre_compile + • sre_parse + +
+ +
+ +
+ + sre_parse +SourceModule
+imports: + sre_constants + • sys + • warnings + +
+
+imported by: + re + • sre_compile + +
+ +
+ +
+ + stat +SourceModule
+imported by: + genericpath + • ntpath + • os2emxpath + • posixpath + +
+ +
+ +
+ + string +SourceModule
+imports: + re + • strop + +
+
+imported by: + _sre + • base64 + • cmd + • inspect + • ntpath + • textwrap + • tokenize + +
+ +
+ +
+ + stringprep +SourceModule
+imports: + unicodedata + +
+
+imported by: + encodings.idna + +
+ +
+ +
+ + strop (builtin module)
+imported by: + string + +
+ +
+ +
+ + struct +SourceModule
+imports: + _struct + +
+
+imported by: + base64 + • gettext + • hashlib + • pickle + +
+ +
+ +
+ + subprocess +SourceModule
+imports: + _subprocess + • errno + • fcntl + • gc + • msvcrt + • os + • pickle + • select + • signal + • sys + • threading + • traceback + • types + +
+
+imported by: + os + +
+ +
+ +
+ + sys (builtin module)
+imported by: + StringIO + • _abcoll + • atexit + • base64 + • bdb + • calendar + • cmd + • codecs + • collections + • copy + • dis + • doctest + • encodings.rot_13 + • encodings.utf_16 + • encodings.utf_32 + • getopt + • getpass + • gettext + • inspect + • keyword + • linecache + • locale + • logging + • ntpath + • optparse + • os + • pdb + • pickle + • posixpath + • pprint + • quopri + • re + • shlex + • sre_compile + • sre_parse + • subprocess + • test_env.py + • threading + • token + • tokenize + • traceback + • types + • unittest.case + • unittest.loader + • unittest.main + • unittest.result + • unittest.runner + • unittest.suite + • warnings + +
+ +
+ +
+ + tempfile +SourceModule
+imports: + StringIO + • cStringIO + • dummy_thread + • errno + • fcntl + • io + • os + • random + • thread + +
+
+imported by: + doctest + +
+ +
+ +
+ + termios /usr/lib/python2.7/lib-dynload/termios.x86_64-linux-gnu.so
+imported by: + getpass + +
+ +
+ +
+ + textwrap +SourceModule
+imports: + re + • string + +
+
+imported by: + optparse + +
+ +
+ +
+ + thread (builtin module)
+imported by: + _strptime + • collections + • logging + • tempfile + • threading + +
+ +
+ +
+ + threading +SourceModule
+imports: + _threading_local + • collections + • itertools + • random + • sys + • thread + • time + • traceback + • warnings + +
+
+imported by: + _threading_local + • logging + • subprocess + +
+ +
+ +
+ + time (builtin module)
+imports: + _strptime + +
+
+imported by: + _strptime + • datetime + • gc + • logging + • pprint + • random + • threading + • unittest.runner + +
+ +
+ +
+ + token +SourceModule
+imports: + re + • sys + +
+
+imported by: + tokenize + +
+ +
+ +
+ + tokenize +SourceModule
+imports: + itertools + • re + • string + • sys + • token + +
+
+imported by: + inspect + +
+ +
+ +
+ + traceback +SourceModule
+imports: + linecache + • sys + • types + +
+
+imported by: + atexit + • doctest + • dummy_thread + • logging + • pdb + • subprocess + • threading + • unittest.loader + • unittest.result + +
+ +
+ +
+ + types +SourceModule
+imports: + sys + +
+
+imported by: + abc + • bdb + • copy + • copy_reg + • dis + • doctest + • inspect + • optparse + • pickle + • random + • subprocess + • traceback + • unittest.case + • unittest.loader + • unittest.main + • warnings + +
+ +
+ +
+ + unicodedata (builtin module)
+imported by: + encodings.idna + • stringprep + +
+ +
+ +
+ + unittest +Package + + +
+ +
+ + unittest.case +SourceModule
+imports: + collections + • difflib + • functools + • pprint + • re + • sys + • types + • unittest + • unittest.result + • unittest.util + • warnings + +
+
+imported by: + unittest + • unittest.loader + • unittest.suite + +
+ +
+ +
+ + unittest.loader +SourceModule
+imports: + fnmatch + • functools + • os + • re + • sys + • traceback + • types + • unittest + • unittest.case + • unittest.suite + +
+
+imported by: + unittest + • unittest.main + +
+ +
+ +
+ + unittest.main +SourceModule
+imports: + getopt + • optparse + • os + • sys + • types + • unittest + • unittest.loader + • unittest.runner + • unittest.signals + +
+
+imported by: + unittest + +
+ +
+ +
+ + unittest.result +SourceModule
+imports: + StringIO + • functools + • os + • sys + • traceback + • unittest + • unittest.util + +
+
+imported by: + unittest + • unittest.case + • unittest.runner + +
+ +
+ +
+ + unittest.runner +SourceModule
+imports: + sys + • time + • unittest + • unittest.result + • unittest.signals + +
+
+imported by: + unittest + • unittest.main + +
+ +
+ +
+ + unittest.signals +SourceModule
+imports: + functools + • signal + • unittest + • weakref + +
+
+imported by: + unittest + • unittest.main + • unittest.runner + +
+ +
+ +
+ + unittest.suite +SourceModule
+imports: + sys + • unittest + • unittest.case + • unittest.util + +
+
+imported by: + unittest + • unittest.loader + +
+ +
+ +
+ + unittest.util +SourceModule
+imports: + collections + • unittest + +
+
+imported by: + unittest + • unittest.case + • unittest.result + • unittest.suite + +
+ +
+ +
+ + warnings +SourceModule
+imports: + _warnings + • linecache + • re + • sys + • types + +
+
+imported by: + UserDict + • doctest + • getpass + • logging + • ntpath + • os + • posixpath + • pprint + • random + • sre + • sre_parse + • threading + • unittest.case + +
+ +
+ +
+ + weakref +SourceModule
+imports: + UserDict + • _weakref + • _weakrefset + • copy + • exceptions + +
+
+imported by: + copy + • logging + • unittest.signals + +
+ +
+ +
+ + zlib (builtin module)
+imported by: + encodings.zlib_codec + +
+ +
+ + + diff --git a/makefile b/makefile new file mode 100644 index 0000000..d9cfebd --- /dev/null +++ b/makefile @@ -0,0 +1,11 @@ + +#CFLAGS= -std=c11 -Werror -H -fsyntax-only +#CFLAGS= -std=c11 -Werror -O +CFLAGS= -std=c11 -Werror -ggdb + +all: subu-mk-0 + +subu-mk-0: subu-mk-0.c + gcc -o subu-mk-0 $(CFLAGS) subu-mk-0.c + sudo ./setuid_root_subu-mk-0 + diff --git a/setuid_root_subu-mk-0 b/setuid_root_subu-mk-0 new file mode 100755 index 0000000..d7f0a7f --- /dev/null +++ b/setuid_root_subu-mk-0 @@ -0,0 +1,7 @@ +#!/bin/bash +# must be run under sudo +# + +chown root /home/morpheus/src/subu/subu-mk-0 && \ +chmod u+rsx,u-w,g+rx-s /home/morpheus/src/subu/subu-mk-0 + diff --git a/setuid_root_subu-mk-0.c b/setuid_root_subu-mk-0.c new file mode 100644 index 0000000..a15aac0 --- /dev/null +++ b/setuid_root_subu-mk-0.c @@ -0,0 +1,8 @@ +#include +#include + +int main(){ + + +return 0 +} diff --git a/subu-mk-0 b/subu-mk-0 new file mode 100755 index 0000000..bcedd13 Binary files /dev/null and b/subu-mk-0 differ diff --git a/subu-mk-0.c b/subu-mk-0.c new file mode 100644 index 0000000..ed530a3 --- /dev/null +++ b/subu-mk-0.c @@ -0,0 +1,136 @@ +/* + Makes a new subu user. + + Because this is a little utility program, we don't bother to free + buffers. The heap space will be released when the program exits. Actually we + can't free the buffers made by getpwid() even if wanted to. + + 1. We have to make the subu first so that we will have subu_uid and subu_gid + to work with. + + 2. Then we add user access via setfacl to masteru's home directory and to + subu_land, so that we have permissions to make the home directory. + + 3. Then as subu we create the home directory. .. I wonder where the system + gets the umask for this? Perhaps we should create the dir, and then change + the ownership instead? + + 4. Still as subu, we add facls to our directory to give masteru access. + + ... then finished, good part is that we never need to move back to root. + +setfacl -m u:subu:x masteru +setfacl -m u:subu:x masteru/subu_land +setfacl -m d:u:masteru:rwX,u:masteru:rwX subu + +*/ +// without #define get warning: implicit declaration of function ‘seteuid’/‘setegid’ +#define _GNU_SOURCE + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + + +#define DEBUG +typedef unsigned int uint; + +#define ERR_ARG_CNT 1 +#define ERR_SETUID_ROOT 2 +#define ERR_BAD_MASTERU_HOME 3 +#define ERR_NOT_EXIST_MASTERU_HOME 4 +#define ERR_FAILED_MKDIR_SUBU 5 +#define ERR_FAILED_RESTORATION 6 + +int main(int argc, char **argv, char **env){ + + //-------------------------------------------------------------------------------- + // help message + if( argc != 2 ){ + fprintf(stderr, "usage: %s subu", argv[0]); + return ERR_ARG_CNT; + } + + //-------------------------------------------------------------------------------- + // we must be invoked from a user account and be running as root + uint uid = getuid(); + uint euid = geteuid(); + uint gid = getgid(); + uint egid = getegid(); + #ifdef DEBUG + printf("uid %u, gid %u, euid %u\n", uid, gid, euid); + #endif + if( uid == 0 || euid != 0 ){ + fprintf(stderr, "this program must be run setuid root from a user account\n"); + return ERR_SETUID_ROOT; + } + + //-------------------------------------------------------------------------------- + // who are these people anyway? + char *subu_name = argv[1]; + struct passwd *passwd_record_pt = getpwuid(uid); + char *masteru_name = passwd_record_pt->pw_name; + // verify that subu_name is legal! --> code goes here ... + + //-------------------------------------------------------------------------------- + // build the subu_land path + char *masteru_home_dir = passwd_record_pt->pw_dir; + size_t masteru_home_dir_len = strlen(masteru_home_dir); + if( masteru_home_dir_len == 0 || masteru_home_dir[0] == '(' ){ + fprintf(stderr,"strange, %s has no home directory\n", masteru_name); + return ERR_BAD_MASTERU_HOME; + } + char *subu_land_extension = "/subu_land/"; + size_t subu_land_extension_len = strlen(subu_land_extension); + size_t subu_name_len = strlen(subu_name); // we leave room in the buffer to latter add the subu_name + char *subu_land = (char *)malloc( masteru_home_dir_len + subu_land_extension_len + subu_name_len + 1 ); + strcpy(subu_land, masteru_home_dir); + strcpy(subu_land + masteru_home_dir_len, subu_land_extension); + #ifdef DEBUG + printf("The path to subu_land: %s\n", subu_land); + #endif + + //-------------------------------------------------------------------------------- + // Just because masteru_home_dir is referenced in /etc/passwd does not mean it exists. + // If it does, and the subu_land doesn't, then we make subu_land. + struct stat st; + if( stat(masteru_home_dir, &st) == -1) { + fprintf(stderr, "Strange, masteru home does not exist, %s.", masteru_home_dir); + return ERR_NOT_EXIST_MASTERU_HOME; + } + strcpy(subu_land + masteru_home_dir_len + subu_land_extension_len, subu_name); + #ifdef DEBUG + printf("A path to a subu: %s\n", subu_land); + #endif + + //-------------------------------------------------------------------------------- + // we need to have a subu_uid and subu_gid to continue from here + size_t subu_land_len = subu_land + masteru_home_dir_len + subu_land_extension_len + subu_name_len; + + + + // change to subu space + if( seteuid(uid) == -1 || setegid(gid) == -1 ){ // we are root so this should never happen + fprintf(stderr,"Strangely, root could not seteuid/setegid to %s\n", masteru_name); + return ERR_FAILED_MKDIR_SUBU; + } + if( stat(subu_land, &st) == -1) { // then make the directory + if( mkdir(subu_land, 0700) == -1 || stat(subu_land, &st) == -1 ){ + fprintf(stderr,"Failed to make subu directory %s\n", subu_land); + return ERR_FAILED_MKDIR_SUBU; + } + } + //change back to set the acls + if( seteuid(euid) == -1 || setegid(egid) == -1 ){ + fprintf(stderr,"Could not restore privledges, having to bail.\n"); + return ERR_FAILED_RESTORATION; + } + return 0; +} diff --git a/subu-mk-0.py b/subu-mk-0.py new file mode 100644 index 0000000..203fab4 --- /dev/null +++ b/subu-mk-0.py @@ -0,0 +1,299 @@ +#!/usr/bin/python +# see the help option for syntax +# this script must be run from root or sudo +# +# on Fedora 29 os.getresuid returned all zeros for a script run from sudo. +# Hence, I am using the environment variable SUDO_USER + +import getpass +import os +import sys +import libuser +from __future__ import print_function + +command = os.path.base(argv[0]) + +#-------------------------------------------------------------------------------- +# utilities +# +def prn(str): + print(str,end='') + +#-------------------------------------------------------------------------------- +# help +# +def help(): + print( command + +""" [=help] [=version] [shell=][owner=] [subu=] +Makes a subservient user. +If no arguments are given, or if =help is given, this message is printed. +When this command is invoked through sudo, $SUDO_USER is taken as the owner's username. +Otherwise, when invoked directly from root, the owner= option must be provided. +The subu-username argument is the username for the new subservient user +The the new subu home directory is created in /home/owner/subu/. +Facls are set to give the owner access to the new subu's home directory. +The shell option is not implemented yet. Probably need a number of other options also. +""" + ) + +def version(): + print(" version 0") + +#-------------------------------------------------------------------------------- +# a manager for handling error messages +# +class class_err: +""" +An error record has the form [flag, message, args] + class is fatal, warning, info [currently not implemented] + flag is true if an error has occured [need to change this to a count] + args is an array of strings to be given after the error message is printed. + +The dict holds named error records. + +register() is used to name and place error records in the dict. register() is +typically called multiple times to initialize and error instance. + +tattle() is used by the program at run time in order to signal errors. + +has_error() returns true if tattle was ever called + +report() prints an error report. When errors have occured this + +vector() [unimplemented] returns a bit vector with one bit per fatal error +record, in the order they appear in the dictionary. The bit is set if the error +ever occured. + +We check for as many errors as is convenient to do so rather than stopping on +the first error. +""" + + # field offsets into the error record + flag_dex = 0; + message_dex = 1; + args_dex = 2; + + def __init__(self): + self.total_cnt = 0 + self.dict = {} + + def register(name, message): + self.dict[name] = [False, message, []] + + def tattle(name, *args): + self.total_cnt += 1 + if name in self.dict: + self.dict[name][0] = True + self.dict[name][2].extend(args) + + def report(): + if self.total_cnt: + for k,v in self.dict.items(): + if v[self.flag_dex]: + print(v[self.message_dex],end='') + args = v[self.args_dex] + if length(args) : + print(args[0],end='') + for arg in args[1:]: + print( " " + arg, end='') + print() + +#-------------------------------------------------------------------------------- +# parse the command line +# +err.register( + 'impossible_split', + "It is not possible, yet this token split into other than one or two pieces: " + ) +err.register( + 'lone_delim', + "No spaces should appear around the '=' delimiter." + ) + +args = sys.argv[1:] +if len(args) == 0 : + version() + help() + exit(1) + +#create a dictionary based on the command line arguments +arg_dict = {} +subu_cnt = 0 +delim = '=' +for token in args: + token_pair = split(token, delim); + if len(token_pair) == 1 : #means there was no '=' in the token + arg_dict['subu'] = token_pair + subu_cnt++ + elif len(token_pair) == 2 : + if token_pair[0] == '' and token_pair[1] == '' : + err.tattle('lone_delim') + elif token_pair[1] == '' : # then has trailing delim, will treat the same as a leading delim + arg_dict[token_pair[0]] = None + elif token_pair[0] == '' : # then has leading delim + arg_dict[token_pair[1]] = None + else: + arg_dict[token_pair[0]] = token_pair[1] + else: + err.tattle('impossible_split', token) + +if not arg_dict or arg_dict.get('help'): + help() + err.report() + exit(1) + +if arg_dict.get('version'): + version() + +#-------------------------------------------------------------------------------- +# check that the command line arguments are well formed. +# +err.register( + 'too_many_args', + command + " takes at most one non-option argument, but we counted: " + ) +err.register( + 'no_subu' + command + " missing subservient username." + ) +err.register( + 'bad_username' + "Usernames match ^[a-z_]([a-z0-9_-]{0,31}|[a-z0-9_-]{0,30}\$)$, but found: " + ) +err.register( + 'unknown_option' + command + " doesn't implement option: " + ) + +subu = arg_dict.get('subu') +if subu_cnt > 1: + err.tattle('too_many_args') +elif not subu + err.tattle('no_subu') +elif not re.match("^[a-z_]([a-z0-9_-]{0,31}|[a-z0-9_-]{0,30}\$)$", subu) + err.tattle('bad_username', subu) + +for k in arg_dict: + if k not in ['help', 'version', 'shell', 'owner', 'subu'] : + err.tattle('unkown_option', k) + +if arg_dict.get('shell') : + print "shell option aint implemented yet" + + + +#-------------------------------------------------------------------------------- +# check that we have root privilege +# +err.register( + 'not_root' + command + "requires root privilege" + ) + +uid = os.getuid() +if uid != 0 : + err.tattle('not root') + +username = getpass.getuser() +sudo_caller_username = os.environ.get('SUDO_USER') + +if !sudo_caller_username + if username not == "root": + err.tattle('not_root') + elif: + owner + + + def has_error(*errs): + return self.cnt > 0 + + + +#----- + + + + +#-------------------------------------------------------------------------------- +# pull out the owner_dir and subu_dir +# +admin= libuser.admin() + +err_arg_form = class_err() +err_arg_form.register('too_many', "too many semicolon delineated parts in") + +owner_parts = args[0].split(":") +subu_parts = args[1].split(":") + +owner_user_name = owner_parts[0] +if not owner_user_name: + err_arg_form.tattle('owner_user_name_missing', args[0]) +else: + owner_user = admin.lookupUserByName(owner_user_name) + if owner_user == None: + err_arg_form.tattle('no_such_user_name', owner_user_name) + else: + + +subu_user_name = subu_parts[0] + + +if length(owner_parts) > 2: + err_arg_form.tattle('too_many', args[0]) +elif length(owner_parts) == 2: + owner_dir = owner_parts[1] +else # get the home directory + + + + + +#-------------------------------------------------------------------------------- +# set the home directory +# +if len(args) > args_dir_index: + dir = args[args_dir_index] +else: + dir = os.getcwd() + +home = dir + "/" + name +home_flag = not os.path.exists(home) + +#-------------------------------------------------------------------------------- +# create the user, setfacls +# +err_cnt = 0 +name_available_flag = False + +if name_flag: + admin = libuser.admin() + name_available_flag = name not in admin.enumeratedUsers() + +if owner_flag and name_flag and name_available_flag and home_flag : + user = admin.initUser(name) + user[libuser.HOMEDIRECTORY] = home + if opt_shell : user[libuser.SHELL] = opt_shell + admin.addUser(user) + #setfacl -m d:u:plato:rwx,u:plato:rwx directory + setfacl = "setfacl -m d:u:" + name + ":rwx,u:" + name + ":rwx " + home + exit(0) + +#-------------------------------------------------------------------------------- +# error return +# .. need to grab the return code from setfacl above and delete the user if it fails +# +err_flags = 0 +if not owner_flag : + err_flags |= 2**2 + print "missing owning username argument" +if not name_flag : + err_flags |= 2**3 + print name + "missing subservient username argument" +if not name_available_flag : + err_flags |= 2**4 + print name + "specified subservient username already exists" +if not home_flag : + err_flags |= 2**5 + print "user home directory already exists" + +exit(err_flags) diff --git a/try/SUDO_USER_1.sh b/try/SUDO_USER_1.sh new file mode 100755 index 0000000..9a988ed --- /dev/null +++ b/try/SUDO_USER_1.sh @@ -0,0 +1,8 @@ +#!/usr/bin/bash +# + +echo "The SUDO USER is: " $SUDO_USER + + + + diff --git a/try/libuser b/try/libuser new file mode 100755 index 0000000..c936654 --- /dev/null +++ b/try/libuser @@ -0,0 +1,81 @@ +#!/usr/bin/python + +import libuser +import os +import time + +print("--------- Initializing.") +admin = libuser.admin() + +print("--------- Listing.") +for item in sorted(admin.enumerateUsers("l*")): + print("Found a user named \"" + item + "\".") + +print("--------- Lookup.") +ldap = admin.lookupUserByName("ldap") + +print("--------- Reading attribute (get).") +print(ldap.get(libuser.LOGINSHELL)) +print("--------- Reading attribute (map).") +print(ldap[libuser.LOGINSHELL]) +print("--------- Reading keys.") +print(list(ldap.keys())) + +print("--------- Setting attribute.") +ldap.set(libuser.LOGINSHELL, ["/bin/true"]) +ldap[libuser.LOGINSHELL] = "/bin/true" +ldap[libuser.LOGINSHELL] = ["/bin/true"] + +print("--------- Reading attribute (get).") +print(ldap.get(libuser.LOGINSHELL)) +print("--------- Reading attribute (map).") +print(ldap[libuser.LOGINSHELL]) + +print("--------- Getting directory list.") +dir(ldap) + +print("--------- Modifying user.") +admin.modifyUser(ldap) + +print("--------- Enumerating members of the wheel group.") +print(admin.enumerateUsersByGroup("wheel")) + +print("--------- Looking up the wheel group.") +wheel = admin.lookupGroupByName("wheel") + +print("--------- Reading attribute (memberUid).") +print(wheel[libuser.MEMBERNAME]) + +print("--------- Creating a new user (jimbo).") +jimbo = admin.initUser("jimbo") +for attr in jimbo.keys(): + print(" " + attr + ":", jimbo.get(attr)) + +print("--------- Adding the user.") +jimbo[libuser.HOMEDIRECTORY] = '/var/jimbo-home' +print("Set home directory to " + jimbo[libuser.HOMEDIRECTORY][0]) +admin.addUser(jimbo) + +print("--------- Grepping for the user.") +os.system("grep jimbo /etc/passwd /etc/group /etc/shadow /etc/gshadow") + +try: + dir = jimbo.get(libuser.HOMEDIRECTORY) + print("--------- Looking at user's directory.") + os.system("ls " + dir[0]) + print("--------- Looking at mail spool directory.") + os.system("ls -l /var/mail/*") +except: + pass + +print("--------- Removing the user.") +admin.deleteUser(jimbo) +admin.removeHome(jimbo) +admin.removeMail(jimbo) +print("--------- Grepping for the user.") +os.system("grep jimbo /etc/passwd /etc/group /etc/shadow /etc/gshadow") + +print("--------- Getting a list of all users.") +users = admin.enumerateUsersFull() +for user in users: + print(" User `" + user[libuser.USERNAME][0] + "' has uid ", user[libuser.UIDNUMBER][0]) diff --git a/try/print_env.py b/try/print_env.py new file mode 100755 index 0000000..87ebd37 --- /dev/null +++ b/try/print_env.py @@ -0,0 +1,30 @@ +#!/usr/bin/python + +import getpass +import os + +username = getpass.getuser() +print "my username is: " + username + +sudo_caller_username = os.environ.get('SUDO_USER') +if sudo_caller_username: + print "the sudo caller's username is: " + sudo_caller_username +else: + print "there is no sudo caller" + +print "uid: " + str(os.getuid()) +print "euid: " + str(os.geteuid()) +print "resuid: " + str(os.getresuid()) + +null_lookup = os.environ.get('X3841232341') +if null_lookup: + print "very surprising, found X3841232341 in the environment" +elif null_lookup == None: + print "null lookup result: None" +else: + print "null lookup result evaluates to false, but it is not None" + +for k,v in os.environ.items(): + print (k, v) + + diff --git a/try/print_id.sh b/try/print_id.sh new file mode 100755 index 0000000..41d6b5b --- /dev/null +++ b/try/print_id.sh @@ -0,0 +1,5 @@ +#!/bin/bash +# + +echo "real id: " $(id -u) +echo "effective id: " $(id -r -u) diff --git a/try/real_id b/try/real_id new file mode 100755 index 0000000..e19be49 Binary files /dev/null and b/try/real_id differ diff --git a/try/real_id.c b/try/real_id.c new file mode 100644 index 0000000..2437336 --- /dev/null +++ b/try/real_id.c @@ -0,0 +1,11 @@ + +#include +#include +#include + +int main(){ + int uid = getuid(); + int euid = geteuid(); + printf("real_id: %u effective_id: %u\n",uid,euid); + return 0; +} diff --git a/try/real_id_suid_root b/try/real_id_suid_root new file mode 100755 index 0000000..e19be49 Binary files /dev/null and b/try/real_id_suid_root differ diff --git a/try/set_SUDO_USER.sh b/try/set_SUDO_USER.sh new file mode 100755 index 0000000..713d24d --- /dev/null +++ b/try/set_SUDO_USER.sh @@ -0,0 +1,12 @@ +#!/usr/bin/bash +# +# Shows that a regular user can set environment variables with the same names as +# sudo does. Hence it is possible to confuse a script that relies upon the sudo +# variables. +# + +export SUDO_USER=jones +./SUDO_USER_1.sh + + + diff --git a/try/sudo_script_leak/README.txt b/try/sudo_script_leak/README.txt new file mode 100644 index 0000000..6a009c0 --- /dev/null +++ b/try/sudo_script_leak/README.txt @@ -0,0 +1,21 @@ + +If root does not set the PS1 prompt, and the sudo target uses a prompt, for +example sudo su, then this method can be used to trick sudo into running any +script as root as a side effect. + +In this example run_this.sh is the test script. target.sh is the script we +would like to run as a side effect. + +1. remove prompt setting from root, say comment out the PS1= line if there is one. +2. run 'run_this.sh' +3. notice that now the prompt says 'target_running'. + +For example: + +§host§/home/user/src/sudo_script_leak +> ./run_this.sh +\n$(/home/user/src/sudo_script_leak/target.sh)\n§\h§\w\n> + +target running +§host§/home/user/src/sudo_script_leak +> diff --git a/try/sudo_script_leak/build/test_env/Analysis-00.toc b/try/sudo_script_leak/build/test_env/Analysis-00.toc new file mode 100644 index 0000000..4abf14e --- /dev/null +++ b/try/sudo_script_leak/build/test_env/Analysis-00.toc @@ -0,0 +1,383 @@ +(['/home/twl/Documents/subuser/test_env.py'], + ['/home/twl/Documents/subuser', '/home/twl/Documents/subuser'], + ['codecs'], + [], + [], + [], + False, + False, + '2.7.15+ (default, Nov 28 2018, 16:27:22) \n[GCC 8.2.0]', + [('test_env', '/home/twl/Documents/subuser/test_env.py', 'PYSOURCE')], + [('encodings.aliases', + '/usr/lib/python2.7/encodings/aliases.py', + 'PYMODULE'), + ('encodings', '/usr/lib/python2.7/encodings/__init__.py', 'PYMODULE'), + ('encodings.idna', '/usr/lib/python2.7/encodings/idna.py', 'PYMODULE'), + ('re', '/usr/lib/python2.7/re.py', 'PYMODULE'), + ('sre_constants', '/usr/lib/python2.7/sre_constants.py', 'PYMODULE'), + ('sre', '/usr/lib/python2.7/sre.py', 'PYMODULE'), + ('warnings', '/usr/lib/python2.7/warnings.py', 'PYMODULE'), + ('types', '/usr/lib/python2.7/types.py', 'PYMODULE'), + ('linecache', '/usr/lib/python2.7/linecache.py', 'PYMODULE'), + ('string', '/usr/lib/python2.7/string.py', 'PYMODULE'), + ('copy', '/usr/lib/python2.7/copy.py', 'PYMODULE'), + ('repr', '/usr/lib/python2.7/repr.py', 'PYMODULE'), + ('weakref', '/usr/lib/python2.7/weakref.py', 'PYMODULE'), + ('_weakrefset', '/usr/lib/python2.7/_weakrefset.py', 'PYMODULE'), + ('UserDict', '/usr/lib/python2.7/UserDict.py', 'PYMODULE'), + ('_abcoll', '/usr/lib/python2.7/_abcoll.py', 'PYMODULE'), + ('abc', '/usr/lib/python2.7/abc.py', 'PYMODULE'), + ('copy_reg', '/usr/lib/python2.7/copy_reg.py', 'PYMODULE'), + ('sre_parse', '/usr/lib/python2.7/sre_parse.py', 'PYMODULE'), + ('sre_compile', '/usr/lib/python2.7/sre_compile.py', 'PYMODULE'), + ('stringprep', '/usr/lib/python2.7/stringprep.py', 'PYMODULE'), + ('encodings.mbcs', '/usr/lib/python2.7/encodings/mbcs.py', 'PYMODULE'), + ('encodings.raw_unicode_escape', + '/usr/lib/python2.7/encodings/raw_unicode_escape.py', + 'PYMODULE'), + ('encodings.gb18030', + '/usr/lib/python2.7/encodings/gb18030.py', + 'PYMODULE'), + ('encodings.shift_jisx0213', + '/usr/lib/python2.7/encodings/shift_jisx0213.py', + 'PYMODULE'), + ('encodings.ascii', '/usr/lib/python2.7/encodings/ascii.py', 'PYMODULE'), + ('encodings.cp861', '/usr/lib/python2.7/encodings/cp861.py', 'PYMODULE'), + ('encodings.cp860', '/usr/lib/python2.7/encodings/cp860.py', 'PYMODULE'), + ('encodings.cp863', '/usr/lib/python2.7/encodings/cp863.py', 'PYMODULE'), + ('encodings.cp862', '/usr/lib/python2.7/encodings/cp862.py', 'PYMODULE'), + ('encodings.cp865', '/usr/lib/python2.7/encodings/cp865.py', 'PYMODULE'), + ('encodings.big5hkscs', + '/usr/lib/python2.7/encodings/big5hkscs.py', + 'PYMODULE'), + ('encodings.cp866', '/usr/lib/python2.7/encodings/cp866.py', 'PYMODULE'), + ('encodings.cp869', '/usr/lib/python2.7/encodings/cp869.py', 'PYMODULE'), + ('encodings.mac_latin2', + '/usr/lib/python2.7/encodings/mac_latin2.py', + 'PYMODULE'), + ('encodings.hex_codec', + '/usr/lib/python2.7/encodings/hex_codec.py', + 'PYMODULE'), + ('encodings.cp950', '/usr/lib/python2.7/encodings/cp950.py', 'PYMODULE'), + ('encodings.quopri_codec', + '/usr/lib/python2.7/encodings/quopri_codec.py', + 'PYMODULE'), + ('StringIO', '/usr/lib/python2.7/StringIO.py', 'PYMODULE'), + ('quopri', '/usr/lib/python2.7/quopri.py', 'PYMODULE'), + ('getopt', '/usr/lib/python2.7/getopt.py', 'PYMODULE'), + ('encodings.utf_32_be', + '/usr/lib/python2.7/encodings/utf_32_be.py', + 'PYMODULE'), + ('encodings.string_escape', + '/usr/lib/python2.7/encodings/string_escape.py', + 'PYMODULE'), + ('encodings.cp1250', '/usr/lib/python2.7/encodings/cp1250.py', 'PYMODULE'), + ('encodings.cp1251', '/usr/lib/python2.7/encodings/cp1251.py', 'PYMODULE'), + ('encodings.cp1252', '/usr/lib/python2.7/encodings/cp1252.py', 'PYMODULE'), + ('encodings.cp1253', '/usr/lib/python2.7/encodings/cp1253.py', 'PYMODULE'), + ('encodings.cp1254', '/usr/lib/python2.7/encodings/cp1254.py', 'PYMODULE'), + ('encodings.cp1255', '/usr/lib/python2.7/encodings/cp1255.py', 'PYMODULE'), + ('encodings.cp1256', '/usr/lib/python2.7/encodings/cp1256.py', 'PYMODULE'), + ('encodings.cp1257', '/usr/lib/python2.7/encodings/cp1257.py', 'PYMODULE'), + ('encodings.cp1258', '/usr/lib/python2.7/encodings/cp1258.py', 'PYMODULE'), + ('encodings.euc_jp', '/usr/lib/python2.7/encodings/euc_jp.py', 'PYMODULE'), + ('encodings.hz', '/usr/lib/python2.7/encodings/hz.py', 'PYMODULE'), + ('encodings.mac_cyrillic', + '/usr/lib/python2.7/encodings/mac_cyrillic.py', + 'PYMODULE'), + ('encodings.iso2022_kr', + '/usr/lib/python2.7/encodings/iso2022_kr.py', + 'PYMODULE'), + ('encodings.unicode_internal', + '/usr/lib/python2.7/encodings/unicode_internal.py', + 'PYMODULE'), + ('encodings.cp500', '/usr/lib/python2.7/encodings/cp500.py', 'PYMODULE'), + ('encodings.iso8859_10', + '/usr/lib/python2.7/encodings/iso8859_10.py', + 'PYMODULE'), + ('encodings.iso8859_11', + '/usr/lib/python2.7/encodings/iso8859_11.py', + 'PYMODULE'), + ('encodings.iso8859_13', + '/usr/lib/python2.7/encodings/iso8859_13.py', + 'PYMODULE'), + ('encodings.iso8859_14', + '/usr/lib/python2.7/encodings/iso8859_14.py', + 'PYMODULE'), + ('encodings.cp424', '/usr/lib/python2.7/encodings/cp424.py', 'PYMODULE'), + ('encodings.iso8859_16', + '/usr/lib/python2.7/encodings/iso8859_16.py', + 'PYMODULE'), + ('encodings.cp1006', '/usr/lib/python2.7/encodings/cp1006.py', 'PYMODULE'), + ('encodings.hp_roman8', + '/usr/lib/python2.7/encodings/hp_roman8.py', + 'PYMODULE'), + ('encodings.charmap', + '/usr/lib/python2.7/encodings/charmap.py', + 'PYMODULE'), + ('encodings.utf_32', '/usr/lib/python2.7/encodings/utf_32.py', 'PYMODULE'), + ('encodings.latin_1', + '/usr/lib/python2.7/encodings/latin_1.py', + 'PYMODULE'), + ('encodings.utf_16_be', + '/usr/lib/python2.7/encodings/utf_16_be.py', + 'PYMODULE'), + ('encodings.cp737', '/usr/lib/python2.7/encodings/cp737.py', 'PYMODULE'), + ('encodings.utf_16', '/usr/lib/python2.7/encodings/utf_16.py', 'PYMODULE'), + ('encodings.cp437', '/usr/lib/python2.7/encodings/cp437.py', 'PYMODULE'), + ('encodings.mac_roman', + '/usr/lib/python2.7/encodings/mac_roman.py', + 'PYMODULE'), + ('encodings.mac_centeuro', + '/usr/lib/python2.7/encodings/mac_centeuro.py', + 'PYMODULE'), + ('encodings.mac_croatian', + '/usr/lib/python2.7/encodings/mac_croatian.py', + 'PYMODULE'), + ('encodings.punycode', + '/usr/lib/python2.7/encodings/punycode.py', + 'PYMODULE'), + ('encodings.unicode_escape', + '/usr/lib/python2.7/encodings/unicode_escape.py', + 'PYMODULE'), + ('encodings.bz2_codec', + '/usr/lib/python2.7/encodings/bz2_codec.py', + 'PYMODULE'), + ('encodings.rot_13', '/usr/lib/python2.7/encodings/rot_13.py', 'PYMODULE'), + ('encodings.cp874', '/usr/lib/python2.7/encodings/cp874.py', 'PYMODULE'), + ('encodings.cp875', '/usr/lib/python2.7/encodings/cp875.py', 'PYMODULE'), + ('encodings.cp720', '/usr/lib/python2.7/encodings/cp720.py', 'PYMODULE'), + ('encodings.tis_620', + '/usr/lib/python2.7/encodings/tis_620.py', + 'PYMODULE'), + ('encodings.zlib_codec', + '/usr/lib/python2.7/encodings/zlib_codec.py', + 'PYMODULE'), + ('encodings.iso2022_jp_2004', + '/usr/lib/python2.7/encodings/iso2022_jp_2004.py', + 'PYMODULE'), + ('encodings.euc_jisx0213', + '/usr/lib/python2.7/encodings/euc_jisx0213.py', + 'PYMODULE'), + ('encodings.ptcp154', + '/usr/lib/python2.7/encodings/ptcp154.py', + 'PYMODULE'), + ('encodings.uu_codec', + '/usr/lib/python2.7/encodings/uu_codec.py', + 'PYMODULE'), + ('encodings.utf_16_le', + '/usr/lib/python2.7/encodings/utf_16_le.py', + 'PYMODULE'), + ('encodings.iso2022_jp_2', + '/usr/lib/python2.7/encodings/iso2022_jp_2.py', + 'PYMODULE'), + ('encodings.iso2022_jp_3', + '/usr/lib/python2.7/encodings/iso2022_jp_3.py', + 'PYMODULE'), + ('encodings.iso2022_jp_1', + '/usr/lib/python2.7/encodings/iso2022_jp_1.py', + 'PYMODULE'), + ('encodings.mac_romanian', + '/usr/lib/python2.7/encodings/mac_romanian.py', + 'PYMODULE'), + ('encodings.cp1026', '/usr/lib/python2.7/encodings/cp1026.py', 'PYMODULE'), + ('encodings.mac_farsi', + '/usr/lib/python2.7/encodings/mac_farsi.py', + 'PYMODULE'), + ('encodings.undefined', + '/usr/lib/python2.7/encodings/undefined.py', + 'PYMODULE'), + ('encodings.mac_turkish', + '/usr/lib/python2.7/encodings/mac_turkish.py', + 'PYMODULE'), + ('encodings.koi8_u', '/usr/lib/python2.7/encodings/koi8_u.py', 'PYMODULE'), + ('encodings.koi8_r', '/usr/lib/python2.7/encodings/koi8_r.py', 'PYMODULE'), + ('encodings.utf_8_sig', + '/usr/lib/python2.7/encodings/utf_8_sig.py', + 'PYMODULE'), + ('encodings.iso2022_jp', + '/usr/lib/python2.7/encodings/iso2022_jp.py', + 'PYMODULE'), + ('encodings.palmos', '/usr/lib/python2.7/encodings/palmos.py', 'PYMODULE'), + ('encodings.mac_greek', + '/usr/lib/python2.7/encodings/mac_greek.py', + 'PYMODULE'), + ('encodings.shift_jis_2004', + '/usr/lib/python2.7/encodings/shift_jis_2004.py', + 'PYMODULE'), + ('encodings.gbk', '/usr/lib/python2.7/encodings/gbk.py', 'PYMODULE'), + ('encodings.mac_iceland', + '/usr/lib/python2.7/encodings/mac_iceland.py', + 'PYMODULE'), + ('encodings.cp858', '/usr/lib/python2.7/encodings/cp858.py', 'PYMODULE'), + ('encodings.cp850', '/usr/lib/python2.7/encodings/cp850.py', 'PYMODULE'), + ('encodings.cp852', '/usr/lib/python2.7/encodings/cp852.py', 'PYMODULE'), + ('encodings.cp855', '/usr/lib/python2.7/encodings/cp855.py', 'PYMODULE'), + ('encodings.cp856', '/usr/lib/python2.7/encodings/cp856.py', 'PYMODULE'), + ('encodings.cp857', '/usr/lib/python2.7/encodings/cp857.py', 'PYMODULE'), + ('encodings.iso8859_4', + '/usr/lib/python2.7/encodings/iso8859_4.py', + 'PYMODULE'), + ('encodings.iso8859_5', + '/usr/lib/python2.7/encodings/iso8859_5.py', + 'PYMODULE'), + ('encodings.iso8859_6', + '/usr/lib/python2.7/encodings/iso8859_6.py', + 'PYMODULE'), + ('encodings.iso8859_7', + '/usr/lib/python2.7/encodings/iso8859_7.py', + 'PYMODULE'), + ('encodings.iso8859_1', + '/usr/lib/python2.7/encodings/iso8859_1.py', + 'PYMODULE'), + ('encodings.iso8859_2', + '/usr/lib/python2.7/encodings/iso8859_2.py', + 'PYMODULE'), + ('encodings.iso8859_3', + '/usr/lib/python2.7/encodings/iso8859_3.py', + 'PYMODULE'), + ('encodings.gb2312', '/usr/lib/python2.7/encodings/gb2312.py', 'PYMODULE'), + ('encodings.iso8859_8', + '/usr/lib/python2.7/encodings/iso8859_8.py', + 'PYMODULE'), + ('encodings.iso8859_9', + '/usr/lib/python2.7/encodings/iso8859_9.py', + 'PYMODULE'), + ('encodings.cp949', '/usr/lib/python2.7/encodings/cp949.py', 'PYMODULE'), + ('encodings.cp864', '/usr/lib/python2.7/encodings/cp864.py', 'PYMODULE'), + ('encodings.base64_codec', + '/usr/lib/python2.7/encodings/base64_codec.py', + 'PYMODULE'), + ('base64', '/usr/lib/python2.7/base64.py', 'PYMODULE'), + ('struct', '/usr/lib/python2.7/struct.py', 'PYMODULE'), + ('encodings.cp037', '/usr/lib/python2.7/encodings/cp037.py', 'PYMODULE'), + ('encodings.utf_8', '/usr/lib/python2.7/encodings/utf_8.py', 'PYMODULE'), + ('encodings.mac_arabic', + '/usr/lib/python2.7/encodings/mac_arabic.py', + 'PYMODULE'), + ('encodings.euc_kr', '/usr/lib/python2.7/encodings/euc_kr.py', 'PYMODULE'), + ('encodings.utf_7', '/usr/lib/python2.7/encodings/utf_7.py', 'PYMODULE'), + ('encodings.shift_jis', + '/usr/lib/python2.7/encodings/shift_jis.py', + 'PYMODULE'), + ('encodings.utf_32_le', + '/usr/lib/python2.7/encodings/utf_32_le.py', + 'PYMODULE'), + ('encodings.euc_jis_2004', + '/usr/lib/python2.7/encodings/euc_jis_2004.py', + 'PYMODULE'), + ('encodings.cp775', '/usr/lib/python2.7/encodings/cp775.py', 'PYMODULE'), + ('encodings.cp1140', '/usr/lib/python2.7/encodings/cp1140.py', 'PYMODULE'), + ('encodings.big5', '/usr/lib/python2.7/encodings/big5.py', 'PYMODULE'), + ('encodings.iso8859_15', + '/usr/lib/python2.7/encodings/iso8859_15.py', + 'PYMODULE'), + ('encodings.iso2022_jp_ext', + '/usr/lib/python2.7/encodings/iso2022_jp_ext.py', + 'PYMODULE'), + ('encodings.johab', '/usr/lib/python2.7/encodings/johab.py', 'PYMODULE'), + ('encodings.cp932', '/usr/lib/python2.7/encodings/cp932.py', 'PYMODULE'), + ('codecs', '/usr/lib/python2.7/codecs.py', 'PYMODULE'), + ('os', '/usr/lib/python2.7/os.py', 'PYMODULE'), + ('subprocess', '/usr/lib/python2.7/subprocess.py', 'PYMODULE'), + ('pickle', '/usr/lib/python2.7/pickle.py', 'PYMODULE'), + ('doctest', '/usr/lib/python2.7/doctest.py', 'PYMODULE'), + ('collections', '/usr/lib/python2.7/collections.py', 'PYMODULE'), + ('dummy_thread', '/usr/lib/python2.7/dummy_thread.py', 'PYMODULE'), + ('heapq', '/usr/lib/python2.7/heapq.py', 'PYMODULE'), + ('keyword', '/usr/lib/python2.7/keyword.py', 'PYMODULE'), + ('tempfile', '/usr/lib/python2.7/tempfile.py', 'PYMODULE'), + ('random', '/usr/lib/python2.7/random.py', 'PYMODULE'), + ('_strptime', '/usr/lib/python2.7/_strptime.py', 'PYMODULE'), + ('calendar', '/usr/lib/python2.7/calendar.py', 'PYMODULE'), + ('optparse', '/usr/lib/python2.7/optparse.py', 'PYMODULE'), + ('gettext', '/usr/lib/python2.7/gettext.py', 'PYMODULE'), + ('textwrap', '/usr/lib/python2.7/textwrap.py', 'PYMODULE'), + ('locale', '/usr/lib/python2.7/locale.py', 'PYMODULE'), + ('functools', '/usr/lib/python2.7/functools.py', 'PYMODULE'), + ('hashlib', '/usr/lib/python2.7/hashlib.py', 'PYMODULE'), + ('logging', '/usr/lib/python2.7/logging/__init__.py', 'PYMODULE'), + ('atexit', '/usr/lib/python2.7/atexit.py', 'PYMODULE'), + ('io', '/usr/lib/python2.7/io.py', 'PYMODULE'), + ('pdb', '/usr/lib/python2.7/pdb.py', 'PYMODULE'), + ('shlex', '/usr/lib/python2.7/shlex.py', 'PYMODULE'), + ('pprint', '/usr/lib/python2.7/pprint.py', 'PYMODULE'), + ('bdb', '/usr/lib/python2.7/bdb.py', 'PYMODULE'), + ('fnmatch', '/usr/lib/python2.7/fnmatch.py', 'PYMODULE'), + ('cmd', '/usr/lib/python2.7/cmd.py', 'PYMODULE'), + ('difflib', '/usr/lib/python2.7/difflib.py', 'PYMODULE'), + ('unittest', '/usr/lib/python2.7/unittest/__init__.py', 'PYMODULE'), + ('unittest.signals', '/usr/lib/python2.7/unittest/signals.py', 'PYMODULE'), + ('unittest.main', '/usr/lib/python2.7/unittest/main.py', 'PYMODULE'), + ('unittest.runner', '/usr/lib/python2.7/unittest/runner.py', 'PYMODULE'), + ('unittest.loader', '/usr/lib/python2.7/unittest/loader.py', 'PYMODULE'), + ('unittest.suite', '/usr/lib/python2.7/unittest/suite.py', 'PYMODULE'), + ('unittest.case', '/usr/lib/python2.7/unittest/case.py', 'PYMODULE'), + ('unittest.result', '/usr/lib/python2.7/unittest/result.py', 'PYMODULE'), + ('unittest.util', '/usr/lib/python2.7/unittest/util.py', 'PYMODULE'), + ('inspect', '/usr/lib/python2.7/inspect.py', 'PYMODULE'), + ('tokenize', '/usr/lib/python2.7/tokenize.py', 'PYMODULE'), + ('token', '/usr/lib/python2.7/token.py', 'PYMODULE'), + ('dis', '/usr/lib/python2.7/dis.py', 'PYMODULE'), + ('opcode', '/usr/lib/python2.7/opcode.py', 'PYMODULE'), + ('__future__', '/usr/lib/python2.7/__future__.py', 'PYMODULE'), + ('threading', '/usr/lib/python2.7/threading.py', 'PYMODULE'), + ('_threading_local', '/usr/lib/python2.7/_threading_local.py', 'PYMODULE'), + ('traceback', '/usr/lib/python2.7/traceback.py', 'PYMODULE'), + ('os2emxpath', '/usr/lib/python2.7/os2emxpath.py', 'PYMODULE'), + ('genericpath', '/usr/lib/python2.7/genericpath.py', 'PYMODULE'), + ('stat', '/usr/lib/python2.7/stat.py', 'PYMODULE'), + ('ntpath', '/usr/lib/python2.7/ntpath.py', 'PYMODULE'), + ('posixpath', '/usr/lib/python2.7/posixpath.py', 'PYMODULE'), + ('getpass', '/usr/lib/python2.7/getpass.py', 'PYMODULE')], + [('libz.so.1', '/lib/x86_64-linux-gnu/libz.so.1', 'BINARY'), + ('_multibytecodec', + '/usr/lib/python2.7/lib-dynload/_multibytecodec.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_cn', + '/usr/lib/python2.7/lib-dynload/_codecs_cn.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_jp', + '/usr/lib/python2.7/lib-dynload/_codecs_jp.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_hk', + '/usr/lib/python2.7/lib-dynload/_codecs_hk.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_tw', + '/usr/lib/python2.7/lib-dynload/_codecs_tw.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_iso2022', + '/usr/lib/python2.7/lib-dynload/_codecs_iso2022.x86_64-linux-gnu.so', + 'EXTENSION'), + ('bz2', + '/usr/lib/python2.7/lib-dynload/bz2.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_kr', + '/usr/lib/python2.7/lib-dynload/_codecs_kr.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_hashlib', + '/usr/lib/python2.7/lib-dynload/_hashlib.x86_64-linux-gnu.so', + 'EXTENSION'), + ('readline', + '/usr/lib/python2.7/lib-dynload/readline.x86_64-linux-gnu.so', + 'EXTENSION'), + ('resource', + '/usr/lib/python2.7/lib-dynload/resource.x86_64-linux-gnu.so', + 'EXTENSION'), + ('termios', + '/usr/lib/python2.7/lib-dynload/termios.x86_64-linux-gnu.so', + 'EXTENSION'), + ('libbz2.so.1.0', '/lib/x86_64-linux-gnu/libbz2.so.1.0', 'BINARY'), + ('libssl.so.1.1', '/usr/lib/x86_64-linux-gnu/libssl.so.1.1', 'BINARY'), + ('libcrypto.so.1.1', + '/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1', + 'BINARY'), + ('libreadline.so.7', '/lib/x86_64-linux-gnu/libreadline.so.7', 'BINARY'), + ('libtinfo.so.6', '/lib/x86_64-linux-gnu/libtinfo.so.6', 'BINARY'), + ('libpython2.7.so.1.0', + '/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0', + 'BINARY')], + [], + [], + [], + []) diff --git a/try/sudo_script_leak/build/test_env/EXE-00.toc b/try/sudo_script_leak/build/test_env/EXE-00.toc new file mode 100644 index 0000000..d461f81 --- /dev/null +++ b/try/sudo_script_leak/build/test_env/EXE-00.toc @@ -0,0 +1,82 @@ +('/home/twl/Documents/subuser/dist/test_env', + True, + False, + False, + None, + None, + False, + False, + None, + True, + 'test_env.pkg', + [('PYZ-00.pyz', + '/home/twl/Documents/subuser/build/test_env/PYZ-00.pyz', + 'PYZ'), + ('struct', '/usr/lib/python2.7/struct.pyc', 'PYMODULE'), + ('pyimod01_os_path', + '/home/twl/.local/lib/python2.7/site-packages/PyInstaller/loader/pyimod01_os_path.pyc', + 'PYMODULE'), + ('pyimod02_archive', + '/home/twl/.local/lib/python2.7/site-packages/PyInstaller/loader/pyimod02_archive.pyc', + 'PYMODULE'), + ('pyimod03_importers', + '/home/twl/.local/lib/python2.7/site-packages/PyInstaller/loader/pyimod03_importers.pyc', + 'PYMODULE'), + ('pyiboot01_bootstrap', + '/home/twl/.local/lib/python2.7/site-packages/PyInstaller/loader/pyiboot01_bootstrap.py', + 'PYSOURCE'), + ('test_env', '/home/twl/Documents/subuser/test_env.py', 'PYSOURCE'), + ('libz.so.1', '/lib/x86_64-linux-gnu/libz.so.1', 'BINARY'), + ('_multibytecodec', + '/usr/lib/python2.7/lib-dynload/_multibytecodec.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_cn', + '/usr/lib/python2.7/lib-dynload/_codecs_cn.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_jp', + '/usr/lib/python2.7/lib-dynload/_codecs_jp.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_hk', + '/usr/lib/python2.7/lib-dynload/_codecs_hk.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_tw', + '/usr/lib/python2.7/lib-dynload/_codecs_tw.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_iso2022', + '/usr/lib/python2.7/lib-dynload/_codecs_iso2022.x86_64-linux-gnu.so', + 'EXTENSION'), + ('bz2', + '/usr/lib/python2.7/lib-dynload/bz2.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_kr', + '/usr/lib/python2.7/lib-dynload/_codecs_kr.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_hashlib', + '/usr/lib/python2.7/lib-dynload/_hashlib.x86_64-linux-gnu.so', + 'EXTENSION'), + ('readline', + '/usr/lib/python2.7/lib-dynload/readline.x86_64-linux-gnu.so', + 'EXTENSION'), + ('resource', + '/usr/lib/python2.7/lib-dynload/resource.x86_64-linux-gnu.so', + 'EXTENSION'), + ('termios', + '/usr/lib/python2.7/lib-dynload/termios.x86_64-linux-gnu.so', + 'EXTENSION'), + ('libbz2.so.1.0', '/lib/x86_64-linux-gnu/libbz2.so.1.0', 'BINARY'), + ('libssl.so.1.1', '/usr/lib/x86_64-linux-gnu/libssl.so.1.1', 'BINARY'), + ('libcrypto.so.1.1', + '/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1', + 'BINARY'), + ('libreadline.so.7', '/lib/x86_64-linux-gnu/libreadline.so.7', 'BINARY'), + ('libtinfo.so.6', '/lib/x86_64-linux-gnu/libtinfo.so.6', 'BINARY'), + ('libpython2.7.so.1.0', + '/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0', + 'BINARY')], + [], + False, + True, + 1548883098, + [('run', + '/home/twl/.local/lib/python2.7/site-packages/PyInstaller/bootloader/Linux-64bit/run', + 'EXECUTABLE')]) diff --git a/try/sudo_script_leak/build/test_env/PKG-00.pkg b/try/sudo_script_leak/build/test_env/PKG-00.pkg new file mode 100644 index 0000000..faf6da7 Binary files /dev/null and b/try/sudo_script_leak/build/test_env/PKG-00.pkg differ diff --git a/try/sudo_script_leak/build/test_env/PKG-00.toc b/try/sudo_script_leak/build/test_env/PKG-00.toc new file mode 100644 index 0000000..ad23756 --- /dev/null +++ b/try/sudo_script_leak/build/test_env/PKG-00.toc @@ -0,0 +1,75 @@ +('/home/twl/Documents/subuser/build/test_env/PKG-00.pkg', + {'BINARY': 1, + 'DATA': 1, + 'EXECUTABLE': 1, + 'EXTENSION': 1, + 'PYMODULE': 1, + 'PYSOURCE': 1, + 'PYZ': 0}, + [('PYZ-00.pyz', + '/home/twl/Documents/subuser/build/test_env/PYZ-00.pyz', + 'PYZ'), + ('struct', '/usr/lib/python2.7/struct.pyc', 'PYMODULE'), + ('pyimod01_os_path', + '/home/twl/.local/lib/python2.7/site-packages/PyInstaller/loader/pyimod01_os_path.pyc', + 'PYMODULE'), + ('pyimod02_archive', + '/home/twl/.local/lib/python2.7/site-packages/PyInstaller/loader/pyimod02_archive.pyc', + 'PYMODULE'), + ('pyimod03_importers', + '/home/twl/.local/lib/python2.7/site-packages/PyInstaller/loader/pyimod03_importers.pyc', + 'PYMODULE'), + ('pyiboot01_bootstrap', + '/home/twl/.local/lib/python2.7/site-packages/PyInstaller/loader/pyiboot01_bootstrap.py', + 'PYSOURCE'), + ('test_env', '/home/twl/Documents/subuser/test_env.py', 'PYSOURCE'), + ('libz.so.1', '/lib/x86_64-linux-gnu/libz.so.1', 'BINARY'), + ('_multibytecodec', + '/usr/lib/python2.7/lib-dynload/_multibytecodec.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_cn', + '/usr/lib/python2.7/lib-dynload/_codecs_cn.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_jp', + '/usr/lib/python2.7/lib-dynload/_codecs_jp.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_hk', + '/usr/lib/python2.7/lib-dynload/_codecs_hk.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_tw', + '/usr/lib/python2.7/lib-dynload/_codecs_tw.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_iso2022', + '/usr/lib/python2.7/lib-dynload/_codecs_iso2022.x86_64-linux-gnu.so', + 'EXTENSION'), + ('bz2', + '/usr/lib/python2.7/lib-dynload/bz2.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_codecs_kr', + '/usr/lib/python2.7/lib-dynload/_codecs_kr.x86_64-linux-gnu.so', + 'EXTENSION'), + ('_hashlib', + '/usr/lib/python2.7/lib-dynload/_hashlib.x86_64-linux-gnu.so', + 'EXTENSION'), + ('readline', + '/usr/lib/python2.7/lib-dynload/readline.x86_64-linux-gnu.so', + 'EXTENSION'), + ('resource', + '/usr/lib/python2.7/lib-dynload/resource.x86_64-linux-gnu.so', + 'EXTENSION'), + ('termios', + '/usr/lib/python2.7/lib-dynload/termios.x86_64-linux-gnu.so', + 'EXTENSION'), + ('libbz2.so.1.0', '/lib/x86_64-linux-gnu/libbz2.so.1.0', 'BINARY'), + ('libssl.so.1.1', '/usr/lib/x86_64-linux-gnu/libssl.so.1.1', 'BINARY'), + ('libcrypto.so.1.1', + '/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1', + 'BINARY'), + ('libreadline.so.7', '/lib/x86_64-linux-gnu/libreadline.so.7', 'BINARY'), + ('libtinfo.so.6', '/lib/x86_64-linux-gnu/libtinfo.so.6', 'BINARY'), + ('libpython2.7.so.1.0', + '/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0', + 'BINARY')], + False, + False, + True) diff --git a/try/sudo_script_leak/build/test_env/PYZ-00.pyz b/try/sudo_script_leak/build/test_env/PYZ-00.pyz new file mode 100644 index 0000000..6c9ec54 Binary files /dev/null and b/try/sudo_script_leak/build/test_env/PYZ-00.pyz differ diff --git a/try/sudo_script_leak/build/test_env/PYZ-00.toc b/try/sudo_script_leak/build/test_env/PYZ-00.toc new file mode 100644 index 0000000..16e3b0c --- /dev/null +++ b/try/sudo_script_leak/build/test_env/PYZ-00.toc @@ -0,0 +1,323 @@ +('/home/twl/Documents/subuser/build/test_env/PYZ-00.pyz', + [('encodings.aliases', + '/usr/lib/python2.7/encodings/aliases.py', + 'PYMODULE'), + ('encodings', '/usr/lib/python2.7/encodings/__init__.py', 'PYMODULE'), + ('encodings.idna', '/usr/lib/python2.7/encodings/idna.py', 'PYMODULE'), + ('re', '/usr/lib/python2.7/re.py', 'PYMODULE'), + ('sre_constants', '/usr/lib/python2.7/sre_constants.py', 'PYMODULE'), + ('sre', '/usr/lib/python2.7/sre.py', 'PYMODULE'), + ('warnings', '/usr/lib/python2.7/warnings.py', 'PYMODULE'), + ('types', '/usr/lib/python2.7/types.py', 'PYMODULE'), + ('linecache', '/usr/lib/python2.7/linecache.py', 'PYMODULE'), + ('string', '/usr/lib/python2.7/string.py', 'PYMODULE'), + ('copy', '/usr/lib/python2.7/copy.py', 'PYMODULE'), + ('repr', '/usr/lib/python2.7/repr.py', 'PYMODULE'), + ('weakref', '/usr/lib/python2.7/weakref.py', 'PYMODULE'), + ('_weakrefset', '/usr/lib/python2.7/_weakrefset.py', 'PYMODULE'), + ('UserDict', '/usr/lib/python2.7/UserDict.py', 'PYMODULE'), + ('_abcoll', '/usr/lib/python2.7/_abcoll.py', 'PYMODULE'), + ('abc', '/usr/lib/python2.7/abc.py', 'PYMODULE'), + ('copy_reg', '/usr/lib/python2.7/copy_reg.py', 'PYMODULE'), + ('sre_parse', '/usr/lib/python2.7/sre_parse.py', 'PYMODULE'), + ('sre_compile', '/usr/lib/python2.7/sre_compile.py', 'PYMODULE'), + ('stringprep', '/usr/lib/python2.7/stringprep.py', 'PYMODULE'), + ('encodings.mbcs', '/usr/lib/python2.7/encodings/mbcs.py', 'PYMODULE'), + ('encodings.raw_unicode_escape', + '/usr/lib/python2.7/encodings/raw_unicode_escape.py', + 'PYMODULE'), + ('encodings.gb18030', + '/usr/lib/python2.7/encodings/gb18030.py', + 'PYMODULE'), + ('encodings.shift_jisx0213', + '/usr/lib/python2.7/encodings/shift_jisx0213.py', + 'PYMODULE'), + ('encodings.ascii', '/usr/lib/python2.7/encodings/ascii.py', 'PYMODULE'), + ('encodings.cp861', '/usr/lib/python2.7/encodings/cp861.py', 'PYMODULE'), + ('encodings.cp860', '/usr/lib/python2.7/encodings/cp860.py', 'PYMODULE'), + ('encodings.cp863', '/usr/lib/python2.7/encodings/cp863.py', 'PYMODULE'), + ('encodings.cp862', '/usr/lib/python2.7/encodings/cp862.py', 'PYMODULE'), + ('encodings.cp865', '/usr/lib/python2.7/encodings/cp865.py', 'PYMODULE'), + ('encodings.big5hkscs', + '/usr/lib/python2.7/encodings/big5hkscs.py', + 'PYMODULE'), + ('encodings.cp866', '/usr/lib/python2.7/encodings/cp866.py', 'PYMODULE'), + ('encodings.cp869', '/usr/lib/python2.7/encodings/cp869.py', 'PYMODULE'), + ('encodings.mac_latin2', + '/usr/lib/python2.7/encodings/mac_latin2.py', + 'PYMODULE'), + ('encodings.hex_codec', + '/usr/lib/python2.7/encodings/hex_codec.py', + 'PYMODULE'), + ('encodings.cp950', '/usr/lib/python2.7/encodings/cp950.py', 'PYMODULE'), + ('encodings.quopri_codec', + '/usr/lib/python2.7/encodings/quopri_codec.py', + 'PYMODULE'), + ('StringIO', '/usr/lib/python2.7/StringIO.py', 'PYMODULE'), + ('quopri', '/usr/lib/python2.7/quopri.py', 'PYMODULE'), + ('getopt', '/usr/lib/python2.7/getopt.py', 'PYMODULE'), + ('encodings.utf_32_be', + '/usr/lib/python2.7/encodings/utf_32_be.py', + 'PYMODULE'), + ('encodings.string_escape', + '/usr/lib/python2.7/encodings/string_escape.py', + 'PYMODULE'), + ('encodings.cp1250', '/usr/lib/python2.7/encodings/cp1250.py', 'PYMODULE'), + ('encodings.cp1251', '/usr/lib/python2.7/encodings/cp1251.py', 'PYMODULE'), + ('encodings.cp1252', '/usr/lib/python2.7/encodings/cp1252.py', 'PYMODULE'), + ('encodings.cp1253', '/usr/lib/python2.7/encodings/cp1253.py', 'PYMODULE'), + ('encodings.cp1254', '/usr/lib/python2.7/encodings/cp1254.py', 'PYMODULE'), + ('encodings.cp1255', '/usr/lib/python2.7/encodings/cp1255.py', 'PYMODULE'), + ('encodings.cp1256', '/usr/lib/python2.7/encodings/cp1256.py', 'PYMODULE'), + ('encodings.cp1257', '/usr/lib/python2.7/encodings/cp1257.py', 'PYMODULE'), + ('encodings.cp1258', '/usr/lib/python2.7/encodings/cp1258.py', 'PYMODULE'), + ('encodings.euc_jp', '/usr/lib/python2.7/encodings/euc_jp.py', 'PYMODULE'), + ('encodings.hz', '/usr/lib/python2.7/encodings/hz.py', 'PYMODULE'), + ('encodings.mac_cyrillic', + '/usr/lib/python2.7/encodings/mac_cyrillic.py', + 'PYMODULE'), + ('encodings.iso2022_kr', + '/usr/lib/python2.7/encodings/iso2022_kr.py', + 'PYMODULE'), + ('encodings.unicode_internal', + '/usr/lib/python2.7/encodings/unicode_internal.py', + 'PYMODULE'), + ('encodings.cp500', '/usr/lib/python2.7/encodings/cp500.py', 'PYMODULE'), + ('encodings.iso8859_10', + '/usr/lib/python2.7/encodings/iso8859_10.py', + 'PYMODULE'), + ('encodings.iso8859_11', + '/usr/lib/python2.7/encodings/iso8859_11.py', + 'PYMODULE'), + ('encodings.iso8859_13', + '/usr/lib/python2.7/encodings/iso8859_13.py', + 'PYMODULE'), + ('encodings.iso8859_14', + '/usr/lib/python2.7/encodings/iso8859_14.py', + 'PYMODULE'), + ('encodings.cp424', '/usr/lib/python2.7/encodings/cp424.py', 'PYMODULE'), + ('encodings.iso8859_16', + '/usr/lib/python2.7/encodings/iso8859_16.py', + 'PYMODULE'), + ('encodings.cp1006', '/usr/lib/python2.7/encodings/cp1006.py', 'PYMODULE'), + ('encodings.hp_roman8', + '/usr/lib/python2.7/encodings/hp_roman8.py', + 'PYMODULE'), + ('encodings.charmap', + '/usr/lib/python2.7/encodings/charmap.py', + 'PYMODULE'), + ('encodings.utf_32', '/usr/lib/python2.7/encodings/utf_32.py', 'PYMODULE'), + ('encodings.latin_1', + '/usr/lib/python2.7/encodings/latin_1.py', + 'PYMODULE'), + ('encodings.utf_16_be', + '/usr/lib/python2.7/encodings/utf_16_be.py', + 'PYMODULE'), + ('encodings.cp737', '/usr/lib/python2.7/encodings/cp737.py', 'PYMODULE'), + ('encodings.utf_16', '/usr/lib/python2.7/encodings/utf_16.py', 'PYMODULE'), + ('encodings.cp437', '/usr/lib/python2.7/encodings/cp437.py', 'PYMODULE'), + ('encodings.mac_roman', + '/usr/lib/python2.7/encodings/mac_roman.py', + 'PYMODULE'), + ('encodings.mac_centeuro', + '/usr/lib/python2.7/encodings/mac_centeuro.py', + 'PYMODULE'), + ('encodings.mac_croatian', + '/usr/lib/python2.7/encodings/mac_croatian.py', + 'PYMODULE'), + ('encodings.punycode', + '/usr/lib/python2.7/encodings/punycode.py', + 'PYMODULE'), + ('encodings.unicode_escape', + '/usr/lib/python2.7/encodings/unicode_escape.py', + 'PYMODULE'), + ('encodings.bz2_codec', + '/usr/lib/python2.7/encodings/bz2_codec.py', + 'PYMODULE'), + ('encodings.rot_13', '/usr/lib/python2.7/encodings/rot_13.py', 'PYMODULE'), + ('encodings.cp874', '/usr/lib/python2.7/encodings/cp874.py', 'PYMODULE'), + ('encodings.cp875', '/usr/lib/python2.7/encodings/cp875.py', 'PYMODULE'), + ('encodings.cp720', '/usr/lib/python2.7/encodings/cp720.py', 'PYMODULE'), + ('encodings.tis_620', + '/usr/lib/python2.7/encodings/tis_620.py', + 'PYMODULE'), + ('encodings.zlib_codec', + '/usr/lib/python2.7/encodings/zlib_codec.py', + 'PYMODULE'), + ('encodings.iso2022_jp_2004', + '/usr/lib/python2.7/encodings/iso2022_jp_2004.py', + 'PYMODULE'), + ('encodings.euc_jisx0213', + '/usr/lib/python2.7/encodings/euc_jisx0213.py', + 'PYMODULE'), + ('encodings.ptcp154', + '/usr/lib/python2.7/encodings/ptcp154.py', + 'PYMODULE'), + ('encodings.uu_codec', + '/usr/lib/python2.7/encodings/uu_codec.py', + 'PYMODULE'), + ('encodings.utf_16_le', + '/usr/lib/python2.7/encodings/utf_16_le.py', + 'PYMODULE'), + ('encodings.iso2022_jp_2', + '/usr/lib/python2.7/encodings/iso2022_jp_2.py', + 'PYMODULE'), + ('encodings.iso2022_jp_3', + '/usr/lib/python2.7/encodings/iso2022_jp_3.py', + 'PYMODULE'), + ('encodings.iso2022_jp_1', + '/usr/lib/python2.7/encodings/iso2022_jp_1.py', + 'PYMODULE'), + ('encodings.mac_romanian', + '/usr/lib/python2.7/encodings/mac_romanian.py', + 'PYMODULE'), + ('encodings.cp1026', '/usr/lib/python2.7/encodings/cp1026.py', 'PYMODULE'), + ('encodings.mac_farsi', + '/usr/lib/python2.7/encodings/mac_farsi.py', + 'PYMODULE'), + ('encodings.undefined', + '/usr/lib/python2.7/encodings/undefined.py', + 'PYMODULE'), + ('encodings.mac_turkish', + '/usr/lib/python2.7/encodings/mac_turkish.py', + 'PYMODULE'), + ('encodings.koi8_u', '/usr/lib/python2.7/encodings/koi8_u.py', 'PYMODULE'), + ('encodings.koi8_r', '/usr/lib/python2.7/encodings/koi8_r.py', 'PYMODULE'), + ('encodings.utf_8_sig', + '/usr/lib/python2.7/encodings/utf_8_sig.py', + 'PYMODULE'), + ('encodings.iso2022_jp', + '/usr/lib/python2.7/encodings/iso2022_jp.py', + 'PYMODULE'), + ('encodings.palmos', '/usr/lib/python2.7/encodings/palmos.py', 'PYMODULE'), + ('encodings.mac_greek', + '/usr/lib/python2.7/encodings/mac_greek.py', + 'PYMODULE'), + ('encodings.shift_jis_2004', + '/usr/lib/python2.7/encodings/shift_jis_2004.py', + 'PYMODULE'), + ('encodings.gbk', '/usr/lib/python2.7/encodings/gbk.py', 'PYMODULE'), + ('encodings.mac_iceland', + '/usr/lib/python2.7/encodings/mac_iceland.py', + 'PYMODULE'), + ('encodings.cp858', '/usr/lib/python2.7/encodings/cp858.py', 'PYMODULE'), + ('encodings.cp850', '/usr/lib/python2.7/encodings/cp850.py', 'PYMODULE'), + ('encodings.cp852', '/usr/lib/python2.7/encodings/cp852.py', 'PYMODULE'), + ('encodings.cp855', '/usr/lib/python2.7/encodings/cp855.py', 'PYMODULE'), + ('encodings.cp856', '/usr/lib/python2.7/encodings/cp856.py', 'PYMODULE'), + ('encodings.cp857', '/usr/lib/python2.7/encodings/cp857.py', 'PYMODULE'), + ('encodings.iso8859_4', + '/usr/lib/python2.7/encodings/iso8859_4.py', + 'PYMODULE'), + ('encodings.iso8859_5', + '/usr/lib/python2.7/encodings/iso8859_5.py', + 'PYMODULE'), + ('encodings.iso8859_6', + '/usr/lib/python2.7/encodings/iso8859_6.py', + 'PYMODULE'), + ('encodings.iso8859_7', + '/usr/lib/python2.7/encodings/iso8859_7.py', + 'PYMODULE'), + ('encodings.iso8859_1', + '/usr/lib/python2.7/encodings/iso8859_1.py', + 'PYMODULE'), + ('encodings.iso8859_2', + '/usr/lib/python2.7/encodings/iso8859_2.py', + 'PYMODULE'), + ('encodings.iso8859_3', + '/usr/lib/python2.7/encodings/iso8859_3.py', + 'PYMODULE'), + ('encodings.gb2312', '/usr/lib/python2.7/encodings/gb2312.py', 'PYMODULE'), + ('encodings.iso8859_8', + '/usr/lib/python2.7/encodings/iso8859_8.py', + 'PYMODULE'), + ('encodings.iso8859_9', + '/usr/lib/python2.7/encodings/iso8859_9.py', + 'PYMODULE'), + ('encodings.cp949', '/usr/lib/python2.7/encodings/cp949.py', 'PYMODULE'), + ('encodings.cp864', '/usr/lib/python2.7/encodings/cp864.py', 'PYMODULE'), + ('encodings.base64_codec', + '/usr/lib/python2.7/encodings/base64_codec.py', + 'PYMODULE'), + ('base64', '/usr/lib/python2.7/base64.py', 'PYMODULE'), + ('struct', '/usr/lib/python2.7/struct.py', 'PYMODULE'), + ('encodings.cp037', '/usr/lib/python2.7/encodings/cp037.py', 'PYMODULE'), + ('encodings.utf_8', '/usr/lib/python2.7/encodings/utf_8.py', 'PYMODULE'), + ('encodings.mac_arabic', + '/usr/lib/python2.7/encodings/mac_arabic.py', + 'PYMODULE'), + ('encodings.euc_kr', '/usr/lib/python2.7/encodings/euc_kr.py', 'PYMODULE'), + ('encodings.utf_7', '/usr/lib/python2.7/encodings/utf_7.py', 'PYMODULE'), + ('encodings.shift_jis', + '/usr/lib/python2.7/encodings/shift_jis.py', + 'PYMODULE'), + ('encodings.utf_32_le', + '/usr/lib/python2.7/encodings/utf_32_le.py', + 'PYMODULE'), + ('encodings.euc_jis_2004', + '/usr/lib/python2.7/encodings/euc_jis_2004.py', + 'PYMODULE'), + ('encodings.cp775', '/usr/lib/python2.7/encodings/cp775.py', 'PYMODULE'), + ('encodings.cp1140', '/usr/lib/python2.7/encodings/cp1140.py', 'PYMODULE'), + ('encodings.big5', '/usr/lib/python2.7/encodings/big5.py', 'PYMODULE'), + ('encodings.iso8859_15', + '/usr/lib/python2.7/encodings/iso8859_15.py', + 'PYMODULE'), + ('encodings.iso2022_jp_ext', + '/usr/lib/python2.7/encodings/iso2022_jp_ext.py', + 'PYMODULE'), + ('encodings.johab', '/usr/lib/python2.7/encodings/johab.py', 'PYMODULE'), + ('encodings.cp932', '/usr/lib/python2.7/encodings/cp932.py', 'PYMODULE'), + ('codecs', '/usr/lib/python2.7/codecs.py', 'PYMODULE'), + ('os', '/usr/lib/python2.7/os.py', 'PYMODULE'), + ('subprocess', '/usr/lib/python2.7/subprocess.py', 'PYMODULE'), + ('pickle', '/usr/lib/python2.7/pickle.py', 'PYMODULE'), + ('doctest', '/usr/lib/python2.7/doctest.py', 'PYMODULE'), + ('collections', '/usr/lib/python2.7/collections.py', 'PYMODULE'), + ('dummy_thread', '/usr/lib/python2.7/dummy_thread.py', 'PYMODULE'), + ('heapq', '/usr/lib/python2.7/heapq.py', 'PYMODULE'), + ('keyword', '/usr/lib/python2.7/keyword.py', 'PYMODULE'), + ('tempfile', '/usr/lib/python2.7/tempfile.py', 'PYMODULE'), + ('random', '/usr/lib/python2.7/random.py', 'PYMODULE'), + ('_strptime', '/usr/lib/python2.7/_strptime.py', 'PYMODULE'), + ('calendar', '/usr/lib/python2.7/calendar.py', 'PYMODULE'), + ('optparse', '/usr/lib/python2.7/optparse.py', 'PYMODULE'), + ('gettext', '/usr/lib/python2.7/gettext.py', 'PYMODULE'), + ('textwrap', '/usr/lib/python2.7/textwrap.py', 'PYMODULE'), + ('locale', '/usr/lib/python2.7/locale.py', 'PYMODULE'), + ('functools', '/usr/lib/python2.7/functools.py', 'PYMODULE'), + ('hashlib', '/usr/lib/python2.7/hashlib.py', 'PYMODULE'), + ('logging', '/usr/lib/python2.7/logging/__init__.py', 'PYMODULE'), + ('atexit', '/usr/lib/python2.7/atexit.py', 'PYMODULE'), + ('io', '/usr/lib/python2.7/io.py', 'PYMODULE'), + ('pdb', '/usr/lib/python2.7/pdb.py', 'PYMODULE'), + ('shlex', '/usr/lib/python2.7/shlex.py', 'PYMODULE'), + ('pprint', '/usr/lib/python2.7/pprint.py', 'PYMODULE'), + ('bdb', '/usr/lib/python2.7/bdb.py', 'PYMODULE'), + ('fnmatch', '/usr/lib/python2.7/fnmatch.py', 'PYMODULE'), + ('cmd', '/usr/lib/python2.7/cmd.py', 'PYMODULE'), + ('difflib', '/usr/lib/python2.7/difflib.py', 'PYMODULE'), + ('unittest', '/usr/lib/python2.7/unittest/__init__.py', 'PYMODULE'), + ('unittest.signals', '/usr/lib/python2.7/unittest/signals.py', 'PYMODULE'), + ('unittest.main', '/usr/lib/python2.7/unittest/main.py', 'PYMODULE'), + ('unittest.runner', '/usr/lib/python2.7/unittest/runner.py', 'PYMODULE'), + ('unittest.loader', '/usr/lib/python2.7/unittest/loader.py', 'PYMODULE'), + ('unittest.suite', '/usr/lib/python2.7/unittest/suite.py', 'PYMODULE'), + ('unittest.case', '/usr/lib/python2.7/unittest/case.py', 'PYMODULE'), + ('unittest.result', '/usr/lib/python2.7/unittest/result.py', 'PYMODULE'), + ('unittest.util', '/usr/lib/python2.7/unittest/util.py', 'PYMODULE'), + ('inspect', '/usr/lib/python2.7/inspect.py', 'PYMODULE'), + ('tokenize', '/usr/lib/python2.7/tokenize.py', 'PYMODULE'), + ('token', '/usr/lib/python2.7/token.py', 'PYMODULE'), + ('dis', '/usr/lib/python2.7/dis.py', 'PYMODULE'), + ('opcode', '/usr/lib/python2.7/opcode.py', 'PYMODULE'), + ('__future__', '/usr/lib/python2.7/__future__.py', 'PYMODULE'), + ('threading', '/usr/lib/python2.7/threading.py', 'PYMODULE'), + ('_threading_local', '/usr/lib/python2.7/_threading_local.py', 'PYMODULE'), + ('traceback', '/usr/lib/python2.7/traceback.py', 'PYMODULE'), + ('os2emxpath', '/usr/lib/python2.7/os2emxpath.py', 'PYMODULE'), + ('genericpath', '/usr/lib/python2.7/genericpath.py', 'PYMODULE'), + ('stat', '/usr/lib/python2.7/stat.py', 'PYMODULE'), + ('ntpath', '/usr/lib/python2.7/ntpath.py', 'PYMODULE'), + ('posixpath', '/usr/lib/python2.7/posixpath.py', 'PYMODULE'), + ('getpass', '/usr/lib/python2.7/getpass.py', 'PYMODULE')]) diff --git a/try/sudo_script_leak/build/test_env/warn-test_env.txt b/try/sudo_script_leak/build/test_env/warn-test_env.txt new file mode 100644 index 0000000..bd6c59b --- /dev/null +++ b/try/sudo_script_leak/build/test_env/warn-test_env.txt @@ -0,0 +1,28 @@ + +This file lists modules PyInstaller was not able to find. This does not +necessarily mean this module is required for running you program. Python and +Python 3rd-party packages include a lot of conditional or optional module. For +example the module 'ntpath' only exists on Windows, whereas the module +'posixpath' only exists on Posix systems. + +Types if import: +* top-level: imported at the top-level - look at these first +* conditional: imported within an if-statement +* delayed: imported from within a function +* optional: imported within a try-except-statement + +IMPORTANT: Do NOT post this list to the issue-tracker. Use it as a basis for + yourself tracking down the missing module. Thanks! + +missing module named org - imported by copy (optional) +missing module named 'org.python' - imported by pickle (optional) +missing module named _subprocess - imported by subprocess (conditional) +missing module named msvcrt - imported by subprocess (conditional), getpass (delayed, optional) +missing module named riscosenviron - imported by os (conditional, optional) +missing module named riscospath - imported by os (conditional) +missing module named riscos - imported by os (conditional, optional) +missing module named ce - imported by os (conditional, optional) +missing module named _emx_link - imported by os (conditional) +missing module named os2 - imported by os (conditional, optional) +missing module named nt - imported by os (conditional, optional), ntpath (optional) +missing module named EasyDialogs - imported by getpass (optional) diff --git a/try/sudo_script_leak/build/test_env/xref-test_env.html b/try/sudo_script_leak/build/test_env/xref-test_env.html new file mode 100644 index 0000000..b356aba --- /dev/null +++ b/try/sudo_script_leak/build/test_env/xref-test_env.html @@ -0,0 +1,5039 @@ + + + modulegraph cross reference for test_env.py + + + +

modulegraph cross reference for test_env.py

+ +
+ + test_env.py +Script
+imports: + __builtin__ + • _codecs + • codecs + • encodings + • encodings.aliases + • getpass + • os + • sys + +
+ +
+ +
+ + 'org.python' +MissingModule
+imported by: + pickle + +
+ +
+ +
+ + EasyDialogs +MissingModule
+imported by: + getpass + +
+ +
+ +
+ + StringIO +SourceModule
+imports: + errno + • sys + +
+
+imported by: + doctest + • encodings.quopri_codec + • pickle + • pprint + • shlex + • tempfile + • unittest.result + +
+ +
+ +
+ + UserDict +SourceModule
+imports: + _abcoll + • copy + • warnings + +
+
+imported by: + os + • weakref + +
+ +
+ +
+ + __builtin__ (builtin module)
+imported by: + codecs + • encodings + • gettext + • optparse + • repr + • test_env.py + +
+ +
+ +
+ + __future__ +SourceModule
+imported by: + doctest + • random + +
+ +
+ +
+ + _abcoll +SourceModule
+imports: + abc + • sys + +
+
+imported by: + UserDict + • collections + +
+ +
+ +
+ + _codecs (builtin module)
+imported by: + codecs + • test_env.py + +
+ +
+ +
+ + _codecs_cn /usr/lib/python2.7/lib-dynload/_codecs_cn.x86_64-linux-gnu.so
+imported by: + encodings.gb18030 + • encodings.gb2312 + • encodings.gbk + • encodings.hz + +
+ +
+ +
+ + _codecs_hk /usr/lib/python2.7/lib-dynload/_codecs_hk.x86_64-linux-gnu.so
+imported by: + encodings.big5hkscs + +
+ +
+ +
+ + _codecs_iso2022 /usr/lib/python2.7/lib-dynload/_codecs_iso2022.x86_64-linux-gnu.so + +
+ +
+ + _codecs_jp /usr/lib/python2.7/lib-dynload/_codecs_jp.x86_64-linux-gnu.so + +
+ +
+ + _codecs_kr /usr/lib/python2.7/lib-dynload/_codecs_kr.x86_64-linux-gnu.so
+imported by: + encodings.cp949 + • encodings.euc_kr + • encodings.johab + +
+ +
+ +
+ + _codecs_tw /usr/lib/python2.7/lib-dynload/_codecs_tw.x86_64-linux-gnu.so
+imported by: + encodings.big5 + • encodings.cp950 + +
+ +
+ +
+ + _collections (builtin module)
+imported by: + collections + +
+ +
+ +
+ + _emx_link +MissingModule
+imported by: + os + +
+ +
+ +
+ + _functools (builtin module)
+imported by: + functools + +
+ +
+ +
+ + _hashlib /usr/lib/python2.7/lib-dynload/_hashlib.x86_64-linux-gnu.so
+imported by: + hashlib + +
+ +
+ +
+ + _heapq (builtin module)
+imported by: + heapq + +
+ +
+ +
+ + _io (builtin module)
+imported by: + io + +
+ +
+ +
+ + _locale (builtin module)
+imported by: + locale + • re + +
+ +
+ +
+ + _md5 (builtin module)
+imported by: + hashlib + +
+ +
+ + + +
+ + _random (builtin module)
+imported by: + random + +
+ +
+ +
+ + _sha (builtin module)
+imported by: + hashlib + +
+ +
+ +
+ + _sha256 (builtin module)
+imported by: + hashlib + +
+ +
+ +
+ + _sha512 (builtin module)
+imported by: + hashlib + +
+ +
+ +
+ + _sre (builtin module)
+imports: + copy + • sre + • string + +
+
+imported by: + sre_compile + • sre_constants + +
+ +
+ +
+ + _strptime +SourceModule
+imports: + calendar + • datetime + • dummy_thread + • locale + • re + • thread + • time + +
+
+imported by: + time + +
+ +
+ +
+ + _struct (builtin module)
+imported by: + struct + +
+ +
+ +
+ + _subprocess +MissingModule
+imported by: + subprocess + +
+ +
+ +
+ + _threading_local +SourceModule
+imports: + threading + +
+
+imported by: + threading + +
+ +
+ +
+ + _warnings (builtin module)
+imported by: + warnings + +
+ +
+ +
+ + _weakref (builtin module)
+imported by: + _weakrefset + • weakref + +
+ +
+ +
+ + _weakrefset +SourceModule
+imports: + _weakref + +
+
+imported by: + abc + • weakref + +
+ +
+ +
+ + abc +SourceModule
+imports: + _weakrefset + • types + +
+
+imported by: + _abcoll + • io + +
+ +
+ +
+ + array (builtin module)
+imported by: + sre_compile + +
+ +
+ +
+ + atexit +SourceModule
+imports: + sys + • traceback + +
+
+imported by: + logging + +
+ +
+ +
+ + base64 +SourceModule
+imports: + binascii + • getopt + • re + • string + • struct + • sys + +
+
+imported by: + encodings.base64_codec + +
+ +
+ +
+ + bdb +SourceModule
+imports: + fnmatch + • linecache + • os + • repr + • sys + • types + +
+
+imported by: + pdb + +
+ +
+ +
+ + binascii (builtin module)
+imported by: + base64 + • encodings.hex_codec + • encodings.uu_codec + • hashlib + • pickle + • quopri + • random + +
+ +
+ +
+ + bz2 /usr/lib/python2.7/lib-dynload/bz2.x86_64-linux-gnu.so
+imported by: + encodings.bz2_codec + +
+ +
+ +
+ + cPickle (builtin module)
+imports: + cStringIO + • copy_reg + +
+
+imported by: + collections + +
+ +
+ +
+ + cStringIO (builtin module)
+imports: + copy_reg + +
+
+imported by: + cPickle + • encodings.quopri_codec + • encodings.uu_codec + • logging + • pickle + • pprint + • quopri + • shlex + • tempfile + +
+ +
+ +
+ + calendar +SourceModule
+imports: + datetime + • locale + • optparse + • sys + +
+
+imported by: + _strptime + +
+ +
+ +
+ + ce +MissingModule
+imported by: + os + +
+ +
+ +
+ + cmd +SourceModule
+imports: + readline + • string + • sys + +
+
+imported by: + pdb + +
+ +
+ +
+ + codecs +SourceModule
+imports: + __builtin__ + • _codecs + • encodings + • sys + +
+
+imported by: + encodings + • encodings.ascii + • encodings.base64_codec + • encodings.big5 + • encodings.big5hkscs + • encodings.bz2_codec + • encodings.charmap + • encodings.cp037 + • encodings.cp1006 + • encodings.cp1026 + • encodings.cp1140 + • encodings.cp1250 + • encodings.cp1251 + • encodings.cp1252 + • encodings.cp1253 + • encodings.cp1254 + • encodings.cp1255 + • encodings.cp1256 + • encodings.cp1257 + • encodings.cp1258 + • encodings.cp424 + • encodings.cp437 + • encodings.cp500 + • encodings.cp720 + • encodings.cp737 + • encodings.cp775 + • encodings.cp850 + • encodings.cp852 + • encodings.cp855 + • encodings.cp856 + • encodings.cp857 + • encodings.cp858 + • encodings.cp860 + • encodings.cp861 + • encodings.cp862 + • encodings.cp863 + • encodings.cp864 + • encodings.cp865 + • encodings.cp866 + • encodings.cp869 + • encodings.cp874 + • encodings.cp875 + • encodings.cp932 + • encodings.cp949 + • encodings.cp950 + • encodings.euc_jis_2004 + • encodings.euc_jisx0213 + • encodings.euc_jp + • encodings.euc_kr + • encodings.gb18030 + • encodings.gb2312 + • encodings.gbk + • encodings.hex_codec + • encodings.hp_roman8 + • encodings.hz + • encodings.idna + • encodings.iso2022_jp + • encodings.iso2022_jp_1 + • encodings.iso2022_jp_2 + • encodings.iso2022_jp_2004 + • encodings.iso2022_jp_3 + • encodings.iso2022_jp_ext + • encodings.iso2022_kr + • encodings.iso8859_1 + • encodings.iso8859_10 + • encodings.iso8859_11 + • encodings.iso8859_13 + • encodings.iso8859_14 + • encodings.iso8859_15 + • encodings.iso8859_16 + • encodings.iso8859_2 + • encodings.iso8859_3 + • encodings.iso8859_4 + • encodings.iso8859_5 + • encodings.iso8859_6 + • encodings.iso8859_7 + • encodings.iso8859_8 + • encodings.iso8859_9 + • encodings.johab + • encodings.koi8_r + • encodings.koi8_u + • encodings.latin_1 + • encodings.mac_arabic + • encodings.mac_centeuro + • encodings.mac_croatian + • encodings.mac_cyrillic + • encodings.mac_farsi + • encodings.mac_greek + • encodings.mac_iceland + • encodings.mac_latin2 + • encodings.mac_roman + • encodings.mac_romanian + • encodings.mac_turkish + • encodings.mbcs + • encodings.palmos + • encodings.ptcp154 + • encodings.punycode + • encodings.quopri_codec + • encodings.raw_unicode_escape + • encodings.rot_13 + • encodings.shift_jis + • encodings.shift_jis_2004 + • encodings.shift_jisx0213 + • encodings.string_escape + • encodings.tis_620 + • encodings.undefined + • encodings.unicode_escape + • encodings.unicode_internal + • encodings.utf_16 + • encodings.utf_16_be + • encodings.utf_16_le + • encodings.utf_32 + • encodings.utf_32_be + • encodings.utf_32_le + • encodings.utf_7 + • encodings.utf_8 + • encodings.utf_8_sig + • encodings.uu_codec + • encodings.zlib_codec + • logging + • test_env.py + +
+ +
+ +
+ + collections +SourceModule
+imports: + _abcoll + • _collections + • cPickle + • doctest + • dummy_thread + • heapq + • itertools + • keyword + • operator + • sys + • thread + +
+
+imported by: + difflib + • doctest + • inspect + • logging + • shlex + • threading + • unittest.case + • unittest.util + +
+ +
+ +
+ + copy +SourceModule
+imports: + copy_reg + • org + • repr + • sys + • types + • weakref + +
+
+imported by: + UserDict + • _sre + • gettext + • weakref + +
+ +
+ +
+ + copy_reg +SourceModule
+imports: + types + +
+
+imported by: + cPickle + • cStringIO + • copy + • os + • pickle + • re + +
+ +
+ +
+ + datetime (builtin module)
+imports: + time + +
+
+imported by: + _strptime + • calendar + +
+ +
+ +
+ + difflib +SourceModule
+imports: + collections + • difflib + • doctest + • functools + • heapq + • re + +
+
+imported by: + difflib + • doctest + • unittest.case + +
+ +
+ +
+ + dis +SourceModule
+imports: + opcode + • sys + • types + +
+
+imported by: + inspect + +
+ +
+ +
+ + doctest +SourceModule
+imports: + StringIO + • __future__ + • collections + • difflib + • inspect + • linecache + • os + • pdb + • re + • sys + • tempfile + • traceback + • types + • unittest + • warnings + +
+
+imported by: + collections + • difflib + • heapq + • pickle + +
+ +
+ +
+ + dummy_thread +SourceModule
+imports: + traceback + +
+
+imported by: + _strptime + • collections + • tempfile + +
+ +
+ +
+ + encodings +Package
+imports: + __builtin__ + • codecs + • encodings + • encodings.aliases + • encodings.ascii + • encodings.base64_codec + • encodings.big5 + • encodings.big5hkscs + • encodings.bz2_codec + • encodings.charmap + • encodings.cp037 + • encodings.cp1006 + • encodings.cp1026 + • encodings.cp1140 + • encodings.cp1250 + • encodings.cp1251 + • encodings.cp1252 + • encodings.cp1253 + • encodings.cp1254 + • encodings.cp1255 + • encodings.cp1256 + • encodings.cp1257 + • encodings.cp1258 + • encodings.cp424 + • encodings.cp437 + • encodings.cp500 + • encodings.cp720 + • encodings.cp737 + • encodings.cp775 + • encodings.cp850 + • encodings.cp852 + • encodings.cp855 + • encodings.cp856 + • encodings.cp857 + • encodings.cp858 + • encodings.cp860 + • encodings.cp861 + • encodings.cp862 + • encodings.cp863 + • encodings.cp864 + • encodings.cp865 + • encodings.cp866 + • encodings.cp869 + • encodings.cp874 + • encodings.cp875 + • encodings.cp932 + • encodings.cp949 + • encodings.cp950 + • encodings.euc_jis_2004 + • encodings.euc_jisx0213 + • encodings.euc_jp + • encodings.euc_kr + • encodings.gb18030 + • encodings.gb2312 + • encodings.gbk + • encodings.hex_codec + • encodings.hp_roman8 + • encodings.hz + • encodings.idna + • encodings.iso2022_jp + • encodings.iso2022_jp_1 + • encodings.iso2022_jp_2 + • encodings.iso2022_jp_2004 + • encodings.iso2022_jp_3 + • encodings.iso2022_jp_ext + • encodings.iso2022_kr + • encodings.iso8859_1 + • encodings.iso8859_10 + • encodings.iso8859_11 + • encodings.iso8859_13 + • encodings.iso8859_14 + • encodings.iso8859_15 + • encodings.iso8859_16 + • encodings.iso8859_2 + • encodings.iso8859_3 + • encodings.iso8859_4 + • encodings.iso8859_5 + • encodings.iso8859_6 + • encodings.iso8859_7 + • encodings.iso8859_8 + • encodings.iso8859_9 + • encodings.johab + • encodings.koi8_r + • encodings.koi8_u + • encodings.latin_1 + • encodings.mac_arabic + • encodings.mac_centeuro + • encodings.mac_croatian + • encodings.mac_cyrillic + • encodings.mac_farsi + • encodings.mac_greek + • encodings.mac_iceland + • encodings.mac_latin2 + • encodings.mac_roman + • encodings.mac_romanian + • encodings.mac_turkish + • encodings.mbcs + • encodings.palmos + • encodings.ptcp154 + • encodings.punycode + • encodings.quopri_codec + • encodings.raw_unicode_escape + • encodings.rot_13 + • encodings.shift_jis + • encodings.shift_jis_2004 + • encodings.shift_jisx0213 + • encodings.string_escape + • encodings.tis_620 + • encodings.undefined + • encodings.unicode_escape + • encodings.unicode_internal + • encodings.utf_16 + • encodings.utf_16_be + • encodings.utf_16_le + • encodings.utf_32 + • encodings.utf_32_be + • encodings.utf_32_le + • encodings.utf_7 + • encodings.utf_8 + • encodings.utf_8_sig + • encodings.uu_codec + • encodings.zlib_codec + +
+
+imported by: + codecs + • encodings + • encodings.aliases + • encodings.ascii + • encodings.base64_codec + • encodings.big5 + • encodings.big5hkscs + • encodings.bz2_codec + • encodings.charmap + • encodings.cp037 + • encodings.cp1006 + • encodings.cp1026 + • encodings.cp1140 + • encodings.cp1250 + • encodings.cp1251 + • encodings.cp1252 + • encodings.cp1253 + • encodings.cp1254 + • encodings.cp1255 + • encodings.cp1256 + • encodings.cp1257 + • encodings.cp1258 + • encodings.cp424 + • encodings.cp437 + • encodings.cp500 + • encodings.cp720 + • encodings.cp737 + • encodings.cp775 + • encodings.cp850 + • encodings.cp852 + • encodings.cp855 + • encodings.cp856 + • encodings.cp857 + • encodings.cp858 + • encodings.cp860 + • encodings.cp861 + • encodings.cp862 + • encodings.cp863 + • encodings.cp864 + • encodings.cp865 + • encodings.cp866 + • encodings.cp869 + • encodings.cp874 + • encodings.cp875 + • encodings.cp932 + • encodings.cp949 + • encodings.cp950 + • encodings.euc_jis_2004 + • encodings.euc_jisx0213 + • encodings.euc_jp + • encodings.euc_kr + • encodings.gb18030 + • encodings.gb2312 + • encodings.gbk + • encodings.hex_codec + • encodings.hp_roman8 + • encodings.hz + • encodings.idna + • encodings.iso2022_jp + • encodings.iso2022_jp_1 + • encodings.iso2022_jp_2 + • encodings.iso2022_jp_2004 + • encodings.iso2022_jp_3 + • encodings.iso2022_jp_ext + • encodings.iso2022_kr + • encodings.iso8859_1 + • encodings.iso8859_10 + • encodings.iso8859_11 + • encodings.iso8859_13 + • encodings.iso8859_14 + • encodings.iso8859_15 + • encodings.iso8859_16 + • encodings.iso8859_2 + • encodings.iso8859_3 + • encodings.iso8859_4 + • encodings.iso8859_5 + • encodings.iso8859_6 + • encodings.iso8859_7 + • encodings.iso8859_8 + • encodings.iso8859_9 + • encodings.johab + • encodings.koi8_r + • encodings.koi8_u + • encodings.latin_1 + • encodings.mac_arabic + • encodings.mac_centeuro + • encodings.mac_croatian + • encodings.mac_cyrillic + • encodings.mac_farsi + • encodings.mac_greek + • encodings.mac_iceland + • encodings.mac_latin2 + • encodings.mac_roman + • encodings.mac_romanian + • encodings.mac_turkish + • encodings.mbcs + • encodings.palmos + • encodings.ptcp154 + • encodings.punycode + • encodings.quopri_codec + • encodings.raw_unicode_escape + • encodings.rot_13 + • encodings.shift_jis + • encodings.shift_jis_2004 + • encodings.shift_jisx0213 + • encodings.string_escape + • encodings.tis_620 + • encodings.undefined + • encodings.unicode_escape + • encodings.unicode_internal + • encodings.utf_16 + • encodings.utf_16_be + • encodings.utf_16_le + • encodings.utf_32 + • encodings.utf_32_be + • encodings.utf_32_le + • encodings.utf_7 + • encodings.utf_8 + • encodings.utf_8_sig + • encodings.uu_codec + • encodings.zlib_codec + • locale + • test_env.py + +
+ +
+ +
+ + encodings.aliases +SourceModule
+imports: + encodings + +
+
+imported by: + encodings + • locale + • test_env.py + +
+ +
+ +
+ + encodings.ascii +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.base64_codec +SourceModule
+imports: + base64 + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.big5 +SourceModule
+imports: + _codecs_tw + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.big5hkscs +SourceModule
+imports: + _codecs_hk + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.bz2_codec +SourceModule
+imports: + bz2 + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.charmap +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp037 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp1006 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp1026 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp1140 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp1250 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp1251 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp1252 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp1253 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp1254 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp1255 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp1256 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp1257 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp1258 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp424 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp437 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp500 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp720 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp737 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp775 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp850 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp852 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp855 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp856 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp857 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp858 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp860 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp861 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp862 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp863 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp864 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp865 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp866 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp869 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp874 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp875 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp932 +SourceModule
+imports: + _codecs_jp + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp949 +SourceModule
+imports: + _codecs_kr + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.cp950 +SourceModule
+imports: + _codecs_tw + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.euc_jis_2004 +SourceModule
+imports: + _codecs_jp + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.euc_jisx0213 +SourceModule
+imports: + _codecs_jp + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.euc_jp +SourceModule
+imports: + _codecs_jp + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.euc_kr +SourceModule
+imports: + _codecs_kr + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.gb18030 +SourceModule
+imports: + _codecs_cn + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.gb2312 +SourceModule
+imports: + _codecs_cn + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.gbk +SourceModule
+imports: + _codecs_cn + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.hex_codec +SourceModule
+imports: + binascii + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.hp_roman8 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.hz +SourceModule
+imports: + _codecs_cn + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.idna +SourceModule
+imports: + codecs + • encodings + • re + • stringprep + • unicodedata + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso2022_jp +SourceModule
+imports: + _codecs_iso2022 + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso2022_jp_1 +SourceModule
+imports: + _codecs_iso2022 + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso2022_jp_2 +SourceModule
+imports: + _codecs_iso2022 + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso2022_jp_2004 +SourceModule
+imports: + _codecs_iso2022 + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso2022_jp_3 +SourceModule
+imports: + _codecs_iso2022 + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso2022_jp_ext +SourceModule
+imports: + _codecs_iso2022 + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso2022_kr +SourceModule
+imports: + _codecs_iso2022 + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso8859_1 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso8859_10 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso8859_11 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso8859_13 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso8859_14 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso8859_15 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso8859_16 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso8859_2 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso8859_3 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso8859_4 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso8859_5 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso8859_6 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso8859_7 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso8859_8 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.iso8859_9 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.johab +SourceModule
+imports: + _codecs_kr + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.koi8_r +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.koi8_u +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.latin_1 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.mac_arabic +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.mac_centeuro +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.mac_croatian +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.mac_cyrillic +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.mac_farsi +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.mac_greek +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.mac_iceland +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.mac_latin2 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.mac_roman +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.mac_romanian +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.mac_turkish +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.mbcs +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.palmos +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.ptcp154 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.punycode +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.quopri_codec +SourceModule
+imports: + StringIO + • cStringIO + • codecs + • encodings + • quopri + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.raw_unicode_escape +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.rot_13 +SourceModule
+imports: + codecs + • encodings + • sys + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.shift_jis +SourceModule
+imports: + _codecs_jp + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.shift_jis_2004 +SourceModule
+imports: + _codecs_jp + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.shift_jisx0213 +SourceModule
+imports: + _codecs_jp + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.string_escape +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.tis_620 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.undefined +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.unicode_escape +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.unicode_internal +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.utf_16 +SourceModule
+imports: + codecs + • encodings + • sys + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.utf_16_be +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.utf_16_le +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.utf_32 +SourceModule
+imports: + codecs + • encodings + • sys + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.utf_32_be +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.utf_32_le +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.utf_7 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.utf_8 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.utf_8_sig +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.uu_codec +SourceModule
+imports: + binascii + • cStringIO + • codecs + • encodings + +
+
+imported by: + encodings + +
+ +
+ +
+ + encodings.zlib_codec +SourceModule
+imports: + codecs + • encodings + • zlib + +
+
+imported by: + encodings + +
+ +
+ +
+ + errno (builtin module)
+imported by: + StringIO + • gettext + • os + • subprocess + • tempfile + +
+ +
+ +
+ + exceptions (builtin module)
+imported by: + weakref + +
+ +
+ +
+ + fcntl (builtin module)
+imported by: + subprocess + • tempfile + +
+ +
+ +
+ + fnmatch +SourceModule
+imports: + os + • posixpath + • re + +
+
+imported by: + bdb + • unittest.loader + +
+ +
+ +
+ + functools +SourceModule
+imports: + _functools + +
+
+imported by: + difflib + • locale + • unittest.case + • unittest.loader + • unittest.result + • unittest.signals + +
+ +
+ +
+ + gc (builtin module)
+imports: + time + +
+
+imported by: + subprocess + +
+ +
+ +
+ + genericpath +SourceModule
+imports: + os + • stat + +
+
+imported by: + ntpath + • os2emxpath + • posixpath + +
+ +
+ +
+ + getopt +SourceModule
+imports: + os + • sys + +
+
+imported by: + base64 + • quopri + • unittest.main + +
+ +
+ +
+ + getpass +SourceModule
+imports: + EasyDialogs + • msvcrt + • os + • pwd + • sys + • termios + • warnings + +
+
+imported by: + test_env.py + +
+ +
+ +
+ + gettext +SourceModule
+imports: + __builtin__ + • copy + • errno + • locale + • os + • re + • struct + • sys + +
+
+imported by: + optparse + +
+ +
+ +
+ + hashlib +SourceModule
+imports: + _hashlib + • _md5 + • _sha + • _sha256 + • _sha512 + • binascii + • logging + • struct + +
+
+imported by: + random + +
+ +
+ +
+ + heapq +SourceModule
+imports: + _heapq + • doctest + • itertools + • operator + +
+
+imported by: + collections + • difflib + +
+ +
+ +
+ + imp (builtin module)
+imported by: + inspect + +
+ +
+ +
+ + inspect +SourceModule
+imports: + collections + • dis + • imp + • linecache + • operator + • os + • re + • string + • sys + • tokenize + • types + +
+
+imported by: + doctest + +
+ +
+ +
+ + io +SourceModule
+imports: + _io + • abc + +
+
+imported by: + tempfile + +
+ +
+ +
+ + itertools (builtin module)
+imported by: + collections + • heapq + • repr + • threading + • tokenize + +
+ +
+ +
+ + keyword +SourceModule
+imports: + re + • sys + +
+
+imported by: + collections + +
+ +
+ +
+ + linecache +SourceModule
+imports: + os + • sys + +
+
+imported by: + bdb + • doctest + • inspect + • pdb + • traceback + • warnings + +
+ +
+ +
+ + locale +SourceModule
+imports: + _locale + • encodings + • encodings.aliases + • functools + • operator + • os + • re + • sys + +
+
+imported by: + _strptime + • calendar + • gettext + +
+ +
+ +
+ + logging +Package
+imports: + atexit + • cStringIO + • codecs + • collections + • os + • sys + • thread + • threading + • time + • traceback + • warnings + • weakref + +
+
+imported by: + hashlib + +
+ +
+ +
+ + marshal (builtin module)
+imported by: + pickle + +
+ +
+ +
+ + math (builtin module)
+imported by: + random + +
+ +
+ +
+ + msvcrt +MissingModule
+imported by: + getpass + • subprocess + +
+ +
+ +
+ + nt +MissingModule
+imported by: + ntpath + • os + +
+ +
+ +
+ + ntpath +SourceModule
+imports: + genericpath + • nt + • os + • stat + • string + • sys + • warnings + +
+
+imported by: + os + • os2emxpath + +
+ +
+ +
+ + opcode +SourceModule
+imported by: + dis + +
+ +
+ +
+ + operator (builtin module)
+imported by: + collections + • heapq + • inspect + • locale + +
+ +
+ +
+ + optparse +SourceModule
+imports: + __builtin__ + • gettext + • os + • sys + • textwrap + • types + +
+
+imported by: + calendar + • unittest.main + +
+ +
+ +
+ + org +MissingModule
+imported by: + copy + +
+ +
+ +
+ + os +SourceModule
+imports: + UserDict + • _emx_link + • ce + • copy_reg + • errno + • nt + • ntpath + • os2 + • os2emxpath + • posix + • posixpath + • posixpath + • riscos + • riscosenviron + • riscospath + • subprocess + • sys + • warnings + +
+
+imported by: + bdb + • doctest + • fnmatch + • genericpath + • getopt + • getpass + • gettext + • inspect + • linecache + • locale + • logging + • ntpath + • optparse + • os2emxpath + • pdb + • posixpath + • posixpath + • random + • subprocess + • tempfile + • test_env.py + • unittest.loader + • unittest.main + • unittest.result + +
+ +
+ +
+ + os2 +MissingModule
+imported by: + os + +
+ +
+ +
+ + os2emxpath +SourceModule
+imports: + genericpath + • ntpath + • os + • stat + +
+
+imported by: + os + +
+ +
+ +
+ + pdb +SourceModule
+imports: + bdb + • cmd + • linecache + • os + • pdb + • pprint + • re + • readline + • repr + • shlex + • sys + • traceback + +
+
+imported by: + doctest + • pdb + +
+ +
+ +
+ + pickle +SourceModule
+imports: + 'org.python' + • StringIO + • binascii + • cStringIO + • copy_reg + • doctest + • marshal + • re + • struct + • sys + • types + +
+
+imported by: + subprocess + +
+ +
+ +
+ + posix (builtin module)
+imports: + resource + +
+
+imported by: + os + +
+ +
+ +
+ + posixpath +AliasNode
+imports: + os + • posixpath + +
+
+imported by: + os + • shlex + +
+ +
+ +
+ + posixpath +SourceModule
+imports: + genericpath + • os + • pwd + • re + • stat + • sys + • warnings + +
+
+imported by: + fnmatch + • os + • posixpath + +
+ +
+ +
+ + pprint +SourceModule
+imports: + StringIO + • cStringIO + • sys + • time + • warnings + +
+
+imported by: + pdb + • unittest.case + +
+ +
+ +
+ + pwd (builtin module)
+imported by: + getpass + • posixpath + +
+ +
+ +
+ + quopri +SourceModule
+imports: + binascii + • cStringIO + • getopt + • sys + +
+
+imported by: + encodings.quopri_codec + +
+ +
+ +
+ + random +SourceModule
+imports: + __future__ + • _random + • binascii + • hashlib + • math + • os + • time + • types + • warnings + +
+
+imported by: + tempfile + • threading + +
+ +
+ +
+ + re +SourceModule
+imports: + _locale + • copy_reg + • sre_compile + • sre_constants + • sre_parse + • sys + +
+
+imported by: + _strptime + • base64 + • difflib + • doctest + • encodings.idna + • fnmatch + • gettext + • inspect + • keyword + • locale + • pdb + • pickle + • posixpath + • sre + • string + • textwrap + • token + • tokenize + • unittest.case + • unittest.loader + • warnings + +
+ +
+ +
+ + readline /usr/lib/python2.7/lib-dynload/readline.x86_64-linux-gnu.so
+imported by: + cmd + • pdb + +
+ +
+ +
+ + repr +SourceModule
+imports: + __builtin__ + • itertools + +
+
+imported by: + bdb + • copy + • pdb + +
+ +
+ +
+ + resource /usr/lib/python2.7/lib-dynload/resource.x86_64-linux-gnu.so
+imported by: + posix + +
+ +
+ +
+ + riscos +MissingModule
+imported by: + os + +
+ +
+ +
+ + riscosenviron +MissingModule
+imported by: + os + +
+ +
+ +
+ + riscospath +MissingModule
+imported by: + os + +
+ +
+ +
+ + select (builtin module)
+imported by: + subprocess + +
+ +
+ +
+ + shlex +SourceModule
+imports: + StringIO + • cStringIO + • collections + • posixpath + • sys + +
+
+imported by: + pdb + +
+ +
+ +
+ + signal (builtin module)
+imported by: + subprocess + • unittest.signals + +
+ +
+ +
+ + sre +SourceModule
+imports: + re + • warnings + +
+
+imported by: + _sre + +
+ +
+ +
+ + sre_compile +SourceModule
+imports: + _sre + • array + • sre_constants + • sre_parse + • sys + +
+
+imported by: + re + +
+ +
+ +
+ + sre_constants +SourceModule
+imports: + _sre + +
+
+imported by: + re + • sre_compile + • sre_parse + +
+ +
+ +
+ + sre_parse +SourceModule
+imports: + sre_constants + • sys + • warnings + +
+
+imported by: + re + • sre_compile + +
+ +
+ +
+ + stat +SourceModule
+imported by: + genericpath + • ntpath + • os2emxpath + • posixpath + +
+ +
+ +
+ + string +SourceModule
+imports: + re + • strop + +
+
+imported by: + _sre + • base64 + • cmd + • inspect + • ntpath + • textwrap + • tokenize + +
+ +
+ +
+ + stringprep +SourceModule
+imports: + unicodedata + +
+
+imported by: + encodings.idna + +
+ +
+ +
+ + strop (builtin module)
+imported by: + string + +
+ +
+ +
+ + struct +SourceModule
+imports: + _struct + +
+
+imported by: + base64 + • gettext + • hashlib + • pickle + +
+ +
+ +
+ + subprocess +SourceModule
+imports: + _subprocess + • errno + • fcntl + • gc + • msvcrt + • os + • pickle + • select + • signal + • sys + • threading + • traceback + • types + +
+
+imported by: + os + +
+ +
+ +
+ + sys (builtin module)
+imported by: + StringIO + • _abcoll + • atexit + • base64 + • bdb + • calendar + • cmd + • codecs + • collections + • copy + • dis + • doctest + • encodings.rot_13 + • encodings.utf_16 + • encodings.utf_32 + • getopt + • getpass + • gettext + • inspect + • keyword + • linecache + • locale + • logging + • ntpath + • optparse + • os + • pdb + • pickle + • posixpath + • pprint + • quopri + • re + • shlex + • sre_compile + • sre_parse + • subprocess + • test_env.py + • threading + • token + • tokenize + • traceback + • types + • unittest.case + • unittest.loader + • unittest.main + • unittest.result + • unittest.runner + • unittest.suite + • warnings + +
+ +
+ +
+ + tempfile +SourceModule
+imports: + StringIO + • cStringIO + • dummy_thread + • errno + • fcntl + • io + • os + • random + • thread + +
+
+imported by: + doctest + +
+ +
+ +
+ + termios /usr/lib/python2.7/lib-dynload/termios.x86_64-linux-gnu.so
+imported by: + getpass + +
+ +
+ +
+ + textwrap +SourceModule
+imports: + re + • string + +
+
+imported by: + optparse + +
+ +
+ +
+ + thread (builtin module)
+imported by: + _strptime + • collections + • logging + • tempfile + • threading + +
+ +
+ +
+ + threading +SourceModule
+imports: + _threading_local + • collections + • itertools + • random + • sys + • thread + • time + • traceback + • warnings + +
+
+imported by: + _threading_local + • logging + • subprocess + +
+ +
+ +
+ + time (builtin module)
+imports: + _strptime + +
+
+imported by: + _strptime + • datetime + • gc + • logging + • pprint + • random + • threading + • unittest.runner + +
+ +
+ +
+ + token +SourceModule
+imports: + re + • sys + +
+
+imported by: + tokenize + +
+ +
+ +
+ + tokenize +SourceModule
+imports: + itertools + • re + • string + • sys + • token + +
+
+imported by: + inspect + +
+ +
+ +
+ + traceback +SourceModule
+imports: + linecache + • sys + • types + +
+
+imported by: + atexit + • doctest + • dummy_thread + • logging + • pdb + • subprocess + • threading + • unittest.loader + • unittest.result + +
+ +
+ +
+ + types +SourceModule
+imports: + sys + +
+
+imported by: + abc + • bdb + • copy + • copy_reg + • dis + • doctest + • inspect + • optparse + • pickle + • random + • subprocess + • traceback + • unittest.case + • unittest.loader + • unittest.main + • warnings + +
+ +
+ +
+ + unicodedata (builtin module)
+imported by: + encodings.idna + • stringprep + +
+ +
+ +
+ + unittest +Package + + +
+ +
+ + unittest.case +SourceModule
+imports: + collections + • difflib + • functools + • pprint + • re + • sys + • types + • unittest + • unittest.result + • unittest.util + • warnings + +
+
+imported by: + unittest + • unittest.loader + • unittest.suite + +
+ +
+ +
+ + unittest.loader +SourceModule
+imports: + fnmatch + • functools + • os + • re + • sys + • traceback + • types + • unittest + • unittest.case + • unittest.suite + +
+
+imported by: + unittest + • unittest.main + +
+ +
+ +
+ + unittest.main +SourceModule
+imports: + getopt + • optparse + • os + • sys + • types + • unittest + • unittest.loader + • unittest.runner + • unittest.signals + +
+
+imported by: + unittest + +
+ +
+ +
+ + unittest.result +SourceModule
+imports: + StringIO + • functools + • os + • sys + • traceback + • unittest + • unittest.util + +
+
+imported by: + unittest + • unittest.case + • unittest.runner + +
+ +
+ +
+ + unittest.runner +SourceModule
+imports: + sys + • time + • unittest + • unittest.result + • unittest.signals + +
+
+imported by: + unittest + • unittest.main + +
+ +
+ +
+ + unittest.signals +SourceModule
+imports: + functools + • signal + • unittest + • weakref + +
+
+imported by: + unittest + • unittest.main + • unittest.runner + +
+ +
+ +
+ + unittest.suite +SourceModule
+imports: + sys + • unittest + • unittest.case + • unittest.util + +
+
+imported by: + unittest + • unittest.loader + +
+ +
+ +
+ + unittest.util +SourceModule
+imports: + collections + • unittest + +
+
+imported by: + unittest + • unittest.case + • unittest.result + • unittest.suite + +
+ +
+ +
+ + warnings +SourceModule
+imports: + _warnings + • linecache + • re + • sys + • types + +
+
+imported by: + UserDict + • doctest + • getpass + • logging + • ntpath + • os + • posixpath + • pprint + • random + • sre + • sre_parse + • threading + • unittest.case + +
+ +
+ +
+ + weakref +SourceModule
+imports: + UserDict + • _weakref + • _weakrefset + • copy + • exceptions + +
+
+imported by: + copy + • logging + • unittest.signals + +
+ +
+ +
+ + zlib (builtin module)
+imported by: + encodings.zlib_codec + +
+ +
+ + + diff --git a/try/sudo_script_leak/print_env.py b/try/sudo_script_leak/print_env.py new file mode 100755 index 0000000..fa07f07 --- /dev/null +++ b/try/sudo_script_leak/print_env.py @@ -0,0 +1,26 @@ +#!/usr/bin/python + +import getpass +import os + +username = getpass.getuser() +print "my username is: " + username + +sudo_caller_username = os.environ.get('SUDO_USER') +if sudo_caller_username: + print "the sudo caller's username is: " + sudo_caller_username +else: + print "there is no sudo caller" + +null_lookup = os.environ.get('X3841232341') +if null_lookup: + print "very surprising, found X3841232341 in the environment" +elif null_lookup == None: + print "null lookup result: None" +else: + print "null lookup result evaluates to false, but it is not None" + +for k,v in os.environ.items(): + print (k, v) + + diff --git a/try/sudo_script_leak/run_this.sh b/try/sudo_script_leak/run_this.sh new file mode 100755 index 0000000..c7ea0ad --- /dev/null +++ b/try/sudo_script_leak/run_this.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +export PS1='\n$(/home/morpheus/src/sudo_script_leak/target.sh)\n§\h§\w\n> ' +echo $PS1 + +#./print_env.py +# sudo ./print_env.py +sudo su + + + + + diff --git a/try/sudo_script_leak/target.sh b/try/sudo_script_leak/target.sh new file mode 100755 index 0000000..bb9dbce --- /dev/null +++ b/try/sudo_script_leak/target.sh @@ -0,0 +1,3 @@ +#/bin/bash + +echo "target running"