diff options
author | Georg Brandl <georg@python.org> | 2010-12-30 21:33:07 +0000 |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2010-12-30 21:33:07 +0000 |
commit | 1c33092dafd5824366f29eb4dc4e33ab4bc09247 (patch) | |
tree | 3f8719a98825786671537d543ba9f7ab16cc681e /Demo/sockets/rpythond.py | |
parent | 3f0b91f9e6dd2f072ab431b28dbee694a6d13d91 (diff) | |
download | cpython-1c33092dafd5824366f29eb4dc4e33ab4bc09247.tar.gz |
More cleanup: Move some demos into a dedicated Tools/demo dir, move 2to3 demo to Tools, and remove all the other Demo content.
Diffstat (limited to 'Demo/sockets/rpythond.py')
-rwxr-xr-x | Demo/sockets/rpythond.py | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/Demo/sockets/rpythond.py b/Demo/sockets/rpythond.py deleted file mode 100755 index e244d6cbc1..0000000000 --- a/Demo/sockets/rpythond.py +++ /dev/null @@ -1,52 +0,0 @@ -#! /usr/bin/env python3 - -# Remote python server. -# Execute Python commands remotely and send output back. -# WARNING: This version has a gaping security hole -- it accepts requests -# from any host on the Internet! - -import sys -from socket import * -import io -import traceback - -PORT = 4127 -BUFSIZE = 1024 - -def main(): - if len(sys.argv) > 1: - port = int(eval(sys.argv[1])) - else: - port = PORT - s = socket(AF_INET, SOCK_STREAM) - s.bind(('', port)) - s.listen(1) - while 1: - conn, (remotehost, remoteport) = s.accept() - print('connected by', remotehost, remoteport) - request = '' - while 1: - data = conn.recv(BUFSIZE) - if not data: - break - request = request + data - reply = execute(request) - conn.send(reply) - conn.close() - -def execute(request): - stdout = sys.stdout - stderr = sys.stderr - sys.stdout = sys.stderr = fakefile = io.StringIO() - try: - try: - exec(request, {}, {}) - except: - print() - traceback.print_exc(100) - finally: - sys.stderr = stderr - sys.stdout = stdout - return fakefile.getvalue() - -main() |