summaryrefslogtreecommitdiff
path: root/demo/medusa054/START.py
diff options
context:
space:
mode:
Diffstat (limited to 'demo/medusa054/START.py')
-rw-r--r--demo/medusa054/START.py71
1 files changed, 71 insertions, 0 deletions
diff --git a/demo/medusa054/START.py b/demo/medusa054/START.py
new file mode 100644
index 0000000..fb08ab3
--- /dev/null
+++ b/demo/medusa054/START.py
@@ -0,0 +1,71 @@
+#!/usr/bin/env python
+
+# Standard Python library
+import os
+import os.path
+import sys
+
+# Medusa
+import asyncore
+import default_handler
+import filesys
+import ftp_server
+import http_server
+import status_handler
+
+# M2Crypto
+import https_server
+import poison_handler
+import ftps_server
+from M2Crypto import Rand, SSL, threading
+
+HTTP_PORT=39080
+HTTPS_PORT=39443
+FTP_PORT = 39021
+
+hs=http_server.http_server('', HTTP_PORT)
+
+Rand.load_file('../randpool.dat', -1)
+ssl_ctx=SSL.Context('sslv23')
+ssl_ctx.load_cert('server.pem')
+ssl_ctx.load_verify_locations('ca.pem', '')
+ssl_ctx.load_client_CA('ca.pem')
+#ssl_ctx.set_verify(SSL.verify_peer, 10)
+#ssl_ctx.set_verify(SSL.verify_peer|SSL.verify_fail_if_no_peer_cert, 10)
+#ssl_ctx.set_verify(SSL.verify_peer|SSL.verify_client_once, 10)
+ssl_ctx.set_verify(SSL.verify_none, 10)
+ssl_ctx.set_session_id_ctx('127.0.0.1:39443')
+ssl_ctx.set_tmp_dh('dh1024.pem')
+ssl_ctx.set_info_callback()
+
+hss=https_server.https_server('', HTTPS_PORT, ssl_ctx)
+
+fs=filesys.os_filesystem(os.path.abspath(os.curdir))
+#fs=filesys.os_filesystem('/usr/local/pkg/apache/htdocs')
+#fs=filesys.os_filesystem('c:/pkg/jdk130/docs')
+dh=default_handler.default_handler(fs)
+hs.install_handler(dh)
+hss.install_handler(dh)
+
+#class rpc_demo (xmlrpc_handler.xmlrpc_handler):
+# def call (self, method, params):
+# print 'method="%s" params=%s' % (method, params)
+# return "Sure, that works"
+#rpch = rpc_demo()
+#hs.install_handler(rpch)
+#hss.install_handler(rpch)
+
+ph=poison_handler.poison_handler(10)
+hs.install_handler(ph)
+hss.install_handler(ph)
+
+fauthz = ftp_server.anon_authorizer('/usr/local/pkg/apache/htdocs')
+ftps = ftps_server.ftp_tls_server(fauthz, ssl_ctx, port=FTP_PORT)
+
+sh=status_handler.status_extension([hs, hss, ftps])
+hs.install_handler(sh)
+hss.install_handler(sh)
+
+asyncore.loop()
+Rand.save_file('../randpool.dat')
+