sys.version_info(major=3, minor=6, micro=8, releaselevel='final', serial=0) test {'COOKIES': '', 'DOCUMENT_NAME': 'subserver.py.cgi', 'DOCUMENT_ROOT': '/srv/www/roxen/', 'DOCUMENT_URI': '/~hugo/tmp/hack2/subserver.py.cgi', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': '*/*', 'HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate', 'HTTP_CONNECTION': 'close', 'HTTP_FORWARDED': 'proto=http,for=18.226.34.143,host=proxy.www.lysator.liu.se', 'HTTP_HOST': 'proxy.www.lysator.liu.se', 'HTTP_USER_AGENT': 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; ' 'compatible; ClaudeBot/1.0; +claudebot@anthropic.com)', 'HTTP_X_FORWARDED_FOR': '18.226.34.143', 'HTTP_X_FORWARDED_HOST': 'proxy.www.lysator.liu.se', 'HTTP_X_FORWARDED_PROTO': 'http', 'HTTP_X_REAL_IP': '18.226.34.143', 'LAST_MODIFIED': 'Fri, 13 Dec 2019 15:21:06 GMT', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': 'localhost', 'REMOTE_PORT': '47668', 'REQUEST_METHOD': 'GET', 'REQUEST_URI': '/~hugo/tmp/hack2/subserver.py.cgi', 'SCRIPT_FILENAME': '/srv/www/users/hugo/tmp/hack2/subserver.py.cgi', 'SCRIPT_NAME': '/~hugo/tmp/hack2/subserver.py.cgi', 'SERVER_NAME': 'www.lysator.liu.se', 'SERVER_PORT': '8080', 'SERVER_PROTOCOL': 'HTTP/1.0', 'SERVER_SOFTWARE': 'Roxen/6.1.246-r5', 'SERVER_URL': 'https://www.lysator.liu.se/', 'SUPPORTS': 'center html trade cookies frames ssl vary tables javascript ' 'images forms gifinline mailto noscript divisions supsub bigsmall ' 'align jpeginline imagealign pull backgrounds java autogunzip ' 'js_image_object pjpeginline fontcolor tablecolor stylesheets ' 'tableimages pnginline js_inner_html font div', 'SUPPORTS_align': 'true', 'SUPPORTS_autogunzip': 'true', 'SUPPORTS_backgrounds': 'true', 'SUPPORTS_bigsmall': 'true', 'SUPPORTS_center': 'true', 'SUPPORTS_cookies': 'true', 'SUPPORTS_div': 'true', 'SUPPORTS_divisions': 'true', 'SUPPORTS_font': 'true', 'SUPPORTS_fontcolor': 'true', 'SUPPORTS_forms': 'true', 'SUPPORTS_frames': 'true', 'SUPPORTS_gifinline': 'true', 'SUPPORTS_html': 'true', 'SUPPORTS_imagealign': 'true', 'SUPPORTS_images': 'true', 'SUPPORTS_java': 'true', 'SUPPORTS_javascript': 'true', 'SUPPORTS_jpeginline': 'true', 'SUPPORTS_js_image_object': 'true', 'SUPPORTS_js_inner_html': 'true', 'SUPPORTS_mailto': 'true', 'SUPPORTS_noscript': 'true', 'SUPPORTS_pjpeginline': 'true', 'SUPPORTS_pnginline': 'true', 'SUPPORTS_pull': 'true', 'SUPPORTS_ssl': 'true', 'SUPPORTS_stylesheets': 'true', 'SUPPORTS_supsub': 'true', 'SUPPORTS_tablecolor': 'true', 'SUPPORTS_tableimages': 'true', 'SUPPORTS_tables': 'true', 'SUPPORTS_trade': 'true', 'SUPPORTS_vary': 'true'} stderr = stdout os.geteuid() : 99 os.getcwd() : / os.listdir() : ['boot', 'dev', 'proc', 'run', 'sys', 'etc', 'root', 'tmp', 'var', 'usr', 'bin', 'sbin', 'lib', 'lib64', 'home', 'media', 'mnt', 'opt', 'srv', 'roots', '.autorelabel'] ================================================== total 616 -rw-r--r-- 1 root root 581843 Nov 24 2021 moduli -r--r--r--. 1 root root 1575 May 7 2019 ssh_config drwxr-xr-x 2 root root 28 Sep 27 2021 ssh_config.d -rw------- 1 root root 668 Apr 10 2020 ssh_host_dsa_key -rw-r--r-- 1 root root 615 Apr 10 2020 ssh_host_dsa_key.pub -rw-r-----. 1 root ssh_keys 227 Mar 12 2019 ssh_host_ecdsa_key -rw-r--r--. 1 root root 162 Mar 12 2019 ssh_host_ecdsa_key.pub -rw-r-----. 1 root ssh_keys 387 Mar 12 2019 ssh_host_ed25519_key -rw-r--r--. 1 root root 82 Mar 12 2019 ssh_host_ed25519_key.pub -rw-r-----. 1 root ssh_keys 1679 Mar 12 2019 ssh_host_rsa_key -rw-r--r--. 1 root root 382 Mar 12 2019 ssh_host_rsa_key.pub -r--r--r-- 1 root root 4148 May 24 2019 sshd_config drwxr-xr-x 2 root root 86 Dec 10 2021 sshd_config.d uid=99(nobody) gid=99(nobody) groups=99(nobody) ================================================== asdf unicode: Content-Type: text/plain sys.version_info(major=3, minor=6, micro=8, releaselevel='final', serial=0) test {'COOKIES': '', 'DOCUMENT_NAME': 'subserver.py.cgi', 'DOCUMENT_ROOT': '/srv/www/roxen/', 'DOCUMENT_URI': '/~hugo/tmp/hack2/subserver.py.cgi', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': '*/*', 'HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate', 'HTTP_CONNECTION': 'close', 'HTTP_FORWARDED': 'proto=http,for=18.226.34.143,host=proxy.www.lysator.liu.se', 'HTTP_HOST': 'proxy.www.lysator.liu.se', 'HTTP_USER_AGENT': 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; ' 'compatible; ClaudeBot/1.0; +claudebot@anthropic.com)', 'HTTP_X_FORWARDED_FOR': '18.226.34.143', 'HTTP_X_FORWARDED_HOST': 'proxy.www.lysator.liu.se', 'HTTP_X_FORWARDED_PROTO': 'http', 'HTTP_X_REAL_IP': '18.226.34.143', 'LAST_MODIFIED': 'Fri, 13 Dec 2019 15:21:06 GMT', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': 'localhost', 'REMOTE_PORT': '47668', 'REQUEST_METHOD': 'GET', 'REQUEST_URI': '/~hugo/tmp/hack2/subserver.py.cgi', 'SCRIPT_FILENAME': '/srv/www/users/hugo/tmp/hack2/subserver.py.cgi', 'SCRIPT_NAME': '/~hugo/tmp/hack2/subserver.py.cgi', 'SERVER_NAME': 'www.lysator.liu.se', 'SERVER_PORT': '8080', 'SERVER_PROTOCOL': 'HTTP/1.0', 'SERVER_SOFTWARE': 'Roxen/6.1.246-r5', 'SERVER_URL': 'https://www.lysator.liu.se/', 'SUPPORTS': 'center html trade cookies frames ssl vary tables javascript ' 'images forms gifinline mailto noscript divisions supsub bigsmall ' 'align jpeginline imagealign pull backgrounds java autogunzip ' 'js_image_object pjpeginline fontcolor tablecolor stylesheets ' 'tableimages pnginline js_inner_html font div', 'SUPPORTS_align': 'true', 'SUPPORTS_autogunzip': 'true', 'SUPPORTS_backgrounds': 'true', 'SUPPORTS_bigsmall': 'true', 'SUPPORTS_center': 'true', 'SUPPORTS_cookies': 'true', 'SUPPORTS_div': 'true', 'SUPPORTS_divisions': 'true', 'SUPPORTS_font': 'true', 'SUPPORTS_fontcolor': 'true', 'SUPPORTS_forms': 'true', 'SUPPORTS_frames': 'true', 'SUPPORTS_gifinline': 'true', 'SUPPORTS_html': 'true', 'SUPPORTS_imagealign': 'true', 'SUPPORTS_images': 'true', 'SUPPORTS_java': 'true', 'SUPPORTS_javascript': 'true', 'SUPPORTS_jpeginline': 'true', 'SUPPORTS_js_image_object': 'true', 'SUPPORTS_js_inner_html': 'true', 'SUPPORTS_mailto': 'true', 'SUPPORTS_noscript': 'true', 'SUPPORTS_pjpeginline': 'true', 'SUPPORTS_pnginline': 'true', 'SUPPORTS_pull': 'true', 'SUPPORTS_ssl': 'true', 'SUPPORTS_stylesheets': 'true', 'SUPPORTS_supsub': 'true', 'SUPPORTS_tablecolor': 'true', 'SUPPORTS_tableimages': 'true', 'SUPPORTS_tables': 'true', 'SUPPORTS_trade': 'true', 'SUPPORTS_vary': 'true'} stderr = stdout os.geteuid() : 99 os.getcwd() : / os.listdir() : ['boot', 'dev', 'proc', 'run', 'sys', 'etc', 'root', 'tmp', 'var', 'usr', 'bin', 'sbin', 'lib', 'lib64', 'home', 'media', 'mnt', 'opt', 'srv', 'roots', '.autorelabel'] ================================================== total 616 -rw-r--r-- 1 root root 581843 Nov 24 2021 moduli -r--r--r--. 1 root root 1575 May 7 2019 ssh_config drwxr-xr-x 2 root root 28 Sep 27 2021 ssh_config.d -rw------- 1 root root 668 Apr 10 2020 ssh_host_dsa_key -rw-r--r-- 1 root root 615 Apr 10 2020 ssh_host_dsa_key.pub -rw-r-----. 1 root ssh_keys 227 Mar 12 2019 ssh_host_ecdsa_key -rw-r--r--. 1 root root 162 Mar 12 2019 ssh_host_ecdsa_key.pub -rw-r-----. 1 root ssh_keys 387 Mar 12 2019 ssh_host_ed25519_key -rw-r--r--. 1 root root 82 Mar 12 2019 ssh_host_ed25519_key.pub -rw-r-----. 1 root ssh_keys 1679 Mar 12 2019 ssh_host_rsa_key -rw-r--r--. 1 root root 382 Mar 12 2019 ssh_host_rsa_key.pub -r--r--r-- 1 root root 4148 May 24 2019 sshd_config drwxr-xr-x 2 root root 86 Dec 10 2021 sshd_config.d uid=99(nobody) gid=99(nobody) groups=99(nobody) ================================================== Traceback (most recent call last): File "/srv/www/users/hugo/tmp/hack2/subserver.py.cgi", line 53, in UnicodeEncodeError: 'ascii' codec can't encode characters in position 2-3: ordinal not in range(128) Traceback (most recent call last): File "/srv/www/users/hugo/tmp/hack2/subserver.py.cgi", line 39, in with socketserver.TCPServer(("", 8040), Handler) as httpd: File "/usr/lib64/python3.6/socketserver.py", line 456, in __init__ self.server_bind() File "/usr/lib64/python3.6/socketserver.py", line 470, in server_bind self.socket.bind(self.server_address) OSError: [Errno 98] Address already in use